取消对飞书日程的任何操作(除工作台日历)
This commit is contained in:
@@ -233,8 +233,10 @@ public class ISVHttpRequest {
|
||||
* @param userId
|
||||
* @param startTime 开始时间 毫秒时间戳
|
||||
* @param endTime 截止时间 毫秒时间戳
|
||||
* @deprecated 1.5.2 后取消飞书日程的任何使用
|
||||
* @return
|
||||
*/
|
||||
@Deprecated
|
||||
public List<UserFreeBusyInfoDTO> getFreeBusyList(String userId, long startTime, long endTime) throws ApiException{
|
||||
String url = isvDomain + "/user/getFreeBusyList";
|
||||
HashMap requestMap = new HashMap();
|
||||
@@ -259,8 +261,10 @@ public class ISVHttpRequest {
|
||||
* 创建飞书日程
|
||||
* @param param
|
||||
* @return
|
||||
* @deprecated 1.5.2 后取消操作飞书日程
|
||||
* @throws ApiException
|
||||
*/
|
||||
@Deprecated
|
||||
public UserCalendarsEventDTO createUserCalendarEvent(CreateCalendarEventDTO param) throws ApiException{
|
||||
String url = isvDomain + "/user/createUserCalendarEvent";
|
||||
ResultDTO responseEntity = null;
|
||||
@@ -281,8 +285,10 @@ public class ISVHttpRequest {
|
||||
* 更新飞书日程
|
||||
* @param param
|
||||
* @return
|
||||
* @deprecated 1.5.2 后取消操作飞书日程
|
||||
* @throws ApiException
|
||||
*/
|
||||
@Deprecated
|
||||
public UserCalendarsEventDTO updateUserCalendarEvent(UpdateCalendarEventDTO param) throws ApiException{
|
||||
String url = isvDomain + "/user/updateUserCalendarEvent";
|
||||
ResultDTO responseEntity = null;
|
||||
@@ -303,8 +309,10 @@ public class ISVHttpRequest {
|
||||
* 取消飞书日程
|
||||
* @param param
|
||||
* @return
|
||||
* @deprecated 1.5.2 后取消操作飞书日程
|
||||
* @throws ApiException
|
||||
*/
|
||||
@Deprecated
|
||||
public UserCalendarsEventDTO deleteUserCalendarEvent(DeleteCalendarEventDTO param) throws ApiException {
|
||||
String url = isvDomain + "/user/deleteUserCalendarEvent";
|
||||
ResultDTO responseEntity = null;
|
||||
@@ -352,7 +360,9 @@ public class ISVHttpRequest {
|
||||
/**
|
||||
* 发送飞书卡片消息
|
||||
* @param param
|
||||
* @deprecated {@link EventCenterHttpRequest#sendFeiShuNotice(FeiShuNoticeMsgEnum, List, Object...)}
|
||||
*/
|
||||
@Deprecated
|
||||
@Async
|
||||
public void sendFeiShuCardMessage(SendCardMessageDTO param) throws ApiException{
|
||||
if(CollectionUtils.isEmpty(param.getUserIds()) || StringUtils.isAnyBlank(param.getTitle(), param.getContent(), param.getMessageUrl()) || Objects.isNull(param.getMessageType())){
|
||||
|
||||
@@ -198,35 +198,36 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
// throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR);
|
||||
// }
|
||||
|
||||
//1.5.2 后不再使用飞书日程
|
||||
//有可能还未同意面试预约,这时候没有建立日程,只需要修改面试官
|
||||
//1.4 优化多次转让,线索转让次数 >= 1 无需添加日程,只转让线索的招商经理及面试官
|
||||
Integer transferTimes = hyPartnerLineInfoMapper.getTransferTimes(request.getPartnerLineId());
|
||||
if (interviewInfo.getFeishuCalendarId() != null && interviewInfo.getFeishuScheduleId() != null
|
||||
&& transferTimes < 1) {
|
||||
//V1.3 需求变更为将新面试官拉入原面试官日程,而非删除和新增日程
|
||||
//1. 原面试官面试日程信息
|
||||
String oldInterviewerId = CurrentUserHolder.getUserId();
|
||||
UpdateCalendarEventDTO updateCalendarEventDTO = new UpdateCalendarEventDTO();
|
||||
updateCalendarEventDTO.setUserId(oldInterviewerId);
|
||||
updateCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
updateCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
|
||||
updateCalendarEventDTO.setStartTime(DateUtil.parse(interviewInfo.getStartTime()).getTime());
|
||||
updateCalendarEventDTO.setEndTime(DateUtil.parse(interviewInfo.getEndTime()).getTime());
|
||||
updateCalendarEventDTO.setSummary(generateInterviewTitle(request.getPartnerLineId()));
|
||||
|
||||
//2. 邀请新面试官加入日程
|
||||
List<String> list = new ArrayList();
|
||||
list.add(request.getNewInterviewerId());
|
||||
//当前招商经理不是面试官,但是日程在招商经理这里
|
||||
if (!oldInterviewerId.equals(list.get(0))) {
|
||||
list.add(oldInterviewerId);
|
||||
}
|
||||
updateCalendarEventDTO.setJoinUserIds(list);
|
||||
UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.updateUserCalendarEvent(updateCalendarEventDTO);
|
||||
if(userCalendarsEventDTO == null ){
|
||||
throw new ApiException(ErrorCodeEnum.FEISHU_UPDATE_SCHEDULE_ERROR);
|
||||
}
|
||||
}
|
||||
// Integer transferTimes = hyPartnerLineInfoMapper.getTransferTimes(request.getPartnerLineId());
|
||||
// if (interviewInfo.getFeishuCalendarId() != null && interviewInfo.getFeishuScheduleId() != null
|
||||
// && transferTimes < 1) {
|
||||
// //V1.3 需求变更为将新面试官拉入原面试官日程,而非删除和新增日程
|
||||
// //1. 原面试官面试日程信息
|
||||
// String oldInterviewerId = CurrentUserHolder.getUserId();
|
||||
// UpdateCalendarEventDTO updateCalendarEventDTO = new UpdateCalendarEventDTO();
|
||||
// updateCalendarEventDTO.setUserId(oldInterviewerId);
|
||||
// updateCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
// updateCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
|
||||
// updateCalendarEventDTO.setStartTime(DateUtil.parse(interviewInfo.getStartTime()).getTime());
|
||||
// updateCalendarEventDTO.setEndTime(DateUtil.parse(interviewInfo.getEndTime()).getTime());
|
||||
// updateCalendarEventDTO.setSummary(generateInterviewTitle(request.getPartnerLineId()));
|
||||
//
|
||||
// //2. 邀请新面试官加入日程
|
||||
// List<String> list = new ArrayList();
|
||||
// list.add(request.getNewInterviewerId());
|
||||
// //当前招商经理不是面试官,但是日程在招商经理这里
|
||||
// if (!oldInterviewerId.equals(list.get(0))) {
|
||||
// list.add(oldInterviewerId);
|
||||
// }
|
||||
// updateCalendarEventDTO.setJoinUserIds(list);
|
||||
// UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.updateUserCalendarEvent(updateCalendarEventDTO);
|
||||
// if(userCalendarsEventDTO == null ){
|
||||
// throw new ApiException(ErrorCodeEnum.FEISHU_UPDATE_SCHEDULE_ERROR);
|
||||
// }
|
||||
// }
|
||||
|
||||
// 3.面试信息计划变更
|
||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||
@@ -277,38 +278,39 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
||||
}
|
||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||
//被委托或者因转让导致的面试官变更的线索不操作日程
|
||||
Integer transferTimes = hyPartnerLineInfoMapper.getTransferTimes(interviewInfo.getPartnerLineId());
|
||||
if(transferTimes==0&&StringUtils.isNotEmpty(interviewInfo.getFeishuCalendarId())&&StringUtils.isNotEmpty(interviewInfo.getFeishuScheduleId())) {
|
||||
//1.原面试官日程删除
|
||||
DeleteCalendarEventDTO deleteCalendarEventDTO = new DeleteCalendarEventDTO();
|
||||
deleteCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
deleteCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
|
||||
deleteCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||
UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.deleteUserCalendarEvent(deleteCalendarEventDTO);
|
||||
if (userCalendarsEventDTO == null) {
|
||||
throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR);
|
||||
}
|
||||
//2.新面试官日程新增
|
||||
CreateCalendarEventDTO createCalendarEventDTO = new CreateCalendarEventDTO();
|
||||
createCalendarEventDTO.setStartTime(DateUtil.parse(request.getNewStartBookingTime()).getTime());
|
||||
createCalendarEventDTO.setEndTime(DateUtil.parse(request.getNewEndBookingTime()).getTime());
|
||||
createCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||
List<String> list = Arrays.asList(interviewInfo.getInterviewerId());
|
||||
//可能当前招商经理不是面试官,但是日程在招商经理这里
|
||||
String userId = CurrentUserHolder.getUserId();
|
||||
if (!userId.equals(list.get(0))) {
|
||||
list.add(userId);
|
||||
}
|
||||
createCalendarEventDTO.setJoinUserIds(list);
|
||||
createCalendarEventDTO.setSummary(generateInterviewTitle(interviewInfo.getPartnerLineId()));
|
||||
UserCalendarsEventDTO userCalendarEvent = isvHttpRequest.createUserCalendarEvent(createCalendarEventDTO);
|
||||
if (userCalendarEvent == null) {
|
||||
throw new ApiException(ErrorCodeEnum.CREATE_CALENDAR_EVENT_FAIL);
|
||||
}
|
||||
record.setFeishuCalendarId(userCalendarEvent.getCalendarId());
|
||||
record.setFeishuScheduleId(userCalendarEvent.getEventId());
|
||||
}
|
||||
//1.5.2 后不再使用飞书日程
|
||||
// //被委托或者因转让导致的面试官变更的线索不操作日程
|
||||
// Integer transferTimes = hyPartnerLineInfoMapper.getTransferTimes(interviewInfo.getPartnerLineId());
|
||||
// if(transferTimes==0&&StringUtils.isNotEmpty(interviewInfo.getFeishuCalendarId())&&StringUtils.isNotEmpty(interviewInfo.getFeishuScheduleId())) {
|
||||
// //1.原面试官日程删除
|
||||
// DeleteCalendarEventDTO deleteCalendarEventDTO = new DeleteCalendarEventDTO();
|
||||
// deleteCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
// deleteCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
|
||||
// deleteCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||
// UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.deleteUserCalendarEvent(deleteCalendarEventDTO);
|
||||
// if (userCalendarsEventDTO == null) {
|
||||
// throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR);
|
||||
// }
|
||||
// //2.新面试官日程新增
|
||||
// CreateCalendarEventDTO createCalendarEventDTO = new CreateCalendarEventDTO();
|
||||
// createCalendarEventDTO.setStartTime(DateUtil.parse(request.getNewStartBookingTime()).getTime());
|
||||
// createCalendarEventDTO.setEndTime(DateUtil.parse(request.getNewEndBookingTime()).getTime());
|
||||
// createCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||
// List<String> list = Arrays.asList(interviewInfo.getInterviewerId());
|
||||
// //可能当前招商经理不是面试官,但是日程在招商经理这里
|
||||
// String userId = CurrentUserHolder.getUserId();
|
||||
// if (!userId.equals(list.get(0))) {
|
||||
// list.add(userId);
|
||||
// }
|
||||
// createCalendarEventDTO.setJoinUserIds(list);
|
||||
// createCalendarEventDTO.setSummary(generateInterviewTitle(interviewInfo.getPartnerLineId()));
|
||||
// UserCalendarsEventDTO userCalendarEvent = isvHttpRequest.createUserCalendarEvent(createCalendarEventDTO);
|
||||
// if (userCalendarEvent == null) {
|
||||
// throw new ApiException(ErrorCodeEnum.CREATE_CALENDAR_EVENT_FAIL);
|
||||
// }
|
||||
// record.setFeishuCalendarId(userCalendarEvent.getCalendarId());
|
||||
// record.setFeishuScheduleId(userCalendarEvent.getEventId());
|
||||
// }
|
||||
|
||||
record.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
|
||||
@@ -541,26 +543,23 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PARTNER_NOT_EXIST);
|
||||
}
|
||||
|
||||
List<UserFreeBusyInfoDTO> userFreeBusyInfoList = isvHttpRequest.getFreeBusyList(request.getInterviewerId(), DateUtil.parse(interviewVO.getStartTime()).getTime(), DateUtil.parse(interviewVO.getEndTime()).getTime());
|
||||
if (CollectionUtils.isNotEmpty(userFreeBusyInfoList)) {
|
||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_INTERVIEW_TIME_IS_UNUSABLE,partnerBaseInfo.getUsername(),partnerBaseInfo.getMobile());
|
||||
}
|
||||
|
||||
//创建日程信息
|
||||
CreateCalendarEventDTO createCalendarEventDTO = new CreateCalendarEventDTO();
|
||||
createCalendarEventDTO.setStartTime(DateUtil.parse(interviewVO.getStartTime()).getTime());
|
||||
createCalendarEventDTO.setEndTime(DateUtil.parse(interviewVO.getEndTime()).getTime());
|
||||
createCalendarEventDTO.setUserId(request.getInterviewerId());
|
||||
createCalendarEventDTO.setJoinUserIds(Arrays.asList(request.getInterviewerId()));
|
||||
createCalendarEventDTO.setSummary(generateInterviewTitle(request.getPartnerLineId()));
|
||||
UserCalendarsEventDTO userCalendarEvent = isvHttpRequest.createUserCalendarEvent(createCalendarEventDTO);
|
||||
if (userCalendarEvent == null || StringUtil.isEmpty(userCalendarEvent.getEventId())) {
|
||||
throw new ServiceException(ErrorCodeEnum.CREATE_CALENDAR_EVENT_FAIL);
|
||||
}
|
||||
// CreateCalendarEventDTO createCalendarEventDTO = new CreateCalendarEventDTO();
|
||||
// createCalendarEventDTO.setStartTime(DateUtil.parse(interviewVO.getStartTime()).getTime());
|
||||
// createCalendarEventDTO.setEndTime(DateUtil.parse(interviewVO.getEndTime()).getTime());
|
||||
// createCalendarEventDTO.setUserId(request.getInterviewerId());
|
||||
// createCalendarEventDTO.setJoinUserIds(Arrays.asList(request.getInterviewerId()));
|
||||
// createCalendarEventDTO.setSummary(generateInterviewTitle(request.getPartnerLineId()));
|
||||
// UserCalendarsEventDTO userCalendarEvent = isvHttpRequest.createUserCalendarEvent(createCalendarEventDTO);
|
||||
// if (userCalendarEvent == null || StringUtil.isEmpty(userCalendarEvent.getEventId())) {
|
||||
// throw new ServiceException(ErrorCodeEnum.CREATE_CALENDAR_EVENT_FAIL);
|
||||
// }
|
||||
//更新面试计划信息
|
||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||
record.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
record.setFeishuCalendarId(userCalendarEvent.getCalendarId());
|
||||
record.setFeishuScheduleId(userCalendarEvent.getEventId());
|
||||
// record.setFeishuCalendarId(userCalendarEvent.getCalendarId());
|
||||
// record.setFeishuScheduleId(userCalendarEvent.getEventId());
|
||||
record.setApplicationApproved(1);
|
||||
//如果同意的时候已经超过预约的时间前 5 分钟,直接进入面试已开始阶段
|
||||
DateTime interviewStartTime = DateUtil.offsetMinute(DateUtil.parseDateTime(interviewVO.getStartTime()), -5);
|
||||
|
||||
@@ -88,15 +88,16 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
||||
&& StringUtils.isNotEmpty(interviewInfo.getFeishuCalendarId())
|
||||
&& StringUtils.isNotEmpty(interviewInfo.getFeishuScheduleId())
|
||||
&& interviewInfo.getInterviewerId().equals(operator.getUserId())){
|
||||
//1.5.2 后不再使用飞书日程
|
||||
// 原面试官日程删除
|
||||
DeleteCalendarEventDTO deleteCalendarEventDTO = new DeleteCalendarEventDTO();
|
||||
deleteCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
deleteCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
|
||||
deleteCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||
UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.deleteUserCalendarEvent(deleteCalendarEventDTO);
|
||||
if(userCalendarsEventDTO == null ){
|
||||
throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR);
|
||||
}
|
||||
// DeleteCalendarEventDTO deleteCalendarEventDTO = new DeleteCalendarEventDTO();
|
||||
// deleteCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
// deleteCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
|
||||
// deleteCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||
// UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.deleteUserCalendarEvent(deleteCalendarEventDTO);
|
||||
// if(userCalendarsEventDTO == null ){
|
||||
// throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR);
|
||||
// }
|
||||
} else if (Integer.parseInt(WorkflowStatusEnum.INTERVIEW_6.getCode()) == interviewBaseInfo.getStatus()) {
|
||||
//删除稽核信息
|
||||
HyInspectionDO rawHyInspection = inspectionMapper.selectByInterviewPlanId(interviewBaseInfo.getInterviewPlanId());
|
||||
|
||||
Reference in New Issue
Block a user