From 25aab92b7634ddd5a6b9f589206a0f4316025304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 26 Jun 2023 17:34:11 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E9=9D=A2=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/impl/HyPartnerLineInfoServiceImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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 23c121da2..f92e1f4a3 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 @@ -240,8 +240,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { newHyPartnerLineInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId()); newHyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); newHyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); - newHyPartnerLineInfoDO.setLineStatus(0); - hyPartnerLineInfoDAO.batchInsert(Arrays.asList(newHyPartnerLineInfoDO)); + newHyPartnerLineInfoDO.setLineStatus(status); + hyPartnerLineInfoDAO.insertSelective(newHyPartnerLineInfoDO); + + HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO(); + hyPartnerBaseInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId()); + hyPartnerBaseInfoDO.setPartnerLineId(newHyPartnerLineInfoDO.getId()); + hyPartnerBaseInfoDAO.insertSelective(hyPartnerBaseInfoDO); return Boolean.TRUE; } From 18ef8cc073066058533fbd35dbd771d2b3cfe055 Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Mon, 26 Jun 2023 17:58:20 +0800 Subject: [PATCH 02/10] submitPartnerIntentInfo --- .../store/service/impl/HyPartnerIntentInfoServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 1fc22153b..f636fdc23 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,5 +1,6 @@ package com.cool.store.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.constants.RedisConstant; @@ -130,6 +131,11 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId()); + if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) { + PartnerIntentInfoRequest oldRequest = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerIntentInfoRequest.class); + BeanUtil.copyProperties(request, oldRequest); + request = oldRequest; + } if(!request.getSubmitFlag()){ // 自动保存时 redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS); From ed03ed189d6d57e9beb52d869a4cf2d5c489d1d9 Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Mon, 26 Jun 2023 19:16:12 +0800 Subject: [PATCH 03/10] submitWantShopInfo --- .../cool/store/constants/RedisConstant.java | 5 + .../request/IndustryCognitionInfoRequest.java | 57 ++++++++++ .../request/PartnerWantShopInfoRequest.java | 51 +++++++++ .../service/HyPartnerIntentInfoService.java | 6 ++ .../impl/HyPartnerIntentInfoServiceImpl.java | 100 ++++++++++++++++-- .../store/controller/PartnerController.java | 13 ++- 6 files changed, 222 insertions(+), 10 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/IndustryCognitionInfoRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/PartnerWantShopInfoRequest.java 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 58c08cc73..6f27bf41c 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 @@ -220,6 +220,11 @@ public class RedisConstant { public static final String PARTNER_INTENTINFO_CACHE_KEY = "partnerIntentInfoCache:{0}:{1}"; + public static final String PARTNER_WANTSHOPINFO_CACHE_KEY = "partnerWantShopInfoCache:{0}:{1}"; + + public static final String PARTNER_INDUSTRYCOGNITIONINFO_CACHE_KEY = "partnerIndustryCognitionInfoCache:{0}:{1}"; + + public static final String DEVICE_OPEN_TOKEN = "device_open_token:{0}:{1}:{2}"; public static final String PHONE_NUMBER= "phone_number_"; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/IndustryCognitionInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/IndustryCognitionInfoRequest.java new file mode 100644 index 000000000..f72bfd05b --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/IndustryCognitionInfoRequest.java @@ -0,0 +1,57 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/5/30 15:14 + * @Version 1.0 + */ +@Data +@ApiModel +public class IndustryCognitionInfoRequest { + + @ApiModelProperty("线索表ID") + private Long partnerLineId; + + @ApiModelProperty("加盟商C端用户表ID partnerId ") + private String partnerId; + + @ApiModelProperty("学历") + private String education; + + @ApiModelProperty("工作年限") + private String workYear; + + @ApiModelProperty("是否具有工作经验") + private Integer isHaveWorkExp; + + @ApiModelProperty("工作或经商经验") + private String workExp; + + @ApiModelProperty("是否是消费者") + private Integer isConsumer; + + @ApiModelProperty("其他品牌") + private String otherBand; + + @ApiModelProperty("品牌优势") + private String brandStrength; + + @ApiModelProperty("需要改进") + private String needImprove; + + @ApiModelProperty("优势") + private String strength; + + @ApiModelProperty("劣势") + private String weakness; + + @ApiModelProperty("提交标识 提交-true 暂存-false") + private Boolean submitFlag; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerWantShopInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerWantShopInfoRequest.java new file mode 100644 index 000000000..38c63882e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerWantShopInfoRequest.java @@ -0,0 +1,51 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author wxp + * @Date 2023/5/30 15:14 + * @Version 1.0 + */ +@Data +@ApiModel +public class PartnerWantShopInfoRequest { + + @ApiModelProperty("线索表ID") + private Long partnerLineId; + + @ApiModelProperty("加盟商C端用户表ID partnerId ") + private String partnerId; + + @ApiModelProperty("常驻区域") + private String liveArea; + + @ApiModelProperty("意向开店区域") + private String wantShopArea; + + @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") + private Integer acceptAdjustType; + + @ApiModelProperty("是否有意向铺位") + private Integer isHaveWantShop; + + @ApiModelProperty("意向铺位信息,json字段,最多5个") + private List wantShopInfo; + + @ApiModelProperty("最大预算") + private String maxBudget; + + @ApiModelProperty("资金来源 1自有资金;2借贷资金;3部分自有、部分借代;4部分自有、部分亲友借代") + private String moneySource; + + @ApiModelProperty("资金证明") + private List moneyProve; + + @ApiModelProperty("提交标识 提交-true 暂存-false") + private Boolean submitFlag; + +} 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 07ec60356..8987b2a5c 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,7 +1,9 @@ package com.cool.store.service; import com.cool.store.request.BaseUserInfoRequest; +import com.cool.store.request.IndustryCognitionInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest; +import com.cool.store.request.PartnerWantShopInfoRequest; import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentInfoVO; import com.cool.store.vo.PartnerUserInfoVO; @@ -41,6 +43,10 @@ public interface HyPartnerIntentInfoService { String submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest); + String submitWantShopInfo(PartnerWantShopInfoRequest request); + + String submitIndustryCognitionInfo(IndustryCognitionInfoRequest request); + PartnerIntentInfoVO queryPartnerIntentInfo(PartnerUserInfoVO userInfoVO, Long lineId); } 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 f636fdc23..0f7b73181 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 @@ -15,7 +15,9 @@ 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.IndustryCognitionInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest; +import com.cool.store.request.PartnerWantShopInfoRequest; import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.StringUtil; @@ -48,7 +50,6 @@ import java.util.stream.Collectors; @Service public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoService { - @Resource HyPartnerIntentInfoDAO hyPartnerIntentInfoDAO; @Resource @@ -131,11 +132,6 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId()); - if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) { - PartnerIntentInfoRequest oldRequest = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerIntentInfoRequest.class); - BeanUtil.copyProperties(request, oldRequest); - request = oldRequest; - } if(!request.getSubmitFlag()){ // 自动保存时 redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS); @@ -163,6 +159,66 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic return null; } + @Override + public String submitWantShopInfo(PartnerWantShopInfoRequest request) { + + log.info("HyPartnerClerkServiceImpl#submitWantShopInfo request:{}", JSONObject.toJSONString(request)); + if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_WANTSHOPINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId()); + if(!request.getSubmitFlag()){ + // 自动保存时 + redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS); + return ""; + } + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + if(intentInfoDO == null){ + intentInfoDO = new HyPartnerIntentInfoDO(); + fillWantShopInfo(intentInfoDO, request); + hyPartnerIntentInfoDAO.insertSelective(intentInfoDO); + }else { + fillWantShopInfo(intentInfoDO, request); + hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO); + } + redisUtilPool.delKey(cacheKey); + if(StringUtils.isNotBlank(request.getWantShopArea())){ + HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(request.getPartnerId()); + hyPartnerUserInfoDO.setWantShopArea(request.getWantShopArea()); + hyPartnerUserInfoDO.setLiveArea(request.getLiveArea()); + hyPartnerUserInfoDO.setAcceptAdjustType(request.getAcceptAdjustType()); + hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(request.getWantShopArea())); + return hyOpenAreaInfoDO != null ? hyOpenAreaInfoDO.getAreaStatus() : null; + } + return null; + } + + @Override + public String submitIndustryCognitionInfo(IndustryCognitionInfoRequest request) { + log.info("HyPartnerClerkServiceImpl#submitPartnerIntentInfo request:{}", JSONObject.toJSONString(request)); + if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INDUSTRYCOGNITIONINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId()); + if(!request.getSubmitFlag()){ + // 自动保存时 + redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS); + return ""; + } + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + if(intentInfoDO == null){ + intentInfoDO = new HyPartnerIntentInfoDO(); + fillIndustryCognitionInfo(intentInfoDO, request); + hyPartnerIntentInfoDAO.insertSelective(intentInfoDO); + }else { + fillIndustryCognitionInfo(intentInfoDO, request); + hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO); + } + redisUtilPool.delKey(cacheKey); + return null; + } + @Override public PartnerIntentInfoVO queryPartnerIntentInfo(PartnerUserInfoVO userInfoVO, Long lineId) { String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, userInfoVO.getPartnerId(), lineId); @@ -189,6 +245,38 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic return intentInfoVO; } + private void fillWantShopInfo(HyPartnerIntentInfoDO intentInfoDO, PartnerWantShopInfoRequest request) { + intentInfoDO.setPartnerId(request.getPartnerId()); + intentInfoDO.setPartnerLineId(request.getPartnerLineId()); + intentInfoDO.setLiveArea(request.getLiveArea()); + intentInfoDO.setWantShopArea(request.getWantShopArea()); + intentInfoDO.setAcceptAdjustType(request.getAcceptAdjustType()); + intentInfoDO.setIsHaveWantShop(request.getIsHaveWantShop()); + if (CollectionUtils.isNotEmpty(request.getWantShopInfo())){ + intentInfoDO.setWantShopInfo(JSONObject.toJSONString(request.getWantShopInfo())); + } + intentInfoDO.setMaxBudget(request.getMaxBudget()); + intentInfoDO.setMoneySource(request.getMoneySource()); + if(CollectionUtils.isNotEmpty(request.getMoneyProve())){ + intentInfoDO.setMoneyProve(JSONObject.toJSONString(request.getMoneyProve())); + } + } + + private void fillIndustryCognitionInfo(HyPartnerIntentInfoDO intentInfoDO, IndustryCognitionInfoRequest request) { + intentInfoDO.setPartnerId(request.getPartnerId()); + intentInfoDO.setPartnerLineId(request.getPartnerLineId()); + intentInfoDO.setEducation(request.getEducation()); + intentInfoDO.setWorkYear(request.getWorkYear()); + intentInfoDO.setIsHaveWorkExp(request.getIsHaveWorkExp()); + intentInfoDO.setWorkExp(request.getWorkExp()); + intentInfoDO.setIsConsumer(request.getIsConsumer()); + intentInfoDO.setOtherBand(request.getOtherBand()); + intentInfoDO.setBrandStrength(request.getBrandStrength()); + intentInfoDO.setNeedImprove(request.getNeedImprove()); + intentInfoDO.setStrength(request.getStrength()); + intentInfoDO.setWeakness(request.getWeakness()); + } + private void fillIntentInfo(HyPartnerIntentInfoDO intentInfoDO, PartnerIntentInfoRequest request) { intentInfoDO.setPartnerId(request.getPartnerId()); intentInfoDO.setPartnerLineId(request.getPartnerLineId()); 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 7c6e9d064..73e14f79e 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 @@ -110,11 +110,16 @@ public class PartnerController { return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest)); } + @PostMapping(path = "/submitWantShopInfo") + @ApiOperation("提意向书意向信息") + public ResponseResult submitWantShopInfo(@RequestBody PartnerWantShopInfoRequest request){ + return ResponseResult.success(hyPartnerIntentInfoService.submitWantShopInfo(request)); + } - @PostMapping(path = "/submitPartnerIntentInfo") - @ApiOperation("提意向书意向信息/行业认知") - public ResponseResult submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ - return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); + @PostMapping(path = "/submitIndustryCognitionInfo") + @ApiOperation("提意向书行业认知") + public ResponseResult submitIndustryCognitionInfo(@RequestBody IndustryCognitionInfoRequest request){ + return ResponseResult.success(hyPartnerIntentInfoService.submitIndustryCognitionInfo(request)); } @PostMapping(path = "/changePartnerClerkInfo") From 21c5478970e7eb4a165e92368a28c24f4bfb6f51 Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Mon, 26 Jun 2023 19:25:47 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E6=84=8F=E5=90=91=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/HyPartnerIntentInfoService.java | 5 +++ .../impl/HyPartnerIntentInfoServiceImpl.java | 41 +++++++++++++++++++ .../store/controller/PartnerController.java | 18 ++++++-- 3 files changed, 60 insertions(+), 4 deletions(-) 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 8987b2a5c..918510f83 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 @@ -49,4 +49,9 @@ public interface HyPartnerIntentInfoService { PartnerIntentInfoVO queryPartnerIntentInfo(PartnerUserInfoVO userInfoVO, Long lineId); + PartnerIntentInfoVO queryWantShopInfo(PartnerUserInfoVO userInfoVO, Long lineId); + + PartnerIntentInfoVO queryIndustryCognitionInfo(PartnerUserInfoVO userInfoVO, Long lineId); + + } 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 0f7b73181..4c82da4a6 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 @@ -245,6 +245,47 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic return intentInfoVO; } + @Override + public PartnerIntentInfoVO queryWantShopInfo(PartnerUserInfoVO userInfoVO, Long lineId) { + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_WANTSHOPINFO_CACHE_KEY, userInfoVO.getPartnerId(), lineId); + if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) { + PartnerIntentInfoVO intentInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerIntentInfoVO.class); + return intentInfoVO; + } + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(userInfoVO.getPartnerId(), lineId); + PartnerIntentInfoVO intentInfoVO = null; + if (intentInfoDO != null){ + intentInfoVO = convertPartnerIntentApplyInfoDOToVO(intentInfoDO); + }else { + intentInfoVO = new PartnerIntentInfoVO(); + } + if(StringUtils.isBlank(intentInfoVO.getLiveArea())){ + intentInfoVO.setLiveArea(userInfoVO.getLiveArea()); + } + if(StringUtils.isBlank(intentInfoVO.getWantShopArea())){ + intentInfoVO.setWantShopArea(userInfoVO.getWantShopArea()); + } + if(Objects.isNull(intentInfoVO.getAcceptAdjustType())){ + intentInfoVO.setAcceptAdjustType(userInfoVO.getAcceptAdjustType()); + } + return intentInfoVO; + } + + @Override + public PartnerIntentInfoVO queryIndustryCognitionInfo(PartnerUserInfoVO userInfoVO, Long lineId) { + String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INDUSTRYCOGNITIONINFO_CACHE_KEY, userInfoVO.getPartnerId(), lineId); + if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) { + PartnerIntentInfoVO intentInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerIntentInfoVO.class); + return intentInfoVO; + } + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(userInfoVO.getPartnerId(), lineId); + PartnerIntentInfoVO intentInfoVO = null; + if (intentInfoDO != null){ + intentInfoVO = convertPartnerIntentApplyInfoDOToVO(intentInfoDO); + } + return intentInfoVO; + } + private void fillWantShopInfo(HyPartnerIntentInfoDO intentInfoDO, PartnerWantShopInfoRequest request) { intentInfoDO.setPartnerId(request.getPartnerId()); intentInfoDO.setPartnerLineId(request.getPartnerLineId()); 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 73e14f79e..d799f3609 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 @@ -177,14 +177,24 @@ public class PartnerController { } - @GetMapping(path = "/queryPartnerIntentInfo") - @ApiOperation("查看意向申请书-意向信息/行业信息") + @GetMapping(path = "/queryWantShopInfo") + @ApiOperation("查看意向申请书-意向信息") @ApiImplicitParams({ @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), }) - public ResponseResult queryPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){ + public ResponseResult queryWantShopInfo(@RequestParam(value = "lineId",required = false)Long lineId){ PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); - return ResponseResult.success(hyPartnerIntentInfoService.queryPartnerIntentInfo(userInfoVO, lineId)); + return ResponseResult.success(hyPartnerIntentInfoService.queryWantShopInfo(userInfoVO, lineId)); + } + + @GetMapping(path = "/queryIndustryCognitionInfo") + @ApiOperation("查看意向申请书-行业信息") + @ApiImplicitParams({ + @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), + }) + public ResponseResult queryIndustryCognitionInfo(@RequestParam(value = "lineId",required = false)Long lineId){ + PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerIntentInfoService.queryIndustryCognitionInfo(userInfoVO, lineId)); } @GetMapping(path = "/completeJoinNotice") From 29c6e8997049652dd6e31580ba97173e57ebf4e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 26 Jun 2023 20:00:19 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E7=BA=BF=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java | 2 +- .../java/com/cool/store/mapper/HyPartnerLineInfoMapper.java | 4 ++-- .../src/main/java/com/cool/store/request/LineRequest.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java index 206e66c3b..901067b90 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java @@ -126,7 +126,7 @@ public class HyPartnerLineInfoDAO { return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason); } - public List getPublicSeaLineList( String userNameKeyword, String phoneKeyword, String intentArea, Integer acceptAdjustType, Date updateStartTime, Date updateEndTime, List userIdList){ + public List getPublicSeaLineList( String userNameKeyword, String phoneKeyword, String intentArea, Integer acceptAdjustType, String updateStartTime, String updateEndTime, List userIdList){ return hyPartnerLineInfoMapper.getPublicSeaLineList(userNameKeyword,phoneKeyword,intentArea,acceptAdjustType,updateStartTime,updateEndTime,userIdList); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java index 24314e0ca..7d5cfe016 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java @@ -154,8 +154,8 @@ public interface HyPartnerLineInfoMapper { @Param("phoneKeyword") String phoneKeyword, @Param("intentArea") String intentArea, @Param("acceptAdjustType") Integer acceptAdjustType, - @Param("updateStartTime") Date updateStartTime, - @Param("updateEndTime") Date updateEndTime, + @Param("updateStartTime") String updateStartTime, + @Param("updateEndTime") String updateEndTime, @Param("userIdList") List userIdList); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java index b0e4169af..91dc33a4b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java @@ -30,10 +30,10 @@ public class LineRequest extends PageInfoRequest{ private Integer acceptAdjustType; @ApiModelProperty("更新开始时间") - private Date updateStartTime; + private String updateStartTime; @ApiModelProperty("更新结束时间") - private Date updateEndTime; + private String updateEndTime; From 16aa3acb22ede80322a804c6bc47261e447d7005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 26 Jun 2023 21:04:21 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E7=BA=BF=E7=B4=A2111?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/dao/HyIntendDevMappingDAO.java | 4 ++-- .../store/mapper/HyIntendDevelopementMappingMapper.java | 3 ++- .../resources/mapper/HyIntendDevelopementMappingMapper.xml | 3 +++ .../src/main/resources/mapper/HyOpenAreaInfoMapper.xml | 2 +- .../main/resources/mapper/HyPartnerInterviewPlanMapper.xml | 6 +++--- .../src/main/resources/mapper/HyPartnerLineInfoMapper.xml | 2 ++ .../store/service/impl/HyPartnerIntentInfoServiceImpl.java | 2 +- .../service/impl/HyPartnerInterviewPlanServiceImpl.java | 3 ++- .../java/com/cool/store/service/impl/ZoneServiceImpl.java | 2 +- 9 files changed, 17 insertions(+), 10 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevMappingDAO.java index ace5341e3..e87a50767 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevMappingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevMappingDAO.java @@ -52,11 +52,11 @@ public class HyIntendDevMappingDAO { return hyIntendDevelopementMappingMapper.selectByMappingIdList(idList); } - public List selectByOpenAreaMappingIdList(List idList,String type){ + public List selectByOpenAreaMappingIdList(List idList,String type,Long currentId){ if (CollectionUtils.isEmpty(idList)){ return new ArrayList<>(); } - return hyIntendDevelopementMappingMapper.selectByOpenAreaMappingIdList(idList,type); + return hyIntendDevelopementMappingMapper.selectByOpenAreaMappingIdList(idList,type,currentId); } public HyIntendDevelopementMappingDO selectByOpenAreaMappingId(Long id,String type){ diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevelopementMappingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevelopementMappingMapper.java index ceee2b129..bf0be4adf 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevelopementMappingMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevelopementMappingMapper.java @@ -56,7 +56,8 @@ public interface HyIntendDevelopementMappingMapper { List selectByMappingIdList(@Param("mappingIdList") List mappingIdList); List selectByOpenAreaMappingIdList(@Param("openAreaMappingIdList") List openAreaMappingIdList, - @Param("type") String type); + @Param("type") String type, + @Param("currentId") Long currentId); HyIntendDevelopementMappingDO selectByOpenAreaMappingId(@Param("openAreaMappingId") Long openAreaMappingId, diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml index 87872d83c..4af30f031 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml @@ -147,6 +147,9 @@ #{mappingId} + + and a.mapping_id != #{currentId} + diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml index d3bb6c529..1ca989adc 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml @@ -186,7 +186,7 @@ hy_open_area_info where area_status = 'keyOpen' and province_city_flag = 1 - and parent_id is null + and parent_id is not null SELECT FROM hy_partner_line_info - where deleted = 1 + where (deleted = 1 or (deleted=0 and line_status=0)) and partner_id = #{partner_id} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerInterviewInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerInterviewInfoVO.java index 8020b5fbc..bf87463c9 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerInterviewInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerInterviewInfoVO.java @@ -51,6 +51,9 @@ public class PartnerInterviewInfoVO { @ApiModelProperty("面试官名称") private String interviewerName; + @ApiModelProperty("面试官手机号") + private String interviewerPhone; + @ApiModelProperty("预约时间") private String createTime; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java index 07c25b98f..c11fc3738 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java @@ -2,15 +2,9 @@ package com.cool.store.service.impl; import cn.hutool.core.date.DateUtil; import com.cool.store.constants.CommonConstants; -import com.cool.store.dao.HyInterviewDAO; -import com.cool.store.dao.HyPartnerInterviewPlanDAO; -import com.cool.store.dao.HyPartnerLineInfoDAO; -import com.cool.store.dao.HyPartnerUserInfoDAO; +import com.cool.store.dao.*; import com.cool.store.dto.partner.PartnerInterviewInfoDTO; -import com.cool.store.entity.HyPartnerInterviewDO; -import com.cool.store.entity.HyPartnerInterviewPlanDO; -import com.cool.store.entity.HyPartnerLineInfoDO; -import com.cool.store.entity.HyPartnerUserInfoDO; +import com.cool.store.entity.*; import com.cool.store.enums.RoomStatus; import com.cool.store.enums.WorkflowStageEnum; import com.cool.store.enums.WorkflowStatusEnum; @@ -28,6 +22,7 @@ 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.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -93,6 +88,9 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan return result; } + @Resource + EnterpriseUserDAO enterpriseUserDAO; + @Override public PageInfo getPartnerInterviewInfoList(String userId ,String type,Integer pageSize,Integer pageNumber) { String workflowStatus = ""; @@ -112,6 +110,9 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan List result = new ArrayList<>(); List partnerIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerId).collect(Collectors.toList()); List hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds); + List interviewerUserIds = list.stream().filter(x-> StringUtils.isNotEmpty(x.getInterviewer())).map(PartnerInterviewInfoDTO::getInterviewer).collect(Collectors.toList()); + List userInfoByUserIds = enterpriseUserDAO.getUserInfoByUserIds(interviewerUserIds); + Map interviewerUserMap = userInfoByUserIds.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, data -> data)); Map userNameMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, Data->Data)); List lineIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerLineId).collect(Collectors.toList()); List hyPartnerLineInfoDOS= hyPartnerLineInfoDAO.getHyPartnerLineInfoListByIds(lineIds); @@ -120,6 +121,8 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan PartnerInterviewInfoVO partnerInterviewInfoVO = convertPartnerInterviewInfoDTOToVo(x); partnerInterviewInfoVO.setPartnerName(userNameMap.getOrDefault(x.getPartnerId(),new HyPartnerUserInfoDO()).getUsername()); partnerInterviewInfoVO.setPartnerPhone(userNameMap.getOrDefault(x.getPartnerId(),new HyPartnerUserInfoDO()).getMobile()); + partnerInterviewInfoVO.setInterviewerName(interviewerUserMap.getOrDefault(x.getInterviewer(),new EnterpriseUserDO()).getName()); + partnerInterviewInfoVO.setInterviewerPhone(interviewerUserMap.getOrDefault(x.getInterviewer(),new EnterpriseUserDO()).getMobile()); partnerInterviewInfoVO.setLineStatus(hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerLineId(),new HyPartnerLineInfoDO()).getLineStatus()); partnerInterviewInfoVO.setLineId(hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerLineId(),new HyPartnerLineInfoDO()).getId()); result.add(partnerInterviewInfoVO); 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 fe3694bf9..aa2e82746 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 @@ -212,6 +212,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { hyPartnerLineInfoDO.setId(lineId); hyPartnerLineInfoDO.setLineStatus(status); hyPartnerLineInfoDO.setJoinBlackReason(joinReason); + hyPartnerLineInfoDO.setRejectRealReason(joinReason); hyPartnerLineInfoDO.setCloseTime(new Date()); hyPartnerLineInfoDO.setCloseUserId(userId); hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); From a2dcde864ff049888662cd2565e4df95ba1bb6bd Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Mon, 26 Jun 2023 22:21:51 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/vo/EnterpriseUserSingleInfoVO.java | 21 ++++++---- .../cool/store/service/WorkFlowService.java | 21 ++++++++++ .../service/impl/WorkFlowServiceImpl.java | 39 +++++++++++++++++++ .../impl/workflow/IntentWorkFlowService.java | 28 +++++++++++++ .../workflow/InterviewWorkFlowService.java | 28 +++++++++++++ .../workflow/ReservationWorkFlowService.java | 28 +++++++++++++ .../impl/workflow/WorkFlowBaseService.java | 25 ++++++++++++ 7 files changed, 183 insertions(+), 7 deletions(-) create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/WorkFlowService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/WorkFlowServiceImpl.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/IntentWorkFlowService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/ReservationWorkFlowService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/WorkFlowBaseService.java diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterpriseUserSingleInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterpriseUserSingleInfoVO.java index 7c3eb8b56..c81cc4c40 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterpriseUserSingleInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterpriseUserSingleInfoVO.java @@ -5,8 +5,9 @@ import com.google.common.collect.Lists; import lombok.Data; import org.apache.commons.collections4.CollectionUtils; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** * @Author suzhuhong @@ -26,13 +27,19 @@ public class EnterpriseUserSingleInfoVO { if(CollectionUtils.isEmpty(userList)){ return Lists.newArrayList(); } + Map userIdMap = new HashMap<>(); List resultList = new ArrayList<>(); for (EnterpriseUserDO enterpriseUser : userList) { - EnterpriseUserSingleInfoVO result = new EnterpriseUserSingleInfoVO(); - result.setUserId(enterpriseUser.getUserId()); - result.setUserName(enterpriseUser.getName()); - result.setMobile(enterpriseUser.getMobile()); - resultList.add(result); + String userId = enterpriseUser.getUserId(); + boolean isContains = userIdMap.containsKey(userId); + if(isContains){ + EnterpriseUserSingleInfoVO result = new EnterpriseUserSingleInfoVO(); + result.setUserId(userId); + result.setUserName(enterpriseUser.getName()); + result.setMobile(enterpriseUser.getMobile()); + resultList.add(result); + userIdMap.put(userId, userId); + } } return resultList; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/WorkFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/WorkFlowService.java new file mode 100644 index 000000000..69a9d038e --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/WorkFlowService.java @@ -0,0 +1,21 @@ +package com.cool.store.service; + +import com.cool.store.enums.WorkflowStageEnum; +import com.cool.store.request.CloseFollowRequest; + +/** + * @author zhangchenbiao + * @FileName: WorkFlowService + * @Description: 流程服务 + * @date 2023-06-26 21:14 + */ +public interface WorkFlowService { + + /** + * 结束流程 + * @param workflowStage + * @param request + */ + void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request); + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WorkFlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WorkFlowServiceImpl.java new file mode 100644 index 000000000..378952eb6 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WorkFlowServiceImpl.java @@ -0,0 +1,39 @@ +package com.cool.store.service.impl; + +import com.cool.store.enums.WorkflowStageEnum; +import com.cool.store.request.CloseFollowRequest; +import com.cool.store.service.WorkFlowService; +import com.cool.store.service.impl.workflow.IntentWorkFlowService; +import com.cool.store.service.impl.workflow.InterviewWorkFlowService; +import com.cool.store.service.impl.workflow.ReservationWorkFlowService; +import com.cool.store.service.impl.workflow.WorkFlowBaseService; +import com.cool.store.utils.CommonContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author zhangchenbiao + * @FileName: WorkFlowBaseService + * @Description: + * @date 2023-06-26 21:14 + */ +@Service +public class WorkFlowServiceImpl implements WorkFlowService{ + + private WorkFlowBaseService getWorkflowService(WorkflowStageEnum workflowStage){ + switch (workflowStage){ + case INTENT: + return CommonContextUtil.getBean(IntentWorkFlowService.class); + case RESERVATION: + return CommonContextUtil.getBean(ReservationWorkFlowService.class); + case INTERVIEW: + return CommonContextUtil.getBean(InterviewWorkFlowService.class); + default: + return null; + } + } + + @Override + public void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request) { + getWorkflowService(workflowStage).endProcess(request); + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/IntentWorkFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/IntentWorkFlowService.java new file mode 100644 index 000000000..12d874923 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/IntentWorkFlowService.java @@ -0,0 +1,28 @@ +package com.cool.store.service.impl.workflow; + +import com.cool.store.enums.WorkflowStageEnum; +import com.cool.store.request.CloseFollowRequest; +import com.cool.store.service.impl.WorkFlowServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author zhangchenbiao + * @FileName: IntentWorkFlowService + * @Description: 意向申请 + * @date 2023-06-26 21:21 + */ +@Slf4j +@Service +public class IntentWorkFlowService extends WorkFlowBaseService { + + @Override + public WorkflowStageEnum getWorkFlowStage() { + return WorkflowStageEnum.INTENT; + } + + @Override + public void endProcess(CloseFollowRequest request) { + log.info("意向申请结束~"); + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java new file mode 100644 index 000000000..eb544ac4e --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java @@ -0,0 +1,28 @@ +package com.cool.store.service.impl.workflow; + +import com.cool.store.enums.WorkflowStageEnum; +import com.cool.store.request.CloseFollowRequest; +import com.cool.store.service.impl.WorkFlowServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author zhangchenbiao + * @FileName: InterviewWorkFlowService + * @Description:面试流程 + * @date 2023-06-26 21:24 + */ +@Slf4j +@Service +public class InterviewWorkFlowService extends WorkFlowBaseService { + + @Override + public WorkflowStageEnum getWorkFlowStage() { + return WorkflowStageEnum.RESERVATION; + } + + @Override + public void endProcess(CloseFollowRequest request) { + log.info("面试结束~"); + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/ReservationWorkFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/ReservationWorkFlowService.java new file mode 100644 index 000000000..c4694dcee --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/ReservationWorkFlowService.java @@ -0,0 +1,28 @@ +package com.cool.store.service.impl.workflow; + +import com.cool.store.enums.WorkflowStageEnum; +import com.cool.store.request.CloseFollowRequest; +import com.cool.store.service.impl.WorkFlowServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author zhangchenbiao + * @FileName: ReservationWorkFlowService + * @Description:预约面试 + * @date 2023-06-26 21:23 + */ +@Slf4j +@Service +public class ReservationWorkFlowService extends WorkFlowBaseService { + + @Override + public WorkflowStageEnum getWorkFlowStage() { + return WorkflowStageEnum.RESERVATION; + } + + @Override + public void endProcess(CloseFollowRequest request) { + log.info("预约面试结束~"); + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/WorkFlowBaseService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/WorkFlowBaseService.java new file mode 100644 index 000000000..6eb4b9685 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/WorkFlowBaseService.java @@ -0,0 +1,25 @@ +package com.cool.store.service.impl.workflow; + +import com.cool.store.enums.WorkflowStageEnum; +import com.cool.store.request.CloseFollowRequest; + +/** + * @author zhangchenbiao + * @FileName: WorkFlowBaseService + * @Description: + * @date 2023-06-26 22:15 + */ +public abstract class WorkFlowBaseService { + + /** + * 获取流程阶段 + * @return + */ + public abstract WorkflowStageEnum getWorkFlowStage(); + + /** + * 结束流程 + * @param request + */ + public abstract void endProcess(CloseFollowRequest request); +}