日志相关

This commit is contained in:
俞扬
2023-06-28 15:13:19 +08:00
parent 5ae5d166dd
commit ebdc60de1a
16 changed files with 346 additions and 19 deletions

View File

@@ -12,7 +12,7 @@ public enum OperateLogFieldValueEnum {
ALLOCATION_USERNAME("allocationUsername","分配人姓名"),
MOBILE("mobile","手机号"),
OPERATE_TIME("operateTime","操作时间"),
OPERATE_USER_ID("operateUserId","操作人姓名"),
OPERATE_USER_ID("operateUserId","操作人id"),
OPERATE_USER_NAME("operateUsername","操作人姓名"),
REASON("reason","原因"),
PASS_REASON("passReason","通过原因"),
@@ -23,6 +23,17 @@ public enum OperateLogFieldValueEnum {
BEFORE_INVESTMENT_MANAGER_MOBILE("beforeInvestmentManagerMobile", "转让前的招商经理手机号"),
AFTER_INVESTMENT_MANAGER_USERNAME("afterInvestmentManagerUsername", "转让后的招商经理姓名"),
AFTER_INVESTMENT_MANAGER_MOBILE("afterInvestmentManagerMobile", "转让后的招商经理手机好"),
BEFORE_INTERVIEW_TIME("beforeInterviewTime", "修改前的面试时间"),
AFTER_INTERVIEW_TIME("afterInterviewTime", "修改后的面试时间"),
BEFORE_INTERVIEWR_NAME("beforeInterviewrName", "委托前的面试官姓名"),
AFTER_INTERVIEWR_NAME("afterInterviewrName", "委托后的面试官姓名"),
BEFORE_INTERVIEWR_MOBILE("beforeInterviewrMobile", "委托前的面试官手机号"),
AFTER_INTERVIEWR_MOBILE("afterInterviewrMobile", "委托后的面试官手机号"),
SUMMARY("summary", "面试总结"),
QUALI_VERIFY_CONTENT("qualiVerifyContent", "资质审核内容"),
;

View File

@@ -17,8 +17,17 @@ public enum OperateTypeEnum {
ADD_BLACKLIST("add_blacklist", "加入黑名单", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
REMOVE_BLACKLIST("add_blacklist", "移除黑名单", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
CLOSE_FOLLOW("close_follow", "结束跟进", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON, REJECT_REAL_REASON, CERTIFY_FILE)),
TRANSFER_INVESTMENT_MANAGER("transfer_investment_manager", "转让招商经理", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INVESTMENT_MANAGER_USERNAME, BEFORE_INVESTMENT_MANAGER_MOBILE, AFTER_INVESTMENT_MANAGER_USERNAME, AFTER_INVESTMENT_MANAGER_MOBILE));
TRANSFER_INVESTMENT_MANAGER("transfer_investment_manager", "转让招商经理", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INVESTMENT_MANAGER_USERNAME, BEFORE_INVESTMENT_MANAGER_MOBILE, AFTER_INVESTMENT_MANAGER_USERNAME, AFTER_INVESTMENT_MANAGER_MOBILE)),
INTERVIEW_APPOINTMENT("interview_appointment", "预约面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
MODIFY_INTERVIEW_TIME("modify_interview_time", "修改面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INTERVIEW_TIME, AFTER_INTERVIEW_TIME)),
ENTRUST_OTHERS("entrust_others", "委托他人", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, BEFORE_INTERVIEWR_NAME, AFTER_INTERVIEWR_NAME, BEFORE_INTERVIEWR_MOBILE, AFTER_INTERVIEWR_MOBILE)),
FINISH_INTERVIEW("finish_interview", "合作资格面试-结束面试", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
REINTERVIEW("reinterview", "合作资格面试-重新预约面试", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,REJECT_REAL_REASON, CERTIFY_FILE)),
REJECT_INTERVIEW("reject_interview", "合作资格面试-拒绝并结束跟进", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON,REJECT_REAL_REASON, CERTIFY_FILE)),
CREATE_QUALIFYVERIFY("create_qualifyverify", "合作资格面试-创建资格审核", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
;
private String code;

View File

@@ -0,0 +1,16 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:54
* @Description:
*/
@Data
@SuperBuilder
public class CreateQualifyVerifyDTO extends LogBasicDTO{
private String summary;
private String qualiVerifyContent;
}

View File

@@ -0,0 +1,18 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:31
* @Description:
*/
@Data
@SuperBuilder
public class EntrustOthersDTO extends LogBasicDTO{
private String beforeInterviwerName;
private String beforeInterviwerMobile;
private String afterInterviwerName;
private String afterInterviwerMobile;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-27 23:00
* @Description:
*/
@Data
@SuperBuilder
public class LogBasicDTO {
private String operateUsername;
private String operateUserId;
private String mobile;
private String operateTime;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:23
* @Description:
*/
@Data
@SuperBuilder
public class ModifyInterviewTimeDTO extends LogBasicDTO{
private String beforeInterviewTime;
private String afterInterviewTime;
}

View File

@@ -0,0 +1,16 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:43
* @Description:
*/
@Data
@SuperBuilder
public class ReInterviewDTO extends LogBasicDTO{
private String rejectRealReason;
private String certifyFile;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:43
* @Description:
*/
@Data
@SuperBuilder
public class RejectInterviewDTO extends LogBasicDTO{
private List<String> certifyFile;
private String rejectPublicReason;
private String rejectRealReason;
}

View File

@@ -0,0 +1,15 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: young.yu
* @Date: 2023-06-28 15:05
* @Description:
*/
@Data
@ApiModel
public class GetLastUpdateTimeInfoReq {
@ApiModelProperty("线索id")
private String partnerLineId;
}

View File

@@ -68,4 +68,6 @@ public interface InterviewService {
public String getInterviewerByPartner(String partnerId,String lineId)throws ApiException;
public void rejectInterviewAndSuspendLine(Long iterviewId,Long interviewPlanId,String certifyFile);
void getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException;
}

View File

@@ -0,0 +1,16 @@
package com.cool.store.service;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.vo.PartnerUserInfoVO;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:10
* @Description:
*/
public interface LogService {
public void recordBizLog(LoginUserInfo operator, Long lineId, OperateTypeEnum operateTypeEnum, Object logData);
public void recordPartnerBizLog(PartnerUserInfoVO operator , Long lineId, OperateTypeEnum operateTypeEnum, Object logData);
}

View File

@@ -6,12 +6,17 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.HyInterviewDAO;
import com.cool.store.dto.log.CreateQualifyVerifyDTO;
import com.cool.store.dto.log.ReInterviewDTO;
import com.cool.store.dto.mdm.AccessTokenDTO;
import com.cool.store.dto.response.MDMResultDTO;
import com.cool.store.entity.*;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
@@ -27,10 +32,8 @@ import com.cool.store.request.RpcGetMdmTokenReq;
import com.cool.store.request.data.flow.KeyText;
import com.cool.store.request.data.flow.SkrRelshipProve;
import com.cool.store.service.FlowService;
import com.cool.store.utils.PDFUtils;
import com.cool.store.utils.PassLetterUtils;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.RestTemplateUtil;
import com.cool.store.service.LogService;
import com.cool.store.utils.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -90,6 +93,8 @@ public class FlowServiceImpl implements FlowService {
@Autowired
private HyInterviewDAO interviewDAO;
@Autowired
private LogService logService;
@Override
@Transactional
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException, IOException {
@@ -198,6 +203,11 @@ public class FlowServiceImpl implements FlowService {
hyPartnerLineInfoDO.setDevelopmentDirector(request.getDevtDirectorId());
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
}
//记录日志
LoginUserInfo operator = CurrentUserHolder.getUser();
CreateQualifyVerifyDTO log = CreateQualifyVerifyDTO.builder().operateUserId(operator.getUserId()).operateUsername(operator.getName()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
.summary(request.getSummary()).qualiVerifyContent(JSON.toJSONString(partnerCertificationInfoDO)).build();
logService.recordBizLog(operator,hyPartnerInterviewDO.getPartnerLineId(), OperateTypeEnum.CREATE_QUALIFYVERIFY,log);
}
@Override

View File

@@ -6,8 +6,20 @@ 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.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.HyInterviewDAO;
import com.cool.store.dto.calendar.*;
import com.cool.store.dao.HyPartnerTaskInfoLogDAO;
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.message.SendCardMessageDTO;
import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.entity.*;
@@ -15,19 +27,18 @@ import com.cool.store.enums.*;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
import com.cool.store.mapper.HyPartnerBaseInfoMapper;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
import com.cool.store.mapper.HyPartnerLineInfoMapper;
import com.cool.store.mapper.*;
import com.cool.store.request.*;
import com.cool.store.service.EnterpriseUserService;
import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.service.InterviewService;
import com.cool.store.service.LogService;
import com.cool.store.service.SmsService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.StringUtil;
import com.cool.store.utils.TRTCUtils;
import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.EnterpriseUserBaseInfoVO;
import com.cool.store.vo.PartnerUserInfoVO;
import com.cool.store.vo.interview.CreateAppointmentVO;
import com.cool.store.vo.interview.InterviewVO;
import lombok.extern.slf4j.Slf4j;
@@ -85,12 +96,17 @@ public class InterviewServiceImpl implements InterviewService {
@Autowired
private SmsService smsService;
@Autowired
private HyPartnerLineInfoService hyPartnerLineInfoService;
@Autowired
private HyInterviewDAO interviewDAO;
@Autowired
private LogService logService;
@Autowired
private EnterpriseUserDAO enterpriseUserDAO;
@Autowired
private HyPartnerTaskInfoLogMapper hyPartnerTaskInfoLogMapper;
@Override
public List<InterviewVO> getInterviewList(GetInterviewListReq request) {
List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request);
@@ -188,6 +204,16 @@ public class InterviewServiceImpl implements InterviewService {
hyPartnerInterviewDO.setUpdateTime(new Date());
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
//记录日志
LoginUserInfo operator = CurrentUserHolder.getUser();
EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoById(request.getNewInterviewerId());
EntrustOthersDTO log = EntrustOthersDTO.builder().operateUserId(operator.getUserId()).operateUsername(operator.getName())
.operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
.beforeInterviwerMobile(interviewInfo.getInterviewerMobile())
.beforeInterviwerName(interviewInfo.getInterviewerName())
.afterInterviwerMobile(enterpriseUserDO.getMobile())
.afterInterviwerName(enterpriseUserDO.getName()).build();
logService.recordBizLog(operator,interviewInfo.getPartnerLineId(),OperateTypeEnum.ENTRUST_OTHERS,log);
}
/**
@@ -248,6 +274,13 @@ public class InterviewServiceImpl implements InterviewService {
hyPartnerInterviewDO.setInterviewer(interviewInfo.getInterviewerId());
hyPartnerInterviewDO.setUpdateTime(new Date());
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
//记录日志
PartnerUserInfoVO operator = PartnerUserHolder.getUser();
ModifyInterviewTimeDTO log = ModifyInterviewTimeDTO.builder().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);
}
@Override
@@ -273,6 +306,11 @@ public class InterviewServiceImpl implements InterviewService {
// hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_4.getCode()));
hyPartnerInterviewDO.setUpdateTime(now);
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
//记录日志
LoginUserInfo operator = CurrentUserHolder.getUser();
LogBasicDTO log = LogBasicDTO.builder().operateUserId(operator.getUserId()).operateUsername(operator.getName()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
logService.recordBizLog(operator,interviewInfo.getPartnerLineId(),OperateTypeEnum.FINISH_INTERVIEW,log);
}
/**
@@ -419,6 +457,12 @@ public class InterviewServiceImpl implements InterviewService {
sendCardMessageDTO.setTitle("面试预约申请");
sendCardMessageDTO.setContent(generateFeiShuInterviewMsg(interviewVO.getPartnerName(), interviewVO.getPartnerMobile(), interviewVO.getStartTime()));
isvHttpRequest.sendFeiShuCardMessage(sendCardMessageDTO);
//记录日志
PartnerUserInfoVO operator = PartnerUserHolder.getUser();
LogBasicDTO log = LogBasicDTO.builder().operateUserId(operator.getPartnerId()).operateUsername(operator.getUsername()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
logService.recordPartnerBizLog(operator,interviewVO.getPartnerLineId(),OperateTypeEnum.INTERVIEW_APPOINTMENT,log);
return vo;
}
@@ -501,6 +545,11 @@ public class InterviewServiceImpl implements InterviewService {
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_0.getCode());
hyPartnerLineDO.setUpdateTime(new Date());
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
//记录日志
LoginUserInfo operator = CurrentUserHolder.getUser();
ReInterviewDTO log = ReInterviewDTO.builder().operateUserId(operator.getUserId()).operateUsername(operator.getName()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
.rejectRealReason(request.getReason()).certifyFile(request.getCertifyFile()).build();
logService.recordBizLog(operator,interviewVO.getPartnerLineId(),OperateTypeEnum.REINTERVIEW,log);
}
// @Override
@@ -582,4 +631,9 @@ public class InterviewServiceImpl implements InterviewService {
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
}
@Override
public void getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException {
}
}

View File

@@ -0,0 +1,83 @@
package com.cool.store.service.impl;
import cn.hutool.core.date.DateUtil;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.HyPartnerTaskInfoLogDAO;
import com.cool.store.dto.log.LineLogInfo;
import com.cool.store.dto.log.LogBasicDTO;
import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.mapper.HyPartnerLineInfoMapper;
import com.cool.store.service.LogService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.Md5Utils;
import com.cool.store.vo.PartnerUserInfoVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:10
* @Description:
*/
@Service
public class LogServiceImpl implements LogService {
private static final Logger LOG = LoggerFactory.getLogger(Md5Utils.class);
@Autowired
private HyPartnerLineInfoMapper partnerLineInfoMapper;
@Autowired
private HyPartnerTaskInfoLogDAO hyPartnerTaskInfoLogDAO;
@Override
@Async
public void recordBizLog(LoginUserInfo operator,Long lineId,OperateTypeEnum operateTypeEnum,Object logData){
try {
List<HyPartnerLineInfoDO> lineInfos = partnerLineInfoMapper.getHyPartnerLineInfoListByIds(Arrays.asList(lineId));
if (lineInfos == null || lineInfos.size() == 0) {
return;
}
HyPartnerLineInfoDO hyPartnerLineInfoDO = lineInfos.get(0);
LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfoDO.getPartnerId(), lineId, operator.getUserId(),
operator.getName(), operateTypeEnum,
WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),
hyPartnerLineInfoDO.getWorkflowStatus(), "");
lineLogInfo.setData(logData);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
int i =1;
}catch (Exception e){
LOG.error("recordBizLog error",e);
e.printStackTrace();
}
}
@Override
@Async
public void recordPartnerBizLog(PartnerUserInfoVO operator, Long lineId, OperateTypeEnum operateTypeEnum, Object logData){
try {
List<HyPartnerLineInfoDO> lineInfos = partnerLineInfoMapper.getHyPartnerLineInfoListByIds(Arrays.asList(lineId));
if (lineInfos == null || lineInfos.size() == 0) {
return;
}
HyPartnerLineInfoDO hyPartnerLineInfoDO = lineInfos.get(0);
LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfoDO.getPartnerId(), lineId, operator.getPartnerId(),
operator.getUsername(), operateTypeEnum,
WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),
hyPartnerLineInfoDO.getWorkflowStatus(), "");
lineLogInfo.setData(logData);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
}catch (Exception e){
LOG.error("recordBizLog error",e);
e.printStackTrace();
}
}
}

View File

@@ -1,14 +1,15 @@
package com.cool.store.service.impl.workflow;
import cn.hutool.core.date.DateUtil;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
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.log.ReInterviewDTO;
import com.cool.store.dto.log.RejectInterviewDTO;
import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.RoomStatus;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.enums.*;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
@@ -18,6 +19,8 @@ import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.EntrustOthersReq;
import com.cool.store.request.TransferInvestmentManagerRequest;
import com.cool.store.service.InterviewService;
import com.cool.store.service.LogService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.vo.interview.InterviewVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -49,6 +52,9 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
@Autowired
private ISVHttpRequest isvHttpRequest;
@Autowired
private LogService logService;
@Override
public WorkflowStageEnum getWorkFlowStage() {
return WorkflowStageEnum.RESERVATION;
@@ -64,6 +70,11 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
}
HyPartnerInterviewDO interviewBaseInfo = interviewBaseInfos.get(0);
interviewService.rejectInterviewAndSuspendLine(interviewBaseInfo.getId(),interviewBaseInfo.getInterviewPlanId(),null);
//记录日志
LoginUserInfo operator = CurrentUserHolder.getUser();
RejectInterviewDTO log = RejectInterviewDTO.builder().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);
}
@Override

View File

@@ -94,4 +94,10 @@ public class InterviewController {
// interviewService.rejectInterview(request);
// return ResponseResult.success();
// }
@PostMapping("/getLastUpdateTimeInfo")
@ApiOperation("获取面试最新更新信息")
public ResponseResult getLastUpdateTimeInfo(@RequestBody GetLastUpdateTimeInfoReq request) throws ApiException {
interviewService.getLastUpdateTimeInfo(request);
return ResponseResult.success();
}
}