Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner

This commit is contained in:
俞扬
2023-06-30 11:47:30 +08:00
13 changed files with 94 additions and 38 deletions

View File

@@ -102,11 +102,11 @@
<dependency> <dependency>
<groupId>org.icepdf.os</groupId> <groupId>org.icepdf.os</groupId>
<artifactId>icepdf-core</artifactId> <artifactId>icepdf-core</artifactId>
<version>6.1.2</version> <version>6.2.2</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>javax.media</groupId> <groupId>javax.media</groupId>
<artifactId>jai-core</artifactId> <artifactId>jai_core</artifactId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>

View File

@@ -34,6 +34,12 @@ public enum OperateLogFieldValueEnum {
SUMMARY("summary", "面试总结"), SUMMARY("summary", "面试总结"),
QUALI_VERIFY_CONTENT("qualiVerifyContent", "资质审核内容"), QUALI_VERIFY_CONTENT("qualiVerifyContent", "资质审核内容"),
BEFORE_USERINFO_UPDATE("beforeUserinfoUpdate", "修改前的用户信息"),
AFTER_USERINFO_UPDATE("afterUserinfoUpdate", "修改后的用户信息"),
BEFORE_INTENT_INFO_UPDATE("beforeIntentInfoUpdate", "修改前的意向申请"),
AFTER_INTENT_INFO_UPDATE("afterIntentInfoUpdate", "修改后的意向申请"),
; ;

View File

@@ -15,7 +15,7 @@ public enum OperateTypeEnum {
ALLOCATION_INVESTMENT_MANAGER("allocation_investment_manager", "分配招商经理", Arrays.asList(ALLOCATION_USERID,ALLOCATION_USERNAME, MOBILE, OPERATE_TIME)), ALLOCATION_INVESTMENT_MANAGER("allocation_investment_manager", "分配招商经理", Arrays.asList(ALLOCATION_USERID,ALLOCATION_USERNAME, MOBILE, OPERATE_TIME)),
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("remove_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)), INTERVIEW_APPOINTMENT("interview_appointment", "预约面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
@@ -28,6 +28,9 @@ 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)), 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)), 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)),
INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
; ;
private String code; private String code;

View File

@@ -155,7 +155,7 @@ public class PDFUtils {
document.dispose(); document.dispose();
return outputStream; return outputStream;
} }
} catch (PDFException | IOException | PDFSecurityException e) { } catch (PDFException | IOException | InterruptedException | PDFSecurityException e) {
log.error("PDF转图片异常, e{}", e.getMessage()); log.error("PDF转图片异常, e{}", e.getMessage());
} finally { } finally {
try { try {

View File

@@ -43,7 +43,7 @@
<resultMap id="passLetterDetail" type="com.cool.store.vo.PartnerPassLetterDetailVO"> <resultMap id="passLetterDetail" type="com.cool.store.vo.PartnerPassLetterDetailVO">
<association property="partnerName" column="partner_id" select="queryPartnerName"></association> <association property="partnerName" column="partner_id" select="queryPartnerName"></association>
<association property="verifyCity" column="partner_id" select="getVerifyCity"></association> <association property="verifyCity" column="partner_line_id" select="getVerifyCity"></association>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
@@ -317,7 +317,9 @@
<!-- 获取通知函详情 --> <!-- 获取通知函详情 -->
<select id="getPassLetterDetail" resultMap="passLetterDetail"> <select id="getPassLetterDetail" resultMap="passLetterDetail">
SELECT auth_code, pass_code, pass_pdf_url, pass_image_url, expiry_date, partner_id SELECT auth_code, pass_code, pass_pdf_url, pass_image_url,
expiry_date, pass_time as createTime,
partner_id, partner_line_id
FROM hy_partner_interview FROM hy_partner_interview
WHERE interview_plan_id = #{interviewPlanId} and deleted = 0 WHERE interview_plan_id = #{interviewPlanId} and deleted = 0
</select> </select>
@@ -328,7 +330,7 @@
WHERE id = ( WHERE id = (
SELECT want_shop_area SELECT want_shop_area
FROM hy_partner_intent_info FROM hy_partner_intent_info
WHERE partner_id = #{partner_id} WHERE partner_line_id = #{partner_line_id}
) )
</select> </select>
<select id="selectByPrimaryKeySelective" resultType="com.cool.store.entity.HyPartnerInterviewDO"> <select id="selectByPrimaryKeySelective" resultType="com.cool.store.entity.HyPartnerInterviewDO">

View File

@@ -379,7 +379,9 @@
a.close_user_id as closeUserId, a.close_user_id as closeUserId,
a.close_time as closeTime, a.close_time as closeTime,
a.join_black_reason as joinBlackReason a.join_black_reason as joinBlackReason
from hy_partner_line_info a inner join hy_partner_user_info b on a.partner_id = b.partner_id from hy_partner_line_info a
inner join hy_partner_user_info b on a.partner_id = b.partner_id
LEFT JOIN hy_open_area_info hoai ON hoai.id = b.want_shop_area
where a.deleted = 0 where a.deleted = 0
and a.line_status = 3 and a.line_status = 3
<if test="userNameKeyword!=null and userNameKeyword !=''"> <if test="userNameKeyword!=null and userNameKeyword !=''">
@@ -389,7 +391,7 @@
and b.mobile like concat('%', #{phoneKeyword}, '%') and b.mobile like concat('%', #{phoneKeyword}, '%')
</if> </if>
<if test="intentAreaName!=null and intentAreaName!=''"> <if test="intentAreaName!=null and intentAreaName!=''">
and b.want_shop_area like concat('%/',#{intentAreaName},'/%') and hoai.area_path like concat('%/',#{intentAreaName},'/%')
</if> </if>
<if test="acceptAdjustType!=null"> <if test="acceptAdjustType!=null">
and b.accept_adjust_type =#{acceptAdjustType} and b.accept_adjust_type =#{acceptAdjustType}
@@ -429,7 +431,9 @@
b.username as userName, b.username as userName,
b.want_shop_area as wantShopArea, b.want_shop_area as wantShopArea,
b.accept_adjust_type as acceptAdjustType b.accept_adjust_type as acceptAdjustType
FROM hy_partner_line_info a inner JOIN hy_partner_user_info b on a.partner_id = b.partner_id FROM hy_partner_line_info a
inner JOIN hy_partner_user_info b on a.partner_id = b.partner_id
LEFT JOIN hy_open_area_info hoai ON hoai.id = b.want_shop_area
where a.line_status = 0 and a.deleted = 0 where a.line_status = 0 and a.deleted = 0
<if test="userNameKeyword!=null and userNameKeyword!=''"> <if test="userNameKeyword!=null and userNameKeyword!=''">
and b.username like concat('%',#{userNameKeyword},'%') and b.username like concat('%',#{userNameKeyword},'%')
@@ -438,7 +442,7 @@
and b.mobile like concat('%',#{phoneKeyword},'%') and b.mobile like concat('%',#{phoneKeyword},'%')
</if> </if>
<if test="intentAreaName!=null and intentAreaName!=''"> <if test="intentAreaName!=null and intentAreaName!=''">
and b.want_shop_area like concat('%/',#{intentAreaName},'/%') and hoai.area_path like concat('%/',#{intentAreaName},'/%')
</if> </if>
<if test="acceptAdjustType!=null"> <if test="acceptAdjustType!=null">
and b.accept_adjust_type = #{acceptAdjustType} and b.accept_adjust_type = #{acceptAdjustType}
@@ -482,12 +486,14 @@
LEFT JOIN hy_partner_user_info hpuinfo ON hpli.partner_id = hpuinfo.partner_id LEFT JOIN hy_partner_user_info hpuinfo ON hpli.partner_id = hpuinfo.partner_id
LEFT JOIN enterprise_user eu ON hpli.investment_manager = eu.user_id LEFT JOIN enterprise_user eu ON hpli.investment_manager = eu.user_id
LEFT JOIN hy_partner_interview_plan hpip on hpli.id = hpip.partner_line_id LEFT JOIN hy_partner_interview_plan hpip on hpli.id = hpip.partner_line_id
WHERE hpli.line_status in (1,2) and hpli.deleted = 0 and (hpip.deleted is null or hpip.deleted=0) LEFT JOIN hy_open_area_info hoai ON hoai.id = hpuinfo.want_shop_area
WHERE hpli.line_status in (1,2)
AND ( hpli.deleted IS NULL OR hpli.deleted = 0 ) and (hpip.deleted is null or hpip.deleted=0)
<if test="keyword!=null and keyword!='' and keywordType!=null and keywordType=='name'"> <if test="keyword!=null and keyword!='' and keywordType!=null and keywordType=='name'">
AND (eu.name like concat('%',#{keyword},'%') or hpuinfo.username like concat('%',#{keyword},'%')) AND (eu.name like concat('%',#{keyword},'%') or hpuinfo.username like concat('%',#{keyword},'%'))
</if> </if>
<if test="keyword!=null and keyword!='' and keywordType!=null and keywordType=='mobile'"> <if test="keyword!=null and keyword!='' and keywordType!=null and keywordType=='mobile'">
AND ( eu.mobile like concat('%',#{keyword},'%') or hpuinfo.mobile like concat('%',#{keyword},'%')') AND ( eu.mobile like concat('%',#{keyword},'%') or hpuinfo.mobile like concat('%',#{keyword},'%'))
</if> </if>
<if test="workflowStage!=null and workflowStage!=''"> <if test="workflowStage!=null and workflowStage!=''">
AND hpli.workflow_stage = #{workflowStage} AND hpli.workflow_stage = #{workflowStage}
@@ -499,7 +505,7 @@
AND hpli.deadline BETWEEN #{deadlineStart} and #{deadlineStart} AND hpli.deadline BETWEEN #{deadlineStart} and #{deadlineStart}
</if> </if>
<if test="intentAreaName!=null and intentAreaName!=''"> <if test="intentAreaName!=null and intentAreaName!=''">
and b.want_shop_area like concat('%/',#{intentAreaName},'/%') and hoai.area_path like concat('%/',#{intentAreaName},'/%')
</if> </if>
<if test="acceptAdjustType!=null"> <if test="acceptAdjustType!=null">
AND hpuinfo.accept_adjust_type = #{acceptAdjustType} AND hpuinfo.accept_adjust_type = #{acceptAdjustType}

View File

@@ -0,0 +1,30 @@
package com.cool.store.dto.log;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @Author: wxp
* @Date: 2023-06-30 10:23
* @Description:
*/
@Data
@SuperBuilder
public class UserInfoUpdateDTO extends LogBasicDTO{
private UserInfoUpdate beforeUserinfoUpdate;
private UserInfoUpdate afterUserinfoUpdate;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class UserInfoUpdate{
private String username;
private String mobile;
private String liveArea;
private String wantShopArea;
private Integer acceptAdjustType;
}
}

View File

@@ -41,7 +41,7 @@ public class ContentServiceImpl implements ContentService {
//增加不允许重复标题的逻辑 //增加不允许重复标题的逻辑
Boolean isDuplicated = contentInfoMapper.whetherTitleDuplicated(dto.getContentTitle()); Boolean isDuplicated = contentInfoMapper.whetherTitleDuplicated(dto.getContentTitle());
if (isDuplicated) { if (isDuplicated) {
throw new ApiException(ErrorCodeEnum.DATA_CONVERT_ERROR); throw new ApiException(ErrorCodeEnum.CONTENT_DUPLICATED);
} }
HyContentInfoDO hyContentInfoDO = new HyContentInfoDO(); HyContentInfoDO hyContentInfoDO = new HyContentInfoDO();
BeanUtil.copyProperties(dto, hyContentInfoDO); BeanUtil.copyProperties(dto, hyContentInfoDO);

View File

@@ -138,7 +138,7 @@ public class FlowServiceImpl implements FlowService {
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoMapper.selectByPrimaryKeySelective(Long.valueOf(request.getLineId())); HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoMapper.selectByPrimaryKeySelective(Long.valueOf(request.getLineId()));
if (!Objects.isNull(hyPartnerLineInfoDO)) { if (!Objects.isNull(hyPartnerLineInfoDO)) {
String investmentManagerId = hyPartnerLineInfoDO.getInvestmentManager(); String investmentManagerId = hyPartnerLineInfoDO.getInvestmentManager();
String developmentDirectorId = hyPartnerLineInfoDO.getDevelopmentDirector(); String developmentDirectorId = request.getDevtDirectorId();
EnterpriseUserDO investmentManager = enterpriseUserDAO.getUserInfoById(investmentManagerId); EnterpriseUserDO investmentManager = enterpriseUserDAO.getUserInfoById(investmentManagerId);
EnterpriseUserDO developmentDirector = enterpriseUserDAO.getUserInfoById(developmentDirectorId); EnterpriseUserDO developmentDirector = enterpriseUserDAO.getUserInfoById(developmentDirectorId);
//招商经理信息(客户经理) //招商经理信息(客户经理)
@@ -146,7 +146,7 @@ public class FlowServiceImpl implements FlowService {
String jobNumber = investmentManager.getJobnumber(); String jobNumber = investmentManager.getJobnumber();
String mobile = investmentManager.getMobile(); String mobile = investmentManager.getMobile();
DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile); DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile);
if (Objects.isNull(dingdingUserDO) || Objects.isNull(dingdingUserDO.getUserid())) { if (Objects.isNull(dingdingUserDO) || StringUtils.isEmpty(dingdingUserDO.getUserid())) {
throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST);
} }
rpcRequest.setDingUserId(dingdingUserDO.getUserid()); rpcRequest.setDingUserId(dingdingUserDO.getUserid());
@@ -158,7 +158,7 @@ public class FlowServiceImpl implements FlowService {
if (!Objects.isNull(developmentDirector)) { if (!Objects.isNull(developmentDirector)) {
String mobile = developmentDirector.getMobile(); String mobile = developmentDirector.getMobile();
DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile); DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile);
if (Objects.isNull(dingdingUserDO) || Objects.isNull(dingdingUserDO.getUserid())) { if (Objects.isNull(dingdingUserDO) || StringUtils.isEmpty(dingdingUserDO.getUserid())) {
throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST);
} }
rpcRequest.getData().setUserSiteDevDingUserId(dingdingUserDO.getUserid()); rpcRequest.getData().setUserSiteDevDingUserId(dingdingUserDO.getUserid());
@@ -217,7 +217,6 @@ public class FlowServiceImpl implements FlowService {
} }
@Override @Override
@Transactional
public void qualificationCallback(QualificationCallbackReq request) { public void qualificationCallback(QualificationCallbackReq request) {
log.info("MDM800审批成功回调request{}", JSONObject.toJSONString(request)); log.info("MDM800审批成功回调request{}", JSONObject.toJSONString(request));
//1. 信息是否完整 //1. 信息是否完整
@@ -252,6 +251,7 @@ public class FlowServiceImpl implements FlowService {
// TODO pass_reason 暂无 // TODO pass_reason 暂无
Date passDate = new Date(request.getModifiedTime()); Date passDate = new Date(request.getModifiedTime());
//3. 生成通过函并修改数据库相关信息 //3. 生成通过函并修改数据库相关信息
//TODO 问题:如果因为 pdf 生成失败或者其他原因导致异常,但是由于 MDM 只是做回调,不对回调是否成功负责,会导致流程信息缺失
genPassLetterAndUpdateDB(partnerName, verifyCity, passDate, interviewId); genPassLetterAndUpdateDB(partnerName, verifyCity, passDate, interviewId);
// TODO 4. 修改流程状态到下一阶段 4 分配选址开发经理 // TODO 4. 修改流程状态到下一阶段 4 分配选址开发经理
//审核未通过 //审核未通过

View File

@@ -285,6 +285,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
if(Objects.isNull(intentInfoVO.getAcceptAdjustType())){ if(Objects.isNull(intentInfoVO.getAcceptAdjustType())){
intentInfoVO.setAcceptAdjustType(userInfoVO.getAcceptAdjustType()); intentInfoVO.setAcceptAdjustType(userInfoVO.getAcceptAdjustType());
} }
intentInfoVO.setWantShopAreaName(userInfoVO.getWantShopAreaName());
return intentInfoVO; return intentInfoVO;
} }

View File

@@ -250,6 +250,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
} }
HyPartnerLineInfoDO line = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId); HyPartnerLineInfoDO line = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
Integer lineStatus = line.getLineStatus();
//加入黑名单 阶段回到第一步待提交状态 //加入黑名单 阶段回到第一步待提交状态
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO(); HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
hyPartnerLineInfoDO.setId(lineId); hyPartnerLineInfoDO.setId(lineId);
@@ -260,10 +261,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDO.setCloseUserId(user.getUserId()); hyPartnerLineInfoDO.setCloseUserId(user.getUserId());
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
CloseFollowRequest closeFollowRequest = new CloseFollowRequest(); //公海线索不需要处理子流程线索
closeFollowRequest.setLineId(lineId); if (!LineStatusEnum.PUBLIC_SEAS.getCode().equals(lineStatus)){
closeFollowRequest.setRejectRealReason(joinReason); CloseFollowRequest closeFollowRequest = new CloseFollowRequest();
workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(line.getWorkflowStage()),closeFollowRequest); closeFollowRequest.setLineId(lineId);
closeFollowRequest.setRejectRealReason(joinReason);
workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(line.getWorkflowStage()),closeFollowRequest);
}
//添加日志 //添加日志
LineLogInfo lineLogInfo = new LineLogInfo(line.getPartnerId(), line.getId(), user.getUserId(), LineLogInfo lineLogInfo = new LineLogInfo(line.getPartnerId(), line.getId(), user.getUserId(),

View File

@@ -1,24 +1,29 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
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.PartnerUserHolder;
import com.cool.store.dao.HyOpenAreaInfoDAO; import com.cool.store.dao.HyOpenAreaInfoDAO;
import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.dto.log.UserInfoUpdateDTO;
import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyOpenAreaInfoDO;
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.ErrorCodeEnum;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest;
import com.cool.store.request.PartnerUserInfoRequest; import com.cool.store.request.PartnerUserInfoRequest;
import com.cool.store.request.PartnerWantShopInfoRequest;
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.LogService;
import com.cool.store.service.PartnerUserInfoService; import com.cool.store.service.PartnerUserInfoService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.RedisUtilPool;
import com.cool.store.vo.ApplyBaseInfoVO; import com.cool.store.vo.ApplyBaseInfoVO;
import com.cool.store.vo.InviteCodeDetailVO; import com.cool.store.vo.InviteCodeDetailVO;
import com.cool.store.vo.PartnerIntentInfoVO; import com.cool.store.vo.PartnerUserInfoVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -27,6 +32,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.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -47,6 +53,8 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
HyOpenAreaInfoDAO hyOpenAreaInfoDAO; HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Resource @Resource
private RedisUtilPool redisUtilPool; private RedisUtilPool redisUtilPool;
@Autowired
private LogService logService;
@Override @Override
public HyPartnerUserInfoDO selectByPartnerId(String partnerId) { public HyPartnerUserInfoDO selectByPartnerId(String partnerId) {
@@ -93,6 +101,9 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
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());
UserInfoUpdateDTO.UserInfoUpdate afterUserinfoUpdate = new UserInfoUpdateDTO.UserInfoUpdate(partnerUserInfoRequest.getUsername(), partnerUserInfoRequest.getMobile(), partnerUserInfoRequest.getLiveArea(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType());
ApplyBaseInfoVO applyBaseInfoVO = new ApplyBaseInfoVO(); ApplyBaseInfoVO applyBaseInfoVO = new ApplyBaseInfoVO();
fillUserInfoDOByRequest(hyPartnerUserInfoDO, partnerUserInfoRequest); fillUserInfoDOByRequest(hyPartnerUserInfoDO, partnerUserInfoRequest);
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
@@ -124,6 +135,12 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS); redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS);
} }
} }
//记录日志
PartnerUserInfoVO operator = PartnerUserHolder.getUser();
UserInfoUpdateDTO log = UserInfoUpdateDTO.builder().mobile(operator.getMobile()).operateUserId(operator.getPartnerId()).operateUsername(operator.getUsername())
.operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
.beforeUserinfoUpdate(beforeUserinfoUpdate).afterUserinfoUpdate(afterUserinfoUpdate).build();
logService.recordPartnerBizLog(operator,hyPartnerLineInfoDO.getId(), OperateTypeEnum.USERINFO_UPDATE,log);
return applyBaseInfoVO; return applyBaseInfoVO;
} }

13
pom.xml
View File

@@ -203,19 +203,6 @@
<build> <build>
<pluginManagement> <pluginManagement>
<plugins> <plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.5.0.1254</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sonar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>org.jacoco</groupId> <groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId> <artifactId>jacoco-maven-plugin</artifactId>