日志相关
This commit is contained in:
@@ -12,7 +12,7 @@ public enum OperateLogFieldValueEnum {
|
|||||||
ALLOCATION_USERNAME("allocationUsername","分配人姓名"),
|
ALLOCATION_USERNAME("allocationUsername","分配人姓名"),
|
||||||
MOBILE("mobile","手机号"),
|
MOBILE("mobile","手机号"),
|
||||||
OPERATE_TIME("operateTime","操作时间"),
|
OPERATE_TIME("operateTime","操作时间"),
|
||||||
OPERATE_USER_ID("operateUserId","操作人姓名"),
|
OPERATE_USER_ID("operateUserId","操作人id"),
|
||||||
OPERATE_USER_NAME("operateUsername","操作人姓名"),
|
OPERATE_USER_NAME("operateUsername","操作人姓名"),
|
||||||
REASON("reason","原因"),
|
REASON("reason","原因"),
|
||||||
PASS_REASON("passReason","通过原因"),
|
PASS_REASON("passReason","通过原因"),
|
||||||
@@ -23,6 +23,17 @@ public enum OperateLogFieldValueEnum {
|
|||||||
BEFORE_INVESTMENT_MANAGER_MOBILE("beforeInvestmentManagerMobile", "转让前的招商经理手机号"),
|
BEFORE_INVESTMENT_MANAGER_MOBILE("beforeInvestmentManagerMobile", "转让前的招商经理手机号"),
|
||||||
AFTER_INVESTMENT_MANAGER_USERNAME("afterInvestmentManagerUsername", "转让后的招商经理姓名"),
|
AFTER_INVESTMENT_MANAGER_USERNAME("afterInvestmentManagerUsername", "转让后的招商经理姓名"),
|
||||||
AFTER_INVESTMENT_MANAGER_MOBILE("afterInvestmentManagerMobile", "转让后的招商经理手机好"),
|
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", "资质审核内容"),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,17 @@ public enum OperateTypeEnum {
|
|||||||
ADD_BLACKLIST("add_blacklist", "加入黑名单", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
|
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)),
|
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)),
|
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;
|
private String code;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -68,4 +68,6 @@ public interface InterviewService {
|
|||||||
public String getInterviewerByPartner(String partnerId,String lineId)throws ApiException;
|
public String getInterviewerByPartner(String partnerId,String lineId)throws ApiException;
|
||||||
|
|
||||||
public void rejectInterviewAndSuspendLine(Long iterviewId,Long interviewPlanId,String certifyFile);
|
public void rejectInterviewAndSuspendLine(Long iterviewId,Long interviewPlanId,String certifyFile);
|
||||||
|
|
||||||
|
void getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -6,12 +6,17 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alibaba.fastjson.TypeReference;
|
import com.alibaba.fastjson.TypeReference;
|
||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
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.EnterpriseUserDAO;
|
||||||
import com.cool.store.dao.HyInterviewDAO;
|
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.mdm.AccessTokenDTO;
|
||||||
import com.cool.store.dto.response.MDMResultDTO;
|
import com.cool.store.dto.response.MDMResultDTO;
|
||||||
import com.cool.store.entity.*;
|
import com.cool.store.entity.*;
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
import com.cool.store.enums.ErrorCodeEnum;
|
||||||
|
import com.cool.store.enums.OperateTypeEnum;
|
||||||
import com.cool.store.enums.WorkflowStatusEnum;
|
import com.cool.store.enums.WorkflowStatusEnum;
|
||||||
import com.cool.store.exception.ApiException;
|
import com.cool.store.exception.ApiException;
|
||||||
import com.cool.store.exception.ServiceException;
|
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.KeyText;
|
||||||
import com.cool.store.request.data.flow.SkrRelshipProve;
|
import com.cool.store.request.data.flow.SkrRelshipProve;
|
||||||
import com.cool.store.service.FlowService;
|
import com.cool.store.service.FlowService;
|
||||||
import com.cool.store.utils.PDFUtils;
|
import com.cool.store.service.LogService;
|
||||||
import com.cool.store.utils.PassLetterUtils;
|
import com.cool.store.utils.*;
|
||||||
import com.cool.store.utils.RedisUtilPool;
|
|
||||||
import com.cool.store.utils.RestTemplateUtil;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -90,6 +93,8 @@ public class FlowServiceImpl implements FlowService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private HyInterviewDAO interviewDAO;
|
private HyInterviewDAO interviewDAO;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogService logService;
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException, IOException {
|
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException, IOException {
|
||||||
@@ -198,6 +203,11 @@ public class FlowServiceImpl implements FlowService {
|
|||||||
hyPartnerLineInfoDO.setDevelopmentDirector(request.getDevtDirectorId());
|
hyPartnerLineInfoDO.setDevelopmentDirector(request.getDevtDirectorId());
|
||||||
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
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
|
@Override
|
||||||
|
|||||||
@@ -6,8 +6,20 @@ import cn.hutool.core.date.DateTime;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
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.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.message.SendCardMessageDTO;
|
||||||
import com.cool.store.dto.partner.EnterInterviewDto;
|
import com.cool.store.dto.partner.EnterInterviewDto;
|
||||||
import com.cool.store.entity.*;
|
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.ApiException;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
import com.cool.store.http.ISVHttpRequest;
|
import com.cool.store.http.ISVHttpRequest;
|
||||||
import com.cool.store.mapper.HyPartnerBaseInfoMapper;
|
import com.cool.store.mapper.*;
|
||||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
|
||||||
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
|
||||||
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
|
||||||
import com.cool.store.request.*;
|
import com.cool.store.request.*;
|
||||||
import com.cool.store.service.EnterpriseUserService;
|
import com.cool.store.service.EnterpriseUserService;
|
||||||
import com.cool.store.service.HyPartnerLineInfoService;
|
|
||||||
import com.cool.store.service.InterviewService;
|
import com.cool.store.service.InterviewService;
|
||||||
|
import com.cool.store.service.LogService;
|
||||||
import com.cool.store.service.SmsService;
|
import com.cool.store.service.SmsService;
|
||||||
|
import com.cool.store.utils.CoolDateUtils;
|
||||||
import com.cool.store.utils.StringUtil;
|
import com.cool.store.utils.StringUtil;
|
||||||
import com.cool.store.utils.TRTCUtils;
|
import com.cool.store.utils.TRTCUtils;
|
||||||
import com.cool.store.vo.EnterInterviewVO;
|
import com.cool.store.vo.EnterInterviewVO;
|
||||||
import com.cool.store.vo.EnterpriseUserBaseInfoVO;
|
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.CreateAppointmentVO;
|
||||||
import com.cool.store.vo.interview.InterviewVO;
|
import com.cool.store.vo.interview.InterviewVO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -85,12 +96,17 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SmsService smsService;
|
private SmsService smsService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private HyPartnerLineInfoService hyPartnerLineInfoService;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private HyInterviewDAO interviewDAO;
|
private HyInterviewDAO interviewDAO;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogService logService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EnterpriseUserDAO enterpriseUserDAO;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HyPartnerTaskInfoLogMapper hyPartnerTaskInfoLogMapper;
|
||||||
@Override
|
@Override
|
||||||
public List<InterviewVO> getInterviewList(GetInterviewListReq request) {
|
public List<InterviewVO> getInterviewList(GetInterviewListReq request) {
|
||||||
List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request);
|
List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request);
|
||||||
@@ -188,6 +204,16 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
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.setInterviewer(interviewInfo.getInterviewerId());
|
||||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
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
|
@Override
|
||||||
@@ -273,6 +306,11 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
// hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_4.getCode()));
|
// hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_4.getCode()));
|
||||||
hyPartnerInterviewDO.setUpdateTime(now);
|
hyPartnerInterviewDO.setUpdateTime(now);
|
||||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
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.setTitle("面试预约申请");
|
||||||
sendCardMessageDTO.setContent(generateFeiShuInterviewMsg(interviewVO.getPartnerName(), interviewVO.getPartnerMobile(), interviewVO.getStartTime()));
|
sendCardMessageDTO.setContent(generateFeiShuInterviewMsg(interviewVO.getPartnerName(), interviewVO.getPartnerMobile(), interviewVO.getStartTime()));
|
||||||
isvHttpRequest.sendFeiShuCardMessage(sendCardMessageDTO);
|
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;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -501,6 +545,11 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_0.getCode());
|
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_0.getCode());
|
||||||
hyPartnerLineDO.setUpdateTime(new Date());
|
hyPartnerLineDO.setUpdateTime(new Date());
|
||||||
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
|
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
|
// @Override
|
||||||
@@ -582,4 +631,9 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,14 +1,15 @@
|
|||||||
package com.cool.store.service.impl.workflow;
|
package com.cool.store.service.impl.workflow;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
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.CreateCalendarEventDTO;
|
||||||
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
|
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
|
||||||
import com.cool.store.dto.calendar.UserCalendarsEventDTO;
|
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.entity.HyPartnerInterviewDO;
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
import com.cool.store.enums.*;
|
||||||
import com.cool.store.enums.RoomStatus;
|
|
||||||
import com.cool.store.enums.WorkflowStageEnum;
|
|
||||||
import com.cool.store.enums.WorkflowStatusEnum;
|
|
||||||
import com.cool.store.exception.ApiException;
|
import com.cool.store.exception.ApiException;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
import com.cool.store.http.ISVHttpRequest;
|
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.EntrustOthersReq;
|
||||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||||
import com.cool.store.service.InterviewService;
|
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 com.cool.store.vo.interview.InterviewVO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -49,6 +52,9 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISVHttpRequest isvHttpRequest;
|
private ISVHttpRequest isvHttpRequest;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogService logService;
|
||||||
@Override
|
@Override
|
||||||
public WorkflowStageEnum getWorkFlowStage() {
|
public WorkflowStageEnum getWorkFlowStage() {
|
||||||
return WorkflowStageEnum.RESERVATION;
|
return WorkflowStageEnum.RESERVATION;
|
||||||
@@ -64,6 +70,11 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
|||||||
}
|
}
|
||||||
HyPartnerInterviewDO interviewBaseInfo = interviewBaseInfos.get(0);
|
HyPartnerInterviewDO interviewBaseInfo = interviewBaseInfos.get(0);
|
||||||
interviewService.rejectInterviewAndSuspendLine(interviewBaseInfo.getId(),interviewBaseInfo.getInterviewPlanId(),null);
|
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
|
@Override
|
||||||
|
|||||||
@@ -94,4 +94,10 @@ public class InterviewController {
|
|||||||
// interviewService.rejectInterview(request);
|
// interviewService.rejectInterview(request);
|
||||||
// return ResponseResult.success();
|
// return ResponseResult.success();
|
||||||
// }
|
// }
|
||||||
|
@PostMapping("/getLastUpdateTimeInfo")
|
||||||
|
@ApiOperation("获取面试最新更新信息")
|
||||||
|
public ResponseResult getLastUpdateTimeInfo(@RequestBody GetLastUpdateTimeInfoReq request) throws ApiException {
|
||||||
|
interviewService.getLastUpdateTimeInfo(request);
|
||||||
|
return ResponseResult.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user