Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner

This commit is contained in:
苏竹红
2023-06-25 18:49:40 +08:00
16 changed files with 203 additions and 36 deletions

View File

@@ -0,0 +1,34 @@
package com.cool.store.dao;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerLineInfoMapper;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Repository
public class HyInterviewDAO {
@Resource
private HyPartnerInterviewMapper interviewMapper;
@Resource
private HyPartnerLineInfoMapper lineInfoMapper;
/**
* 更新面试状态必须使用该方法
* 需要同步更新面试状态和线索表中的子流程状态
*/
@Transactional
public void updateInterviewWorkflowStatus(String interviewPlanId, WorkflowStatusEnum status) {
//修改面试状态
interviewMapper.updateInterviewStatus(interviewPlanId, status.getCode());
//获取对应的lineId
String lineId = interviewMapper.getLineId(interviewPlanId);
//修改线索表子流程状态
lineInfoMapper.updateWorkflowStatus(lineId, status.getCode());
}
}

View File

@@ -29,4 +29,12 @@ public interface HyPartnerCertificationInfoMapper {
* @return 面试会议 id * @return 面试会议 id
*/ */
String getInterviewIdByQualifyVerifyId(@Param("qualifyVerifyId") String qualifyVerifyId); String getInterviewIdByQualifyVerifyId(@Param("qualifyVerifyId") String qualifyVerifyId);
/**
* 根据资质审核流程 id 获取面试会议 id
* @param qualifyVerifyId 资质审核流程 id
* @return 面试会议计划 id
*/
String getInterviewPlanIdByQualifyVerifyId(String qualifyVerifyId);
} }

View File

@@ -70,4 +70,17 @@ public interface HyPartnerInterviewMapper {
*/ */
List<HyPartnerInterviewDO> getInterviewBaseInfoList(@Param("record") GetInterviewListReq request); List<HyPartnerInterviewDO> getInterviewBaseInfoList(@Param("record") GetInterviewListReq request);
void batchUpdateInterviewStatus(@Param("interviewIds") List<Long> interviewIdList, @Param("interviewStatus") Integer interviewStatus); void batchUpdateInterviewStatus(@Param("interviewIds") List<Long> interviewIdList, @Param("interviewStatus") Integer interviewStatus);
HyPartnerInterviewDO getInterviewInfoByInterviewPlanId(@Param("interviewPlanId") String interviewPlanId);
/**
* 修改面试状态
*/
void updateInterviewStatus(@Param("interviewPlanId") String interviewPlanId, @Param("status") String status);
/**
* 获取面试对应的线索id
*/
String getLineId(@Param("interviewPlanId") String interviewPlanId);
} }

View File

@@ -135,4 +135,11 @@ public interface HyPartnerInterviewPlanMapper {
* 修改面试实际开始时间 * 修改面试实际开始时间
*/ */
void updateActualStartTime(@Param("id") Long id, @Param("now") String now); void updateActualStartTime(@Param("id") Long id, @Param("now") String now);
/**
* 获取面试房间状态
* @param interviewPlanId
*/
Integer getRoomStatus(@Param("interviewPlanId") String interviewPlanId);
} }

View File

@@ -208,8 +208,11 @@ public interface HyPartnerLineInfoMapper {
/** /**
* 根据面试计划 id 查询战区 id * 根据面试计划 id 查询战区 id
* @param interviewPlanId
* @return
*/ */
String getAffiliationZoneIdByInterviewPlanId(String interviewPlanId); String getAffiliationZoneIdByInterviewPlanId(String interviewPlanId);
/**
* 修改线索状态
*/
void updateWorkflowStatus(@Param("lineId") String lineId, @Param("status") String status);
} }

View File

@@ -238,4 +238,16 @@
from hy_partner_certification_info from hy_partner_certification_info
where qualify_verify_id = #{qualifyVerifyId} where qualify_verify_id = #{qualifyVerifyId}
</select> </select>
<!-- 根据资质审核流程 id 获取面试会议计划 id -->
<select id="getInterviewPlanIdByQualifyVerifyId" resultType="java.lang.String">
select interview_plan_id
from hy_partner_interview
where id = (
select partner_interview_id
from hy_partner_certification_info
where qualify_verify_id = #{qualifyVerifyId}
)
and deleted = 0
</select>
</mapper> </mapper>

View File

@@ -373,7 +373,7 @@
</foreach> </foreach>
</update> </update>
<!-- 根据 interviewId 获取意向区域 --> <!-- 根据 interviewId 获取意向区域 -->
<select id="getVerifyCityByInterviewId" resultType="java.lang.String"> <select id="getVerifyCityByInterviewId" resultType="java.lang.String">
SELECT area_path SELECT area_path
FROM hy_open_area_info FROM hy_open_area_info
@@ -411,4 +411,29 @@
</where> </where>
</select> </select>
<!-- 根据面试计划id获取面试信息 -->
<select id="getInterviewInfoByInterviewPlanId" resultType="com.cool.store.entity.HyPartnerInterviewDO">
select
<include refid="Base_Column_List"/>
from
hy_partner_interview
where
interview_plan_id = #{interviewPlanId}
</select>
<!-- 修改面试状态 -->
<update id="updateInterviewStatus">
UPDATE hy_partner_interview
SET status = #{status}
WHERE interview_plan_id = #{interviewPlanId}
</update>
<!-- 获取面试对应的线索id -->
<select id="getLineId" resultType="java.lang.String">
SELECT partner_line_id
FROM hy_partner_interview
WHERE interview_plan_id = #{interviewPlanId}
</select>
</mapper> </mapper>

View File

@@ -458,4 +458,11 @@
from enterprise_user from enterprise_user
where user_id = #{userId} where user_id = #{userId}
</select> </select>
<!-- 获取面试房间状态 -->
<select id="getRoomStatus" resultType="java.lang.Integer">
select room_status
from hy_partner_interview_plan
where id = #{interviewPlanId}
</select>
</mapper> </mapper>

View File

@@ -562,4 +562,21 @@
and partner_id = #{partner_id} and partner_id = #{partner_id}
</select> </select>
<!-- 根据面试计划 id 查询战区 id -->
<select id="getAffiliationZoneIdByInterviewPlanId" resultType="java.lang.String">
SELECT affiliation_zone
FROM hy_partner_line_info
WHERE id = (
SELECT partner_line_id
FROM hy_partner_interview_plan
WHERE id = #{interviewPlanId}
)
</select>
<update id="updateWorkflowStatus">
UPDATE hy_partner_line_info
SET workflow_status = #{status}
WHERE id = #{lineId}
</update>
</mapper> </mapper>

View File

@@ -68,9 +68,8 @@ public class WechatRest {
return accessToken; return accessToken;
} }
String reqUrl = String.format(ACCESS_TOKEN, appId, secret); String reqUrl = String.format(ACCESS_TOKEN, appId, secret);
JSONObject jsonObject = null;
try { try {
jsonObject = httpRestTemplateService.getForObject(reqUrl, JSONObject.class, new HashMap()); JSONObject jsonObject = httpRestTemplateService.getForObject(reqUrl, JSONObject.class, new HashMap());
log.info("WechatRest#getAccessToken, reqUrl:{}, response:{}", reqUrl, JSONObject.toJSONString(jsonObject)); log.info("WechatRest#getAccessToken, reqUrl:{}, response:{}", reqUrl, JSONObject.toJSONString(jsonObject));
String token = jsonObject.getString("access_token"); String token = jsonObject.getString("access_token");
if (StringUtils.isBlank(token)) { if (StringUtils.isBlank(token)) {

View File

@@ -1,11 +1,11 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.HyInterviewDAO;
import com.cool.store.dto.mdm.AccessTokenDTO; import com.cool.store.dto.mdm.AccessTokenDTO;
import com.cool.store.dto.response.MDMResultDTO; import com.cool.store.dto.response.MDMResultDTO;
import com.cool.store.entity.*; import com.cool.store.entity.*;
@@ -81,6 +81,9 @@ public class FlowServiceImpl implements FlowService {
@Autowired @Autowired
private OSSServer ossServer; private OSSServer ossServer;
@Autowired
private HyInterviewDAO interviewDAO;
@Override @Override
@Transactional @Transactional
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException { public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException {
@@ -155,8 +158,9 @@ public class FlowServiceImpl implements FlowService {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
} }
hyPartnerInterviewDO.setUpdateTime(new Date()); hyPartnerInterviewDO.setUpdateTime(new Date());
//更新 //更新面试信息
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_5.getCode())); //更新面试状态
interviewDAO.updateInterviewWorkflowStatus(request.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_5);
hyPartnerInterviewDO.setAuthCode(authCode); hyPartnerInterviewDO.setAuthCode(authCode);
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO); hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
@@ -177,16 +181,16 @@ public class FlowServiceImpl implements FlowService {
log.error("MDM回调入参缺失request{}", JSON.toJSONString(request)); log.error("MDM回调入参缺失request{}", JSON.toJSONString(request));
throw new ServiceException("MDM回调错误"); throw new ServiceException("MDM回调错误");
} }
//根据审核流程 id 获取面试会议 id //根据审核流程 id 获取面试会议相关 id
String interviewId = hyPartnerCertificationInfoMapper.getInterviewIdByQualifyVerifyId(request.getInstanceId()); String interviewId = hyPartnerCertificationInfoMapper.getInterviewIdByQualifyVerifyId(request.getInstanceId());
if (StringUtils.isEmpty(interviewId)) { String interviewPlanId = hyPartnerCertificationInfoMapper.getInterviewPlanIdByQualifyVerifyId(request.getInstanceId());
if (StringUtils.isEmpty(interviewPlanId)) {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
} }
HyPartnerInterviewDO interviewDO = new HyPartnerInterviewDO();
interviewDO.setId(Long.parseLong(interviewId));
//审核通过 //审核通过
if ("FINISHED".equals(request.getSequenceStatus())) { if ("FINISHED".equals(request.getSequenceStatus())) {
interviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_6.getCode())); //更新面试状态
interviewDAO.updateInterviewWorkflowStatus(interviewPlanId, WorkflowStatusEnum.INTERVIEW_6);
//2. 准备需要的信息 //2. 准备需要的信息
String partnerName = request.getIntendedSigner(); String partnerName = request.getIntendedSigner();
String verifyCity = hyPartnerInterviewMapper.getVerifyCityByInterviewId(interviewId); String verifyCity = hyPartnerInterviewMapper.getVerifyCityByInterviewId(interviewId);
@@ -207,9 +211,8 @@ public class FlowServiceImpl implements FlowService {
genPassLetterAndUpdateDB(partnerName, verifyCity, passDate, interviewId); genPassLetterAndUpdateDB(partnerName, verifyCity, passDate, interviewId);
//审核未通过 //审核未通过
} else if ("CANCELED".equals(request.getSequenceStatus())) { } else if ("CANCELED".equals(request.getSequenceStatus())) {
interviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_7.getCode())); interviewDAO.updateInterviewWorkflowStatus(interviewPlanId, WorkflowStatusEnum.INTERVIEW_7);
} }
hyPartnerInterviewMapper.updateByPrimaryKeySelective(interviewDO);
} }

View File

@@ -66,12 +66,12 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS); redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS);
return Boolean.TRUE; return Boolean.TRUE;
} }
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){ if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
} }
hyPartnerClerkDAO.deleteByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); hyPartnerClerkDAO.deleteByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
List<HyPartnerClerkDO> clerkDOList = new ArrayList<>(); List<HyPartnerClerkDO> clerkDOList = new ArrayList<>();
request.getPartnerClerkRequestList().stream().forEach(x->{ ListUtils.emptyIfNull(request.getPartnerClerkRequestList()).stream().forEach(x->{
HyPartnerClerkDO clerkDO = new HyPartnerClerkDO(); HyPartnerClerkDO clerkDO = new HyPartnerClerkDO();
clerkDO.setPartnerLineId(request.getPartnerLineId()); clerkDO.setPartnerLineId(request.getPartnerLineId());
clerkDO.setPartnerId(request.getPartnerId()); clerkDO.setPartnerId(request.getPartnerId());
@@ -81,7 +81,9 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
clerkDO.setChooseReason(x.getChooseReason()); clerkDO.setChooseReason(x.getChooseReason());
clerkDOList.add(clerkDO); clerkDOList.add(clerkDO);
}); });
hyPartnerClerkDAO.batchInsert(clerkDOList); if (CollectionUtils.isNotEmpty(clerkDOList)){
hyPartnerClerkDAO.batchInsert(clerkDOList);
}
redisUtilPool.delKey(cacheKey); redisUtilPool.delKey(cacheKey);
return true; return true;
} }

View File

@@ -228,6 +228,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
Lists.newArrayList(): JSONObject.parseArray(hyPartnerIntentInfoDO.getMoneyProve(),String.class)); Lists.newArrayList(): JSONObject.parseArray(hyPartnerIntentInfoDO.getMoneyProve(),String.class));
partnerIntentInfoVO.setMoneySource(hyPartnerIntentInfoDO.getMoneySource()); partnerIntentInfoVO.setMoneySource(hyPartnerIntentInfoDO.getMoneySource());
partnerIntentInfoVO.setWorkYear(hyPartnerIntentInfoDO.getWorkYear()); partnerIntentInfoVO.setWorkYear(hyPartnerIntentInfoDO.getWorkYear());
partnerIntentInfoVO.setWorkExp(hyPartnerIntentInfoDO.getWorkExp());
partnerIntentInfoVO.setWeakness(hyPartnerIntentInfoDO.getWeakness()); partnerIntentInfoVO.setWeakness(hyPartnerIntentInfoDO.getWeakness());
partnerIntentInfoVO.setCreateTime(hyPartnerIntentInfoDO.getCreateTime()); partnerIntentInfoVO.setCreateTime(hyPartnerIntentInfoDO.getCreateTime());
partnerIntentInfoVO.setOtherBand(hyPartnerIntentInfoDO.getOtherBand()); partnerIntentInfoVO.setOtherBand(hyPartnerIntentInfoDO.getOtherBand());

View File

@@ -5,6 +5,7 @@ import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.cool.store.dao.HyInterviewDAO;
import com.cool.store.dto.calendar.*; import com.cool.store.dto.calendar.*;
import com.cool.store.dto.message.SendCardMessageDTO; import com.cool.store.dto.message.SendCardMessageDTO;
import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.dto.partner.EnterInterviewDto;
@@ -86,6 +87,9 @@ public class InterviewServiceImpl implements InterviewService {
@Autowired @Autowired
private HyPartnerLineInfoService hyPartnerLineInfoService; private HyPartnerLineInfoService hyPartnerLineInfoService;
@Autowired
private HyInterviewDAO interviewDAO;
@Override @Override
public List<InterviewVO> getInterviewList(GetInterviewListReq request) { public List<InterviewVO> getInterviewList(GetInterviewListReq request) {
List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request); List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request);
@@ -134,7 +138,11 @@ public class InterviewServiceImpl implements InterviewService {
@Override @Override
@Transactional @Transactional
public void entrustOthers(EntrustOthersReq request) throws ApiException { public void entrustOthers(EntrustOthersReq request) throws ApiException {
//只有房间状态是待开放才可以委托他人
Integer roomStatus = hyPartnerInterviewPlanMapper.getRoomStatus(request.getInterviewPlanId());
if (!roomStatus.equals(RoomStatus.WAIT_FOR_OPEN.getCode())) {
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
}
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId()); InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
//如果面试信息为空,抛出异常 //如果面试信息为空,抛出异常
if (interviewInfo == null) { if (interviewInfo == null) {
@@ -188,6 +196,11 @@ public class InterviewServiceImpl implements InterviewService {
*/ */
@Override @Override
public void modifyInterviewTime(ModifyInterviewTimeReq request) throws ApiException { public void modifyInterviewTime(ModifyInterviewTimeReq request) throws ApiException {
//只有房间状态是待开放才可以修改时间
Integer roomStatus = hyPartnerInterviewPlanMapper.getRoomStatus(request.getInterviewPlanId());
if (!roomStatus.equals(RoomStatus.WAIT_FOR_OPEN.getCode())) {
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
}
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId()); InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
//如果面试信息为空,抛出异常 //如果面试信息为空,抛出异常
if (interviewInfo == null) { if (interviewInfo == null) {
@@ -223,7 +236,8 @@ public class InterviewServiceImpl implements InterviewService {
//更新面试信息 //更新面试信息
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO(); HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
hyPartnerInterviewDO.setInterviewPlanId(Long.valueOf(interviewInfo.getInterviewPlanId())); hyPartnerInterviewDO.setInterviewPlanId(Long.valueOf(interviewInfo.getInterviewPlanId()));
hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_4.getCode())); interviewDAO.updateInterviewWorkflowStatus(interviewInfo.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_4);
// hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_4.getCode()));
hyPartnerInterviewDO.setUpdateTime(now); hyPartnerInterviewDO.setUpdateTime(now);
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO); hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
} }
@@ -239,10 +253,16 @@ public class InterviewServiceImpl implements InterviewService {
@Transactional @Transactional
public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
try { try {
//如果面试间状态不是已开放,就不让进
Integer roomStatus = hyPartnerInterviewPlanMapper.getRoomStatus(dto.getInterviewPlanId());
if (!roomStatus.equals(RoomStatus.OPEN.getCode())) {
throw new RuntimeException();
}
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO(); HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId())); hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId()));
//1. 将面试状态改为 --> 2已开始 //1. 将面试状态改为 --> 2已开始
hyPartnerInterviewDO.setStatus(2); interviewDAO.updateInterviewWorkflowStatus(dto.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_3);
// hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_3.getCode()));
//2. 修改加盟商或面试官进入面试时间 //2. 修改加盟商或面试官进入面试时间
//加盟商 //加盟商
if (dto.getUserType().equals(2)) { if (dto.getUserType().equals(2)) {
@@ -392,7 +412,9 @@ public class InterviewServiceImpl implements InterviewService {
//更新面试信息 //更新面试信息
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO(); HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
hyPartnerInterviewDO.setId(Long.valueOf(interviewVO.getInterviewId())); hyPartnerInterviewDO.setId(Long.valueOf(interviewVO.getInterviewId()));
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_2.getCode())); //更新面试状态和线索子流程状态
interviewDAO.updateInterviewWorkflowStatus(request.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_2);
// hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_2.getCode()));
hyPartnerInterviewDO.setUpdateTime(new Date()); hyPartnerInterviewDO.setUpdateTime(new Date());
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO); hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
@@ -400,7 +422,7 @@ public class InterviewServiceImpl implements InterviewService {
HyPartnerLineInfoDO hyPartnerLineDO = new HyPartnerLineInfoDO(); HyPartnerLineInfoDO hyPartnerLineDO = new HyPartnerLineInfoDO();
hyPartnerLineDO.setId(request.getPartnerLineId()); hyPartnerLineDO.setId(request.getPartnerLineId());
hyPartnerLineDO.setWorkflowStage(WorkflowStageEnum.INTERVIEW.getCode()); hyPartnerLineDO.setWorkflowStage(WorkflowStageEnum.INTERVIEW.getCode());
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.INTERVIEW_2.getCode()); // hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.INTERVIEW_2.getCode());
hyPartnerLineDO.setUpdateTime(new Date()); hyPartnerLineDO.setUpdateTime(new Date());
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO); hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
//异步发送短信给加盟商 //异步发送短信给加盟商

View File

@@ -3,6 +3,7 @@ package com.cool.store.service.impl;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.cool.store.dao.HyInterviewDAO;
import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.entity.HyPartnerInterviewPlanDO; import com.cool.store.entity.HyPartnerInterviewPlanDO;
@@ -39,6 +40,9 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
@Autowired @Autowired
private HyPartnerInterviewPlanMapper interviewPlanMapper; private HyPartnerInterviewPlanMapper interviewPlanMapper;
@Autowired
private HyInterviewDAO interviewDAO;
@Value("${trtc.sdkAppId}") @Value("${trtc.sdkAppId}")
private Long sdkAppId; private Long sdkAppId;
@@ -67,10 +71,16 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
@Transactional @Transactional
public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
try { try {
//如果面试间状态不是已开放,就不让进
Integer roomStatus = interviewPlanMapper.getRoomStatus(dto.getInterviewPlanId());
if (!roomStatus.equals(RoomStatus.OPEN.getCode())) {
throw new RuntimeException();
}
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO(); HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId())); hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId()));
//1. 将面试状态改为 --> 2已开始 //1. 将面试状态改为 --> 2已开始
hyPartnerInterviewDO.setStatus(2); interviewDAO.updateInterviewWorkflowStatus(dto.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_3);
// hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_3.getCode()));
//2. 修改加盟商或面试官进入面试时间 //2. 修改加盟商或面试官进入面试时间
//加盟商 //加盟商
if (dto.getUserType().equals(2)) { if (dto.getUserType().equals(2)) {

View File

@@ -81,18 +81,7 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
} }
ApplyBaseInfoVO applyBaseInfoVO = new ApplyBaseInfoVO(); ApplyBaseInfoVO applyBaseInfoVO = new ApplyBaseInfoVO();
hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername()); fillUserInfoDOByRequest(hyPartnerUserInfoDO, partnerUserInfoRequest);
hyPartnerUserInfoDO.setMobile(partnerUserInfoRequest.getMobile());
hyPartnerUserInfoDO.setLiveArea(partnerUserInfoRequest.getLiveArea());
hyPartnerUserInfoDO.setWantShopArea(partnerUserInfoRequest.getWantShopArea());
hyPartnerUserInfoDO.setAcceptAdjustType(partnerUserInfoRequest.getAcceptAdjustType());
hyPartnerUserInfoDO.setInviteCode(partnerUserInfoRequest.getInviteCode());
hyPartnerUserInfoDO.setShopCode(partnerUserInfoRequest.getShopCode());
hyPartnerUserInfoDO.setShopName(partnerUserInfoRequest.getShopName());
hyPartnerUserInfoDO.setShopId(partnerUserInfoRequest.getShopId());
hyPartnerUserInfoDO.setRecommendPartnerId(partnerUserInfoRequest.getRecommendPartnerId());
hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName());
hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile());
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
// 生成一条线索 // 生成一条线索
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoService.generateDefaultLineInfo(hyPartnerUserInfoDO.getPartnerId(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType()); HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoService.generateDefaultLineInfo(hyPartnerUserInfoDO.getPartnerId(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType());
@@ -112,4 +101,19 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
} }
return applyBaseInfoVO; return applyBaseInfoVO;
} }
private void fillUserInfoDOByRequest(HyPartnerUserInfoDO hyPartnerUserInfoDO, PartnerUserInfoRequest partnerUserInfoRequest) {
hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername());
hyPartnerUserInfoDO.setMobile(partnerUserInfoRequest.getMobile());
hyPartnerUserInfoDO.setLiveArea(partnerUserInfoRequest.getLiveArea());
hyPartnerUserInfoDO.setWantShopArea(partnerUserInfoRequest.getWantShopArea());
hyPartnerUserInfoDO.setAcceptAdjustType(partnerUserInfoRequest.getAcceptAdjustType());
hyPartnerUserInfoDO.setInviteCode(partnerUserInfoRequest.getInviteCode());
hyPartnerUserInfoDO.setShopCode(partnerUserInfoRequest.getShopCode());
hyPartnerUserInfoDO.setShopName(partnerUserInfoRequest.getShopName());
hyPartnerUserInfoDO.setShopId(partnerUserInfoRequest.getShopId());
hyPartnerUserInfoDO.setRecommendPartnerId(partnerUserInfoRequest.getRecommendPartnerId());
hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName());
hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile());
}
} }