意向书日志

This commit is contained in:
wxp01309236
2023-07-04 22:19:21 +08:00
parent 1b88c11fd0
commit 5491866dc7
4 changed files with 43 additions and 9 deletions

View File

@@ -38,8 +38,14 @@ public enum OperateLogFieldValueEnum {
BEFORE_USERINFO_UPDATE("beforeUserinfoUpdate", "修改前的用户信息"),
AFTER_USERINFO_UPDATE("afterUserinfoUpdate", "修改后的用户信息"),
BEFORE_INTENT_INFO_UPDATE("beforeIntentInfoUpdate", "修改前的意向申请"),
AFTER_INTENT_INFO_UPDATE("afterIntentInfoUpdate", "修改后的意向申请"),
BEFORE_BASE_INFO_UPDATE("beforeBaseInfoUpdate", "修改前的意向书基本信息"),
AFTER_BASE_INFO_UPDATE("afterBaseInfoUpdate", "修改后的意向书基本信息"),
BEFORE_INTENT_INFO_UPDATE("beforeIntentInfoUpdate", "修改前的意向行业信息"),
AFTER_INTENT_INFO_UPDATE("afterIntentInfoUpdate", "修改后的意向行业信息"),
BEFORE_CLERK_INFO_UPDATE("beforeClerkUpdate", "修改前的意向书员工信息"),
AFTER_CLERK_INFO_UPDATE("afterClerkUpdate", "修改后的意向书员工信息"),
;

View File

@@ -29,8 +29,8 @@ public enum OperateTypeEnum {
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)),
USERINFO_UPDATE("userinfo_update", "修改(修改意向信息)", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_USERINFO_UPDATE, AFTER_USERINFO_UPDATE)),
INTENT_INFO_SUBMIT("intent_info_submit", "提交意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INTENT_INFO_UPDATE, AFTER_INTENT_INFO_UPDATE)),
INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INTENT_INFO_UPDATE, AFTER_INTENT_INFO_UPDATE)),
INTENT_INFO_SUBMIT("intent_info_submit", "提交意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_BASE_INFO_UPDATE, AFTER_BASE_INFO_UPDATE, BEFORE_INTENT_INFO_UPDATE, AFTER_INTENT_INFO_UPDATE, BEFORE_CLERK_INFO_UPDATE, AFTER_CLERK_INFO_UPDATE)),
INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_BASE_INFO_UPDATE, AFTER_BASE_INFO_UPDATE, BEFORE_INTENT_INFO_UPDATE, AFTER_INTENT_INFO_UPDATE, BEFORE_CLERK_INFO_UPDATE, AFTER_CLERK_INFO_UPDATE)),
ADD_TAGS("add_tags", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
;

View File

@@ -4,6 +4,7 @@ import lombok.Data;
import lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.List;
/**
* @Author: wxp
@@ -20,8 +21,8 @@ public class WantInfoUpdateDTO extends LogBasicDTO{
private IntentInfoUpdate beforeIntentInfoUpdate;
private IntentInfoUpdate afterIntentInfoUpdate;
private ClerkUpdate beforeClerkUpdate;
private ClerkUpdate afterClerkUpdate;
private List<ClerkUpdate> beforeClerkUpdate;
private List<ClerkUpdate> afterClerkUpdate;
@Data
public static class BaseInfoUpdate{

View File

@@ -1,26 +1,37 @@
package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.RedisConstant;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.dao.HyPartnerClerkDAO;
import com.cool.store.dto.enterprise.SysDepartmentDTO;
import com.cool.store.dto.log.WantInfoUpdateDTO;
import com.cool.store.entity.HyPartnerClerkDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.request.PartnerClerkInfoRequest;
import com.cool.store.service.HyPartnerClerkService;
import com.cool.store.service.LogService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil;
import com.cool.store.vo.PartnerClerkVO;
import com.cool.store.vo.PartnerUserInfoVO;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -40,6 +51,9 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
@Resource
private RedisUtilPool redisUtilPool;
@Autowired
private LogService logService;
@Override
public List<PartnerClerkVO> getPartnerClerkList(Long lineId) {
List<HyPartnerClerkDO> hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId);
@@ -60,15 +74,18 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
@Override
public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) {
log.info("HyPartnerClerkServiceImpl#submitPartnerClerkInfo request:{}", JSONObject.toJSONString(request));
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_CLERKINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId());
if(!request.getSubmitFlag()){
// 自动保存时
redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS);
return Boolean.TRUE;
}
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
List<WantInfoUpdateDTO.ClerkUpdate> beforeClerkUpdate = Lists.newArrayList();
List<WantInfoUpdateDTO.ClerkUpdate> afterClerkUpdate = Lists.newArrayList();
List<HyPartnerClerkDO> beforClerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
hyPartnerClerkDAO.deleteByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
List<HyPartnerClerkDO> clerkDOList = new ArrayList<>();
ListUtils.emptyIfNull(request.getPartnerClerkRequestList()).stream().forEach(x->{
@@ -83,8 +100,18 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
});
if (CollectionUtils.isNotEmpty(clerkDOList)){
hyPartnerClerkDAO.batchInsert(clerkDOList);
afterClerkUpdate = JSONObject.parseArray(JSONObject.toJSONString(clerkDOList), WantInfoUpdateDTO.ClerkUpdate.class);
}
if (CollectionUtils.isNotEmpty(beforClerkDOList)){
beforeClerkUpdate = JSONObject.parseArray(JSONObject.toJSONString(beforClerkDOList), WantInfoUpdateDTO.ClerkUpdate.class);
}
redisUtilPool.delKey(cacheKey);
//记录日志
PartnerUserInfoVO operator = PartnerUserHolder.getUser();
WantInfoUpdateDTO log = WantInfoUpdateDTO.builder().mobile(operator.getMobile()).operateUserId(operator.getPartnerId()).operateUsername(operator.getUsername())
.operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
.beforeClerkUpdate(beforeClerkUpdate).afterClerkUpdate(afterClerkUpdate).build();
logService.recordPartnerBizLog(operator, request.getPartnerLineId(), OperateTypeEnum.INTENT_INFO_UPDATE,log);
return true;
}