diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerTaskInfoLogMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerTaskInfoLogMapper.java index 6f8723c38..ffa413bdb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerTaskInfoLogMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerTaskInfoLogMapper.java @@ -3,6 +3,8 @@ package com.cool.store.mapper; import com.cool.store.entity.HyPartnerTaskInfoLogDO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @author zhangchenbiao * @date 2023-05-29 03:53 @@ -22,4 +24,6 @@ public interface HyPartnerTaskInfoLogMapper { * dateTime:2023-05-29 03:53 */ int updateByPrimaryKeySelective(@Param("record") HyPartnerTaskInfoLogDO record); + + List selectByPartnerLineIdAndOperateType(@Param("partnerLineId") String partnerLineId, @Param("operateType") String operateType); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerTaskInfoLogMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerTaskInfoLogMapper.xml index 5ebbb72d0..678e22ac3 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerTaskInfoLogMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerTaskInfoLogMapper.xml @@ -133,4 +133,13 @@ where id = #{record.id} + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/log/LogFieldDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/log/LogFieldDTO.java new file mode 100644 index 000000000..f6982c254 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/log/LogFieldDTO.java @@ -0,0 +1,15 @@ +package com.cool.store.dto.log; + +import lombok.Data; + +/** + * @Author: young.yu + * @Date: 2023-06-28 15:32 + * @Description: + */ +@Data +public class LogFieldDTO { + private String code; + private String name; + private String value; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java index f0fe7af35..13613277b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java @@ -69,5 +69,5 @@ public interface InterviewService { public void rejectInterviewAndSuspendLine(Long iterviewId,Long interviewPlanId,String certifyFile); - void getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException; + String getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java index c1b60c0c9..430fb69d6 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; import com.cool.store.context.PartnerUserHolder; @@ -16,10 +17,7 @@ import com.cool.store.dto.calendar.CreateCalendarEventDTO; import com.cool.store.dto.calendar.DeleteCalendarEventDTO; import com.cool.store.dto.calendar.UserCalendarsEventDTO; import com.cool.store.dto.calendar.UserFreeBusyInfoDTO; -import com.cool.store.dto.log.EntrustOthersDTO; -import com.cool.store.dto.log.LogBasicDTO; -import com.cool.store.dto.log.ModifyInterviewTimeDTO; -import com.cool.store.dto.log.ReInterviewDTO; +import com.cool.store.dto.log.*; import com.cool.store.dto.message.SendCardMessageDTO; import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.entity.*; @@ -276,11 +274,11 @@ public class InterviewServiceImpl implements InterviewService { hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO); //记录日志 - PartnerUserInfoVO operator = PartnerUserHolder.getUser(); - ModifyInterviewTimeDTO log = ModifyInterviewTimeDTO.builder().operateUserId(operator.getPartnerId()).operateUsername(operator.getUsername()) + LoginUserInfo operator = CurrentUserHolder.getUser(); + ModifyInterviewTimeDTO log = ModifyInterviewTimeDTO.builder().mobile(operator.getMobile()).operateUserId(operator.getUserId()).operateUsername(operator.getName()) .operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)) .beforeInterviewTime(interviewInfo.getStartTime()).afterInterviewTime(request.getNewStartBookingTime()).build(); - logService.recordPartnerBizLog(operator,interviewInfo.getPartnerLineId(),OperateTypeEnum.MODIFY_INTERVIEW_TIME,log); + logService.recordBizLog(operator,interviewInfo.getPartnerLineId(),OperateTypeEnum.MODIFY_INTERVIEW_TIME,log); } @Override @@ -460,7 +458,7 @@ public class InterviewServiceImpl implements InterviewService { //记录日志 PartnerUserInfoVO operator = PartnerUserHolder.getUser(); - LogBasicDTO log = LogBasicDTO.builder().operateUserId(operator.getPartnerId()).operateUsername(operator.getUsername()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build(); + LogBasicDTO log = LogBasicDTO.builder().operateUserId(operator.getPartnerId()).operateUsername(operator.getUsername()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).mobile(operator.getMobile()).build(); logService.recordPartnerBizLog(operator,interviewVO.getPartnerLineId(),OperateTypeEnum.INTERVIEW_APPOINTMENT,log); return vo; @@ -632,8 +630,38 @@ public class InterviewServiceImpl implements InterviewService { } @Override - public void getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException { - + public String getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException { + String content = " 修改面试预约时间"; + String operatorName = null; + String operatorMobile = null; + String operatorTime = null; + List hyPartnerTaskInfoLogDOS = hyPartnerTaskInfoLogMapper.selectByPartnerLineIdAndOperateType(request.getPartnerLineId(), OperateTypeEnum.MODIFY_INTERVIEW_TIME.getCode()); + if(CollectionUtils.isEmpty(hyPartnerTaskInfoLogDOS)){ + hyPartnerTaskInfoLogDOS = hyPartnerTaskInfoLogMapper.selectByPartnerLineIdAndOperateType(request.getPartnerLineId(), OperateTypeEnum.INTERVIEW_APPOINTMENT.getCode()); + if(CollectionUtils.isEmpty(hyPartnerTaskInfoLogDOS)){ + return null; + } + content = " 提交面试预约时间"; + } + HyPartnerTaskInfoLogDO hyPartnerTaskInfoLogDO = hyPartnerTaskInfoLogDOS.get(0); + String fieldCopy = hyPartnerTaskInfoLogDO.getFieldCopy(); + List logFieldDTOS = JSONObject.parseArray(fieldCopy, LogFieldDTO.class); + for(LogFieldDTO logFieldDTO:logFieldDTOS){ + if(OperateLogFieldValueEnum.OPERATE_TIME.getCode().equals(logFieldDTO.getCode())){ + operatorTime = logFieldDTO.getValue(); + } + if(OperateLogFieldValueEnum.MOBILE.getCode().equals(logFieldDTO.getCode())){ + operatorMobile = logFieldDTO.getValue(); + } + if(OperateLogFieldValueEnum.OPERATE_USER_NAME.getCode().equals(logFieldDTO.getCode())){ + operatorName = logFieldDTO.getValue(); + } + } + StringBuffer sb = new StringBuffer(); + sb.append(operatorName) + .append(" "+operatorMobile) + .append(" 于 ").append(DateUtil.format(DateUtil.parseDateTime(operatorTime),"yyyy/MM/dd HH:mm:ss")).append(content); + return sb.toString(); } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java index 3074035c1..51f8151ab 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java @@ -3,11 +3,14 @@ package com.cool.store.service.impl; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.cool.store.context.PartnerUserHolder; import com.cool.store.dao.HyInterviewDAO; +import com.cool.store.dto.log.ModifyInterviewTimeDTO; import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewPlanDO; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.OperateTypeEnum; import com.cool.store.enums.RoomStatus; import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.exception.ApiException; @@ -15,11 +18,14 @@ import com.cool.store.exception.ServiceException; import com.cool.store.mapper.HyPartnerInterviewMapper; import com.cool.store.mapper.HyPartnerInterviewPlanMapper; import com.cool.store.request.ModifyInterviewTimeReq; +import com.cool.store.service.LogService; import com.cool.store.service.PartnerInterviewService; +import com.cool.store.utils.CoolDateUtils; import com.cool.store.utils.TRTCUtils; import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerPassLetterDetailVO; +import com.cool.store.vo.PartnerUserInfoVO; import com.cool.store.vo.interview.InterviewVO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -48,6 +54,9 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService { @Value("${trtc.secretKey}") private String key; + @Autowired + private LogService logService; + /** * 加盟商查询面试信息 * @@ -175,6 +184,13 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService { record.setEndTime(Convert.toDate(request.getNewEndBookingTime())); record.setUpdateTime(new Date()); interviewPlanMapper.updateByPrimaryKeySelective(record); + + //记录日志 + PartnerUserInfoVO operator = PartnerUserHolder.getUser(); + ModifyInterviewTimeDTO log = ModifyInterviewTimeDTO.builder().mobile(operator.getMobile()).operateUserId(operator.getPartnerId()).operateUsername(operator.getUsername()) + .operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)) + .beforeInterviewTime(interviewInfo.getStartTime()).afterInterviewTime(request.getNewStartBookingTime()).build(); + logService.recordPartnerBizLog(operator,interviewInfo.getPartnerLineId(), OperateTypeEnum.MODIFY_INTERVIEW_TIME,log); } } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java index 22dfa211c..b61005261 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java @@ -97,7 +97,7 @@ public class InterviewController { @PostMapping("/getLastUpdateTimeInfo") @ApiOperation("获取面试最新更新信息") public ResponseResult getLastUpdateTimeInfo(@RequestBody GetLastUpdateTimeInfoReq request) throws ApiException { - interviewService.getLastUpdateTimeInfo(request); - return ResponseResult.success(); + String res = interviewService.getLastUpdateTimeInfo(request); + return ResponseResult.success(res); } }