Merge remote-tracking branch 'hs/dev/feat/partner1.3_20230904' into dev/feat/partner1.3_20230904
This commit is contained in:
@@ -84,13 +84,15 @@ public enum ErrorCodeEnum {
|
||||
INTERVIEW_LINE_ID_IS_NULL(1021113, "线索id为空!", null),
|
||||
INTERVIEW_INTERVIEW_TIME_IS_UNUSABLE(1021114, "当前预约时间不可用,请和线索用户协商其他时间后确定预约时间\n面试人:{0} 手机号:{1}", null),
|
||||
INTERVIEW_PARTNER_NOT_EXIST(1021115, "线索下的加盟商不存在!", null),
|
||||
INTERVIEW_STATUS_NOT_TRANSFER(1021116, "当前面试状态不允许转让! 面试状态:{}", null),
|
||||
INTERVIEW_STATUS_NOT_TRANSFER(1021116, "当前面试状态不允许转让! 面试状态:{0}", null),
|
||||
|
||||
ROOM_STATUS_ERROR(10211156, "当前面试房间状态不允许进行该操作!", null),
|
||||
MOBILE_APP_NOT_ONLINE_ERROR(10211157, "呼叫失败,请确认呼出号码正确并检查是否安装并打开呼叫插件", null),
|
||||
CALL_RECORD_NOT_EXIST_ERROR(10211158, "通话记录不存在!", null),
|
||||
CALL_UP_ERROR(10211159, "拨出电话异常!", null),
|
||||
CREATE_CALL_REQUEST_ERROR(10211160, "创建电话请求失败!", null),
|
||||
|
||||
CREATE_APPOINTMENT_TIME_ERROR(10211161, "当前时间不可预约面试,请选择其他时间", null),
|
||||
CONTENT_DUPLICATED(10211200, "动态标题重复!", null),
|
||||
SIGN_FAIL(600000, "验签失败", null),
|
||||
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null),
|
||||
|
||||
@@ -15,7 +15,7 @@ public enum FeiShuNoticeMsgEnum {
|
||||
BATCH_TRANS_INVESTMENT_MANAGER("收到新线索", "有{0}条新线索于 {1} 转让给您,请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g"),
|
||||
INTENTION_APPLY("加盟意向申请", "您有一个【加盟意向申请】待审核,申请人 {0} 手机号 {1} 于 {2} 提交加盟意向申请,请及时处理", "img_v2_c909097d-67d1-4c11-a911-a2584b67ca6g"),
|
||||
FOLLOW_TASK("线索跟进任务", "{0}", "img_v2_1960b7ef-8c4e-4c3d-8b67-3d918a85578g"),
|
||||
INTERVIEW_APPOINTMENT("面试预约申请", "您有一个【面试预约申请】待处理,预约人 {0} 手机号 {1} ,预约面试时间 {3} ","img_v2_107bb06b-2a7a-43e1-a6ae-e5d2f2dae17g"),
|
||||
INTERVIEW_APPOINTMENT("面试预约申请", "您有一个【面试预约申请】待处理,预约人 {0} 手机号 {1} ,预约面试时间 {2} ","img_v2_107bb06b-2a7a-43e1-a6ae-e5d2f2dae17g"),
|
||||
;
|
||||
|
||||
private String title;
|
||||
|
||||
@@ -94,6 +94,13 @@ public class HyPartnerInterviewPlanDAO {
|
||||
return hyPartnerInterviewPlanMapper.selectInterviewIdByLineId(lineId);
|
||||
}
|
||||
|
||||
public HyPartnerInterviewPlanDO getInterviewPlanByLineId(Long lineId){
|
||||
if (lineId==null){
|
||||
return null;
|
||||
}
|
||||
return hyPartnerInterviewPlanMapper.getInterviewPlanByLineId(lineId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据线索表ID查询
|
||||
* @param lindIds
|
||||
|
||||
@@ -317,7 +317,7 @@
|
||||
<set>
|
||||
update_time=now(),
|
||||
<if test="userPortrait != null and userPortrait!=''">
|
||||
user_portrait = #{userPortrait},
|
||||
user_portrait = concat(",",#{userPortrait},","),
|
||||
</if>
|
||||
</set>
|
||||
where mobile = #{mobile}
|
||||
|
||||
@@ -205,7 +205,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
}
|
||||
//如果是面试预约待审批阶段还要发送面试预约申请通知
|
||||
if (WorkflowStageEnum.RESERVATION.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage()) && WorkflowStatusEnum.RESERVATION_1.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())) {
|
||||
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTERVIEW_APPOINTMENT, Arrays.asList(request.getUserId()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile(),dateTime);
|
||||
HyPartnerInterviewPlanDO interviewPlanByLine = hyPartnerInterviewPlanDAO.getInterviewPlanByLineId(request.getLineId());
|
||||
if (interviewPlanByLine!=null && interviewPlanByLine.getStartTime()!=null ){
|
||||
String startTime = DateUtil.format(interviewPlanByLine.getStartTime(), CoolDateUtils.DATE_FORMAT_SEC_7);
|
||||
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTERVIEW_APPOINTMENT, Arrays.asList(request.getUserId()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile(),startTime);
|
||||
}
|
||||
}
|
||||
|
||||
//作废待完成&已逾期的任务
|
||||
@@ -252,6 +256,9 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = partnerUserInfoDOMap.get(partnerMap.get(lineId));
|
||||
BatchTransferVO batchTransferVO = new BatchTransferVO();
|
||||
batchTransferVO.setErrorMessage(e.getMessage());
|
||||
if (e instanceof ServiceException){
|
||||
batchTransferVO.setErrorMessage(((ServiceException)e).getErrorMessage());
|
||||
}
|
||||
batchTransferVO.setPartnerMobile(hyPartnerUserInfoDO.getMobile());
|
||||
batchTransferVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername());
|
||||
result.add(batchTransferVO);
|
||||
|
||||
@@ -419,6 +419,10 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
if(request.getPartnerLineId() == null || request.getPartnerLineId()<=0){
|
||||
throw new ApiException(ErrorCodeEnum.INTERVIEW_LINE_ID_IS_NULL);
|
||||
}
|
||||
//如果开始时间小于当前时间需要报错
|
||||
if(DateUtil.date().isAfter(DateUtil.parse(request.getStartBookingTime()))){
|
||||
throw new ApiException(ErrorCodeEnum.CREATE_APPOINTMENT_TIME_ERROR);
|
||||
}
|
||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||
hyPartnerInterviewPlanDO.setPartnerLineId(request.getPartnerLineId());
|
||||
hyPartnerInterviewPlanDO.setDeleted(false);
|
||||
|
||||
@@ -184,6 +184,10 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
if(RoomStatus.WAIT_FOR_OPEN.getCode() != Integer.parseInt(interviewInfo.getRoomStatus())){
|
||||
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
||||
}
|
||||
//如果开始时间小于当前时间需要报错
|
||||
if(DateUtil.date().isAfter(DateUtil.parse(request.getNewStartBookingTime()))){
|
||||
throw new ApiException(ErrorCodeEnum.CREATE_APPOINTMENT_TIME_ERROR);
|
||||
}
|
||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||
record.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
|
||||
|
||||
@@ -74,13 +74,15 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
||||
if (CollectionUtils.isEmpty(interviewBaseInfos)) {
|
||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
|
||||
}
|
||||
LoginUserInfo operator = CurrentUserHolder.getUser();
|
||||
HyPartnerInterviewDO interviewBaseInfo = interviewBaseInfos.get(0);
|
||||
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(String.valueOf(interviewBaseInfo.getInterviewPlanId()));
|
||||
if(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_2.getCode()) == interviewBaseInfo.getStatus()
|
||||
&& StringUtils.isNotEmpty(interviewInfo.getRoomStatus())
|
||||
&& String.valueOf(RoomStatus.WAIT_FOR_OPEN.getCode()).equals(interviewInfo.getRoomStatus())
|
||||
&& StringUtils.isNotEmpty(interviewInfo.getFeishuCalendarId())
|
||||
&& StringUtils.isNotEmpty(interviewInfo.getFeishuScheduleId())){
|
||||
&& StringUtils.isNotEmpty(interviewInfo.getFeishuScheduleId())
|
||||
&& interviewInfo.getInterviewerId().equals(operator.getUserId())){
|
||||
// 原面试官日程删除
|
||||
DeleteCalendarEventDTO deleteCalendarEventDTO = new DeleteCalendarEventDTO();
|
||||
deleteCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
@@ -100,7 +102,6 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
||||
}
|
||||
interviewService.rejectInterviewAndSuspendLine(interviewBaseInfo.getId(),interviewBaseInfo.getInterviewPlanId(),null);
|
||||
//记录日志
|
||||
LoginUserInfo operator = CurrentUserHolder.getUser();
|
||||
RejectInterviewDTO log = RejectInterviewDTO.builder().mobile(operator.getMobile()).operateUserId(operator.getUserId()).operateUsername(operator.getName()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
|
||||
.rejectRealReason(request.getRejectRealReason()).rejectPublicReason(request.getRejectPublicReason()).certifyFile(request.getCertifyFile()).build();
|
||||
logService.recordBizLog(operator,request.getLineId(), OperateTypeEnum.REJECT_INTERVIEW,log);
|
||||
|
||||
Reference in New Issue
Block a user