From 012059c3aece926b84aa78b96fdecde2639a7bc4 Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Fri, 16 Jun 2023 18:05:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=84=8F=E5=90=91=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/constants/RedisConstant.java | 5 +++ .../cool/store/dao/HyPartnerBaseInfoDAO.java | 6 ++++ .../store/mapper/HyPartnerBaseInfoMapper.java | 2 ++ .../mapper/HyPartnerBaseInfoMapper.xml | 7 ++++ .../service/HyPartnerBaseInfoService.java | 4 +++ .../service/HyPartnerLineInfoService.java | 2 ++ .../impl/HyPartnerBaseInfoServiceImpl.java | 5 +++ .../impl/HyPartnerLineInfoServiceImpl.java | 20 ++++++++++- .../store/controller/PartnerController.java | 36 ++++++++++--------- 9 files changed, 69 insertions(+), 18 deletions(-) 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 9fd0fb7bb..688c01bec 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 @@ -189,6 +189,11 @@ public class RedisConstant { public static final String STOREWORK_NOTICE_KEY = "storeWorkNoticeCache:{0}:{1}:{2}:{3}"; + /** + * 冷静期内是否首次登录 冷静期首次登录 是-true 否-false + */ + public static final String COOLINGPERIOD_FIRSTLOGIN_KEY = "coolingPeriodFirstLoginCache:{0}"; + /** * 七天 */ 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 9e141f57d..f796e298d 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 @@ -45,4 +45,10 @@ public class HyPartnerBaseInfoDAO { return hyPartnerBaseInfoMapper.getByPartnerIdAndLineId(partnerId, partnerLineId); } + public Long getLineIdByIdCard(String idCard){ + if (StringUtils.isEmpty(idCard)){ + return null; + } + return hyPartnerBaseInfoMapper.getLineIdByIdCard(idCard); + } } 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 6488260db..2f4e48e5a 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 @@ -36,4 +36,6 @@ public interface HyPartnerBaseInfoMapper { HyPartnerBaseInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId); + Long getLineIdByIdCard(@Param("idCard") String idCard); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml index 8168519e8..a1ba51823 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml @@ -224,4 +224,11 @@ where partner_id = #{partnerId} and partner_line_id = #{partnerLineId} + + \ No newline at end of file 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 2b57f6384..a5d97e465 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 @@ -22,4 +22,8 @@ public interface HyPartnerBaseInfoService { Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request); PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId); + + Long getLineIdByIdCard(String idCard); + + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java index 0b7f0b30a..93da5e217 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java @@ -104,5 +104,7 @@ public interface HyPartnerLineInfoService { */ PageInfo publicSeaLineList(String userId,LineRequest lineRequest); + PartnerLineBaseInfoVO getPartnerLinBaseInfo(String partnerId); + } 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 08e6979f2..d2bffd4e2 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 @@ -67,6 +67,11 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { return baseInfoVO; } + @Override + public Long getLineIdByIdCard(String idCard) { + return hyPartnerBaseInfoDAO.getLineIdByIdCard(idCard); + } + private void fillBaseInfo(HyPartnerBaseInfoDO baseInfoDO, PartnerBaseInfoRequest request) { baseInfoDO.setPartnerId(request.getPartnerId()); baseInfoDO.setPartnerLineId(request.getPartnerLineId()); 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 e4b456878..d48672826 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 @@ -1,7 +1,9 @@ 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.dao.EnterpriseUserDAO; import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO; @@ -17,19 +19,21 @@ import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.LineRequest; -import com.cool.store.service.EnterpriseUserService; import com.cool.store.service.HyPartnerLineInfoService; import com.cool.store.utils.CoolDateUtils; +import com.cool.store.utils.RedisUtilPool; 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; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.text.MessageFormat; import java.util.*; import java.util.stream.Collectors; @@ -49,6 +53,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { EnterpriseUserDAO enterpriseUserDAO; @Resource UserRegionMappingDAO userRegionMappingDAO; + @Resource + private RedisUtilPool redisUtilPool; @Override public StageCountVO selectStagePendingCount(String userId) { @@ -291,6 +297,18 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { return publicSeaLineList; } + @Override + public PartnerLineBaseInfoVO getPartnerLinBaseInfo(String partnerId) { + PartnerLineBaseInfoVO lineBaseInfoVO = new PartnerLineBaseInfoVO(); + // todo wxp 需要加条件 + HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(partnerId); + BeanUtil.copyProperties(lineInfoDO, lineBaseInfoVO); + String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId); + String value = redisUtilPool.getString(coolingPeriodFirstLoginCacheKey); + lineBaseInfoVO.setCoolDownFirstLoginFlag(StringUtils.isNotBlank(value)); + return lineBaseInfoVO; + } + /** * convertPartnerBlackListDTOToVo * @param partnerBlackListDTO 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 1778ad83b..34b87581c 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 @@ -1,5 +1,6 @@ package com.cool.store.controller; +import com.cool.store.constants.RedisConstant; import com.cool.store.context.PartnerUserHolder; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.IDCardSideEnum; @@ -9,11 +10,8 @@ import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.response.ResponseResult; -import com.cool.store.service.AliyunService; -import com.cool.store.service.HyPartnerBaseInfoService; -import com.cool.store.service.HyPartnerClerkService; -import com.cool.store.service.HyPartnerIntentInfoService; -import com.cool.store.service.PartnerUserInfoService; +import com.cool.store.service.*; +import com.cool.store.utils.RedisUtilPool; import com.cool.store.vo.*; import com.cool.store.vo.cuser.IdentityCardInfoVO; import io.swagger.annotations.Api; @@ -24,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.text.MessageFormat; import java.util.List; /** @@ -39,18 +38,18 @@ public class PartnerController { @Resource private PartnerUserInfoService partnerUserInfoService; - @Resource private HyPartnerIntentInfoService hyPartnerIntentInfoService; - @Resource private AliyunService aliyunService; - @Resource private HyPartnerBaseInfoService hyPartnerBaseInfoService; @Resource private HyPartnerClerkService hyPartnerClerkService; - + @Resource + private HyPartnerLineInfoService hyPartnerLineInfoService; + @Resource + private RedisUtilPool redisUtilPool; @@ -77,8 +76,8 @@ public class PartnerController { }) public ResponseResult getLineByIdCard(@RequestParam(value = "idCard",required = false)String idCard){ - - return ResponseResult.success(); + Long lineId = hyPartnerBaseInfoService.getLineIdByIdCard(idCard); + return ResponseResult.success(lineId != null); } @@ -134,18 +133,21 @@ public class PartnerController { return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); } - - - @GetMapping(path = "/getPartnerLineBaseInfo") @ApiOperation("查询加盟商线索详情(适用全部流程) 包括冷静期是否首次登录") @ApiImplicitParams({ @ApiImplicitParam(name = "partnerId", value = "C端用户基本信息ID", required = false), }) - public ResponseResult getPartnerLinBaseInfo(@RequestParam(value = "partnerId",required = false)Long partnerId){ + public ResponseResult getPartnerLinBaseInfo(@RequestParam(value = "partnerId",required = false)String partnerId){ + return ResponseResult.success(hyPartnerLineInfoService.getPartnerLinBaseInfo(partnerId)); + } - - return ResponseResult.success(); + @PostMapping(path = "/delCoolDownFirstLoginFlag") + @ApiOperation("删除冷静期是否首次登录缓存") + public ResponseResult delCoolDownFirstLoginFlag(@RequestParam(value = "partnerId",required = true)String partnerId){ + String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId); + redisUtilPool.delKey(coolingPeriodFirstLoginCacheKey); + return ResponseResult.success(true); }