意向书日志
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user