diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java index 381aff8ea..58c08cc73 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java @@ -214,9 +214,11 @@ public class RedisConstant { public static final String ENTERPRISE_OPEN_STATUS_KEY = "enterprise_open_status:{0}_{1}"; - public static final String STOREWORK_BUILD_CACHE_KEY = "storeworkBuildDataCache:{0}:{1}:{2}"; + public static final String PARTNER_BASEINFO_CACHE_KEY = "partnerBaseInfoCache:{0}:{1}"; - public static final String STORE_WORK_COMMENT_CACHE_KEY = "storeWorkCommentCache:{0}:{1}:{2}"; + public static final String PARTNER_CLERKINFO_CACHE_KEY = "partnerClerkInfoCache:{0}:{1}"; + + public static final String PARTNER_INTENTINFO_CACHE_KEY = "partnerIntentInfoCache:{0}:{1}"; public static final String DEVICE_OPEN_TOKEN = "device_open_token:{0}:{1}:{2}"; 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 44c25f107..59c49028e 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 @@ -37,6 +37,11 @@ public class HyPartnerBaseInfoDAO { public int updateByPartnerId(String userName,String mobile,String partnerId){ return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId); } + public int cleanIdCardInfoByPartnerLineId(String idCard, String idCardPhotoFront, + String idCardPhotoBlack, Long partnerLineId){ + return hyPartnerBaseInfoMapper.cleanIdCardInfoByPartnerLineId(idCard, idCardPhotoFront, idCardPhotoBlack, partnerLineId); + } + public HyPartnerBaseInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){ if (StringUtils.isEmpty(partnerId) || partnerLineId == 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 d870e306e..2d47cdf3c 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 @@ -40,4 +40,9 @@ public interface HyPartnerBaseInfoMapper { Long getLineIdByIdCard(@Param("idCard") String idCard); + int cleanIdCardInfoByPartnerLineId(@Param("idCard") String idCard, + @Param("idCardPhotoFront") String idCardPhotoFront, + @Param("idCardPhotoBlack") String idCardPhotoBlack, + @Param("partnerLineId") Long partnerLineId); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml index 7136184a1..7d99774a5 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml @@ -21,7 +21,7 @@ insert into hy_open_area_info diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml index 803f47adb..a108097d9 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml @@ -238,4 +238,13 @@ where id_card = #{idCard} + + update hy_partner_base_info + set + id_card = #{idCard}, + id_card_photo_front = #{idCardPhotoFront}, + id_card_photo_black = #{idCardPhotoBlack} + where partner_line_id = #{partnerLineId} + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineBaseInfoVO.java index e99dded87..6b311cdc6 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineBaseInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineBaseInfoVO.java @@ -22,6 +22,9 @@ public class PartnerLineBaseInfoVO { @ApiModelProperty("hy_partner_user_info.partner_id") private String partnerId; + @ApiModelProperty("hy_partner_line_info.id") + private Long partnerLineId; + @ApiModelProperty("流程阶段:1意向申请审核;2预约面试时间;3加盟资格面试;4分配选址开发经理;5商圈点位评估;6上传店铺租赁信息;7完善加盟签约信息;8支付加盟费用;9签订加盟合同") private String workflowStage; 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 8a45ed8cd..2c31eedaf 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 @@ -3,6 +3,7 @@ package com.cool.store.service; import com.cool.store.request.AddTagsRequest; import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.vo.PartnerBaseInfoVO; +import com.cool.store.vo.PartnerUserInfoVO; /** * @Author suzhuhong @@ -27,7 +28,7 @@ public interface HyPartnerBaseInfoService { Long getLineIdByIdCard(String idCard); - Boolean changeBinding(String idCard, Long lineId); + Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java index 209e1d8c0..a15b932b5 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java @@ -14,6 +14,6 @@ public interface PartnerUserInfoService { InviteCodeDetailVO selectInviteCodeDetail(String partnerId); - Boolean updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest); + String updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest); } 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 3f84643dc..e75ecfca0 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 @@ -2,19 +2,29 @@ package com.cool.store.service.impl; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.RedisConstant; import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.entity.HyPartnerBaseInfoDO; +import com.cool.store.entity.HyPartnerLineInfoDO; 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.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.utils.RedisUtilPool; import com.cool.store.vo.PartnerBaseInfoVO; +import com.cool.store.vo.PartnerUserInfoVO; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.text.MessageFormat; /** * @Author suzhuhong @@ -27,6 +37,15 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { @Resource HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO; + @Resource + HyPartnerLineInfoService hyPartnerLineInfoService; + + @Resource + HyPartnerLineInfoDAO hyPartnerLineInfoDAO; + + @Resource + private RedisUtilPool redisUtilPool; + @Override public Boolean addTags(AddTagsRequest addTagsRequest) { HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO(); @@ -44,6 +63,12 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { */ @Override public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request) { + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_BASEINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId()); + if(!request.getSubmitFlag()){ + // 自动保存时 + redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS); + return Boolean.TRUE; + } HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); if(baseInfoDO == null){ baseInfoDO = new HyPartnerBaseInfoDO(); @@ -53,17 +78,22 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { fillBaseInfo(baseInfoDO, request); hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO); } - return true; + redisUtilPool.delKey(cacheKey); + return Boolean.TRUE; } @Override public PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId) { - HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); - if (hyPartnerBaseInfoDO == null){ - throw new ServiceException(ErrorCodeEnum.PARTNER_BASEINFO_NOT_EXIST); + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_BASEINFO_CACHE_KEY, partnerId, lineId); + if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) { + PartnerBaseInfoVO partnerBaseInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerBaseInfoVO.class); + return partnerBaseInfoVO; } + HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO(); - BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO); + if (hyPartnerBaseInfoDO != null){ + BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO); + } return baseInfoVO; } @@ -84,9 +114,22 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { } @Override - public Boolean changeBinding(String idCard, Long lineId) { - // 先把之前状态置为 待提交,清空身份证号 ,把新的绑定身份证号 - HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(lineId); + public Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser) { + // 把旧线索的身份证号置空,状态改为待提交 + Long oldLineId = hyPartnerBaseInfoDAO.getLineIdByIdCard(idCard); + HyPartnerLineInfoDO oldLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(oldLineId); + // 该身份证当前申请状态同步至该账号下,原账号变为【加盟意向申请 待提交状态】 + HyPartnerLineInfoDO newLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId); + newLineInfo.setWorkflowStage(oldLineInfo.getWorkflowStage()); + newLineInfo.setWorkflowStatus(oldLineInfo.getWorkflowStatus()); + newLineInfo.setLineStatus(oldLineInfo.getLineStatus()); + hyPartnerLineInfoDAO.updateByPrimaryKeySelective(newLineInfo); + oldLineInfo.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); + oldLineInfo.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); + oldLineInfo.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode()); + hyPartnerLineInfoDAO.updateByPrimaryKeySelective(oldLineInfo); + hyPartnerBaseInfoDAO.cleanIdCardInfoByPartnerLineId(null, null, null, oldLineId); + // 新线索绑定身份证号 return true; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java index e2f81a330..2ce9c3fba 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java @@ -1,19 +1,24 @@ package com.cool.store.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.RedisConstant; import com.cool.store.dao.HyPartnerClerkDAO; import com.cool.store.entity.HyPartnerClerkDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.service.HyPartnerClerkService; +import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.StringUtil; import com.cool.store.vo.PartnerClerkVO; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -30,6 +35,9 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService { @Resource HyPartnerClerkDAO hyPartnerClerkDAO; + @Resource + private RedisUtilPool redisUtilPool; + @Override public List getPartnerClerkList(Long lineId) { List hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId); @@ -49,6 +57,12 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService { @Override public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) { + 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()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){ throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } @@ -65,11 +79,22 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService { clerkDOList.add(clerkDO); }); hyPartnerClerkDAO.batchInsert(clerkDOList); + redisUtilPool.delKey(cacheKey); return true; } @Override public List queryPartnerClerkInfo(String partnerId, Long lineId) { + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_CLERKINFO_CACHE_KEY, partnerId, lineId); + if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) { + PartnerClerkInfoRequest partnerClerkInfoRequest = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerClerkInfoRequest.class); + List clerkVOList = ListUtils.emptyIfNull(partnerClerkInfoRequest.getPartnerClerkRequestList()).stream().map(clerkRequest -> { + PartnerClerkVO clerkVO = new PartnerClerkVO(); + BeanUtil.copyProperties(clerkRequest, clerkVO); + return clerkVO; + }).collect(Collectors.toList()); + return clerkVOList; + } List clerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(partnerId, lineId); List clerkVOList = ListUtils.emptyIfNull(clerkDOList).stream().map(clerkDO -> { PartnerClerkVO clerkVO = new PartnerClerkVO(); 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 c1000ecaa..b89f87431 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 @@ -3,9 +3,9 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; import cn.hutool.core.bean.BeanUtil; import com.cool.store.constants.CommonConstants; +import com.cool.store.constants.RedisConstant; import com.cool.store.dao.*; import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; -import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.enums.ErrorCodeEnum; @@ -15,15 +15,18 @@ import com.cool.store.exception.ServiceException; import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.service.HyPartnerIntentInfoService; +import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.StringUtil; import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentInfoVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; +import org.apache.commons.lang3.StringUtils; 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; @@ -47,6 +50,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic HyPartnerLineInfoDAO hyPartnerLineInfoDAO; @Resource HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO; + @Resource + private RedisUtilPool redisUtilPool; @Override public PageInfo getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) { @@ -114,6 +119,12 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic @Override public Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest request) { + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_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); } @@ -126,17 +137,22 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic fillIntentInfo(intentInfoDO, request); hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO); } + redisUtilPool.delKey(cacheKey); return true; } @Override public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) { - HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); - if (intentInfoDO == null){ - throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST); + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, partnerId, lineId); + if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) { + PartnerIntentInfoVO intentInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerIntentInfoVO.class); + return intentInfoVO; } + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO(); - BeanUtil.copyProperties(intentInfoDO, intentInfoVO); + if (intentInfoDO != null){ + BeanUtil.copyProperties(intentInfoDO, intentInfoVO); + } return intentInfoVO; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index 86e64a24c..61a420e18 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -26,7 +26,6 @@ import com.cool.store.utils.StringUtil; import com.cool.store.vo.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -366,6 +365,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId); String value = redisUtilPool.getString(coolingPeriodFirstLoginCacheKey); lineBaseInfoVO.setCoolDownFirstLoginFlag(StringUtils.isNotBlank(value)); + lineBaseInfoVO.setPartnerLineId(lineInfoDO.getId()); return lineBaseInfoVO; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java index b434b01e0..2bb8d4f6a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java @@ -1,23 +1,42 @@ package com.cool.store.service.impl; import com.cool.store.constants.CommonConstants; +import com.cool.store.dao.HyOpenAreaInfoDAO; +import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO; +import com.cool.store.entity.HyOpenAreaInfoDO; +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.exception.ServiceException; -import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.PartnerUserInfoRequest; +import com.cool.store.service.HyPartnerLineInfoService; import com.cool.store.service.PartnerUserInfoService; import com.cool.store.vo.InviteCodeDetailVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + @Service public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { @Autowired private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; + @Resource + private HyPartnerLineInfoDAO hyPartnerLineInfoDAO; + + @Resource + HyPartnerLineInfoService hyPartnerLineInfoService; + + @Resource + HyOpenAreaInfoDAO hyOpenAreaInfoDAO; + + @Override public HyPartnerUserInfoDO selectByPartnerId(String partnerId) { return hyPartnerUserInfoDAO.selectByPartnerId(partnerId); @@ -57,9 +76,9 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { } @Override - public Boolean updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) { + public String updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) { HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(partnerUserInfoRequest.getPartnerId())); - if (hyPartnerUserInfoDO==null){ + if (hyPartnerUserInfoDO == null){ throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); } hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername()); @@ -75,6 +94,19 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName()); hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile()); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); - return Boolean.TRUE; + + // 生成一条线索 + HyPartnerLineInfoDO exsitLineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); + if(exsitLineInfoDO == null){ + HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO(); + hyPartnerLineInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId()); + hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); + hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); + Boolean flag = hyPartnerLineInfoService.getLineStatus(Long.valueOf(partnerUserInfoRequest.getWantShopArea()), partnerUserInfoRequest.getAcceptAdjustType()); + hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); + hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO); + } + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerUserInfoRequest.getWantShopArea())); + return hyOpenAreaInfoDO != null ? hyOpenAreaInfoDO.getAreaStatus() : ""; } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java index 09cd8136a..6a4dc4f36 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java @@ -1,7 +1,6 @@ package com.cool.store.service.impl; import cn.hutool.core.bean.BeanUtil; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.cool.store.constants.CommonConstants; @@ -98,10 +97,6 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService { hyPartnerUserInfoDO.setAcceptAdjustType(0); hyPartnerUserInfoDO.setIsWritePartnerKnow(0); hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO); - // 生成一条线索 也可在提交加盟信息时插入 - HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO(); - hyPartnerLineInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId()); - hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO); } HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPlatformTypeAndUserId(UserPlatformTypeEnum.WECHAT.getCode(), openid); if(hyPartnerUserPlatformBindDO == null){ @@ -113,6 +108,10 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService { hyPartnerUserPlatformBindDAO.insertSelective(hyPartnerUserPlatformBindDO); } BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); + HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); + if (lineInfoDO != null){ + userInfoVO.setPartnerLineId(lineInfoDO.getId()); + } } userInfoVO.setOpenid(openid); userInfoVO.setUnionId(unionId); diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java index 94a526258..9d554b0a3 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -89,12 +89,7 @@ public class SignValidateFilter implements Filter { if ( !isInWhiteList && !method.equals("OPTIONS")) { String params = ""; if("GET".equalsIgnoreCase(method)){ - Map parameterMap = new HashMap(); - Map requestMap = request.getParameterMap(); - for(String key : requestMap.keySet()){ - parameterMap.put(key, requestMap.get(key)[0]); - } - params = JSONObject.toJSONString(parameterMap); + params = request.getQueryString(); }else if("POST".equalsIgnoreCase(method)){ params = wrapper.getBody(); // params = request.getReader().lines().collect(Collectors.joining(System.lineSeparator())); diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java index 02dc83c0c..ab7e2e96d 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java @@ -49,15 +49,12 @@ public class PartnerController { @Resource private RedisUtilPool redisUtilPool; - - @PostMapping(path = "/applyBaseInfo") @ApiOperation("提交加盟商基本信息") - public ResponseResult applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){ + public ResponseResult applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){ return ResponseResult.success(partnerUserInfoService.updatePartnerUserInfo(partnerUserInfoRequest)); } - @GetMapping(path = "/getSubmitIntentionApplyFlag") @ApiOperation("获取提交意向申请标识 true 已提交 false 未提交") public ResponseResult getSubmitIntentionApplyFlag(){ @@ -88,8 +85,8 @@ public class PartnerController { }) public ResponseResult changeBinding(@RequestParam(value = "idCard",required = false)String idCard, @RequestParam(value = "lineId",required = false)Long lineId){ - - return ResponseResult.success(hyPartnerBaseInfoService.changeBinding(idCard, lineId)); + PartnerUserInfoVO currentUser = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerBaseInfoService.changeBinding(idCard, lineId, currentUser)); } @@ -157,7 +154,8 @@ public class PartnerController { @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), }) public ResponseResult queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){ - return ResponseResult.success(hyPartnerBaseInfoService.getByPartnerLineId(lineId)); + PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), lineId)); }