From 8bf8de1cd928824311683e26e11eb6bc66bd2ec4 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 11 Apr 2024 14:07:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=89=E5=9D=80=E9=98=B6=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/point/ShopStageEnum.java | 43 +++++++ .../store/enums/point/ShopSubStageEnum.java | 97 +++++++++++++++ .../enums/point/ShopSubStageStatusEnum.java | 114 ++++++++++++++++++ .../java/com/cool/store/dao/ShopInfoDAO.java | 25 ++-- .../com/cool/store/dao/ShopStageInfoDAO.java | 85 +++++++++++++ .../store/mapper/ShopStageInfoMapper.java | 34 ++++++ .../resources/mapper/ShopStageInfoMapper.xml | 41 +++++++ .../resources/mybatis-generator.properties | 8 +- .../cool/store/entity/ShopStageInfoDO.java | 64 ++++++++++ .../com/cool/store/vo/shop/ShopStageVO.java | 54 +++++++++ .../store/vo/shop/ShopSubStageStatusVO.java | 25 ++++ .../cool/store/vo/shop/ShopSubStageVO.java | 32 +++++ ...hopPointService.java => PointService.java} | 2 +- .../com/cool/store/service/ShopService.java | 20 +++ .../cool/store/service/ShopServiceImpl.java | 55 +++++++++ .../impl/LineInterviewServiceImpl.java | 4 +- ...ServiceImpl.java => PointServiceImpl.java} | 4 +- .../controller/webb/PCTestController.java | 5 +- ...ntController.java => PointController.java} | 63 +++++----- 19 files changed, 721 insertions(+), 54 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStageEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java create mode 100644 coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/ShopStageInfoDO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopStageVO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopSubStageStatusVO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopSubStageVO.java rename coolstore-partner-service/src/main/java/com/cool/store/service/{ShopPointService.java => PointService.java} (99%) create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/ShopServiceImpl.java rename coolstore-partner-service/src/main/java/com/cool/store/service/impl/{ShopPointServiceImpl.java => PointServiceImpl.java} (99%) rename coolstore-partner-web/src/main/java/com/cool/store/controller/webb/{ShopPointController.java => PointController.java} (68%) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStageEnum.java new file mode 100644 index 000000000..e84260f04 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStageEnum.java @@ -0,0 +1,43 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: ShopStageEnum + * @Description:店铺阶段 + * @date 2024-04-10 17:34 + */ +public enum ShopStageEnum { + + //1选址 2筹建 3开业 + SHOP_STAGE_1(1, "选址"), + SHOP_STAGE_2(2, "筹建"), + SHOP_STAGE_3(3, "开业"), + ; + + private Integer shopStage; + + private String stageName; + + ShopStageEnum(Integer shopStage, String stageName) { + this.shopStage = shopStage; + this.stageName = stageName; + } + + public static ShopStageEnum getShopStageEnum(Integer shopStage) { + for (ShopStageEnum shopStageEnum : ShopStageEnum.values()) { + if (shopStageEnum.getShopStage().equals(shopStage)) { + return shopStageEnum; + } + } + return null; + } + + public Integer getShopStage() { + return shopStage; + } + + public String getStageName() { + return stageName; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageEnum.java new file mode 100644 index 000000000..af5ef5547 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageEnum.java @@ -0,0 +1,97 @@ +package com.cool.store.enums.point; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author zhangchenbiao + * @FileName: ShopStageEnum + * @Description:店铺阶段 + * @date 2024-04-10 17:34 + */ +public enum ShopSubStageEnum { + + SHOP_STAGE_1(ShopStageEnum.SHOP_STAGE_1, 10, "选址"), + SHOP_STAGE_2(ShopStageEnum.SHOP_STAGE_1, 20, "上传租赁合同"), + SHOP_STAGE_3(ShopStageEnum.SHOP_STAGE_2, 30, "系统建店"), + SHOP_STAGE_4(ShopStageEnum.SHOP_STAGE_2, 40, "证照办理"), + SHOP_STAGE_5(ShopStageEnum.SHOP_STAGE_2, 50, "员工招聘"), + SHOP_STAGE_6(ShopStageEnum.SHOP_STAGE_2, 60, "加盟商/员工培训"), + SHOP_STAGE_7(ShopStageEnum.SHOP_STAGE_2, 70, "缴纳加盟费/保证金"), + SHOP_STAGE_8(ShopStageEnum.SHOP_STAGE_2, 80, "加盟合同签约"), + SHOP_STAGE_9(ShopStageEnum.SHOP_STAGE_2, 90, "设计阶段"), + SHOP_STAGE_10(ShopStageEnum.SHOP_STAGE_2, 100, "施工阶段"), + SHOP_STAGE_11(ShopStageEnum.SHOP_STAGE_2, 110, "三方验收"), + ; + + //阶段 + private ShopStageEnum shopStageEnum; + + //子阶段 + private Integer shopSubStage; + + //子阶段名称 + private String shopSubStageName; + + ShopSubStageEnum(ShopStageEnum shopStageEnum, Integer shopSubStage, String shopSubStageName) { + this.shopStageEnum = shopStageEnum; + this.shopSubStage = shopSubStage; + this.shopSubStageName = shopSubStageName; + } + + public static List getShopStageEnum(Integer shopStage) { + List resultList = new ArrayList<>(); + for (ShopSubStageEnum shopStageEnum : ShopSubStageEnum.values()) { + if (shopStageEnum.getShopStageEnum().getShopStage().equals(shopStage)) { + resultList.add(shopStageEnum); + } + } + return resultList; + } + + public ShopStageEnum getShopStageEnum() { + return shopStageEnum; + } + + public Integer getShopSubStage() { + return shopSubStage; + } + + public String getShopSubStageName() { + return shopSubStageName; + } + + /** + * 获取各阶段的初始状态 + * @return + */ + public ShopSubStageStatusEnum getInitStatus() { + switch (this){ + case SHOP_STAGE_1: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_0; + case SHOP_STAGE_2: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_2; + case SHOP_STAGE_3: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_6; + case SHOP_STAGE_4: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_10; + case SHOP_STAGE_5: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_14; + case SHOP_STAGE_6: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_16; + case SHOP_STAGE_7: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_18; + case SHOP_STAGE_8: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21; + case SHOP_STAGE_9: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_27; + case SHOP_STAGE_10: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_32; + case SHOP_STAGE_11: + return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_35; + default: + return null; + } + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java new file mode 100644 index 000000000..93e0b2ced --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java @@ -0,0 +1,114 @@ +package com.cool.store.enums.point; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author zhangchenbiao + * @FileName: ShopStageStatusEnum + * @Description:店铺阶段状态 + * @date 2024-04-10 17:34 + */ +public enum ShopSubStageStatusEnum { + + //选址 + SHOP_SUB_STAGE_STATUS_0(ShopSubStageEnum.SHOP_STAGE_1, 100, "待选址"), + SHOP_SUB_STAGE_STATUS_1(ShopSubStageEnum.SHOP_STAGE_1, 110, "已选址"), + + //上传租赁合同 + SHOP_SUB_STAGE_STATUS_2(ShopSubStageEnum.SHOP_STAGE_2, 200, "待上传"), + SHOP_SUB_STAGE_STATUS_3(ShopSubStageEnum.SHOP_STAGE_2, 210, "已上传"), + SHOP_SUB_STAGE_STATUS_4(ShopSubStageEnum.SHOP_STAGE_2, 220, "审核未通过"), + SHOP_SUB_STAGE_STATUS_5(ShopSubStageEnum.SHOP_STAGE_2, 230, "审核通过"), + + //系统建店 + SHOP_SUB_STAGE_STATUS_6(ShopSubStageEnum.SHOP_STAGE_3, 300, "待建店"), + SHOP_SUB_STAGE_STATUS_7(ShopSubStageEnum.SHOP_STAGE_3, 310, "审核中"), + SHOP_SUB_STAGE_STATUS_8(ShopSubStageEnum.SHOP_STAGE_3, 320, "未通过"), + SHOP_SUB_STAGE_STATUS_9(ShopSubStageEnum.SHOP_STAGE_3, 330, "已通过"), + + //证照办理 + SHOP_SUB_STAGE_STATUS_10(ShopSubStageEnum.SHOP_STAGE_4, 400, "待提交"), + SHOP_SUB_STAGE_STATUS_11(ShopSubStageEnum.SHOP_STAGE_4, 410, "待审核"), + SHOP_SUB_STAGE_STATUS_12(ShopSubStageEnum.SHOP_STAGE_4, 420, "审核未通过"), + SHOP_SUB_STAGE_STATUS_13(ShopSubStageEnum.SHOP_STAGE_4, 430, "审核通过"), + + //员工招聘 + SHOP_SUB_STAGE_STATUS_14(ShopSubStageEnum.SHOP_STAGE_5, 500, "招聘中"), + SHOP_SUB_STAGE_STATUS_15(ShopSubStageEnum.SHOP_STAGE_5, 510, "已完成"), + + //加盟商/员工培训 + SHOP_SUB_STAGE_STATUS_16(ShopSubStageEnum.SHOP_STAGE_6, 600, "培训中"), + SHOP_SUB_STAGE_STATUS_17(ShopSubStageEnum.SHOP_STAGE_6, 610, "已完成"), + + //缴纳加盟费/保证金 + SHOP_SUB_STAGE_STATUS_18(ShopSubStageEnum.SHOP_STAGE_7, 700, "待缴费"), + SHOP_SUB_STAGE_STATUS_19(ShopSubStageEnum.SHOP_STAGE_7, 710, "已缴费"), + SHOP_SUB_STAGE_STATUS_20(ShopSubStageEnum.SHOP_STAGE_7, 720, "缴费失败"), + + //加盟合同签约 + SHOP_SUB_STAGE_STATUS_21(ShopSubStageEnum.SHOP_STAGE_8, 800, "待提交"), + SHOP_SUB_STAGE_STATUS_22(ShopSubStageEnum.SHOP_STAGE_8, 810, "信息核对"), + SHOP_SUB_STAGE_STATUS_23(ShopSubStageEnum.SHOP_STAGE_8, 820, "待加盟商签约"), + SHOP_SUB_STAGE_STATUS_24(ShopSubStageEnum.SHOP_STAGE_8, 830, "审核中"), + SHOP_SUB_STAGE_STATUS_25(ShopSubStageEnum.SHOP_STAGE_8, 840, "已签约"), + SHOP_SUB_STAGE_STATUS_26(ShopSubStageEnum.SHOP_STAGE_8, 850, "退回"), + + //设计阶段 + SHOP_SUB_STAGE_STATUS_27(ShopSubStageEnum.SHOP_STAGE_9, 900, "进行中"), + SHOP_SUB_STAGE_STATUS_28(ShopSubStageEnum.SHOP_STAGE_9, 910, "已完成"), + + //施工阶段 + SHOP_SUB_STAGE_STATUS_32(ShopSubStageEnum.SHOP_STAGE_10, 1000, "待施工"), + SHOP_SUB_STAGE_STATUS_33(ShopSubStageEnum.SHOP_STAGE_10, 1010, "施工中"), + SHOP_SUB_STAGE_STATUS_34(ShopSubStageEnum.SHOP_STAGE_10, 1020, "已完成"), + + //三方验收 + SHOP_SUB_STAGE_STATUS_35(ShopSubStageEnum.SHOP_STAGE_11, 1100, "待预约"), + SHOP_SUB_STAGE_STATUS_36(ShopSubStageEnum.SHOP_STAGE_11, 1110, "待确认"), + SHOP_SUB_STAGE_STATUS_37(ShopSubStageEnum.SHOP_STAGE_11, 1120, "待验收"), + SHOP_SUB_STAGE_STATUS_38(ShopSubStageEnum.SHOP_STAGE_11, 1130, "验收中"), + SHOP_SUB_STAGE_STATUS_39(ShopSubStageEnum.SHOP_STAGE_11, 1140, "已验收"), + + + ; + + private ShopSubStageEnum shopSubStageEnum; + + private Integer shopSubStageStatus; + + private String shopSubStageStatusName; + + + ShopSubStageStatusEnum(ShopSubStageEnum shopSubStageEnum, Integer shopSubStageStatus, String shopSubStageStatusName) { + this.shopSubStageEnum = shopSubStageEnum; + this.shopSubStageStatus = shopSubStageStatus; + this.shopSubStageStatusName = shopSubStageStatusName; + } + + public static List getShopSubStageStatusEnum(ShopSubStageEnum shopSubStage) { + List resultList = new ArrayList<>(); + for (ShopSubStageStatusEnum stageStatusEnum : ShopSubStageStatusEnum.values()) { + if (stageStatusEnum.getShopSubStageEnum().equals(shopSubStage)) { + resultList.add(stageStatusEnum); + } + } + return resultList; + } + + public ShopSubStageEnum getShopSubStageEnum() { + return shopSubStageEnum; + } + + public Integer getShopSubStageStatus() { + return shopSubStageStatus; + } + + public String getShopSubStageStatusName() { + return shopSubStageStatusName; + } + + public String getShopSubStageName() { + return shopSubStageEnum.getShopSubStageName(); + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java index 86bb745ce..58cc78413 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java @@ -1,9 +1,11 @@ package com.cool.store.dao; +import com.cool.store.constants.CommonConstants; import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.ShopInfoDO; import com.cool.store.mapper.ShopInfoMapper; import com.cool.store.utils.NumberConverter; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -24,23 +26,11 @@ public class ShopInfoDAO { private ShopInfoMapper shopInfoMapper; - /** - * 初始化店铺 - * @param lineInfo - * @return - */ - public Integer initShop(LineInfoDO lineInfo){ - Integer wantShopNum = lineInfo.getWantShopNum(); - List shopList = new ArrayList<>(); - for (int i = 0; i < wantShopNum; i++) { - ShopInfoDO shopInfo = new ShopInfoDO(); - shopInfo.setRegionId(lineInfo.getRegionId()); - shopInfo.setLineId(lineInfo.getId()); - shopInfo.setPartnerId(lineInfo.getPartnerId()); - shopInfo.setShopName("店铺" + NumberConverter.convertArabicToChinese(i + 1)); - shopList.add(shopInfo); + public Integer batchAddShop(List shopInfoList){ + if(CollectionUtils.isEmpty(shopInfoList)){ + return CommonConstants.ZERO; } - return shopInfoMapper.batchAddShop(shopList); + return shopInfoMapper.batchAddShop(shopInfoList); } /** @@ -57,6 +47,9 @@ public class ShopInfoDAO { } public List getShopList(Long lineId){ + if(Objects.isNull(lineId)){ + return new ArrayList<>(); + } return shopInfoMapper.getShopList(lineId); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java new file mode 100644 index 000000000..6bc04d8e4 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java @@ -0,0 +1,85 @@ +package com.cool.store.dao; + +import com.cool.store.constants.CommonConstants; +import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.enums.point.ShopStageEnum; +import com.cool.store.enums.point.ShopSubStageEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; +import com.cool.store.mapper.ShopStageInfoMapper; +import com.google.common.collect.Lists; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * @author zhangchenbiao + * @FileName: ShopStageInfoDAO + * @Description: + * @date 2024-04-10 17:33 + */ +@Repository +public class ShopStageInfoDAO { + + @Resource + private ShopStageInfoMapper shopStageInfoMapper; + + /** + * 初始化店铺阶段信息 + * @param lineId + * @param shopIds + * @param shopStageEnum + * @return + */ + public Integer initShopStageInfo(Long lineId, List shopIds, ShopStageEnum shopStageEnum) { + if(CollectionUtils.isEmpty(shopIds) || Objects.isNull(shopStageEnum)){ + return CommonConstants.ZERO; + } + Integer shopStage = shopStageEnum.getShopStage(); + List shopStageEnumList = ShopSubStageEnum.getShopStageEnum(shopStage); + List addShopStageList = new ArrayList<>(); + for (Long shopId : shopIds) { + for (ShopSubStageEnum shopSubStageEnum : shopStageEnumList) { + ShopStageInfoDO shopStageInfo = new ShopStageInfoDO(); + shopStageInfo.setLineId(lineId); + shopStageInfo.setShopId(shopId); + shopStageInfo.setShopStage(shopStage); + shopStageInfo.setShopSubStage(shopSubStageEnum.getShopSubStage()); + shopStageInfo.setShopSubStageStatus(shopSubStageEnum.getInitStatus().getShopSubStageStatus()); + shopStageInfo.setRemark(shopSubStageEnum.getShopSubStageName() + CommonConstants.PATH_BAR +shopSubStageEnum.getInitStatus().getShopSubStageStatusName()); + addShopStageList.add(shopStageInfo); + } + } + return shopStageInfoMapper.batchInsert(addShopStageList); + } + + /** + * 获取店铺阶段信息 + * @param shopId + * @return + */ + public List getShopStageInfo(Long shopId) { + if(Objects.isNull(shopId)){ + return Lists.newArrayList(); + } + return shopStageInfoMapper.getShopStageInfo(shopId); + } + + /** + * 更新店铺阶段状态 + * @param shopId + * @param shopStageInfo + * @return + */ + public Integer updateShopStageInfo(Long shopId, ShopSubStageStatusEnum shopStageInfo) { + if(Objects.isNull(shopId) || Objects.isNull(shopStageInfo)){ + return CommonConstants.ZERO; + } + String remark = shopStageInfo.getShopSubStageName() + CommonConstants.PATH_BAR +shopStageInfo.getShopSubStageStatusName(); + return shopStageInfoMapper.updateShopStageInfo(shopId, shopStageInfo.getShopSubStageEnum().getShopSubStage(), shopStageInfo.getShopSubStageStatus(), remark); + } + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java new file mode 100644 index 000000000..a4a2c183a --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java @@ -0,0 +1,34 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.ShopStageInfoDO; +import org.apache.ibatis.annotations.Param; +import tk.mybatis.mapper.common.Mapper; + +import java.util.List; + +public interface ShopStageInfoMapper extends Mapper { + + /** + * 批量插入店铺阶段信息 + * @param addShopStageList + * @return + */ + Integer batchInsert(@Param("addShopStageList") List addShopStageList); + + /** + * 获取店铺阶段信息 + * @param shopId + * @return + */ + List getShopStageInfo(@Param("shopId") Long shopId); + + /** + * 跟新店铺阶段信息 + * @param shopId + * @param shopSubStage + * @param shopSubStageStatus + * @param remark + * @return + */ + Integer updateShopStageInfo(@Param("shopId") Long shopId, @Param("shopSubStage") Integer shopSubStage, @Param("shopSubStageStatus") Integer shopSubStageStatus, @Param("remark") String remark); +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml new file mode 100644 index 000000000..820d167d5 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + id, line_id, shop_id, shop_stage, shop_sub_stage, shop_sub_stage_status, remark, deleted, create_time, update_time + + + + + INSERT INTO xfsg_shop_stage_info(line_id, shop_id, shop_stage, shop_sub_stage, shop_sub_stage_status, remark) + VALUES(#{shop.lineId}, #{shop.shopId}, #{shop.shopStage}, #{shop.shopSubStage}, #{shop.shopSubStageStatus}, #{shop.remark}) + + + + + + + update xfsg_shop_stage_info set shop_sub_stage_status = #{shopSubStageStatus}, remark = #{remark} where shop_id = #{shopId} and shop_sub_stage = #{shopSubStage} + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/test/resources/mybatis-generator.properties b/coolstore-partner-dao/src/test/resources/mybatis-generator.properties index c3dc842c5..104bd5db7 100644 --- a/coolstore-partner-dao/src/test/resources/mybatis-generator.properties +++ b/coolstore-partner-dao/src/test/resources/mybatis-generator.properties @@ -1,8 +1,8 @@ jdbc.driver = com.mysql.cj.jdbc.Driver -jdbc.url = jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3306/coolcollege_intelligent_36?useSSL=false&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true +jdbc.url = jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3306/coolcollege_intelligent_69?useSSL=false&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true jdbc.user= coolstore jdbc.password = CSCErYcXniNYm7bT -table.name = xfsg_point_deal_record -table.object.class = PointDealRecordDO -table.mapper = PointDealRecordMapper \ No newline at end of file +table.name = xfsg_shop_stage_info +table.object.class = ShopStageInfoDO +table.mapper = ShopStageInfoMapper \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopStageInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopStageInfoDO.java new file mode 100644 index 000000000..1599d6582 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopStageInfoDO.java @@ -0,0 +1,64 @@ +package com.cool.store.entity; + +import lombok.Data; + +import java.util.Date; +import javax.persistence.*; + +@Data +@Table(name = "xfsg_shop_stage_info") +public class ShopStageInfoDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(name = "line_id") + private Long lineId; + + /** + * 店铺id + */ + @Column(name = "shop_id") + private Long shopId; + + /** + * 店铺阶段 + */ + @Column(name = "shop_stage") + private Integer shopStage; + + /** + * 店铺子阶段 + */ + @Column(name = "shop_sub_stage") + private Integer shopSubStage; + + /** + * 店铺子阶段状态 + */ + @Column(name = "shop_sub_stage_status") + private Integer shopSubStageStatus; + + /** + * 备注 + */ + private String remark; + + /** + * 删除标识 + */ + private Boolean deleted; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopStageVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopStageVO.java new file mode 100644 index 000000000..e1eeca865 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopStageVO.java @@ -0,0 +1,54 @@ +package com.cool.store.vo.shop; + +import com.cool.store.enums.point.ShopStageEnum; +import com.cool.store.enums.point.ShopSubStageEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author zhangchenbiao + * @FileName: ShopStageEnumVO + * @Description: + * @date 2024-04-11 11:13 + */ +@Data +public class ShopStageVO { + + @ApiModelProperty("大阶段") + private Integer shopStage; + + @ApiModelProperty("阶段名称") + private String shopStageName; + + @ApiModelProperty("子阶段") + private List shopSubStageList; + + public ShopStageVO(Integer shopStage, String shopStageName, List shopSubStageList) { + this.shopStage = shopStage; + this.shopStageName = shopStageName; + this.shopSubStageList = shopSubStageList; + } + + public static List getShopStageList() { + List shopStageList = new ArrayList<>(); + for (ShopStageEnum shopStageEnum : ShopStageEnum.values()) { + List shopSubStageList = new ArrayList<>(); + List shopSubStageEnumList = ShopSubStageEnum.getShopStageEnum(shopStageEnum.getShopStage()); + for (ShopSubStageEnum shopSubStageEnum : shopSubStageEnumList) { + List subStageStatusList = new ArrayList<>(); + List shopSubStageStatusEnum = ShopSubStageStatusEnum.getShopSubStageStatusEnum(shopSubStageEnum); + for (ShopSubStageStatusEnum subStageStatusEnum : shopSubStageStatusEnum) { + subStageStatusList.add(new ShopSubStageStatusVO(subStageStatusEnum.getShopSubStageStatus(), subStageStatusEnum.getShopSubStageStatusName())); + } + shopSubStageList.add(new ShopSubStageVO(shopSubStageEnum.getShopSubStage(), shopSubStageEnum.getShopSubStageName(), subStageStatusList)); + } + shopStageList.add(new ShopStageVO(shopStageEnum.getShopStage(), shopStageEnum.getStageName(), shopSubStageList)); + } + return shopStageList; + } + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopSubStageStatusVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopSubStageStatusVO.java new file mode 100644 index 000000000..801e201fb --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopSubStageStatusVO.java @@ -0,0 +1,25 @@ +package com.cool.store.vo.shop; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhangchenbiao + * @FileName: ShopSubStageStatusVO + * @Description: + * @date 2024-04-11 11:16 + */ +@Data +public class ShopSubStageStatusVO { + + @ApiModelProperty("店铺子阶段状态code") + private Integer shopSubStageStatus; + + @ApiModelProperty("店铺子阶段状态name") + private String shopSubStageStatusName; + + public ShopSubStageStatusVO(Integer shopSubStageStatus, String shopSubStageStatusName) { + this.shopSubStageStatus = shopSubStageStatus; + this.shopSubStageStatusName = shopSubStageStatusName; + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopSubStageVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopSubStageVO.java new file mode 100644 index 000000000..a09609be1 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopSubStageVO.java @@ -0,0 +1,32 @@ +package com.cool.store.vo.shop; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhangchenbiao + * @FileName: ShopSubStageStatusVO + * @Description: + * @date 2024-04-11 11:12 + */ +@Data +public class ShopSubStageVO { + + @ApiModelProperty("子阶段code") + private Integer shopSubStage; + + @ApiModelProperty("子阶段名称") + private String shopSubStageName; + + @ApiModelProperty("子阶段状态") + private List subStageStatusList; + + public ShopSubStageVO(Integer shopSubStage, String shopSubStageName, List subStageStatusList) { + this.shopSubStage = shopSubStage; + this.shopSubStageName = shopSubStageName; + this.subStageStatusList = subStageStatusList; + } + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopPointService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java similarity index 99% rename from coolstore-partner-service/src/main/java/com/cool/store/service/ShopPointService.java rename to coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java index 08a6e48bc..7d0cfc90c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopPointService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java @@ -13,7 +13,7 @@ import java.util.List; * @Description: * @date 2024-03-29 15:25 */ -public interface ShopPointService { +public interface PointService { /** * 新增铺位 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java new file mode 100644 index 000000000..17ef1a240 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java @@ -0,0 +1,20 @@ +package com.cool.store.service; + +import com.cool.store.entity.LineInfoDO; + +/** + * @author zhangchenbiao + * @FileName: ShopService + * @Description:店铺 + * @date 2024-04-11 10:25 + */ +public interface ShopService { + + /** + * 初始化店铺数据 + * @param lineInfo + * @return + */ + Integer initShop(LineInfoDO lineInfo); + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopServiceImpl.java new file mode 100644 index 000000000..16d7e74d0 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopServiceImpl.java @@ -0,0 +1,55 @@ +package com.cool.store.service; + +import com.cool.store.dao.ShopInfoDAO; +import com.cool.store.dao.ShopStageInfoDAO; +import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.point.ShopStageEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.utils.NumberConverter; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @author zhangchenbiao + * @FileName: ShopServiceImpl + * @Description: + * @date 2024-04-11 10:26 + */ +@Service +public class ShopServiceImpl implements ShopService{ + + @Resource + private ShopInfoDAO shopInfoDAO; + @Resource + private ShopStageInfoDAO shopStageInfoDAO; + + @Override + @Transactional(rollbackFor = Exception.class) + public Integer initShop(LineInfoDO lineInfo) { + if(Objects.isNull(lineInfo)){ + throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); + } + Integer wantShopNum = lineInfo.getWantShopNum(); + List addShopList = new ArrayList<>(); + for (int i = 0; i < wantShopNum; i++) { + ShopInfoDO shopInfo = new ShopInfoDO(); + shopInfo.setRegionId(lineInfo.getRegionId()); + shopInfo.setLineId(lineInfo.getId()); + shopInfo.setPartnerId(lineInfo.getPartnerId()); + shopInfo.setShopName("店铺" + NumberConverter.convertArabicToChinese(i + 1)); + addShopList.add(shopInfo); + } + shopInfoDAO.batchAddShop(addShopList); + List shopList = shopInfoDAO.getShopList(lineInfo.getId()); + List shopIds = shopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); + return shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds, ShopStageEnum.SHOP_STAGE_1); + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java index 2bb44d9e8..3e9746c7a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java @@ -72,7 +72,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt @Resource private HyPartnerUserChannelDAO hyPartnerUserChannelDAO; @Resource - private ShopInfoDAO shopInfoDAO; + private ShopService shopService; @Override public List getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentDate) { @@ -414,7 +414,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt updateLine.setDevelopmentManager(developmentManager); lineInfoDAO.updateLineInfo(updateLine); //初始化店铺 - shopInfoDAO.initShop(lineInfo); + shopService.initShop(lineInfo); } return lineInterviewDAO.updateInterviewInfo(updateInterviewInfo) > 0; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopPointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java similarity index 99% rename from coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopPointServiceImpl.java rename to coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index 04ba4ee68..807d2cf7d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopPointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -16,7 +16,7 @@ import com.cool.store.exception.ServiceException; import com.cool.store.request.*; import com.cool.store.service.LabelService; import com.cool.store.service.RegionService; -import com.cool.store.service.ShopPointService; +import com.cool.store.service.PointService; import com.cool.store.service.UserAuthMappingService; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.poi.StringUtils; @@ -46,7 +46,7 @@ import java.util.stream.Collectors; */ @Slf4j @Service -public class ShopPointServiceImpl implements ShopPointService { +public class PointServiceImpl implements PointService { @Resource private ShopInfoDAO shopInfoDAO; diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java index 881e5f87c..d306376ff 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java @@ -7,6 +7,7 @@ import com.cool.store.entity.*; import com.cool.store.enums.MessageEnum; import com.cool.store.mapper.HyOpenAreaInfoMapper; import com.cool.store.response.ResponseResult; +import com.cool.store.service.ShopService; import com.cool.store.service.impl.CommonService; import com.cool.store.utils.poi.ExcelUtil; import lombok.extern.slf4j.Slf4j; @@ -29,7 +30,7 @@ public class PCTestController { @Resource private LineInfoDAO lineInfoDAO; @Resource - private ShopInfoDAO shopInfoDAO; + private ShopService shopService; @GetMapping("/sendMessage") @@ -41,7 +42,7 @@ public class PCTestController { @GetMapping("/initShop") public ResponseResult initShop(@RequestParam("lineId")Long lineId){ LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId); - shopInfoDAO.initShop(lineInfo); + shopService.initShop(lineInfo); return ResponseResult.success(Boolean.FALSE); } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ShopPointController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java similarity index 68% rename from coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ShopPointController.java rename to coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java index 97ae26507..b31f67288 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ShopPointController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java @@ -1,11 +1,14 @@ package com.cool.store.controller.webb; import com.cool.store.context.CurrentUserHolder; +import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.request.*; import com.cool.store.response.ResponseResult; -import com.cool.store.service.ShopPointService; +import com.cool.store.service.PointService; import com.cool.store.vo.LinePointBaseInfoVO; import com.cool.store.vo.point.*; +import com.cool.store.vo.shop.ShopStageVO; +import com.cool.store.vo.shop.ShopSubStageVO; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -24,158 +27,164 @@ import java.util.List; @Api(tags = "铺位") @RestController @RequestMapping("/pc/point") -public class ShopPointController { +public class PointController { @Resource - private ShopPointService shopPointService; + private PointService pointService; @ApiOperation("新增铺位") @PostMapping("/add") public ResponseResult addPointDetailInfo(@RequestBody @Validated AddPointDetailRequest shopPointDetailRequest) { - return ResponseResult.success(shopPointService.addPointDetailInfo(shopPointDetailRequest, CurrentUserHolder.getUserId())); + return ResponseResult.success(pointService.addPointDetailInfo(shopPointDetailRequest, CurrentUserHolder.getUserId())); } @ApiOperation("铺位详情") @GetMapping("/detail") public ResponseResult getPointDetailInfo(@RequestParam("pointId")Long pointId) { - return ResponseResult.success(shopPointService.getPointDetailInfo(pointId)); + return ResponseResult.success(pointService.getPointDetailInfo(pointId)); } @ApiOperation("完善铺位") @PostMapping("/update") public ResponseResult updatePointDetailInfo(@RequestBody @Validated UpdatePointDetailRequest shopPointDetailRequest) { - return ResponseResult.success(shopPointService.updatePointDetailInfo(shopPointDetailRequest)); + return ResponseResult.success(pointService.updatePointDetailInfo(shopPointDetailRequest)); } @ApiOperation("生成评估报告") @GetMapping("/generateEvaluationReport") public ResponseResult generateEvaluationReport(@RequestBody PointIdRequest request) { - return ResponseResult.success(shopPointService.generateEvaluationReport(request.getPointId())); + return ResponseResult.success(pointService.generateEvaluationReport(request.getPointId())); } @ApiOperation("铺位失效") @PostMapping("/invalid") public ResponseResult pointInvalid(@RequestBody PointIdRequest request) { - return ResponseResult.success(shopPointService.pointInvalid(request.getPointId())); + return ResponseResult.success(pointService.pointInvalid(request.getPointId())); } @ApiOperation("铺位解绑") @PostMapping("/unbind") public ResponseResult pointUnbind(@RequestBody PointIdRequest request) { - return ResponseResult.success(shopPointService.pointUnbind(request.getPointId())); + return ResponseResult.success(pointService.pointUnbind(request.getPointId())); } @ApiOperation("配置评估报告") @PostMapping("/addMapEvaluationReport") public ResponseResult addMapEvaluationReport(@RequestBody AddMapEvaluationReportRequest request) { - return ResponseResult.success(shopPointService.addMapEvaluationReport(request)); + return ResponseResult.success(pointService.addMapEvaluationReport(request)); } @ApiOperation("提交审批") @PostMapping("/submitAudit") public ResponseResult submitAudit(@RequestBody @Validated SubmitPointAuditRequest request) { - return ResponseResult.success(shopPointService.submitAudit(request)); + return ResponseResult.success(pointService.submitAudit(request)); } @ApiOperation("选址审批设置") @PostMapping("/auditSetting") public ResponseResult auditSetting(@RequestBody AuditSettingRequest request) { - return ResponseResult.success(shopPointService.auditSetting(request)); + return ResponseResult.success(pointService.auditSetting(request)); } @ApiOperation("获取选址审批设置") @GetMapping("/getAuditSetting") public ResponseResult getAuditSetting() { - return ResponseResult.success(shopPointService.getAuditSetting()); + return ResponseResult.success(pointService.getAuditSetting()); } @ApiOperation("获取催办用户列表") @GetMapping("/getTodoUserList") public ResponseResult> getTodoUserList(@RequestParam("pointId")Long pointId) { - return ResponseResult.success(shopPointService.getTodoUserList(pointId)); + return ResponseResult.success(pointService.getTodoUserList(pointId)); } @ApiOperation("营运人员审批") @PostMapping("/operationUserAudit") public ResponseResult operationUserAudit(@RequestBody @Validated OperationAuditRequest request) { - return ResponseResult.success(shopPointService.operationUserAudit(CurrentUserHolder.getUserId(), request)); + return ResponseResult.success(pointService.operationUserAudit(CurrentUserHolder.getUserId(), request)); } @ApiOperation("审批(排除第二级审批)") @PostMapping("/audit") public ResponseResult audit(@RequestBody PointAuditRequest request) { - return ResponseResult.success(shopPointService.audit(CurrentUserHolder.getUserId(), request)); + return ResponseResult.success(pointService.audit(CurrentUserHolder.getUserId(), request)); } @ApiOperation("铺位转让") @PostMapping("/turnDevelopmentManager") public ResponseResult turnDevelopmentManager(@RequestBody @Validated TurnDevelopmentManagerRequest request) { - return ResponseResult.success(shopPointService.turnDevelopmentManager(request)); + return ResponseResult.success(pointService.turnDevelopmentManager(request)); } @ApiOperation("获取我负责的加盟商列表") @PostMapping("/getLinePage") public ResponseResult> getLinePage(@RequestBody PointLinePageRequest request) { request.setDevelopmentManager(CurrentUserHolder.getUserId()); - return ResponseResult.success(shopPointService.getLinePage(request)); + return ResponseResult.success(pointService.getLinePage(request)); } @ApiOperation("首页我的数据") @GetMapping("/getMyData") public ResponseResult getMyPointData() { - return ResponseResult.success(shopPointService.getMyPointData(CurrentUserHolder.getUserId())); + return ResponseResult.success(pointService.getMyPointData(CurrentUserHolder.getUserId())); } @ApiOperation("我的铺位-已入库/暂未入库") @PostMapping("/getMyPointPage") public ResponseResult> getMyPointPage(@RequestBody @Validated PointPageRequest request) { request.setDevelopmentManager(CurrentUserHolder.getUserId()); - return ResponseResult.success(shopPointService.getMyPointPage(request)); + return ResponseResult.success(pointService.getMyPointPage(request)); } @ApiOperation("获取单个铺位审批记录") @GetMapping("/getAuditRecord") public ResponseResult> getPointAllAuditRecord(@RequestParam("pointId")Long pointId) { - return ResponseResult.success(shopPointService.getPointAllAuditRecord(pointId)); + return ResponseResult.success(pointService.getPointAllAuditRecord(pointId)); } @ApiOperation("获取加盟商的推荐铺位列表") @GetMapping("/getLineRecommendPointList") public ResponseResult> getLineRecommendPointList(@RequestParam("lineId")Long lineId) { - return ResponseResult.success(shopPointService.getLineRecommendPointList(lineId)); + return ResponseResult.success(pointService.getLineRecommendPointList(lineId)); } @ApiOperation("选址人员获取可推荐铺位列表") @PostMapping("/getRecommendPointList") public ResponseResult> getRecommendPointList(@RequestBody @Validated RecommendPointPageRequest request) { request.setDevelopmentManager(CurrentUserHolder.getUserId()); - return ResponseResult.success(shopPointService.getRecommendPointList(request)); + return ResponseResult.success(pointService.getRecommendPointList(request)); } @ApiOperation("加盟商详情推送铺位") @PostMapping("/lineRecommendPoint") public ResponseResult lineRecommendPoint(@RequestBody @Validated LineRecommendPointRequest request) { request.setDevelopmentManager(CurrentUserHolder.getUserId()); - return ResponseResult.success(shopPointService.lineRecommendPoint(request)); + return ResponseResult.success(pointService.lineRecommendPoint(request)); } @ApiOperation("铺位详情推送加盟商") @PostMapping("/pointRecommendLine") public ResponseResult pointRecommendLine(@RequestBody @Validated PointRecommendLineRequest request) { request.setDevelopmentManager(CurrentUserHolder.getUserId()); - return ResponseResult.success(shopPointService.pointRecommendLine(request)); + return ResponseResult.success(pointService.pointRecommendLine(request)); } @ApiOperation("选址人员转让加盟商") @PostMapping("/turnLine") public ResponseResult turnLine(@RequestBody @Validated TurnLineRequest request) { - return ResponseResult.success(shopPointService.turnLine(request)); + return ResponseResult.success(pointService.turnLine(request)); } @ApiOperation("修改意向开店数量") @PostMapping("/updateWantShopNum") public ResponseResult updateWantShopNum(@RequestBody @Validated UpdateWantShopNumRequest request) { - return ResponseResult.success(shopPointService.updateWantShopNum(request)); + return ResponseResult.success(pointService.updateWantShopNum(request)); + } + + @ApiOperation("获取阶段/子阶段/子阶段状态枚举") + @GetMapping("/getShopSubStageStatusEnum") + public ResponseResult> getShopSubStageStatusEnum() { + return ResponseResult.success(ShopStageVO.getShopStageList()); }