From 30859295d6c373aa6fdcf5810aba97d77a8fcae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jul 2023 10:45:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 1 + .../com/cool/store/enums/OperateTypeEnum.java | 1 + .../cool/store/dao/HyPartnerBaseInfoDAO.java | 5 +++ .../store/mapper/HyPartnerBaseInfoMapper.java | 8 +++++ .../mapper/HyPartnerBaseInfoMapper.xml | 7 ++++ .../com/cool/store/dto/log/AddTagsDTO.java | 22 ++++++++++++ .../service/HyPartnerBaseInfoService.java | 3 +- .../service/HyPartnerIntentInfoService.java | 3 +- .../impl/HyPartnerBaseInfoServiceImpl.java | 35 ++++++++++++++----- .../impl/HyPartnerIntentInfoServiceImpl.java | 35 ++++++++++++++----- .../cool/store/controller/DeskController.java | 4 +-- 11 files changed, 102 insertions(+), 22 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/log/AddTagsDTO.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 8734a6d6f..117711e9c 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -60,6 +60,7 @@ public enum ErrorCodeEnum { INTENT_INFO_NOT_EXIST(500006, "意向信息不存在!", null), INTENT_AREA_NOT_BING_ZONE(500007, "意向区域没有绑定战区 分配招商经理失败!", null), PUBLIC_LINE_NOT_OPERATE(500008, "公海线索不允许操作!", null), + PARTNER_BASE_INFO_NOT_EXIST(500009, "加盟商信息不存在!", null), INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null), DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/OperateTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/OperateTypeEnum.java index e62bff744..53b8d328d 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/OperateTypeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/OperateTypeEnum.java @@ -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)), 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)), + ADD_TAGS("add_tags", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)), ; private String code; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java index a3908a512..13ae243fc 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java @@ -4,6 +4,7 @@ import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.mapper.HyPartnerBaseInfoMapper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -35,6 +36,10 @@ public class HyPartnerBaseInfoDAO { return hyPartnerBaseInfoMapper.batchInsert(records); } + public HyPartnerBaseInfoDO selectById(@Param("id") Long id){ + return hyPartnerBaseInfoMapper.selectById(id); + } + /** * * 默认更新方法,根据主键更新,不会把null值更新到数据库,避免覆盖之前有值的 diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java index 0734e3f9e..712ea26d4 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java @@ -18,6 +18,14 @@ public interface HyPartnerBaseInfoMapper { */ int insertSelective(@Param("record") HyPartnerBaseInfoDO record); + /** + * 跟进ID查询 + * @param id + * @return + */ + HyPartnerBaseInfoDO selectById(@Param("id") Long id); + + int batchInsert(@Param("records") List records); /** diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml index 98a823264..2fb9100ec 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml @@ -28,6 +28,13 @@ pass_reason, certify_file, create_time, update_time + + insert into hy_partner_base_info diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/log/AddTagsDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/log/AddTagsDTO.java new file mode 100644 index 000000000..5c5c63a51 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/log/AddTagsDTO.java @@ -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; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java index 2bee53a1a..4a07f6e8e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java @@ -1,5 +1,6 @@ package com.cool.store.service; +import com.cool.store.context.LoginUserInfo; import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.request.AddTagsRequest; @@ -20,7 +21,7 @@ public interface HyPartnerBaseInfoService { * @param addTagsRequest * @return */ - Boolean addTags(AddTagsRequest addTagsRequest); + Boolean addTags(LoginUserInfo userInfo,AddTagsRequest addTagsRequest); Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request, PartnerUserInfoVO currentUser); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java index 67a518bc1..13cbc9c40 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java @@ -1,5 +1,6 @@ package com.cool.store.service; +import com.cool.store.context.LoginUserInfo; import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.IndustryCognitionInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest; @@ -39,7 +40,7 @@ public interface HyPartnerIntentInfoService { * @param baseUserInfoRequest * @return */ - Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest); + Boolean updatePartnerIntentInfo(LoginUserInfo userInfo,BaseUserInfoRequest baseUserInfoRequest); Integer submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java index 4d808ca8a..91cb0d8e8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java @@ -1,26 +1,30 @@ 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.CurrentUserHolder; +import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerTaskInfoLogDAO; 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.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerTaskInfoLogDO; import com.cool.store.entity.HyPartnerUserInfoDO; -import com.cool.store.enums.ErrorCodeEnum; -import com.cool.store.enums.LineStatusEnum; -import com.cool.store.enums.WorkflowStageEnum; -import com.cool.store.enums.WorkflowStatusEnum; +import com.cool.store.enums.*; import com.cool.store.exception.ServiceException; import com.cool.store.request.AddTagsRequest; import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.service.HyPartnerBaseInfoService; import com.cool.store.service.HyPartnerLineInfoService; import com.cool.store.service.HyPhoneLocationService; +import com.cool.store.utils.CoolDateUtils; import com.cool.store.utils.RedisUtilPool; import com.cool.store.vo.PartnerBaseInfoVO; import com.cool.store.vo.PartnerUserInfoVO; @@ -65,11 +69,24 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { @Override - public Boolean addTags(AddTagsRequest addTagsRequest) { - HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO(); - hyPartnerBaseInfoDO.setId(addTagsRequest.getPartnerBaseInfoId()); - hyPartnerBaseInfoDO.setUserPortrait(CollectionUtils.isNotEmpty(addTagsRequest.getTags())? JSONObject.toJSONString(addTagsRequest.getTags()):""); - hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO); + public Boolean addTags(LoginUserInfo user, AddTagsRequest addTagsRequest) { + HyPartnerBaseInfoDO hyPartnerBaseInfo = hyPartnerBaseInfoDAO.selectById(addTagsRequest.getPartnerBaseInfoId()); + if (hyPartnerBaseInfo==null){ + throw new ServiceException(ErrorCodeEnum.PARTNER_BASE_INFO_NOT_EXIST); + } + 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; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index 7f6726d04..e6b2c4512 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -1,19 +1,21 @@ 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.CommonConstants; import com.cool.store.constants.RedisConstant; +import com.cool.store.context.LoginUserInfo; 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.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO; -import com.cool.store.enums.ErrorCodeEnum; -import com.cool.store.enums.LineStatusEnum; -import com.cool.store.enums.WorkflowStageEnum; -import com.cool.store.enums.WorkflowStatusEnum; +import com.cool.store.enums.*; import com.cool.store.exception.ServiceException; import com.cool.store.request.BaseUserInfoRequest; 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.HyPartnerLineInfoService; 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.StringUtil; import com.cool.store.vo.PartnerIntentApplyInfoVO; @@ -38,10 +42,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -69,6 +70,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic HyPartnerLineInfoService hyPartnerLineInfoService; @Resource HyPhoneLocationService hyPhoneLocationService; + @Resource + HyPartnerTaskInfoLogDAO hyPartnerTaskInfoLogDAO; @Override public PageInfo getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) { @@ -95,13 +98,15 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic partnerIntentApplyInfo.setList(resultList); return partnerIntentApplyInfo; } + @Override - public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) { + public Boolean updatePartnerIntentInfo(LoginUserInfo userInfo, BaseUserInfoRequest baseUserInfoRequest) { HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId())); if (hyPartnerUserInfoDO==null){ 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.setMobile(baseUserInfoRequest.getMobile()); hyPartnerUserInfoDO.setLiveArea(baseUserInfoRequest.getLiveArea()); @@ -109,6 +114,9 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic hyPartnerUserInfoDO.setAcceptAdjustType(baseUserInfoRequest.getAcceptAdjustType()); 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()); @@ -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; } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java index 953dd7a5f..8b3774b4e 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java @@ -266,14 +266,14 @@ public class DeskController { @PostMapping(path = "/changeIntentInfo") @ApiOperation("员工端变更C端用户意向信息") public ResponseResult changeIntentInfo( @RequestBody BaseUserInfoRequest baseUserInfoRequest){ - return ResponseResult.success(hyPartnerIntentInfoService.updatePartnerIntentInfo(baseUserInfoRequest)); + return ResponseResult.success(hyPartnerIntentInfoService.updatePartnerIntentInfo(CurrentUserHolder.getUser(),baseUserInfoRequest)); } @PostMapping(path = "/addTags") @ApiOperation("添加标签接口") public ResponseResult addTags(@RequestBody AddTagsRequest addTagsRequest){ - return ResponseResult.success(hyPartnerBaseInfoService.addTags(addTagsRequest)); + return ResponseResult.success(hyPartnerBaseInfoService.addTags(CurrentUserHolder.getUser(),addTagsRequest)); }