Merge remote-tracking branch 'xfsg/cc_partner_init' into cc_partner_init

This commit is contained in:
苏竹红
2024-04-10 11:30:37 +08:00
8 changed files with 29 additions and 16 deletions

View File

@@ -148,7 +148,8 @@ public class CommonConstants {
public static final String FOLLOW_TASK_NOTICE_KEY = "follow_task_notice:{0}:{1}"; public static final String FOLLOW_TASK_NOTICE_KEY = "follow_task_notice:{0}:{1}";
public static final Long LONG_ONE = 1L; public static final Long LONG_ONE = 1L;
// 线索选择的意向区域没有绑定战区,线索分配给【拓展经理胡德龙】
// public static final String DEAULT_INVESTMENT_JOBNUMBER = "17021329";
public static final String DEAULT_INVESTMENT_JOBNUMBER = "020125244825417786"; public static final String DEAULT_INVESTMENT_JOBNUMBER = "020125244825417786";

View File

@@ -138,6 +138,11 @@ public enum ErrorCodeEnum {
ONLY_WAR_REGION_CONFIG(108002, "意向省市只能配置到战区",null), ONLY_WAR_REGION_CONFIG(108002, "意向省市只能配置到战区",null),
NOT_APPROVE_NODE(109001, "不是审批节点",null), NOT_APPROVE_NODE(109001, "不是审批节点",null),
TIME_FALSE(109002, "结束时间不能早于开始时间",null),
; ;

View File

@@ -22,7 +22,7 @@
</select> </select>
<select id="getRegionLineCalendarsEvent" resultMap="BaseResultMap"> <select id="getRegionLineCalendarsEvent" resultMap="BaseResultMap">
select start_time, end_time from xfsg_line_calendars_event where interview_date = #{interviewDate} and region_id = #{regionId} and interview_type = '1' select start_time, end_time from xfsg_line_calendars_event where interview_date = #{interviewDate} and region_id = #{regionId} and interview_type != '0' and start_time > now()
</select> </select>
<select id="getOccupiedCount" resultType="integer"> <select id="getOccupiedCount" resultType="integer">

View File

@@ -88,6 +88,9 @@ public class AppointmentTimeVO {
} }
public static boolean isOverlapping(LocalDateTime start1, LocalDateTime end1, LocalDateTime start2, LocalDateTime end2) { public static boolean isOverlapping(LocalDateTime start1, LocalDateTime end1, LocalDateTime start2, LocalDateTime end2) {
if(start1.equals(start2) && end1.equals(end2)){
return true;
}
// 如果第二个时间段的开始时间在第一个时间段内(包括两端点) // 如果第二个时间段的开始时间在第一个时间段内(包括两端点)
if (start2.isAfter(start1) && start2.isBefore(end1)) { if (start2.isAfter(start1) && start2.isBefore(end1)) {
return true; return true;

View File

@@ -9,10 +9,7 @@ import com.cool.store.entity.*;
import com.cool.store.enums.*; import com.cool.store.enums.*;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.*; import com.cool.store.request.*;
import com.cool.store.service.LabelService; import com.cool.store.service.*;
import com.cool.store.service.LineInterviewService;
import com.cool.store.service.SysRoleService;
import com.cool.store.service.UserAuthMappingService;
import com.cool.store.utils.TRTCUtils; import com.cool.store.utils.TRTCUtils;
import com.cool.store.utils.UUIDUtils; import com.cool.store.utils.UUIDUtils;
import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.DateUtils;
@@ -70,6 +67,8 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
private UserAuthMappingService userAuthMappingService; private UserAuthMappingService userAuthMappingService;
@Resource @Resource
private SysRoleService sysRoleService; private SysRoleService sysRoleService;
@Resource
private TransferLogService transferLogService;
@Override @Override
public List<AppointmentTimeVO> getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentDate) { public List<AppointmentTimeVO> getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentDate) {
@@ -202,6 +201,10 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
@Override @Override
public Boolean modifyInterviewer(ModifyInterviewerRequest request) { public Boolean modifyInterviewer(ModifyInterviewerRequest request) {
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId());
if(Objects.isNull(lineInfo)){
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
}
InterviewTypeEnum interviewType = InterviewTypeEnum.match(request.getInterviewType()); InterviewTypeEnum interviewType = InterviewTypeEnum.match(request.getInterviewType());
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(request.getLineId(), interviewType); LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(request.getLineId(), interviewType);
if(Objects.isNull(interviewInfo)){ if(Objects.isNull(interviewInfo)){
@@ -213,15 +216,16 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
update.setId(interviewInfo.getCalendarsEventId()); update.setId(interviewInfo.getCalendarsEventId());
update.setInterviewerUserId(request.getInterviewerUserId()); update.setInterviewerUserId(request.getInterviewerUserId());
lineCalendarsEventDAO.updateCalendarsEvent(update); lineCalendarsEventDAO.updateCalendarsEvent(update);
LineInfoDO lineInfo = new LineInfoDO(); LineInfoDO updateLineInfo = new LineInfoDO();
lineInfo.setId(request.getLineId()); updateLineInfo.setId(request.getLineId());
if(InterviewTypeEnum.INTERVIEW.equals(interviewType)){ if(InterviewTypeEnum.INTERVIEW.equals(interviewType)){
lineInfo.setFirstInterviewer(request.getInterviewerUserId()); updateLineInfo.setFirstInterviewer(request.getInterviewerUserId());
} }
if(InterviewTypeEnum.SECOND_INTERVIEW.equals(interviewType)){ if(InterviewTypeEnum.SECOND_INTERVIEW.equals(interviewType)){
lineInfo.setSecondInterviewer(request.getInterviewerUserId()); updateLineInfo.setSecondInterviewer(request.getInterviewerUserId());
} }
lineInfoDAO.updateLineInfo(lineInfo); lineInfoDAO.updateLineInfo(updateLineInfo);
transferLogService.addLog(lineInfo, interviewInfo.getInterviewerUserId(), request.getInterviewerUserId(), OperationLogTypeEnum.ENTRUST_INTERVIEW);
return true; return true;
} }
@@ -416,7 +420,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
updateInterviewInfo.setAuditId(auditId); updateInterviewInfo.setAuditId(auditId);
updateInterviewInfo.setInterviewStatus(InterviewStatusEnum.NOT_PASS.getCode()); updateInterviewInfo.setInterviewStatus(InterviewStatusEnum.NOT_PASS.getCode());
lineInfoDAO.updateWorkflowStage(lineInfo.getId(), null, WorkflowSubStageStatusEnum.getInterviewRejectStatus(interviewType)); lineInfoDAO.updateWorkflowStage(lineInfo.getId(), null, WorkflowSubStageStatusEnum.getInterviewRejectStatus(interviewType));
return lineInterviewDAO.updateInterviewInfo(interviewInfo) > 0; return lineInterviewDAO.updateInterviewInfo(updateInterviewInfo) > 0;
} }
@Override @Override

View File

@@ -91,13 +91,13 @@ public class LinePayServiceImpl implements LinePayService {
linePayDO.setPayTime(request.getPayTime()); linePayDO.setPayTime(request.getPayTime());
linePayDO.setPayPic(request.getPayPic()); linePayDO.setPayPic(request.getPayPic());
linePayDO.setPromisePic(request.getPromisePic()); linePayDO.setPromisePic(request.getPromisePic());
linePayDO.setPayStatus(WorkflowSubStageStatusEnum.PAY_DEPOSIT_50.getCode());
if(isAdd){ if(isAdd){
linePayDO.setPartnerId(partnerUser.getPartnerId()); linePayDO.setPartnerId(partnerUser.getPartnerId());
linePayDO.setLineId(request.getLineId()); linePayDO.setLineId(request.getLineId());
linePayDO.setCreateTime(new Date()); linePayDO.setCreateTime(new Date());
linePayDO.setCreateUserId(partnerUser.getPartnerId()); linePayDO.setCreateUserId(partnerUser.getPartnerId());
linePayDO.setDeleted(false); linePayDO.setDeleted(false);
linePayDO.setPayStatus(WorkflowSubStageStatusEnum.PAY_DEPOSIT_50.getCode());
}else { }else {
linePayDO.setUpdateTime(new Date()); linePayDO.setUpdateTime(new Date());
linePayDO.setUpdateUserId(partnerUser.getPartnerId()); linePayDO.setUpdateUserId(partnerUser.getPartnerId());

View File

@@ -58,13 +58,13 @@ public class TrainingExperienceServiceImpl extends LineFlowService implements Tr
return Boolean.FALSE; return Boolean.FALSE;
} }
if (Objects.isNull(request.getLineId())) { if (Objects.isNull(request.getLineId())) {
throw new ServiceException(INTERVIEW_LINE_ID_IS_NULL); throw new ServiceException(ErrorCodeEnum.INTERVIEW_LINE_ID_IS_NULL);
} }
LeaseBaseInfoDO leaseBaseInfoDO = request.toLeaseBaseInfoDO(); LeaseBaseInfoDO leaseBaseInfoDO = request.toLeaseBaseInfoDO();
Date currentDate = new Date(); Date currentDate = new Date();
LineInfoDO lineInfoDO = new LineInfoDO(); LineInfoDO lineInfoDO = new LineInfoDO();
if (request.getExperienceStartTime().compareTo(request.getExperienceEndTime()) >= 0){ if (request.getExperienceStartTime().compareTo(request.getExperienceEndTime()) >= 0){
throw new ServiceException("结束时间不能早于开始时间"); throw new ServiceException(ErrorCodeEnum.TIME_FALSE);
} }
if (currentDate.before(request.getExperienceStartTime())){ if (currentDate.before(request.getExperienceStartTime())){
leaseBaseInfoDO.setExperienceStatus(WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85.getCode()); leaseBaseInfoDO.setExperienceStatus(WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85.getCode());

View File

@@ -107,7 +107,7 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService {
if(UserRoleEnum.INVESTMENT_MANAGER.equals(userRoleEnum)){ if(UserRoleEnum.INVESTMENT_MANAGER.equals(userRoleEnum)){
// 按工号排序后放入redis // 按工号排序后放入redis
authWarRegionUserIdList = authWarRegionUserIdList.stream() authWarRegionUserIdList = authWarRegionUserIdList.stream()
.sorted((a, b) -> a.compareTo(b)) .sorted((a, b) -> b.compareTo(a))
.collect(Collectors.toList()); .collect(Collectors.toList());
redisUtilPool.listPushTail(investmentManagerKey, authWarRegionUserIdList.toArray(new String[authWarRegionUserIdList.size()])); redisUtilPool.listPushTail(investmentManagerKey, authWarRegionUserIdList.toArray(new String[authWarRegionUserIdList.size()]));
suitableUserId = redisUtilPool.rpopStr(investmentManagerKey); suitableUserId = redisUtilPool.rpopStr(investmentManagerKey);