添加日志

This commit is contained in:
苏竹红
2023-07-04 10:45:34 +08:00
parent df663b9a8c
commit 30859295d6
11 changed files with 102 additions and 22 deletions

View File

@@ -60,6 +60,7 @@ public enum ErrorCodeEnum {
INTENT_INFO_NOT_EXIST(500006, "意向信息不存在!", null), INTENT_INFO_NOT_EXIST(500006, "意向信息不存在!", null),
INTENT_AREA_NOT_BING_ZONE(500007, "意向区域没有绑定战区 分配招商经理失败!", null), INTENT_AREA_NOT_BING_ZONE(500007, "意向区域没有绑定战区 分配招商经理失败!", null),
PUBLIC_LINE_NOT_OPERATE(500008, "公海线索不允许操作!", null), PUBLIC_LINE_NOT_OPERATE(500008, "公海线索不允许操作!", null),
PARTNER_BASE_INFO_NOT_EXIST(500009, "加盟商信息不存在!", null),
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null), INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null), DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),

View File

@@ -31,6 +31,7 @@ public enum OperateTypeEnum {
USERINFO_UPDATE("userinfo_update", "修改(修改意向信息)", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_USERINFO_UPDATE, AFTER_USERINFO_UPDATE)), 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)), INTENT_INFO_SUBMIT("intent_info_submit", "提交意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)), INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
ADD_TAGS("add_tags", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
; ;
private String code; private String code;

View File

@@ -4,6 +4,7 @@ import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.cool.store.mapper.HyPartnerBaseInfoMapper; import com.cool.store.mapper.HyPartnerBaseInfoMapper;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -35,6 +36,10 @@ public class HyPartnerBaseInfoDAO {
return hyPartnerBaseInfoMapper.batchInsert(records); return hyPartnerBaseInfoMapper.batchInsert(records);
} }
public HyPartnerBaseInfoDO selectById(@Param("id") Long id){
return hyPartnerBaseInfoMapper.selectById(id);
}
/** /**
* *
* 默认更新方法根据主键更新不会把null值更新到数据库避免覆盖之前有值的 * 默认更新方法根据主键更新不会把null值更新到数据库避免覆盖之前有值的

View File

@@ -18,6 +18,14 @@ public interface HyPartnerBaseInfoMapper {
*/ */
int insertSelective(@Param("record") HyPartnerBaseInfoDO record); int insertSelective(@Param("record") HyPartnerBaseInfoDO record);
/**
* 跟进ID查询
* @param id
* @return
*/
HyPartnerBaseInfoDO selectById(@Param("id") Long id);
int batchInsert(@Param("records") List<HyPartnerBaseInfoDO> records); int batchInsert(@Param("records") List<HyPartnerBaseInfoDO> records);
/** /**

View File

@@ -28,6 +28,13 @@
pass_reason, certify_file, create_time, update_time pass_reason, certify_file, create_time, update_time
</sql> </sql>
<select id="selectById" resultMap="BaseResultMap">
select <include refid="Base_Column_List"></include>
from hy_partner_base_info
where
id = #{id}
</select>
<insert id="batchInsert"> <insert id="batchInsert">
insert into insert into
hy_partner_base_info hy_partner_base_info

View File

@@ -0,0 +1,22 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/7/4 10:05
* @Version 1.0
*/
@Data
@Builder
public class AddTagsDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
@@ -20,7 +21,7 @@ public interface HyPartnerBaseInfoService {
* @param addTagsRequest * @param addTagsRequest
* @return * @return
*/ */
Boolean addTags(AddTagsRequest addTagsRequest); Boolean addTags(LoginUserInfo userInfo,AddTagsRequest addTagsRequest);
Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request, PartnerUserInfoVO currentUser); Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request, PartnerUserInfoVO currentUser);

View File

@@ -1,5 +1,6 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.BaseUserInfoRequest;
import com.cool.store.request.IndustryCognitionInfoRequest; import com.cool.store.request.IndustryCognitionInfoRequest;
import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest;
@@ -39,7 +40,7 @@ public interface HyPartnerIntentInfoService {
* @param baseUserInfoRequest * @param baseUserInfoRequest
* @return * @return
*/ */
Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest); Boolean updatePartnerIntentInfo(LoginUserInfo userInfo,BaseUserInfoRequest baseUserInfoRequest);
Integer submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest); Integer submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest);

View File

@@ -1,26 +1,30 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.RedisConstant; import com.cool.store.constants.RedisConstant;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerBaseInfoDAO;
import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.dao.HyPartnerTaskInfoLogDAO; import com.cool.store.dao.HyPartnerTaskInfoLogDAO;
import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.dto.log.AddTagsDTO;
import com.cool.store.dto.log.BlackListLogDTO;
import com.cool.store.dto.log.LineLogInfo;
import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.entity.HyPartnerTaskInfoLogDO; import com.cool.store.entity.HyPartnerTaskInfoLogDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.*;
import com.cool.store.enums.LineStatusEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerBaseInfoRequest;
import com.cool.store.service.HyPartnerBaseInfoService; import com.cool.store.service.HyPartnerBaseInfoService;
import com.cool.store.service.HyPartnerLineInfoService; import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.service.HyPhoneLocationService; import com.cool.store.service.HyPhoneLocationService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.RedisUtilPool;
import com.cool.store.vo.PartnerBaseInfoVO; import com.cool.store.vo.PartnerBaseInfoVO;
import com.cool.store.vo.PartnerUserInfoVO; import com.cool.store.vo.PartnerUserInfoVO;
@@ -65,11 +69,24 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
@Override @Override
public Boolean addTags(AddTagsRequest addTagsRequest) { public Boolean addTags(LoginUserInfo user, AddTagsRequest addTagsRequest) {
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO(); HyPartnerBaseInfoDO hyPartnerBaseInfo = hyPartnerBaseInfoDAO.selectById(addTagsRequest.getPartnerBaseInfoId());
hyPartnerBaseInfoDO.setId(addTagsRequest.getPartnerBaseInfoId()); if (hyPartnerBaseInfo==null){
hyPartnerBaseInfoDO.setUserPortrait(CollectionUtils.isNotEmpty(addTagsRequest.getTags())? JSONObject.toJSONString(addTagsRequest.getTags()):""); throw new ServiceException(ErrorCodeEnum.PARTNER_BASE_INFO_NOT_EXIST);
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO); }
hyPartnerBaseInfo.setId(addTagsRequest.getPartnerBaseInfoId());
hyPartnerBaseInfo.setUserPortrait(CollectionUtils.isNotEmpty(addTagsRequest.getTags())? JSONObject.toJSONString(addTagsRequest.getTags()):"");
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfo);
HyPartnerLineInfoDO line = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerBaseInfo.getPartnerId());
//添加日志
LineLogInfo lineLogInfo = new LineLogInfo(line.getPartnerId(), line.getId(), user.getUserId(),
user.getName(), OperateTypeEnum.ADD_TAGS,
WorkflowStageEnum.getWorkflowStageByCode(line.getWorkflowStage()),
line.getWorkflowStatus(), "");
AddTagsDTO logDTO = AddTagsDTO.builder().operateUserId(user.getUserId()).operateUsername(user.getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_2)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
return Boolean.TRUE; return Boolean.TRUE;
} }

View File

@@ -1,19 +1,21 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant; import com.cool.store.constants.RedisConstant;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.dto.log.AddTagsDTO;
import com.cool.store.dto.log.LineLogInfo;
import com.cool.store.dto.log.UserInfoUpdateDTO;
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerIntentInfoDO;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.*;
import com.cool.store.enums.LineStatusEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.BaseUserInfoRequest;
import com.cool.store.request.IndustryCognitionInfoRequest; import com.cool.store.request.IndustryCognitionInfoRequest;
@@ -22,6 +24,8 @@ import com.cool.store.request.PartnerWantShopInfoRequest;
import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.service.HyPartnerIntentInfoService;
import com.cool.store.service.HyPartnerLineInfoService; import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.service.HyPhoneLocationService; import com.cool.store.service.HyPhoneLocationService;
import com.cool.store.service.LogService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentApplyInfoVO;
@@ -38,10 +42,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -69,6 +70,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
HyPartnerLineInfoService hyPartnerLineInfoService; HyPartnerLineInfoService hyPartnerLineInfoService;
@Resource @Resource
HyPhoneLocationService hyPhoneLocationService; HyPhoneLocationService hyPhoneLocationService;
@Resource
HyPartnerTaskInfoLogDAO hyPartnerTaskInfoLogDAO;
@Override @Override
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) { public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) {
@@ -95,13 +98,15 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
partnerIntentApplyInfo.setList(resultList); partnerIntentApplyInfo.setList(resultList);
return partnerIntentApplyInfo; return partnerIntentApplyInfo;
} }
@Override @Override
public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) { public Boolean updatePartnerIntentInfo(LoginUserInfo userInfo, BaseUserInfoRequest baseUserInfoRequest) {
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId())); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId()));
if (hyPartnerUserInfoDO==null){ if (hyPartnerUserInfoDO==null){
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
} }
UserInfoUpdateDTO.UserInfoUpdate beforeUserinfoUpdate = new UserInfoUpdateDTO.UserInfoUpdate(hyPartnerUserInfoDO.getUsername(), hyPartnerUserInfoDO.getMobile(), hyPartnerUserInfoDO.getLiveArea(), hyPartnerUserInfoDO.getWantShopArea(), hyPartnerUserInfoDO.getAcceptAdjustType());
hyPartnerUserInfoDO.setUsername(baseUserInfoRequest.getUsername()); hyPartnerUserInfoDO.setUsername(baseUserInfoRequest.getUsername());
hyPartnerUserInfoDO.setMobile(baseUserInfoRequest.getMobile()); hyPartnerUserInfoDO.setMobile(baseUserInfoRequest.getMobile());
hyPartnerUserInfoDO.setLiveArea(baseUserInfoRequest.getLiveArea()); hyPartnerUserInfoDO.setLiveArea(baseUserInfoRequest.getLiveArea());
@@ -109,6 +114,9 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
hyPartnerUserInfoDO.setAcceptAdjustType(baseUserInfoRequest.getAcceptAdjustType()); hyPartnerUserInfoDO.setAcceptAdjustType(baseUserInfoRequest.getAcceptAdjustType());
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
UserInfoUpdateDTO.UserInfoUpdate afterUserinfoUpdate = new UserInfoUpdateDTO.UserInfoUpdate(baseUserInfoRequest.getUsername(), baseUserInfoRequest.getMobile(), baseUserInfoRequest.getLiveArea(), baseUserInfoRequest.getWantShopArea(), baseUserInfoRequest.getAcceptAdjustType());
//修改意向申请信息中的加盟商名称与手机号 //修改意向申请信息中的加盟商名称与手机号
hyPartnerBaseInfoDAO.updateByPartnerId(baseUserInfoRequest.getUsername(),baseUserInfoRequest.getMobile(),baseUserInfoRequest.getPartnerId()); hyPartnerBaseInfoDAO.updateByPartnerId(baseUserInfoRequest.getUsername(),baseUserInfoRequest.getMobile(),baseUserInfoRequest.getPartnerId());
@@ -136,6 +144,15 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
} }
} }
LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerLineInfoDO.getId(), userInfo.getUserId(),
userInfo.getName(), OperateTypeEnum.USERINFO_UPDATE,
WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),
hyPartnerLineInfoDO.getWorkflowStatus(), "");
UserInfoUpdateDTO logDTO = UserInfoUpdateDTO.builder().operateUserId(userInfo.getUserId()).operateUsername(userInfo.getName())
.beforeUserinfoUpdate(beforeUserinfoUpdate).afterUserinfoUpdate(afterUserinfoUpdate)
.mobile(userInfo.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_2)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
return Boolean.TRUE; return Boolean.TRUE;
} }

View File

@@ -266,14 +266,14 @@ public class DeskController {
@PostMapping(path = "/changeIntentInfo") @PostMapping(path = "/changeIntentInfo")
@ApiOperation("员工端变更C端用户意向信息") @ApiOperation("员工端变更C端用户意向信息")
public ResponseResult<Boolean> changeIntentInfo( @RequestBody BaseUserInfoRequest baseUserInfoRequest){ public ResponseResult<Boolean> changeIntentInfo( @RequestBody BaseUserInfoRequest baseUserInfoRequest){
return ResponseResult.success(hyPartnerIntentInfoService.updatePartnerIntentInfo(baseUserInfoRequest)); return ResponseResult.success(hyPartnerIntentInfoService.updatePartnerIntentInfo(CurrentUserHolder.getUser(),baseUserInfoRequest));
} }
@PostMapping(path = "/addTags") @PostMapping(path = "/addTags")
@ApiOperation("添加标签接口") @ApiOperation("添加标签接口")
public ResponseResult<Boolean> addTags(@RequestBody AddTagsRequest addTagsRequest){ public ResponseResult<Boolean> addTags(@RequestBody AddTagsRequest addTagsRequest){
return ResponseResult.success(hyPartnerBaseInfoService.addTags(addTagsRequest)); return ResponseResult.success(hyPartnerBaseInfoService.addTags(CurrentUserHolder.getUser(),addTagsRequest));
} }