From 3f23c0ae950eadcbf013920a246b781ab8b15e27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 29 Oct 2025 19:31:38 +0800 Subject: [PATCH 01/14] =?UTF-8?q?feat:=E8=A3=85=E4=BF=AE=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../decoration/DecorationTeamConfigDAO.java | 37 ++++ .../decoration/ShopDecorationAssignDAO.java | 21 +++ .../dao/decoration/TeamAreaMappingDAO.java | 54 ++++++ .../DecorationTeamConfigMapper.java | 7 + .../ShopDecorationAssignMapper.java | 7 + .../decoration/TeamAreaMappingMapper.java | 48 +++++ .../decoration/DecorationTeamConfigMapper.xml | 16 ++ .../decoration/ShopDecorationAssignMapper.xml | 15 ++ .../decoration/TeamAreaMappingMapper.xml | 66 +++++++ .../dto/decoration/DecorationTeamDTO.java | 12 ++ .../dto/decoration/TeamAreaMappingDTO.java | 21 +++ .../decoration/DecorationTeamConfigDO.java | 168 ++++++++++++++++++ .../decoration/ShopDecorationAssignDO.java | 145 +++++++++++++++ .../entity/decoration/TeamAreaMappingDO.java | 97 ++++++++++ .../request/decoration/AddTeamRequest.java | 21 +++ .../request/decoration/UpdateTeamRequest.java | 28 +++ .../service/DecorationHandleService.java | 42 +++++ .../impl/DecorationHandleServiceImpl.java | 94 ++++++++++ 18 files changed, 899 insertions(+) create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/DecorationTeamConfigDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/DecorationTeamConfigMapper.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/TeamAreaMappingMapper.java create mode 100644 coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml create mode 100644 coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml create mode 100644 coolstore-partner-dao/src/main/resources/mapper/decoration/TeamAreaMappingMapper.xml create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationTeamDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/TeamAreaMappingDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/DecorationTeamConfigDO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/ShopDecorationAssignDO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/TeamAreaMappingDO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/decoration/AddTeamRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/decoration/UpdateTeamRequest.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/DecorationTeamConfigDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/DecorationTeamConfigDAO.java new file mode 100644 index 000000000..868dbed2a --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/DecorationTeamConfigDAO.java @@ -0,0 +1,37 @@ +package com.cool.store.dao.decoration; + +import com.cool.store.entity.decoration.DecorationTeamConfigDO; +import com.cool.store.mapper.decoration.DecorationTeamConfigMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/10/29 15:07 + * @Version 1.0 + */ +@Repository +public class DecorationTeamConfigDAO { + + @Resource + private DecorationTeamConfigMapper decorationTeamConfigMapper; + + public void addTeam(DecorationTeamConfigDO decorationTeamConfigDO){ + decorationTeamConfigMapper.insertSelective(decorationTeamConfigDO); + } + + public void updateTeam(DecorationTeamConfigDO decorationTeamConfigDO){ + decorationTeamConfigMapper.updateByPrimaryKeySelective(decorationTeamConfigDO); + } + + public DecorationTeamConfigDO getById(Long id){ + if (id == null){ + return null; + } + return decorationTeamConfigMapper.selectByPrimaryKey(id); + } + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java new file mode 100644 index 000000000..7ad9b71d1 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java @@ -0,0 +1,21 @@ +package com.cool.store.dao.decoration; + +import com.cool.store.mapper.decoration.ShopDecorationAssignMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + * @Author suzhuhong + * @Date 2025/10/29 15:07 + * @Version 1.0 + */ +@Repository +public class ShopDecorationAssignDAO { + + @Resource + private ShopDecorationAssignMapper shopDecorationAssignMapper; + + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java new file mode 100644 index 000000000..52329d379 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java @@ -0,0 +1,54 @@ +package com.cool.store.dao.decoration; + +import com.cool.store.entity.decoration.TeamAreaMappingDO; +import com.cool.store.mapper.decoration.TeamAreaMappingMapper; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Repository; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/10/29 15:08 + * @Version 1.0 + */ +@Repository +public class TeamAreaMappingDAO { + + private TeamAreaMappingMapper teamAreaMappingMapper; + + public void batchInsert(Long teamId,List cityId){ + if (teamId == null || CollectionUtils.isEmpty(cityId)){ + return; + } + List list = new ArrayList<>(); + cityId.forEach(x->{ + TeamAreaMappingDO teamAreaMappingDO = new TeamAreaMappingDO(); + teamAreaMappingDO.setTeamId(teamId); + teamAreaMappingDO.setOpenCityId(x); + list.add(teamAreaMappingDO); + }); + teamAreaMappingMapper.batchInsert(list); + } + + public int deletedByTeamId(Long teamId){ + if (teamId == null){ + return 0; + } + return teamAreaMappingMapper.deletedByTeamId(teamId); + } + + public int deletedIds(List ids){ + if (CollectionUtils.isEmpty(ids)){ + return 0; + } + return teamAreaMappingMapper.deletedIds(ids); + } + + + + + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/DecorationTeamConfigMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/DecorationTeamConfigMapper.java new file mode 100644 index 000000000..1eead2a3f --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/DecorationTeamConfigMapper.java @@ -0,0 +1,7 @@ +package com.cool.store.mapper.decoration; + +import com.cool.store.entity.decoration.DecorationTeamConfigDO; +import tk.mybatis.mapper.common.Mapper; + +public interface DecorationTeamConfigMapper extends Mapper { +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java new file mode 100644 index 000000000..35a6fc8d9 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java @@ -0,0 +1,7 @@ +package com.cool.store.mapper.decoration; + +import com.cool.store.entity.decoration.ShopDecorationAssignDO; +import tk.mybatis.mapper.common.Mapper; + +public interface ShopDecorationAssignMapper extends Mapper { +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/TeamAreaMappingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/TeamAreaMappingMapper.java new file mode 100644 index 000000000..b4cf228be --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/TeamAreaMappingMapper.java @@ -0,0 +1,48 @@ +package com.cool.store.mapper.decoration; + +import com.cool.store.dto.decoration.TeamAreaMappingDTO; +import com.cool.store.entity.decoration.TeamAreaMappingDO; +import org.apache.ibatis.annotations.Param; +import tk.mybatis.mapper.common.Mapper; + +import java.util.List; + +public interface TeamAreaMappingMapper extends Mapper { + + /** + * 批量插入 + * @param list + * @return + */ + Integer batchInsert(@Param("list") List list); + /** + * 根据团队id删除 更新团队id时候删除 + * @param teamId + * @return + */ + Integer deletedByTeamId(@Param("teamId") Long teamId); + + /** + * 根据ids删除 + * @param ids + * @return + */ + Integer deletedIds(@Param("ids") List ids); + + /** + * 根据城市id查询 + * @param cityId + * @return + */ + TeamAreaMappingDO getByCityId(@Param("cityId") Long cityId); + + /** + * 根据团队id批量查询 + * @param teamIdList + * @return + */ + List listByTeamIdList(@Param("teamIdList") List teamIdList); + + + +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml new file mode 100644 index 000000000..2ddba67a1 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml new file mode 100644 index 000000000..b4709b3a2 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/decoration/TeamAreaMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/decoration/TeamAreaMappingMapper.xml new file mode 100644 index 000000000..8c82fd7f2 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/decoration/TeamAreaMappingMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + INSERT INTO zxjp_team_area_mapping ( + team_id, + open_city_id + ) VALUES + + ( + #{item.teamId}, + #{item.openCityId} + ) + + + + + + DELETE FROM zxjp_team_area_mapping + WHERE team_id = #{teamId} + + + + + DELETE FROM zxjp_team_area_mapping + WHERE id IN + + #{id} + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationTeamDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationTeamDTO.java new file mode 100644 index 000000000..881b4327f --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationTeamDTO.java @@ -0,0 +1,12 @@ +package com.cool.store.dto.decoration; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/10/29 18:41 + * @Version 1.0 + */ +@Data +public class DecorationTeamDTO { +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/TeamAreaMappingDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/TeamAreaMappingDTO.java new file mode 100644 index 000000000..0f616ac1a --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/TeamAreaMappingDTO.java @@ -0,0 +1,21 @@ +package com.cool.store.dto.decoration; + +import lombok.Data; + +import javax.persistence.Column; + +/** + * @Author suzhuhong + * @Date 2025/10/29 19:01 + * @Version 1.0 + */ +@Data +public class TeamAreaMappingDTO { + + private Long teamId; + + private Long openCityId; + + private String openCityName; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/DecorationTeamConfigDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/DecorationTeamConfigDO.java new file mode 100644 index 000000000..718b81d42 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/DecorationTeamConfigDO.java @@ -0,0 +1,168 @@ +package com.cool.store.entity.decoration; + +import java.util.Date; +import javax.persistence.*; + +@Table(name = "zxjp_decoration_team_config") +public class DecorationTeamConfigDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 团队名称 + */ + @Column(name = "team_name") + private String teamName; + + /** + * 团队编号 + */ + @Column(name = "team_code") + private String teamCode; + + /** + * 使用系统(1-CRM,2-红圈通) + */ + @Column(name = "use_system") + private Integer useSystem; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + + /** + * 删除状态(0-正常,1-删除) + */ + private Integer deleted; + + /** + * @return id + */ + public Long getId() { + return id; + } + + /** + * @param id + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 获取团队名称 + * + * @return team_name - 团队名称 + */ + public String getTeamName() { + return teamName; + } + + /** + * 设置团队名称 + * + * @param teamName 团队名称 + */ + public void setTeamName(String teamName) { + this.teamName = teamName; + } + + /** + * 获取团队编号 + * + * @return team_code - 团队编号 + */ + public String getTeamCode() { + return teamCode; + } + + /** + * 设置团队编号 + * + * @param teamCode 团队编号 + */ + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + /** + * 获取使用系统(1-CRM,2-红圈通) + * + * @return use_system - 使用系统(1-CRM,2-红圈通) + */ + public Integer getUseSystem() { + return useSystem; + } + + /** + * 设置使用系统(1-CRM,2-红圈通) + * + * @param useSystem 使用系统(1-CRM,2-红圈通) + */ + public void setUseSystem(Integer useSystem) { + this.useSystem = useSystem; + } + + /** + * 获取创建时间 + * + * @return create_time - 创建时间 + */ + public Date getCreateTime() { + return createTime; + } + + /** + * 设置创建时间 + * + * @param createTime 创建时间 + */ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + /** + * 获取更新时间 + * + * @return update_time - 更新时间 + */ + public Date getUpdateTime() { + return updateTime; + } + + /** + * 设置更新时间 + * + * @param updateTime 更新时间 + */ + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + /** + * 获取删除状态(0-正常,1-删除) + * + * @return deleted - 删除状态(0-正常,1-删除) + */ + public Integer getDeleted() { + return deleted; + } + + /** + * 设置删除状态(0-正常,1-删除) + * + * @param deleted 删除状态(0-正常,1-删除) + */ + public void setDeleted(Integer deleted) { + this.deleted = deleted; + } +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/ShopDecorationAssignDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/ShopDecorationAssignDO.java new file mode 100644 index 000000000..8f838ab7d --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/ShopDecorationAssignDO.java @@ -0,0 +1,145 @@ +package com.cool.store.entity.decoration; + +import java.util.Date; +import javax.persistence.*; + +@Table(name = "zxjp_shop_decoration_assign") +public class ShopDecorationAssignDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 装修团队id + */ + @Column(name = "shop_id") + private Long shopId; + + /** + * 分配状态(0-待分配,1-已分配) + */ + @Column(name = "decoration_desc_status") + private Byte decorationDescStatus; + + /** + * 装修团队id + */ + @Column(name = "decoration_team_id") + private Long decorationTeamId; + + /** + * 创建时间 + */ + @Column(name = "created_time") + private Date createdTime; + + /** + * 更新时间 + */ + @Column(name = "updated_time") + private Date updatedTime; + + /** + * @return id + */ + public Long getId() { + return id; + } + + /** + * @param id + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 获取装修团队id + * + * @return shop_id - 装修团队id + */ + public Long getShopId() { + return shopId; + } + + /** + * 设置装修团队id + * + * @param shopId 装修团队id + */ + public void setShopId(Long shopId) { + this.shopId = shopId; + } + + /** + * 获取分配状态(0-待分配,1-已分配) + * + * @return decoration_desc_status - 分配状态(0-待分配,1-已分配) + */ + public Byte getDecorationDescStatus() { + return decorationDescStatus; + } + + /** + * 设置分配状态(0-待分配,1-已分配) + * + * @param decorationDescStatus 分配状态(0-待分配,1-已分配) + */ + public void setDecorationDescStatus(Byte decorationDescStatus) { + this.decorationDescStatus = decorationDescStatus; + } + + /** + * 获取装修团队id + * + * @return decoration_team_id - 装修团队id + */ + public Long getDecorationTeamId() { + return decorationTeamId; + } + + /** + * 设置装修团队id + * + * @param decorationTeamId 装修团队id + */ + public void setDecorationTeamId(Long decorationTeamId) { + this.decorationTeamId = decorationTeamId; + } + + /** + * 获取创建时间 + * + * @return created_time - 创建时间 + */ + public Date getCreatedTime() { + return createdTime; + } + + /** + * 设置创建时间 + * + * @param createdTime 创建时间 + */ + public void setCreatedTime(Date createdTime) { + this.createdTime = createdTime; + } + + /** + * 获取更新时间 + * + * @return updated_time - 更新时间 + */ + public Date getUpdatedTime() { + return updatedTime; + } + + /** + * 设置更新时间 + * + * @param updatedTime 更新时间 + */ + public void setUpdatedTime(Date updatedTime) { + this.updatedTime = updatedTime; + } +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/TeamAreaMappingDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/TeamAreaMappingDO.java new file mode 100644 index 000000000..028ebf824 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/TeamAreaMappingDO.java @@ -0,0 +1,97 @@ +package com.cool.store.entity.decoration; + +import java.util.Date; +import javax.persistence.*; + +@Table(name = "zxjp_team_area_mapping") +public class TeamAreaMappingDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 团队ID + */ + @Column(name = "team_id") + private Long teamId; + + /** + * 城市ID + */ + @Column(name = "open_city_id") + private Long openCityId; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * @return id + */ + public Long getId() { + return id; + } + + /** + * @param id + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 获取团队ID + * + * @return team_id - 团队ID + */ + public Long getTeamId() { + return teamId; + } + + /** + * 设置团队ID + * + * @param teamId 团队ID + */ + public void setTeamId(Long teamId) { + this.teamId = teamId; + } + + /** + * 获取城市ID + * + * @return open_city_id - 城市ID + */ + public Long getOpenCityId() { + return openCityId; + } + + /** + * 设置城市ID + * + * @param openCityId 城市ID + */ + public void setOpenCityId(Long openCityId) { + this.openCityId = openCityId; + } + + /** + * 获取创建时间 + * + * @return create_time - 创建时间 + */ + public Date getCreateTime() { + return createTime; + } + + /** + * 设置创建时间 + * + * @param createTime 创建时间 + */ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/AddTeamRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/AddTeamRequest.java new file mode 100644 index 000000000..8d1d9493d --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/AddTeamRequest.java @@ -0,0 +1,21 @@ +package com.cool.store.request.decoration; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/10/29 16:13 + * @Version 1.0 + */ +@Data +public class AddTeamRequest { + @ApiModelProperty("团队名称") + private String teamName; + @ApiModelProperty("负责区域列表 直传市ID,选择省时,将市Id全部传入") + private List openCityIdList; + @ApiModelProperty("团队名称") + private Integer userSystem; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/UpdateTeamRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/UpdateTeamRequest.java new file mode 100644 index 000000000..3ded0fdea --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/UpdateTeamRequest.java @@ -0,0 +1,28 @@ +package com.cool.store.request.decoration; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/10/29 16:16 + * @Version 1.0 + */ +@Data +public class UpdateTeamRequest { + + @ApiModelProperty("ID") + private Long id; + @ApiModelProperty("团队名称") + private String teamCode; + @ApiModelProperty("团队名称") + private String teamName; + @ApiModelProperty("负责区域列表 直传市ID,选择省时,将市Id全部传入") + private List openCityIdList; + @ApiModelProperty("团队名称") + private Integer userSystem; + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java new file mode 100644 index 000000000..e5eeb781a --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java @@ -0,0 +1,42 @@ +package com.cool.store.service; + +import com.cool.store.request.decoration.AddTeamRequest; +import com.cool.store.request.decoration.UpdateTeamRequest; + +/** + * @Author suzhuhong + * @Date 2025/10/29 15:54 + * @Version 1.0 + */ +public interface DecorationHandleService { + + + /** + * 新增团队 + * @param request + * @return + */ + Boolean addTeam(AddTeamRequest request); + + /** + * 修改团队 + * @param request + * @return + */ + Boolean update(UpdateTeamRequest request); + + /** + * 删除团队 + * @param teamId + * @return + */ + Boolean deleteByTeamId(Long teamId); + + + + + + + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java new file mode 100644 index 000000000..19e3fcd7e --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java @@ -0,0 +1,94 @@ +package com.cool.store.service.impl; + +import com.cool.store.dao.decoration.DecorationTeamConfigDAO; +import com.cool.store.dao.decoration.TeamAreaMappingDAO; +import com.cool.store.entity.decoration.DecorationTeamConfigDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.request.decoration.AddTeamRequest; +import com.cool.store.request.decoration.UpdateTeamRequest; +import com.cool.store.service.DecorationHandleService; +import com.cool.store.utils.RedisUtilPool; +import com.cool.store.utils.StringUtil; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Objects; + +/** + * @Author suzhuhong + * @Date 2025/10/29 15:55 + * @Version 1.0 + */ +@Service +public class DecorationHandleServiceImpl implements DecorationHandleService { + + + @Resource + private DecorationTeamConfigDAO decorationTeamConfigDAO; + @Resource + private TeamAreaMappingDAO teamAreaMappingDAO; + @Resource + RedisUtilPool redisUtilPool; + + @Override + public Boolean addTeam(AddTeamRequest request) { + //校验 + if (Objects.isNull(request)||CollectionUtils.isEmpty(request.getOpenCityIdList()) || StringUtil.isEmpty(request.getTeamName())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + //先删除城市团队关系 + teamAreaMappingDAO.deletedIds(request.getOpenCityIdList()); + + DecorationTeamConfigDO decorationTeamConfigDO = new DecorationTeamConfigDO(); + decorationTeamConfigDO.setTeamName(request.getTeamName()); + decorationTeamConfigDO.setTeamCode(getNextNumber()); + decorationTeamConfigDO.setUseSystem(request.getUserSystem()); + decorationTeamConfigDAO.addTeam(decorationTeamConfigDO); + teamAreaMappingDAO.batchInsert(decorationTeamConfigDO.getId(),request.getOpenCityIdList()); + return Boolean.TRUE; + } + + @Override + public Boolean update(UpdateTeamRequest request) { + if (request.getId() == null||CollectionUtils.isEmpty(request.getOpenCityIdList()) || StringUtil.isEmpty(request.getTeamName())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + DecorationTeamConfigDO teamConfigDO = decorationTeamConfigDAO.getById(request.getId()); + if (teamConfigDO==null){ + throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); + } + teamConfigDO.setTeamName(request.getTeamName()); + teamConfigDO.setUseSystem(request.getUserSystem()); + decorationTeamConfigDAO.updateTeam(teamConfigDO); + //删除团队城市关系 + teamAreaMappingDAO.deletedByTeamId(teamConfigDO.getId()); + //新增更新之后的团队城市关系 + teamAreaMappingDAO.batchInsert(teamConfigDO.getId(),request.getOpenCityIdList()); + return Boolean.TRUE; + } + + @Override + public Boolean deleteByTeamId(Long teamId) { + DecorationTeamConfigDO teamConfigDO = decorationTeamConfigDAO.getById(teamId); + if (teamConfigDO==null){ + throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); + } + teamConfigDO.setDeleted(1); + teamAreaMappingDAO.deletedByTeamId(teamId); + return Boolean.TRUE; + } + + + public String getNextNumber() { + Long current = redisUtilPool.incrby("counter_key", 1); + if (current == 1) { + // 如果是第一次,重新设置为 1(因为 increment 从 0 开始) + redisUtilPool.setString("counter_key", "1"); + current = 1L; + } + return String.format("TD%04d", current); + } + +} From ec73dad33e71322d90ef23913da66ccd37acf12b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 30 Oct 2025 18:34:54 +0800 Subject: [PATCH 02/14] =?UTF-8?q?feat:=E8=A3=85=E4=BF=AE=E5=9B=A2=E9=98=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Decoration/DecorationUseSystemEnum.java | 25 ++++++++ .../decoration/DecorationTeamConfigDAO.java | 5 ++ .../dao/decoration/TeamAreaMappingDAO.java | 12 ++++ .../DecorationTeamConfigMapper.java | 13 ++++ .../decoration/DecorationTeamConfigMapper.xml | 11 ++++ .../dto/decoration/DecorationTeamDTO.java | 13 ++++ .../service/DecorationHandleService.java | 12 ++++ .../impl/DecorationHandleServiceImpl.java | 24 ++++++++ .../webb/DecorationAllocationController.java | 59 +++++++++++++++++++ 9 files changed, 174 insertions(+) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationUseSystemEnum.java create mode 100644 coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DecorationAllocationController.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationUseSystemEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationUseSystemEnum.java new file mode 100644 index 000000000..b304cf76a --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationUseSystemEnum.java @@ -0,0 +1,25 @@ +package com.cool.store.enums.Decoration; + +/** + * @Author suzhuhong + * @Date 2025/10/30 14:35 + * @Version 1.0 + */ +public enum DecorationUseSystemEnum { + + CRM(1,"CRM"), + HQT(2,"红圈通"); + + + private Integer code; + + private String userSystemName; + + + DecorationUseSystemEnum(Integer code, String userSystemName) { + this.code = code; + this.userSystemName = userSystemName; + } + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/DecorationTeamConfigDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/DecorationTeamConfigDAO.java index 868dbed2a..d5111062d 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/DecorationTeamConfigDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/DecorationTeamConfigDAO.java @@ -1,5 +1,6 @@ package com.cool.store.dao.decoration; +import com.cool.store.dto.decoration.DecorationTeamDTO; import com.cool.store.entity.decoration.DecorationTeamConfigDO; import com.cool.store.mapper.decoration.DecorationTeamConfigMapper; import org.springframework.stereotype.Repository; @@ -33,5 +34,9 @@ public class DecorationTeamConfigDAO { return decorationTeamConfigMapper.selectByPrimaryKey(id); } + public List listByCondition(){ + return decorationTeamConfigMapper.listByCondition(); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java index 52329d379..c6c61c720 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java @@ -1,5 +1,7 @@ package com.cool.store.dao.decoration; +import com.aliyun.openservices.shade.com.google.common.collect.Maps; +import com.cool.store.dto.decoration.TeamAreaMappingDTO; import com.cool.store.entity.decoration.TeamAreaMappingDO; import com.cool.store.mapper.decoration.TeamAreaMappingMapper; import org.apache.commons.collections4.CollectionUtils; @@ -7,6 +9,8 @@ import org.springframework.stereotype.Repository; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Author suzhuhong @@ -47,6 +51,14 @@ public class TeamAreaMappingDAO { } + public Map> listByTeamIdList(List teamIdList){ + if (CollectionUtils.isEmpty(teamIdList)){ + return Maps.newHashMap(); + } + List teamAreaMappingDTOS = teamAreaMappingMapper.listByTeamIdList(teamIdList); + Map> map = teamAreaMappingDTOS.stream().collect(Collectors.groupingBy(TeamAreaMappingDTO::getTeamId)); + return map; + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/DecorationTeamConfigMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/DecorationTeamConfigMapper.java index 1eead2a3f..2cff39b62 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/DecorationTeamConfigMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/DecorationTeamConfigMapper.java @@ -1,7 +1,20 @@ package com.cool.store.mapper.decoration; +import com.cool.store.dto.decoration.DecorationTeamDTO; import com.cool.store.entity.decoration.DecorationTeamConfigDO; import tk.mybatis.mapper.common.Mapper; +import java.util.List; + public interface DecorationTeamConfigMapper extends Mapper { + + + /** + * 查询团队 + * @return + */ + List listByCondition(); + + + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml index 2ddba67a1..c89ee9ca1 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml @@ -13,4 +13,15 @@ + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationTeamDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationTeamDTO.java index 881b4327f..0c8ab3113 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationTeamDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationTeamDTO.java @@ -2,6 +2,8 @@ package com.cool.store.dto.decoration; import lombok.Data; +import java.util.List; + /** * @Author suzhuhong * @Date 2025/10/29 18:41 @@ -9,4 +11,15 @@ import lombok.Data; */ @Data public class DecorationTeamDTO { + + private Long id; + + private String teamName; + + private String teamCode; + + private Integer useSystem; + + private List cityList; + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java index e5eeb781a..578017d5f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java @@ -1,7 +1,12 @@ package com.cool.store.service; +import com.cool.store.common.PageBasicInfo; +import com.cool.store.dto.decoration.DecorationTeamDTO; import com.cool.store.request.decoration.AddTeamRequest; import com.cool.store.request.decoration.UpdateTeamRequest; +import com.github.pagehelper.PageInfo; + +import java.util.List; /** * @Author suzhuhong @@ -32,6 +37,13 @@ public interface DecorationHandleService { */ Boolean deleteByTeamId(Long teamId); + /** + * pageBasicInfo + * 根据条件查询团队 + * @return + */ + PageInfo listByCondition(PageBasicInfo pageBasicInfo ); + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java index 19e3fcd7e..5a2a47a0c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java @@ -1,7 +1,10 @@ package com.cool.store.service.impl; +import com.cool.store.common.PageBasicInfo; import com.cool.store.dao.decoration.DecorationTeamConfigDAO; import com.cool.store.dao.decoration.TeamAreaMappingDAO; +import com.cool.store.dto.decoration.DecorationTeamDTO; +import com.cool.store.dto.decoration.TeamAreaMappingDTO; import com.cool.store.entity.decoration.DecorationTeamConfigDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; @@ -10,11 +13,16 @@ import com.cool.store.request.decoration.UpdateTeamRequest; import com.cool.store.service.DecorationHandleService; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.StringUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; /** * @Author suzhuhong @@ -80,6 +88,22 @@ public class DecorationHandleServiceImpl implements DecorationHandleService { return Boolean.TRUE; } + @Override + public PageInfo listByCondition(PageBasicInfo pageBasicInfo) { + PageHelper.startPage(pageBasicInfo.getPageNum(), pageBasicInfo.getPageSize()); + List list = decorationTeamConfigDAO.listByCondition(); + if (CollectionUtils.isEmpty(list)){ + return new PageInfo<>(); + } + List teamIds = list.stream().map(DecorationTeamDTO::getId).collect(Collectors.toList()); + Map> listMap = teamAreaMappingDAO.listByTeamIdList(teamIds); + list.forEach(x->{ + x.setCityList(listMap.get(x.getId())); + }); + PageInfo result = new PageInfo<>(list); + return result; + } + public String getNextNumber() { Long current = redisUtilPool.incrby("counter_key", 1); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DecorationAllocationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DecorationAllocationController.java new file mode 100644 index 000000000..21cae571a --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DecorationAllocationController.java @@ -0,0 +1,59 @@ +package com.cool.store.controller.webb; + +import com.cool.store.common.PageBasicInfo; +import com.cool.store.dto.decoration.DecorationTeamDTO; +import com.cool.store.request.decoration.AddTeamRequest; +import com.cool.store.request.decoration.UpdateTeamRequest; +import com.cool.store.service.DecorationHandleService; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @Author suzhuhong + * @Date 2025/10/30 18:00 + * @Version 1.0 + */ +@RequestMapping("/pc/decoration") +@RestController +@Api(tags = "装修分配团队") +@Slf4j +public class DecorationAllocationController { + + @Resource + private DecorationHandleService decorationHandleService; + + + @PostMapping("/addTeam") + @ApiOperation("添加团队") + public Boolean addTeam(AddTeamRequest request){ + return decorationHandleService.addTeam(request); + } + + @PostMapping("/update") + @ApiOperation("修改团队") + public Boolean update(UpdateTeamRequest request){ + return decorationHandleService.update(request); + } + + @PostMapping("/deleteByTeamId") + @ApiOperation("删除团队") + public Boolean deleteByTeamId(Long teamId){ + return decorationHandleService.deleteByTeamId(teamId); + } + + + @PostMapping("/listByCondition") + @ApiOperation("查询团队") + public PageInfo listByCondition(PageBasicInfo pageBasicInfo){ + return decorationHandleService.listByCondition(pageBasicInfo); + } + + +} From 45a53a5607b679d97c757a4b6b992970174e0add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 31 Oct 2025 09:58:04 +0800 Subject: [PATCH 03/14] =?UTF-8?q?feat:=E5=9B=A2=E9=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/decoration/TeamAreaMappingDAO.java | 2 ++ .../decoration/DecorationTeamConfigMapper.xml | 4 ++-- .../impl/DecorationHandleServiceImpl.java | 1 + .../webb/DecorationAllocationController.java | 18 ++++++++++-------- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java index c6c61c720..e92e5e2af 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java @@ -7,6 +7,7 @@ import com.cool.store.mapper.decoration.TeamAreaMappingMapper; 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.Map; @@ -20,6 +21,7 @@ import java.util.stream.Collectors; @Repository public class TeamAreaMappingDAO { + @Resource private TeamAreaMappingMapper teamAreaMappingMapper; public void batchInsert(Long teamId,List cityId){ diff --git a/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml index c89ee9ca1..733a5c109 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/decoration/DecorationTeamConfigMapper.xml @@ -21,7 +21,7 @@ t.team_code, t.use_system from - zxjp_decoration_team_config - where deleted = 0 + zxjp_decoration_team_config t + where t.deleted = 0 \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java index 5a2a47a0c..3eaba3aba 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java @@ -85,6 +85,7 @@ public class DecorationHandleServiceImpl implements DecorationHandleService { } teamConfigDO.setDeleted(1); teamAreaMappingDAO.deletedByTeamId(teamId); + decorationTeamConfigDAO.updateTeam(teamConfigDO); return Boolean.TRUE; } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DecorationAllocationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DecorationAllocationController.java index 21cae571a..8fa3dc4f9 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DecorationAllocationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DecorationAllocationController.java @@ -4,12 +4,14 @@ import com.cool.store.common.PageBasicInfo; import com.cool.store.dto.decoration.DecorationTeamDTO; import com.cool.store.request.decoration.AddTeamRequest; import com.cool.store.request.decoration.UpdateTeamRequest; +import com.cool.store.response.ResponseResult; import com.cool.store.service.DecorationHandleService; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -32,27 +34,27 @@ public class DecorationAllocationController { @PostMapping("/addTeam") @ApiOperation("添加团队") - public Boolean addTeam(AddTeamRequest request){ - return decorationHandleService.addTeam(request); + public ResponseResult addTeam(@RequestBody AddTeamRequest request){ + return ResponseResult.success(decorationHandleService.addTeam(request)); } @PostMapping("/update") @ApiOperation("修改团队") - public Boolean update(UpdateTeamRequest request){ - return decorationHandleService.update(request); + public ResponseResult update(@RequestBody UpdateTeamRequest request){ + return ResponseResult.success(decorationHandleService.update(request)); } @PostMapping("/deleteByTeamId") @ApiOperation("删除团队") - public Boolean deleteByTeamId(Long teamId){ - return decorationHandleService.deleteByTeamId(teamId); + public ResponseResult deleteByTeamId(Long teamId){ + return ResponseResult.success(decorationHandleService.deleteByTeamId(teamId)); } @PostMapping("/listByCondition") @ApiOperation("查询团队") - public PageInfo listByCondition(PageBasicInfo pageBasicInfo){ - return decorationHandleService.listByCondition(pageBasicInfo); + public ResponseResult> listByCondition(@RequestBody PageBasicInfo pageBasicInfo){ + return ResponseResult.success(decorationHandleService.listByCondition(pageBasicInfo)); } From 18fb551a728f2b590a932ea11faaf9698944a6a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 31 Oct 2025 15:14:08 +0800 Subject: [PATCH 04/14] =?UTF-8?q?feat:=E5=9B=A2=E9=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/dao/decoration/TeamAreaMappingDAO.java | 5 +++++ .../store/service/DecorationHandleService.java | 7 +++++++ .../service/impl/DecorationHandleServiceImpl.java | 15 +++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java index e92e5e2af..3a6313a9b 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/TeamAreaMappingDAO.java @@ -5,6 +5,7 @@ import com.cool.store.dto.decoration.TeamAreaMappingDTO; import com.cool.store.entity.decoration.TeamAreaMappingDO; import com.cool.store.mapper.decoration.TeamAreaMappingMapper; import org.apache.commons.collections4.CollectionUtils; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -52,6 +53,10 @@ public class TeamAreaMappingDAO { return teamAreaMappingMapper.deletedIds(ids); } + public TeamAreaMappingDO getByCityId(Long cityId){ + return teamAreaMappingMapper.getByCityId(cityId); + } + public Map> listByTeamIdList(List teamIdList){ if (CollectionUtils.isEmpty(teamIdList)){ diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java index 578017d5f..5207a464a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java @@ -44,6 +44,13 @@ public interface DecorationHandleService { */ PageInfo listByCondition(PageBasicInfo pageBasicInfo ); + /** + * openCityId + * @param openCityId + * @return + */ + Long getDecorationTeamIdByCityId(Long openCityId); + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java index 3eaba3aba..8a4a81594 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java @@ -6,6 +6,8 @@ import com.cool.store.dao.decoration.TeamAreaMappingDAO; import com.cool.store.dto.decoration.DecorationTeamDTO; import com.cool.store.dto.decoration.TeamAreaMappingDTO; import com.cool.store.entity.decoration.DecorationTeamConfigDO; +import com.cool.store.entity.decoration.TeamAreaMappingDO; +import com.cool.store.enums.Decoration.DecorationUseSystemEnum; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.decoration.AddTeamRequest; @@ -105,6 +107,19 @@ public class DecorationHandleServiceImpl implements DecorationHandleService { return result; } + @Override + public Long getDecorationTeamIdByCityId(Long openCityId) { + if (openCityId==null){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + TeamAreaMappingDO cityInfo = teamAreaMappingDAO.getByCityId(openCityId); + if (Objects.isNull(cityInfo)){ + return null; + } + DecorationTeamConfigDO teamInfo = decorationTeamConfigDAO.getById(cityInfo.getTeamId()); + return teamInfo.getId(); + } + public String getNextNumber() { Long current = redisUtilPool.incrby("counter_key", 1); From 614f42f7ca68813b01fb2ba78bb696f69f01ef11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 3 Nov 2025 15:09:54 +0800 Subject: [PATCH 05/14] feat:handleDecorationTeam --- .../Decoration/DecorationDescStatus.java | 37 ++++++++ .../Decoration/DecorationUseSystemEnum.java | 7 ++ .../com/cool/store/enums/ErrorCodeEnum.java | 9 +- .../cool/store/enums/RocketMqGroupEnum.java | 3 +- .../com/cool/store/enums/RocketMqTagEnum.java | 3 +- .../decoration/ShopDecorationAssignDAO.java | 50 +++++++++++ .../ShopDecorationAssignMapper.java | 23 +++++ .../decoration/ShopDecorationAssignMapper.xml | 60 +++++++++++++ .../dto/decoration/DecorationListDTO.java | 50 +++++++++++ .../decoration/ShopDecorationAssignDO.java | 6 +- .../decoration/DecorationListRequest.java | 38 ++++++++ .../store/mq/consumer/ConsumerClient.java | 16 ++++ .../ShopDecorationAssignListener.java | 60 +++++++++++++ .../service/DecorationHandleService.java | 16 ++++ .../store/service/SignFranchiseService.java | 3 + .../impl/DecorationHandleServiceImpl.java | 86 ++++++++++++++++++- .../impl/SignFranchiseServiceImpl.java | 40 ++++++++- 17 files changed, 493 insertions(+), 14 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationDescStatus.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationListDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/decoration/DecorationListRequest.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/ShopDecorationAssignListener.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationDescStatus.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationDescStatus.java new file mode 100644 index 000000000..ca91fe397 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationDescStatus.java @@ -0,0 +1,37 @@ +package com.cool.store.enums.Decoration; + +/** + * @Author suzhuhong + * @Date 2025/11/3 9:40 + * @Version 1.0 + */ +public enum DecorationDescStatus { + + TO_BE_ASSIGNED(0, "待分配"), + ASSIGNED(1, "已分配"), + ; + + + + + private Integer code; + + private String descStatus; + + DecorationDescStatus(Integer code, String descStatus) { + this.code = code; + this.descStatus = descStatus; + } + + public Integer getCode() { + return code; + } + + public String getDescStatus() { + return descStatus; + } + + + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationUseSystemEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationUseSystemEnum.java index b304cf76a..807068d63 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationUseSystemEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/Decoration/DecorationUseSystemEnum.java @@ -21,5 +21,12 @@ public enum DecorationUseSystemEnum { this.userSystemName = userSystemName; } + public Integer getCode() { + return code; + } + + public String getUserSystemName() { + return userSystemName; + } } diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index cbbb7cdd3..32ee77f96 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -310,9 +310,12 @@ public enum ErrorCodeEnum { MESSAGE_NOT_HANDLED(1610008,"当前消息无需处理,请确认消息处理类型!",null), MESSAGE_PUBLISH(1610009,"您选择通知任务正在发布中,请稍后重试!",null), - NOT_FLAGSHIP_STORE(16100005,"非直营店,无法跳过缴费阶段!",null), - NOT_FLAGSHIP_STORE_NOT_EXIST(16100006,"当前阶段加盟类型不能变更!",null), - JOIN_MODE_NOT_ALLOW_OPERATE(16100007,"加盟部人员只能新建加盟店或联营店,请确认!",null), + NOT_FLAGSHIP_STORE(1611005,"非直营店,无法跳过缴费阶段!",null), + NOT_FLAGSHIP_STORE_NOT_EXIST(1611006,"当前阶段加盟类型不能变更!",null), + JOIN_MODE_NOT_ALLOW_OPERATE(1611007,"加盟部人员只能新建加盟店或联营店,请确认!",null), + + //装修 + TEAM_USED(1612001,"该装修团队有门店使用,无法删除,请确认!",null), ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqGroupEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqGroupEnum.java index 76e751674..68ebaf10f 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqGroupEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqGroupEnum.java @@ -33,7 +33,8 @@ public enum RocketMqGroupEnum { FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE, RocketMqTagEnum.DEPT_EVENT))), - STORE_USER_UPDATE("store_user_update", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STORE_USER_UPDATE))) + STORE_USER_UPDATE("store_user_update", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STORE_USER_UPDATE))), + SHOP_DECORATION_ASSIGN("shop_decoration_assign", new ArrayList<>(Arrays.asList(RocketMqTagEnum.DELAY_SHOP_DECORATION_ASSIGN))) ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java index 4635dd69d..b8b2bba54 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java @@ -18,7 +18,8 @@ public enum RocketMqTagEnum { ZXJP_CREATE_STORE("zxjp_create_store", "正新鸡排招商创建门店"), PARTNER_LICENSE_SYNC_QUEUE("partner_license_sync_queue", "招商证照信息同步"), BUSINESS_SYNC("business_sync", "工商食安信息同步"), - STORE_USER_UPDATE("store_user_update", "门店信息人员变更同步菜品"); + STORE_USER_UPDATE("store_user_update", "门店信息人员变更同步菜品"), + DELAY_SHOP_DECORATION_ASSIGN("shop_decoration_assign","门店装修分配"); ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java index 7ad9b71d1..8b75e8fbd 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java @@ -1,9 +1,16 @@ package com.cool.store.dao.decoration; +import com.cool.store.dao.HyOpenAreaInfoDAO; +import com.cool.store.dto.decoration.DecorationListDTO; +import com.cool.store.entity.HyOpenAreaInfoDO; +import com.cool.store.entity.decoration.ShopDecorationAssignDO; import com.cool.store.mapper.decoration.ShopDecorationAssignMapper; +import com.cool.store.request.decoration.DecorationListRequest; import org.springframework.stereotype.Repository; import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; /** * @Author suzhuhong @@ -15,7 +22,50 @@ public class ShopDecorationAssignDAO { @Resource private ShopDecorationAssignMapper shopDecorationAssignMapper; + @Resource + HyOpenAreaInfoDAO hyOpenAreaInfoDAO; + public Integer insert(ShopDecorationAssignDO shopDecorationAssignDO) { + if (shopDecorationAssignDO == null){ + return 0; + } + return shopDecorationAssignMapper.insert(shopDecorationAssignDO); + } + + public ShopDecorationAssignDO getById(Long id) { + if (id == null){ + return null; + } + return shopDecorationAssignMapper.selectByPrimaryKey(id); + } + + public Integer update(ShopDecorationAssignDO shopDecorationAssignDO) { + if (shopDecorationAssignDO == null){ + return 0; + } + return shopDecorationAssignMapper.updateByPrimaryKey(shopDecorationAssignDO); + } + + public Integer countByTeamId(Long teamId) { + if (teamId == null){ + return 0; + } + return shopDecorationAssignMapper.countByTeamId(teamId); + } + + public List listByCondition(DecorationListRequest request) { + if (request == null){ + return null; + } + if (request.getWantShopAreaId()!=null){ + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(request.getWantShopAreaId()); + List hyOpenAreaInfoDOList = hyOpenAreaInfoDAO.queryByKeyword(hyOpenAreaInfoDO.getAreaPath(), null, null, false); + List wantShopAreaIds = hyOpenAreaInfoDOList.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toList()); + request.setWantShopAreaIds(wantShopAreaIds); + } + return shopDecorationAssignMapper.listByCondition(request); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java index 35a6fc8d9..26c7a25f3 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java @@ -1,7 +1,30 @@ package com.cool.store.mapper.decoration; +import com.cool.store.dto.decoration.DecorationListDTO; import com.cool.store.entity.decoration.ShopDecorationAssignDO; +import com.cool.store.request.decoration.DecorationListRequest; +import org.apache.ibatis.annotations.Param; import tk.mybatis.mapper.common.Mapper; +import java.util.List; + public interface ShopDecorationAssignMapper extends Mapper { + + + /** + * 查询团队被门店使用次数 + * @param teamId + * @return + */ + Integer countByTeamId(Long teamId); + + /** + * 查询分配装修团队列表 + * @param request + * @return + */ + List listByCondition(@Param("request") DecorationListRequest request); + + + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml index b4709b3a2..b7c9e78b3 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml @@ -12,4 +12,64 @@ + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationListDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationListDTO.java new file mode 100644 index 000000000..8abea507f --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationListDTO.java @@ -0,0 +1,50 @@ +package com.cool.store.dto.decoration; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/3 11:23 + * @Version 1.0 + */ +@Data +public class DecorationListDTO { + + @ApiModelProperty("门店ID") + private Long shopId; + + @ApiModelProperty("门店名称") + private String shopName; + + @ApiModelProperty("门店编号") + private String shopCode; + + @ApiModelProperty("门店区域ID") + private String regionId; + + @ApiModelProperty("门店区域名称") + private String regionName; + + @ApiModelProperty("门店省") + private String province; + + @ApiModelProperty("门店市") + private String city; + + @ApiModelProperty("门店县") + private String district; + + @ApiModelProperty("门店详细地址") + private String detailAddress; + + @ApiModelProperty("门店类型") + private Integer storeType; + + @ApiModelProperty("门店签约类型") + private Integer signType; + + @ApiModelProperty("门店装修分配状态") + private Integer decorationDescStatus; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/ShopDecorationAssignDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/ShopDecorationAssignDO.java index 8f838ab7d..b2e45d82e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/ShopDecorationAssignDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/decoration/ShopDecorationAssignDO.java @@ -19,7 +19,7 @@ public class ShopDecorationAssignDO { * 分配状态(0-待分配,1-已分配) */ @Column(name = "decoration_desc_status") - private Byte decorationDescStatus; + private Integer decorationDescStatus; /** * 装修团队id @@ -76,7 +76,7 @@ public class ShopDecorationAssignDO { * * @return decoration_desc_status - 分配状态(0-待分配,1-已分配) */ - public Byte getDecorationDescStatus() { + public Integer getDecorationDescStatus() { return decorationDescStatus; } @@ -85,7 +85,7 @@ public class ShopDecorationAssignDO { * * @param decorationDescStatus 分配状态(0-待分配,1-已分配) */ - public void setDecorationDescStatus(Byte decorationDescStatus) { + public void setDecorationDescStatus(Integer decorationDescStatus) { this.decorationDescStatus = decorationDescStatus; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/DecorationListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/DecorationListRequest.java new file mode 100644 index 000000000..328e96bb8 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/decoration/DecorationListRequest.java @@ -0,0 +1,38 @@ +package com.cool.store.request.decoration; + +import com.cool.store.common.PageBasicInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/11/3 13:31 + * @Version 1.0 + */ +@Data +public class DecorationListRequest extends PageBasicInfo { + + @ApiModelProperty("关键字 门店名称/门店编码") + private String keyword; + + @ApiModelProperty("门店类型") + private Integer storeType; + + @ApiModelProperty("门店签约类型") + private Integer signType; + + @ApiModelProperty("门店区域ID") + private Integer regionId; + + @ApiModelProperty("门店意向开店区域") + private Long wantShopAreaId; + + @ApiModelProperty(value = "门店意向开店区域IDs",hidden = true) + private List wantShopAreaIds; + + @ApiModelProperty("门店装修分配状态") + private Integer decorationDescStatus; + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/ConsumerClient.java b/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/ConsumerClient.java index e720e5c03..fd3635272 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/ConsumerClient.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/ConsumerClient.java @@ -8,6 +8,7 @@ import com.aliyun.openservices.ons.api.bean.Subscription; import com.cool.store.constants.CommonConstants; import com.cool.store.enums.RocketMqGroupEnum; import com.cool.store.mq.RocketMqConfig; +import com.cool.store.mq.consumer.listener.ShopDecorationAssignListener; import com.cool.store.mq.consumer.listener.StoreUserUpdateListener; import com.cool.store.mq.consumer.listener.XfsgTrainingPersonSyncListener; import com.google.common.collect.Maps; @@ -35,6 +36,8 @@ public class ConsumerClient { private XfsgTrainingPersonSyncListener xfsgTrainingPersonSyncListener; @Resource private StoreUserUpdateListener storeUserUpdateListener; + @Resource + private ShopDecorationAssignListener shopDecorationAssignListener; /** * 获取通用配置 @@ -101,4 +104,17 @@ public class ConsumerClient { return consumerBean; } + @Bean(initMethod = "start", destroyMethod = "shutdown") + public ConsumerBean shopDecorationAssign() { + RocketMqGroupEnum groupEnum = RocketMqGroupEnum.SHOP_DECORATION_ASSIGN; + ConsumerBean consumerBean = new ConsumerBean(); + //配置文件 + Properties properties = getCommonProperties(groupEnum); + consumerBean.setProperties(properties); + Map commonSubscriptionTable = getCommonSubscriptionTable(groupEnum, shopDecorationAssignListener); + //订阅多个topic如上面设置 + consumerBean.setSubscriptionTable(commonSubscriptionTable); + return consumerBean; + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/ShopDecorationAssignListener.java b/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/ShopDecorationAssignListener.java new file mode 100644 index 000000000..b394b6872 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/ShopDecorationAssignListener.java @@ -0,0 +1,60 @@ +package com.cool.store.mq.consumer.listener; + +import com.alibaba.fastjson.JSONObject; +import com.aliyun.openservices.ons.api.Action; +import com.aliyun.openservices.ons.api.ConsumeContext; +import com.aliyun.openservices.ons.api.Message; +import com.aliyun.openservices.ons.api.MessageListener; +import com.cool.store.constants.CommonConstants; +import com.cool.store.dto.store.StoreUserPositionDTO; +import com.cool.store.dto.store.StoreUserUpdateDTO; +import com.cool.store.service.DecorationHandleService; +import com.cool.store.utils.RedisUtilPool; +import lombok.extern.slf4j.Slf4j; +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 javax.annotation.Resource; +import java.util.Arrays; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/11/3 10:13 + * @Version 1.0 + */ +@Slf4j +@Service +public class ShopDecorationAssignListener implements MessageListener { + + @Autowired + public RedisUtilPool redisUtilPool; + @Resource + DecorationHandleService decorationHandleService; + + @Override + public Action consume(Message message, ConsumeContext context) { + String text = new String(message.getBody()); + if(StringUtils.isBlank(text)){ + log.info("消息体为空,tag:{},messageId:{}",message.getTag(),message.getMsgID()); + return Action.CommitMessage; + } + String lockKey = "ShopDecorationAssignListener:" + message.getMsgID(); + boolean lock = redisUtilPool.setNxExpire(lockKey, message.getMsgID(), CommonConstants.NORMAL_LOCK_TIMES); + if(lock){ + try { + decorationHandleService.handleDecorationTeam(Long.valueOf(text)); + }catch (Exception e){ + log.error("ShopDecorationAssignListener consume error",e); + return Action.ReconsumeLater; + }finally { + redisUtilPool.delKey(lockKey); + } + log.info("消费成功,tag:{},messageId:{},reqBody={}",message.getTag(),message.getMsgID(),text); + return Action.CommitMessage; + } + return Action.ReconsumeLater; + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java index 5207a464a..a1a186f84 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationHandleService.java @@ -1,8 +1,10 @@ package com.cool.store.service; import com.cool.store.common.PageBasicInfo; +import com.cool.store.dto.decoration.DecorationListDTO; import com.cool.store.dto.decoration.DecorationTeamDTO; import com.cool.store.request.decoration.AddTeamRequest; +import com.cool.store.request.decoration.DecorationListRequest; import com.cool.store.request.decoration.UpdateTeamRequest; import com.github.pagehelper.PageInfo; @@ -51,6 +53,20 @@ public interface DecorationHandleService { */ Long getDecorationTeamIdByCityId(Long openCityId); + /** + * 处理团队 + * @param teamId + * @return + */ + Boolean handleDecorationTeam(Long decorationAssignId); + + /** + * 列表 + * @param request + * @return + */ + PageInfo listByCondition(DecorationListRequest request); + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java index cff97e9ec..c37b2d3f8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java @@ -4,6 +4,7 @@ import com.cool.store.context.LoginUserInfo; import com.cool.store.request.AddSignFranchiseRequest; import com.cool.store.request.AuditApproveRequest; import com.cool.store.request.AuditResultRequest; +import com.cool.store.request.HqtBuildRequest; import com.cool.store.response.AddSignFranchiseResponse; import com.cool.store.response.ResponseResult; @@ -42,4 +43,6 @@ public interface SignFranchiseService { Boolean rePay(Long shopId); Integer dateHandle(); + + HqtBuildRequest getHqtBuildRequest(Long shopId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java index 8a4a81594..32d31431f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java @@ -1,29 +1,43 @@ package com.cool.store.service.impl; import com.cool.store.common.PageBasicInfo; +import com.cool.store.dao.RegionDao; +import com.cool.store.dao.ShopInfoDAO; +import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.dao.decoration.DecorationTeamConfigDAO; +import com.cool.store.dao.decoration.ShopDecorationAssignDAO; import com.cool.store.dao.decoration.TeamAreaMappingDAO; +import com.cool.store.dto.decoration.DecorationListDTO; import com.cool.store.dto.decoration.DecorationTeamDTO; import com.cool.store.dto.decoration.TeamAreaMappingDTO; +import com.cool.store.entity.RegionDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.entity.decoration.DecorationTeamConfigDO; +import com.cool.store.entity.decoration.ShopDecorationAssignDO; import com.cool.store.entity.decoration.TeamAreaMappingDO; +import com.cool.store.enums.Decoration.DecorationDescStatus; import com.cool.store.enums.Decoration.DecorationUseSystemEnum; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.JoinModeEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.decoration.AddTeamRequest; +import com.cool.store.request.decoration.DecorationListRequest; import com.cool.store.request.decoration.UpdateTeamRequest; import com.cool.store.service.DecorationHandleService; +import com.cool.store.service.HqtAPIService; +import com.cool.store.service.SignFranchiseService; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.StringUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import springfox.documentation.service.ApiListing; import javax.annotation.Resource; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -32,6 +46,7 @@ import java.util.stream.Collectors; * @Version 1.0 */ @Service +@Slf4j public class DecorationHandleServiceImpl implements DecorationHandleService { @@ -40,7 +55,19 @@ public class DecorationHandleServiceImpl implements DecorationHandleService { @Resource private TeamAreaMappingDAO teamAreaMappingDAO; @Resource + ShopDecorationAssignDAO shopDecorationAssignDAO; + @Resource RedisUtilPool redisUtilPool; + @Resource + private HqtAPIService hqtAPIService; + @Resource + ShopStageInfoDAO shopStageInfoDAO; + @Resource + ShopInfoDAO shopInfoDAO; + @Resource + SignFranchiseService signFranchiseService; + @Resource + RegionDao regionDao; @Override public Boolean addTeam(AddTeamRequest request) { @@ -85,6 +112,11 @@ public class DecorationHandleServiceImpl implements DecorationHandleService { if (teamConfigDO==null){ throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } + //查询当前团队是否有门店使用 有的话 不能删除 + Integer count = shopDecorationAssignDAO.countByTeamId(teamId); + if (count != null && count > 0){ + throw new ServiceException(ErrorCodeEnum.TEAM_USED); + } teamConfigDO.setDeleted(1); teamAreaMappingDAO.deletedByTeamId(teamId); decorationTeamConfigDAO.updateTeam(teamConfigDO); @@ -120,6 +152,54 @@ public class DecorationHandleServiceImpl implements DecorationHandleService { return teamInfo.getId(); } + @Override + public Boolean handleDecorationTeam(Long decorationAssignId) { + //先查询 + ShopDecorationAssignDO shopDecorationAssign = shopDecorationAssignDAO.getById(decorationAssignId); + if (shopDecorationAssign == null){ + log.info("handleDecorationTeam_error data not exist"); + return Boolean.FALSE; + } + //如果门店是已经分配状态 则不能再次分配 + if (DecorationDescStatus.ASSIGNED.getCode().equals(shopDecorationAssign.getDecorationDescStatus())){ + log.info("handleDecorationTeam id:{},门店已分配",decorationAssignId); + } + //没有分配的门店 开始分配 + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(shopDecorationAssign.getShopId()); + //查询装修团队 + DecorationTeamConfigDO teamInfo = decorationTeamConfigDAO.getById(shopDecorationAssign.getDecorationTeamId()); + if (teamInfo == null){ + log.info("handleDecorationTeam_error team not exist"); + return Boolean.FALSE; + } + //配置的系统是红圈通 且不是加盟公司自有店 则推送数据 也就是配置了crm或者是加盟公司自有店 走crm流程 + if (teamInfo.getUseSystem().equals(DecorationUseSystemEnum.HQT.getCode())&&!shopInfoDO.getJoinMode().equals(JoinModeEnum.OWN_STORE.getCode())){ + hqtAPIService.pushHqtBuild(signFranchiseService.getHqtBuildRequest(shopInfoDO.getId())); + } + shopDecorationAssign.setDecorationDescStatus(DecorationDescStatus.ASSIGNED.getCode()); + shopDecorationAssignDAO.update(shopDecorationAssign); + //阶段 + shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_861); + return Boolean.TRUE; + } + + @Override + public PageInfo listByCondition(DecorationListRequest request) { + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + List decorationListDTOS = shopDecorationAssignDAO.listByCondition(request); + if (CollectionUtils.isEmpty(decorationListDTOS)){ + return new PageInfo<>(); + } + Set regionIds = decorationListDTOS.stream().map(DecorationListDTO::getRegionId).collect(Collectors.toSet()); + List regionList = regionDao.getRegionByRegionIds(new ArrayList<>(regionIds)); + //转为map + Map regionMap = regionList.stream().collect(Collectors.toMap(RegionDO::getRegionId, RegionDO::getName)); + decorationListDTOS.forEach(x->{ + x.setRegionName(regionMap.get(x.getRegionId())); + }); + return new PageInfo<>(decorationListDTOS); + } + public String getNextNumber() { Long current = redisUtilPool.incrby("counter_key", 1); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index 96305a297..2b0c3e279 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -5,13 +5,21 @@ import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.*; +import com.cool.store.dao.decoration.DecorationTeamConfigDAO; +import com.cool.store.dao.decoration.ShopDecorationAssignDAO; +import com.cool.store.dao.decoration.TeamAreaMappingDAO; import com.cool.store.dto.PartnerBankInfoDTO; import com.cool.store.entity.*; +import com.cool.store.entity.decoration.DecorationTeamConfigDO; +import com.cool.store.entity.decoration.ShopDecorationAssignDO; +import com.cool.store.entity.decoration.TeamAreaMappingDO; import com.cool.store.enums.*; +import com.cool.store.enums.Decoration.DecorationDescStatus; import com.cool.store.enums.point.ShopSubStageEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.*; +import com.cool.store.mq.producer.SimpleMessageService; import com.cool.store.request.*; import com.cool.store.response.AddSignFranchiseResponse; import com.cool.store.response.ResponseResult; @@ -27,6 +35,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import sun.font.Decoration; import javax.annotation.Resource; import java.math.BigDecimal; @@ -119,6 +128,14 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu OperationLogService operationLogService; @Resource OperationLogDAO operationLogDAO; + @Resource + TeamAreaMappingDAO teamAreaMappingDAO; + @Resource + DecorationTeamConfigDAO decorationTeamConfigDAO; + @Resource + ShopDecorationAssignDAO shopDecorationAssignDAO; + @Resource + private SimpleMessageService simpleMessageService; @Override @@ -390,10 +407,26 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu )); }else{ //,加盟公司自有店->加盟公司建店 不推送数据 再crm中完成 - if ( !shopInfoDO.getJoinMode().equals(JoinModeEnum.OWN_STORE.getCode())){ - hqtAPIService.pushHqtBuild(getHqtBuildRequest(request.getShopId())); + //v2.0.0 先确认装修团队 + TeamAreaMappingDO city = teamAreaMappingDAO.getByCityId(shopInfoDO.getWantShopAreaId()); + //默认团队 + Long teamId = 1L; + if (Objects.nonNull(city)) { + //v2.0.0 确认团队 + DecorationTeamConfigDO decorationTeamConfigDO = decorationTeamConfigDAO.getById(city.getTeamId()); + if (Objects.nonNull(decorationTeamConfigDO)) { + //v2.0.0 确认团队 + teamId = decorationTeamConfigDO.getId(); + } + } - shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_861); + ShopDecorationAssignDO shopDecorationAssignDO = new ShopDecorationAssignDO(); + shopDecorationAssignDO.setDecorationDescStatus(DecorationDescStatus.TO_BE_ASSIGNED.getCode()); + shopDecorationAssignDO.setDecorationTeamId(teamId); + shopDecorationAssignDO.setShopId(shopId); + shopDecorationAssignDAO.insert(shopDecorationAssignDO); + //新增一个延迟队列 四个小时之后确定是否手动分配 没有手动分配 直接自动分配 红圈通推送和下一个流程开始改为分配团队之后 触发 + simpleMessageService.send(String.valueOf(shopDecorationAssignDO.getId()), RocketMqTagEnum.DELAY_SHOP_DECORATION_ASSIGN,System.currentTimeMillis() + 4*60 * 1000); } shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER); shopAuditInfoDO.setPassReason(request.getCause()); @@ -449,6 +482,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } } + @Override public HqtBuildRequest getHqtBuildRequest(Long shopId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfo.getLineId()); From ddaa9bd1fe04a1aa12c1919a95bb28dc46a86f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 3 Nov 2025 15:33:41 +0800 Subject: [PATCH 06/14] feat:handleDecorationTeam --- .../decoration/ShopDecorationAssignMapper.xml | 2 ++ .../com/cool/store/dto/ShopSignerInfoDTO.java | 26 ++++++++++++++ .../dto/decoration/DecorationListDTO.java | 5 +++ .../service/DecorationHandleService.java | 10 +++++- .../impl/DecorationHandleServiceImpl.java | 35 +++++++++++++++---- .../webb/DecorationAllocationController.java | 19 +++++++--- 6 files changed, 86 insertions(+), 11 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/ShopSignerInfoDTO.java diff --git a/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml index b7c9e78b3..c27cc4510 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml @@ -20,8 +20,10 @@ - select count(1) from shop_decoration_assign where decoration_team_id = #{teamId} + select count(1) from zxjp_shop_decoration_assign where decoration_team_id = #{teamId} From 59519b46fa72c0fa528543661082b4c51de2326f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 5 Nov 2025 10:10:18 +0800 Subject: [PATCH 10/14] feat:request --- .../store/mapper/decoration/ShopDecorationAssignMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java index 26c7a25f3..d1bac2437 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/decoration/ShopDecorationAssignMapper.java @@ -23,7 +23,7 @@ public interface ShopDecorationAssignMapper extends Mapper listByCondition(@Param("request") DecorationListRequest request); + List listByCondition(DecorationListRequest request); From c9c8d6d0491b95332980a779b652529b1b5cba00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 5 Nov 2025 10:26:56 +0800 Subject: [PATCH 11/14] feat:request --- .../mapper/decoration/ShopDecorationAssignMapper.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml index 597be33d8..ef36ac7e5 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/decoration/ShopDecorationAssignMapper.xml @@ -49,15 +49,6 @@ AND xsi.region_id = #{regionId} - - AND xsi.province = #{province} - - - AND xsi.city = #{city} - - - AND xsi.district = #{district} - AND zsda.decoration_desc_status = #{decorationDescStatus} From 3cbd81c6962e60f957379b57584c55e024a93adb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 19 Nov 2025 17:22:14 +0800 Subject: [PATCH 12/14] =?UTF-8?q?feat:=E6=9C=8D=E5=8A=A1=E5=8C=85=E4=B8=93?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/enums/UserRoleEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java index caff5656a..400fd85b7 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java @@ -70,7 +70,7 @@ public enum UserRoleEnum { JING_DONG_OPERATIONS_CUSTOMER(500000000L,"京东运营大区客服"), JING_DONG_HEADQUARTERS_BUILD_CUSTOMER(510000000L,"京东总部建店客服"), FRANCHISEES(530000000L,"加盟商"), - SERVICE_PACKAGE_DEDICATED(1725431698852L,"服务包专用"), + SERVICE_PACKAGE_DEDICATED(1762761165005L,"服务包专用"), ; private Long code; From 4db4068a77f0e5d8c25198dd28597659bd2b352b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 20 Nov 2025 18:18:06 +0800 Subject: [PATCH 13/14] =?UTF-8?q?feat:=E5=BB=B6=E8=BF=9F4=E4=B8=AA?= =?UTF-8?q?=E5=B0=8F=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/SignFranchiseServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index 2b0c3e279..0e2592dd4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -426,7 +426,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu shopDecorationAssignDO.setShopId(shopId); shopDecorationAssignDAO.insert(shopDecorationAssignDO); //新增一个延迟队列 四个小时之后确定是否手动分配 没有手动分配 直接自动分配 红圈通推送和下一个流程开始改为分配团队之后 触发 - simpleMessageService.send(String.valueOf(shopDecorationAssignDO.getId()), RocketMqTagEnum.DELAY_SHOP_DECORATION_ASSIGN,System.currentTimeMillis() + 4*60 * 1000); + simpleMessageService.send(String.valueOf(shopDecorationAssignDO.getId()), RocketMqTagEnum.DELAY_SHOP_DECORATION_ASSIGN,System.currentTimeMillis() + 4*60*60 * 1000); } shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER); shopAuditInfoDO.setPassReason(request.getCause()); From ea8560d14ac46bad6e354421d3bc1f3193c0684c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 27 Nov 2025 11:14:31 +0800 Subject: [PATCH 14/14] =?UTF-8?q?feat:=E7=9F=AD=E4=BF=A1=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/enums/SMSMsgEnum.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/SMSMsgEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/SMSMsgEnum.java index caa21e924..79df8a643 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/SMSMsgEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/SMSMsgEnum.java @@ -7,11 +7,11 @@ package com.cool.store.enums; */ public enum SMSMsgEnum { - PAY_FRANCHISE_FEES("缴纳加盟费/保证金", "", "SMS_474655067"), - SIGN_CONTRACT("合同签署", "", "SMS_474450102"), - DESIGN_STAGE("设计阶段", "", "SMS_474490087"), - CONSTRUCTION_STAGE("施工阶段", "", "SMS_474525082"), - PLATFORM_BUILD_STORE("平台建店", "", "SMS_474645064"), + PAY_FRANCHISE_FEES("缴纳加盟费/保证金", "", "SMS_498895215"), + SIGN_CONTRACT("合同签署", "", "SMS_498840165"), + DESIGN_STAGE("设计阶段", "", "SMS_498750214"), + CONSTRUCTION_STAGE("施工阶段", "", "SMS_498870170"), + PLATFORM_BUILD_STORE("平台建店", "", "SMS_498730163"), ; private String title;