From 1b1684f37383cfa3ffbeb8f4735e8c4756d0404e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A3=E6=96=B0?= Date: Fri, 23 Jan 2026 06:48:32 +0000 Subject: [PATCH] Merge #33 into master from cc_20260106_point_update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 铺位管理 地图 * cc_20260106_point_update: (15 commits squashed) - feat:铺位改造 - Merge branch 'refs/heads/master' into cc_20260106_point_update - feat:铺位调整 - feat:新增字段 - feat:新增字段 - feat:新增字段 - feat:点位ID 处理校验规则 - feat:保存铺位 返回点位ID - feat:根据主数据门店编码获取CRM点位数据 - feat:铺位 - feat:我的铺位 根据管辖 - fix:bug 查询 - fix:PC端点位新增直接关联铺位 bug - feat:过滤已开店的铺位 - Merge branch 'master' into cc_20260106_point_update Signed-off-by: 正新 Merged-by: 正新 CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/33 --- .../store/enums/point/PointStatusEnum.java | 3 +- .../cool/store/dao/PointFinancialDataDAO.java | 49 + .../java/com/cool/store/dao/PointInfoDAO.java | 10 + .../java/com/cool/store/dao/RegionDao.java | 12 +- .../mapper/PointFinancialDataMapper.java | 33 + .../cool/store/mapper/PointInfoMapper.java | 17 + .../com/cool/store/mapper/RegionMapper.java | 4 +- .../mapper/PointFinancialDataMapper.xml | 199 ++++ .../main/resources/mapper/PointInfoMapper.xml | 102 +- .../main/resources/mapper/RegionMapper.xml | 4 + .../store/dto/point/PointStatisticsDTO.java | 37 + .../store/entity/PointFinancialDataDO.java | 1009 +++++++++++++++++ .../com/cool/store/entity/PointInfoDO.java | 4 + .../store/request/AddPointDetailRequest.java | 4 + .../cool/store/request/PointMapRequest.java | 30 + .../cool/store/request/PointPageRequest.java | 8 +- .../request/RecommendPointPageRequest.java | 3 - .../request/UpdatePointDetailRequest.java | 2 +- .../point/AddPointFinancialDataRequest.java | 271 +++++ .../UpdatePointFinancialDataRequest.java | 16 + .../cool/store/vo/point/PointDetailVO.java | 7 +- .../store/vo/point/PointFinancialDataVO.java | 266 +++++ .../com/cool/store/vo/point/PointMapVO.java | 30 + .../com/cool/store/vo/point/PointPageVO.java | 6 +- .../store/vo/point/PointRecommendPageVO.java | 3 - .../com/cool/store/service/PointService.java | 78 +- .../store/service/UserAuthMappingService.java | 3 +- .../store/service/impl/DeskServiceImpl.java | 4 +- .../store/service/impl/PointServiceImpl.java | 420 ++++++- .../impl/UserAuthMappingServiceImpl.java | 12 +- .../controller/webb/DataBoardController.java | 14 + .../controller/webb/PointController.java | 87 +- .../controller/webc/MiniShopController.java | 19 +- 33 files changed, 2686 insertions(+), 80 deletions(-) create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/PointFinancialDataDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointFinancialDataMapper.java create mode 100644 coolstore-partner-dao/src/main/resources/mapper/PointFinancialDataMapper.xml create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/point/PointStatisticsDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/PointFinancialDataDO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/PointMapRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/point/AddPointFinancialDataRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/point/UpdatePointFinancialDataRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/point/PointFinancialDataVO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/point/PointMapVO.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PointStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PointStatusEnum.java index a18022e49..b7b95031e 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PointStatusEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PointStatusEnum.java @@ -10,9 +10,8 @@ public enum PointStatusEnum { //1.采集中、2.已评估、3.待审核、4.待审核可推荐、5.已审核、6.已签约、7.已失效 POINT_STATUS_1(1, "采集中"), - POINT_STATUS_2(2, "已评估"), + POINT_STATUS_2(2, "待测算"), POINT_STATUS_3(3, "待审核"), - POINT_STATUS_4(4, "待审核可推荐"), POINT_STATUS_5(5, "已审核"), POINT_STATUS_6(6, "已签约"), POINT_STATUS_7(7, "已失效") diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointFinancialDataDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointFinancialDataDAO.java new file mode 100644 index 000000000..784116db0 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointFinancialDataDAO.java @@ -0,0 +1,49 @@ +package com.cool.store.dao; + +import com.cool.store.entity.PointFinancialDataDO; +import com.cool.store.mapper.PointFinancialDataMapper; +import io.lettuce.core.dynamic.annotation.Param; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.Objects; + +/** + * @Auther zx_szh + * @Date 2026/1/8 11:31 + * @Version 1.0 + */ +@Repository +public class PointFinancialDataDAO { + + @Resource + private PointFinancialDataMapper pointFinancialDataDOMapper; + + public int insertPointFinancialData(PointFinancialDataDO pointFinancialDataDO){ + return pointFinancialDataDOMapper.insertPointFinancialData(pointFinancialDataDO); + } + + /** + * 修改点位财务数据 + * @param pointFinancialDataDO 点位财务数据对象 + * @return 更新记录数 + */ + public int updatePointFinancialData(PointFinancialDataDO pointFinancialDataDO){ + return pointFinancialDataDOMapper.updatePointFinancialData(pointFinancialDataDO); + } + + /** + * 根据点位ID查询点位财务数据 + * @param pointId 点位ID + * @return 点位财务数据对象 + */ + public PointFinancialDataDO selectByPointId(@Param("pointId") Long pointId){ + if(Objects.isNull(pointId)) { + return null; + } + return pointFinancialDataDOMapper.selectByPointId(pointId); + } + + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java index 8c44e01cb..c7c398d84 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java @@ -6,12 +6,14 @@ import com.cool.store.dto.MiniShopDTO; import com.cool.store.dto.PCPointListDTO; import com.cool.store.dto.PointInfoDTO; import com.cool.store.dto.point.LineCountDTO; +import com.cool.store.dto.point.PointStatisticsDTO; import com.cool.store.entity.PointInfoDO; import com.cool.store.mapper.PointInfoMapper; import com.cool.store.request.*; import com.cool.store.utils.StringUtil; import com.cool.store.vo.point.MiniPointPageVO; import com.cool.store.vo.point.PointHomePageDataVO; +import com.cool.store.vo.point.PointMapVO; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; @@ -127,6 +129,14 @@ public class PointInfoDAO { return pointInfoMapper.getTeamPointPage(eid,request); } + public List getAllPointList(String eid, PointMapRequest request) { + return pointInfoMapper.getAllPointList(eid,request); + } + + public PointStatisticsDTO getTeamCount(String eid, AllPointPageRequest request) { + return pointInfoMapper.getTeamCount(eid,request); + } + public Integer recyclePoint(Long pointId) { if(Objects.isNull(pointId)){ return CommonConstants.ZERO; 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 0ba7fd534..c41d0b654 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 @@ -215,11 +215,19 @@ public class RegionDao { return regionMapper.getSubRegionByParentIdsAndRegionType(parentIdList, regionType); } - public List getSubIdsByRegionIdsAndType(List regionIds,String regionType){ + + /** + * + * @param regionIds + * @param regionType + * @param queryInvestBigRegion 只查询招商所属大区 进一步过滤无关区域 因为新增铺位或者新增线索只能选择招商大区 + * @return + */ + public List getSubIdsByRegionIdsAndType(List regionIds,String regionType,Boolean queryInvestBigRegion){ if (CollectionUtils.isEmpty(regionIds)){ return Lists.newArrayList(); } - return regionMapper.getSubIdsByRegionIdsAndType(regionIds, regionType); + return regionMapper.getSubIdsByRegionIdsAndType(regionIds, regionType,queryInvestBigRegion); } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointFinancialDataMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointFinancialDataMapper.java new file mode 100644 index 000000000..1d5ee7a72 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointFinancialDataMapper.java @@ -0,0 +1,33 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.PointFinancialDataDO; +import io.lettuce.core.dynamic.annotation.Param; +import tk.mybatis.mapper.common.Mapper; + +import java.util.List; + +public interface PointFinancialDataMapper extends Mapper { + + /** + * 新增点位财务数据 + * @param pointFinancialDataDO 点位财务数据对象 + * @return 插入记录数 + */ + int insertPointFinancialData(PointFinancialDataDO pointFinancialDataDO); + + /** + * 修改点位财务数据 + * @param pointFinancialDataDO 点位财务数据对象 + * @return 更新记录数 + */ + int updatePointFinancialData(PointFinancialDataDO pointFinancialDataDO); + + /** + * 根据点位ID查询点位财务数据 + * @param pointId 点位ID + * @return 点位财务数据对象 + */ + PointFinancialDataDO selectByPointId(@Param("pointId") Long pointId); + + +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java index 762f03e02..b7a850377 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java @@ -4,10 +4,12 @@ import com.cool.store.dto.MiniShopDTO; import com.cool.store.dto.PCPointListDTO; import com.cool.store.dto.PointInfoDTO; import com.cool.store.dto.point.LineCountDTO; +import com.cool.store.dto.point.PointStatisticsDTO; import com.cool.store.entity.PointInfoDO; import com.cool.store.request.*; import com.cool.store.vo.point.MiniPointPageVO; import com.cool.store.vo.point.PointHomePageDataVO; +import com.cool.store.vo.point.PointMapVO; import com.cool.store.vo.point.PointPageVO; import com.github.pagehelper.Page; import org.apache.ibatis.annotations.Param; @@ -68,6 +70,21 @@ public interface PointInfoMapper extends Mapper { */ Page getTeamPointPage(@Param("eid")String eid,@Param("request") AllPointPageRequest request); + /** + * 获取所有的铺位 地图 + * @param eid + * @param request + * @return + */ + List getAllPointList(@Param("eid")String eid, @Param("request") PointMapRequest request); + + /** + * 获取铺位统计数据 + * @param eid + * @param request + * @return + */ + PointStatisticsDTO getTeamCount(@Param("eid")String eid, @Param("request") AllPointPageRequest request); /** * 回收铺位 * @param pointId 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 aa80210fb..29cb18e1d 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 @@ -120,6 +120,8 @@ public interface RegionMapper { List getSubRegionByParentIdsAndRegionType( @Param("parentIds")List parentIds, @Param("regionType")String regionType); - List getSubIdsByRegionIdsAndType(@Param("regionIds") List regionIds, @Param("regionType")String regionType); + List getSubIdsByRegionIdsAndType(@Param("regionIds") List regionIds, + @Param("regionType")String regionType, + @Param("queryInvestBigRegion") Boolean queryInvestBigRegion); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/PointFinancialDataMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/PointFinancialDataMapper.xml new file mode 100644 index 000000000..ef841f31c --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/PointFinancialDataMapper.xml @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO zxjp_point_financial_data + + point_id, + equipment_cost, + decoration_cost, + franchise_fee, + management_fee, + design_fee, + first_inventory_cost, + deposit, + initial_investment, + avg_daily_orders, + avg_order_price, + operating_days_per_year, + daily_sales, + annual_gmv, + monthly_sales, + gross_margin_rate, + annual_income, + material_cost_annual, + material_cost_monthly, + material_cost_rate, + staff_count, + avg_salary, + staff_cost_annual, + staff_cost_rate, + rent_cost_annual, + rent_cost_rate, + takeaway_rate, + platform_commission_rate, + platform_commission, + utility_cost, + utility_cost_rate, + other_cost, + other_cost_rate, + operating_profit, + operating_profit_rate, + payback_period_years, + payback_period_months, + create_time, + create_user_id, + update_time, + update_user_id, + + + #{pointId,jdbcType=BIGINT}, + #{equipmentCost,jdbcType=DECIMAL}, + #{decorationCost,jdbcType=DECIMAL}, + #{franchiseFee,jdbcType=DECIMAL}, + #{managementFee,jdbcType=DECIMAL}, + #{designFee,jdbcType=DECIMAL}, + #{firstInventoryCost,jdbcType=DECIMAL}, + #{deposit,jdbcType=DECIMAL}, + #{initialInvestment,jdbcType=DECIMAL}, + #{avgDailyOrders,jdbcType=INTEGER}, + #{avgOrderPrice,jdbcType=DECIMAL}, + #{operatingDaysPerYear,jdbcType=INTEGER}, + #{dailySales,jdbcType=DECIMAL}, + #{annualGmv,jdbcType=DECIMAL}, + #{monthlySales,jdbcType=DECIMAL}, + #{grossMarginRate,jdbcType=DECIMAL}, + #{annualIncome,jdbcType=DECIMAL}, + #{materialCostAnnual,jdbcType=DECIMAL}, + #{materialCostMonthly,jdbcType=DECIMAL}, + #{materialCostRate,jdbcType=DECIMAL}, + #{staffCount,jdbcType=INTEGER}, + #{avgSalary,jdbcType=DECIMAL}, + #{staffCostAnnual,jdbcType=DECIMAL}, + #{staffCostRate,jdbcType=DECIMAL}, + #{rentCostAnnual,jdbcType=DECIMAL}, + #{rentCostRate,jdbcType=DECIMAL}, + #{takeawayRate,jdbcType=DECIMAL}, + #{platformCommissionRate,jdbcType=DECIMAL}, + #{platformCommission,jdbcType=DECIMAL}, + #{utilityCost,jdbcType=DECIMAL}, + #{utilityCostRate,jdbcType=DECIMAL}, + #{otherCost,jdbcType=DECIMAL}, + #{otherCostRate,jdbcType=DECIMAL}, + #{operatingProfit,jdbcType=DECIMAL}, + #{operatingProfitRate,jdbcType=DECIMAL}, + #{paybackPeriodYears,jdbcType=DECIMAL}, + #{paybackPeriodMonths,jdbcType=DECIMAL}, + #{createTime,jdbcType=TIMESTAMP}, + #{createUserId,jdbcType=VARCHAR}, + #{updateTime,jdbcType=TIMESTAMP}, + #{updateUserId,jdbcType=VARCHAR}, + + + + + + UPDATE zxjp_point_financial_data + + point_id = #{pointId,jdbcType=BIGINT}, + equipment_cost = #{equipmentCost,jdbcType=DECIMAL}, + decoration_cost = #{decorationCost,jdbcType=DECIMAL}, + franchise_fee = #{franchiseFee,jdbcType=DECIMAL}, + management_fee = #{managementFee,jdbcType=DECIMAL}, + design_fee = #{designFee,jdbcType=DECIMAL}, + first_inventory_cost = #{firstInventoryCost,jdbcType=DECIMAL}, + deposit = #{deposit,jdbcType=DECIMAL}, + initial_investment = #{initialInvestment,jdbcType=DECIMAL}, + avg_daily_orders = #{avgDailyOrders,jdbcType=INTEGER}, + avg_order_price = #{avgOrderPrice,jdbcType=DECIMAL}, + operating_days_per_year = #{operatingDaysPerYear,jdbcType=INTEGER}, + daily_sales = #{dailySales,jdbcType=DECIMAL}, + annual_gmv = #{annualGmv,jdbcType=DECIMAL}, + monthly_sales = #{monthlySales,jdbcType=DECIMAL}, + gross_margin_rate = #{grossMarginRate,jdbcType=DECIMAL}, + annual_income = #{annualIncome,jdbcType=DECIMAL}, + material_cost_annual = #{materialCostAnnual,jdbcType=DECIMAL}, + material_cost_monthly = #{materialCostMonthly,jdbcType=DECIMAL}, + material_cost_rate = #{materialCostRate,jdbcType=DECIMAL}, + staff_count = #{staffCount,jdbcType=INTEGER}, + avg_salary = #{avgSalary,jdbcType=DECIMAL}, + staff_cost_annual = #{staffCostAnnual,jdbcType=DECIMAL}, + staff_cost_rate = #{staffCostRate,jdbcType=DECIMAL}, + rent_cost_annual = #{rentCostAnnual,jdbcType=DECIMAL}, + rent_cost_rate = #{rentCostRate,jdbcType=DECIMAL}, + takeaway_rate = #{takeawayRate,jdbcType=DECIMAL}, + platform_commission_rate = #{platformCommissionRate,jdbcType=DECIMAL}, + platform_commission = #{platformCommission,jdbcType=DECIMAL}, + utility_cost = #{utilityCost,jdbcType=DECIMAL}, + utility_cost_rate = #{utilityCostRate,jdbcType=DECIMAL}, + other_cost = #{otherCost,jdbcType=DECIMAL}, + other_cost_rate = #{otherCostRate,jdbcType=DECIMAL}, + operating_profit = #{operatingProfit,jdbcType=DECIMAL}, + operating_profit_rate = #{operatingProfitRate,jdbcType=DECIMAL}, + payback_period_years = #{paybackPeriodYears,jdbcType=DECIMAL}, + payback_period_months = #{paybackPeriodMonths,jdbcType=DECIMAL}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + update_user_id = #{updateUserId,jdbcType=VARCHAR}, + + WHERE id = #{id,jdbcType=BIGINT} + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml index 05b2ffd23..2ed8595ab 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml @@ -34,6 +34,7 @@ + @@ -42,7 +43,7 @@ development_time, point_status, point_score, select_status, submit_audit_count, point_source, deleted, create_time, update_time, province, city, district, township, opportunity_point_code, opportunity_point_name, - province_code, city_code, district_code, point_location + province_code, city_code, district_code, point_location,protection_distance + + + + + + +