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 a94e0a3d5..d32282a68 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 @@ -302,6 +302,7 @@ public enum ErrorCodeEnum { PRODUCTS_SALES_COMPLETED(1511034,"含有销售完成的产品,无法批量报销",null), STORE_IS_EXIST(1511035,"该门店已存在",null), FEE_NOT_CONSISTENT(1511036,"合同金额与缴费账单金额不一致,请确定!",null), + OPERATIONS_CONSULTANT_ASSIGNED(1511037,"OPERATIONS_CONSULTANT_ASSIGNED",null), MESSAGE_TEMPLATE_NOT_SUPPORT_EDIT(1610001,"当前消息已发布,不支持编辑!",null), 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 b713c827c..2e92b7707 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 @@ -20,10 +20,11 @@ public enum UserRoleEnum { TRAINER(150000000L, "训练"), XFSG_CLERK(160000000L, "店员"), XFSG_SHOPOWNER(170000000L, "店长"), - SUPERVISION(180000000L, "督导"), + // 原督导 + SUPERVISION(180000000L, "运营顾问"), SELECT_SITE_LEADER(190000000L, "选址组长"), SELECT_SITE_MANAGER(200000000L, "选址经理"), - INVESTMENT_MANAGER(210000000L, "招商经理"), +// INVESTMENT_MANAGER(210000000L, "招商经理"), HEADQUARTERS_LEADER(220000000L, "总部负责人"), HR(230000000L, "HR"), DESIGN_MANAGER(240000000L, "品牌设计高级经理"), @@ -71,6 +72,7 @@ public enum UserRoleEnum { JING_DONG_HEADQUARTERS_BUILD_CUSTOMER(510000000L,"京东总部建店客服"), FRANCHISEES(530000000L,"加盟商"), SERVICE_PACKAGE_DEDICATED(1762761165005L,"服务包专用"), + INVESTMENT_MANGER(1765266125369L, "招商经理"), OPERATION_GENERAL_CONSULTANT(1764642515446L,"运营片区总顾问"), ORDER_GROUP(1766387359609L,"订单组"), ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/BigRegionDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/BigRegionDAO.java index 9987cdbed..96b92394e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/BigRegionDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/BigRegionDAO.java @@ -27,8 +27,8 @@ public class BigRegionDAO { @Resource BigRegionMapper bigRegionMapper; - public List queryAllBigRegion(String keyword, Integer joinBrand){ - return bigRegionMapper.queryAllBigRegion(keyword, joinBrand); + public List queryAllBigRegion(String keyword, Integer joinBrand,Integer type){ + return bigRegionMapper.queryAllBigRegion(keyword, joinBrand,type); } public BigRegionDO queryOrgInfoByBigRegionAndJoinMode(Long regionId, Integer joinMode){ diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java index 0cce5111c..5df9899f5 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java @@ -194,11 +194,11 @@ public class LineInfoDAO { return lineMobile.stream().filter(o->StringUtils.isNotBlank(o.getMobile())).collect(Collectors.toMap(LineInfoDO::getId, LineInfoDO::getMobile, (k1, k2)-> k1)); } - public Integer batchUpdateInvestmentManager( List lineIds, Integer status, String investmentManager,Long regionId){ + public Integer batchUpdateInvestmentManager( List lineIds, Integer status, String investmentManager,Long regionId,Long investRegionId){ if(CollectionUtils.isEmpty(lineIds)|| status == null|| StringUtils.isBlank(investmentManager) || regionId == null){ return 0; } - return lineInfoMapper.batchUpdateInvestmentManager(lineIds, status, investmentManager,regionId); + return lineInfoMapper.batchUpdateInvestmentManager(lineIds, status, investmentManager,regionId,investRegionId); } public List getLines(String keyword){ diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/OperationsConsultantAssignDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/OperationsConsultantAssignDAO.java new file mode 100644 index 000000000..891680504 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/OperationsConsultantAssignDAO.java @@ -0,0 +1,67 @@ +package com.cool.store.dao; + +import com.cool.store.entity.OperationsConsultantAssignDO; +import com.cool.store.mapper.OperationsConsultantAssignMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Auther zx_szh + * @Date 2025/12/25 14:29 + * @Version 1.0 + */ +@Repository +public class OperationsConsultantAssignDAO { + + @Resource + private OperationsConsultantAssignMapper operationsConsultantAssignMapper; + + + /** + * 新增分配数据 + * @param operationsConsultantAssignDO + * @return + */ + public Integer addOperationsConsultantAssign(OperationsConsultantAssignDO operationsConsultantAssignDO){ + return operationsConsultantAssignMapper.insertSelective(operationsConsultantAssignDO); + } + + /** + * 根据Id更新数据 + * @param operationsConsultantAssignDO + * @return + */ + public Integer updateById(OperationsConsultantAssignDO operationsConsultantAssignDO){ + return operationsConsultantAssignMapper.updateByPrimaryKey(operationsConsultantAssignDO); + } + + /** + * 根据门店信息查询分配信息 + * @param shopId + * @return + */ + public OperationsConsultantAssignDO selectByShopId(Long shopId){ + if(shopId == null){ + return null; + } + return operationsConsultantAssignMapper.selectByShopId(shopId); + } + + /** + * 获取未分配的数据 + * @param keyword + * @return + */ + public List getNoAssign(String keyword,List regionIds){ + return operationsConsultantAssignMapper.getNoAssign(keyword,regionIds); + } + + + + + + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDao.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDao.java index e22c19967..0ba7fd534 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDao.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDao.java @@ -9,6 +9,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import tk.mybatis.mapper.entity.Example; @@ -213,4 +214,12 @@ public class RegionDao { } return regionMapper.getSubRegionByParentIdsAndRegionType(parentIdList, regionType); } + + public List getSubIdsByRegionIdsAndType(List regionIds,String regionType){ + if (CollectionUtils.isEmpty(regionIds)){ + return Lists.newArrayList(); + } + return regionMapper.getSubIdsByRegionIdsAndType(regionIds, regionType); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/BigRegionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/BigRegionMapper.java index 3a29d94d6..9fa96d06b 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/BigRegionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/BigRegionMapper.java @@ -15,7 +15,7 @@ public interface BigRegionMapper extends Mapper { * @param keyword * @return */ - List queryAllBigRegion(@Param("keyword") String keyword, @Param("joinBrand") Integer joinBrand); + List queryAllBigRegion(@Param("keyword") String keyword, @Param("joinBrand") Integer joinBrand, @Param("type") Integer type); /** * 根据所属大区与加盟模式查询新管家信息 diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java index 8af450bef..3c05dfca6 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java @@ -126,7 +126,9 @@ public interface LineInfoMapper extends Mapper { */ Integer batchUpdateInvestmentManager(@Param("lineIds") List lineIds, @Param("status") Integer status, - @Param("investmentManager") String investmentManager, @Param("regionId") Long regionId); + @Param("investmentManager") String investmentManager, + @Param("regionId") Long regionId, + @Param("investRegionId") Long investRegionId); List getLinesByKeyword(@Param("keyword") String keyword); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/OperationsConsultantAssignMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/OperationsConsultantAssignMapper.java new file mode 100644 index 000000000..57cfc818c --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/OperationsConsultantAssignMapper.java @@ -0,0 +1,28 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.OperationsConsultantAssignDO; +import org.apache.ibatis.annotations.Param; +import tk.mybatis.mapper.common.Mapper; + +import java.util.List; + +public interface OperationsConsultantAssignMapper extends Mapper { + + /** + * 根据门店查询运营顾问分配信息 + * @param shopId + * @return + */ + OperationsConsultantAssignDO selectByShopId(Long shopId); + + + /** + * 获取待分配 + * @param keyword + * @return + */ + List getNoAssign(@Param("keyword") String keyword, @Param("regionIds") List regionIds); + + + +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java index bfb43b03f..aa80210fb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java @@ -118,4 +118,8 @@ public interface RegionMapper { List getSubRegionByParentIdsAndRegionType( @Param("parentIds")List parentIds, @Param("regionType")String regionType); + + + List getSubIdsByRegionIdsAndType(@Param("regionIds") List regionIds, @Param("regionType")String regionType); + } diff --git a/coolstore-partner-dao/src/main/resources/mapper/BigRegionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/BigRegionMapper.xml index 2bc693f67..b4dbbe94a 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/BigRegionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/BigRegionMapper.xml @@ -32,6 +32,7 @@ region_id as regionId, region_name as regionName, group_name as groupName, + enable_flag as enableFlag, store_manage_region_id as storeManageRegionId FROM `xfsg_big_region` @@ -41,7 +42,11 @@ and join_brand = #{joinBrand} + + and type = #{type} + + order by enable_flag desc \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml index 136c16d7a..afd32cc4f 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -33,6 +33,7 @@ + INSERT INTO xfsg_line_info @@ -46,6 +47,9 @@ region_id, + + invest_region_id, + big_region_id, @@ -141,6 +145,9 @@ #{param.regionId}, + + #{param.investRegionId}, + #{param.bigRegionId}, @@ -234,6 +241,9 @@ region_id = #{param.regionId}, + + invest_region_id = #{param.investRegionId}, + big_region_id = #{param.bigRegionId}, @@ -637,7 +647,7 @@ - update xfsg_line_info set line_status = #{status} , investment_manager = #{investmentManager} ,region_id = #{regionId} where id in + update xfsg_line_info set line_status = #{status} , investment_manager = #{investmentManager} ,region_id = #{regionId},invest_region_id = #{investRegionId} where id in #{lineId} diff --git a/coolstore-partner-dao/src/main/resources/mapper/OperationsConsultantAssignMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/OperationsConsultantAssignMapper.xml new file mode 100644 index 000000000..b105d3a27 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/OperationsConsultantAssignMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml index ec845c63f..71b845c85 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml @@ -450,4 +450,22 @@ + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 40de4927b..a342677b7 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -39,6 +39,8 @@ + + @@ -47,17 +49,17 @@ shop_code, store_num, shop_manager_user_id, supervisor_user_id, plan_open_time, cur_progress, shop_type, shop_stage, deleted, create_time, update_time, join_mode,detail_address,franchise_brand,development_manager,want_shop_area_id,investment_manager,shop_status,create_user_id,update_user_id,store_type - , province,province_code,city,city_code,district,district_code,manager_region_id,shop_decoration_attributes,hqt_shop_id,store_id + , province,province_code,city,city_code,district,district_code,manager_region_id,shop_decoration_attributes,hqt_shop_id,store_id, invest_region_id, operations_consultant insert into xfsg_shop_info(region_id, line_id, partner_id, shop_name, store_num,supervisor_user_id,create_time,join_mode,franchise_brand, - development_manager,want_shop_area_id,investment_manager,store_id) values + development_manager,want_shop_area_id,investment_manager,store_id,invest_region_id) values (#{shop.regionId}, #{shop.lineId}, #{shop.partnerId}, #{shop.shopName}, #{shop.storeNum},#{shop.supervisorUserId},#{shop.createTime},#{shop.joinMode},#{shop.franchiseBrand},#{shop.developmentManager}, - #{shop.wantShopAreaId},#{shop.investmentManager},#{shop.storeId}) + #{shop.wantShopAreaId},#{shop.investmentManager},#{shop.storeId},#{shop.investRegionId}) @@ -312,7 +314,8 @@ a.shop_status as shopStatus, a.detail_address as shopAddress, a.manager_region_id as managerRegionId, - a.store_id as storeId + a.store_id as storeId, + a.invest_region_id as investRegionId from xfsg_shop_info a left join xfsg_line_info b on a.line_id = b.id left join xfsg_sign_franchise c on a.id = c.shop_id @@ -370,7 +373,7 @@ - and a.investment_manager = #{userId} + and (a.investment_manager = #{userId} or a.operations_consultant = #{userId}) and a.region_id in @@ -378,6 +381,12 @@ #{regionId} + + and a.invest_region_id in + + #{investRegionId} + + order by a.update_time desc