diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompeteBusinessCapacityEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompeteBusinessCapacityEnum.java index bb1212f8d..458cb3a34 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompeteBusinessCapacityEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompeteBusinessCapacityEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum CompeteBusinessCapacityEnum { - // 1:非常好 2:好 3:一般 4:差 + // 1.非常好 2.好 3.一般 4.差 COMPETITOR_BUSINESS_CAPACITY_1(1, "非常好", 0), COMPETITOR_BUSINESS_CAPACITY_2(2, "好", 1), COMPETITOR_BUSINESS_CAPACITY_3(3, "一般", 3), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompeteTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompeteTypeEnum.java index 3beb01365..03c846f5f 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompeteTypeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompeteTypeEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum CompeteTypeEnum { - // 1:连锁店 2:强势单店 3:经营散户 4:小型摊贩 + // 1.连锁店 2.强势单店 3.经营散户 4.小型摊贩 WANT_SHOP_SIZE_1(1, "连锁店", 1), WANT_SHOP_SIZE_2(2, "强势单店", 2), WANT_SHOP_SIZE_3(3, "经营散户", 3), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ConsumerAbilityEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ConsumerAbilityEnum.java index d71be5fca..fc99f474f 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ConsumerAbilityEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ConsumerAbilityEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum ConsumerAbilityEnum { - //1:高端 2:中高端 3:中端 4:低端 + //1.高端 2.中高端 3.中端 4.低端 CONSUMER_ABILITY_1(1, "高端", 10), CONSUMER_ABILITY_2(2, "中高端", 8), CONSUMER_ABILITY_3(3, "中端", 6), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CoverCommunityEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CoverCommunityEnum.java index 40aad332d..ecfa9cdb4 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CoverCommunityEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CoverCommunityEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum CoverCommunityEnum { - //1:800户以下 2:800-1200户 3:1200-2000户 4:2000户以上 + //1.800户以下 2.800-1200户 3.1200-2000户 4.2000户以上 COVER_COMMUNITY_1(1, "800户以下", 5), COVER_COMMUNITY_2(2, "800户-1200户", 10), COVER_COMMUNITY_3(3, "1200户-2000户", 12), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateCalculateEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateCalculateEnum.java index 7bbb9dc27..5a3876c13 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateCalculateEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateCalculateEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum FlowRateCalculateEnum { - //1:>400人/时以上, 2:300~400人/时, 3:200~300人/时, 4:100~200人/时 + //1.>400人/时以上, 2.300~400人/时, 3.200~300人/时, 4.100~200人/时 FLOW_RATE_CALCULATE_1(1, ">400人/时以上", 8), FLOW_RATE_CALCULATE_2(2, "300~400人/时", 6), FLOW_RATE_CALCULATE_3(3, "200~300人/时", 5), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestFarmerMarketEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestFarmerMarketEnum.java index 19c26e6dd..a9a1b17ca 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestFarmerMarketEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestFarmerMarketEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum GatherGuestFarmerMarketEnum { - //1:是 2:否 + //1.是 2.否 GATHER_GUEST_FARMER_MARKET_1(1, "是", 5), GATHER_GUEST_FARMER_MARKET_2(2, "否", 3), ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestHospitalEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestHospitalEnum.java index 1cf6862fc..402ba0be6 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestHospitalEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestHospitalEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum GatherGuestHospitalEnum { - //1:甲等医院 2:市级医院 3:县区级医院 4:无医院 + //1.甲等医院 2.市级医院 3.县区级医院 4.无医院 GATHER_GUEST_HOSPITAL_1(1, "甲等医院", 5), GATHER_GUEST_HOSPITAL_2(2, "市级医院", 3), GATHER_GUEST_HOSPITAL_3(3, "县区级医院", 2), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestSchoolEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestSchoolEnum.java index 025d85bd1..98b1ddc36 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestSchoolEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestSchoolEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum GatherGuestSchoolEnum { - // 1:幼儿园/小学 2:大学/学院 3:初中/高中 4:无学校 + // 1.幼儿园/小学 2.大学/学院 3.初中/高中 4.无学校 GATHER_GUEST_SCHOOL_1(1, "幼儿园/小学", 4), GATHER_GUEST_SCHOOL_2(2, "大学/学院", 3), GATHER_GUEST_SCHOOL_3(3, "初中/高中", 2), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GreenBeltEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GreenBeltEnum.java index 435f3471c..37dbf97fe 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GreenBeltEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GreenBeltEnum.java @@ -8,7 +8,7 @@ package com.cool.store.enums.point; */ public enum GreenBeltEnum { - //1:门口无绿化带阻挡 2:门口有绿化带阻挡 + //1.门口无绿化带阻挡 2.门口有绿化带阻挡 GREEN_BELT_1(1, "门口无绿化带阻挡", 3), GREEN_BELT_2(2, "门口有绿化带阻挡", 1), ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java new file mode 100644 index 000000000..f3cb8e211 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java @@ -0,0 +1,50 @@ +package com.cool.store.dao; + +import com.cool.store.entity.ShopInfoDO; +import com.cool.store.mapper.ShopInfoMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; + +/** + * @author zhangchenbiao + * @FileName: ShopInfoDAO + * @Description: + * @date 2024-03-29 10:14 + */ +@Repository +public class ShopInfoDAO { + + @Resource + private ShopInfoMapper shopInfoMapper; + + /** + * 获取门店信息 + * @param shopId + * @return + */ + public ShopInfoDO getShopInfo(Long shopId){ + ShopInfoDO shopInfo = shopInfoMapper.selectByPrimaryKey(shopId); + if(Objects.isNull(shopInfo) || shopInfo.getDeleted()){ + return null; + } + return shopInfo; + } + + public List getShopList(Long lineId){ + return shopInfoMapper.getShopList(lineId); + } + + /** + * 新增门店信息 + * @param shopInfo + * @return + */ + public Long addShopInfo(ShopInfoDO shopInfo){ + shopInfoMapper.insertSelective(shopInfo); + return shopInfo.getId(); + } + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopPointDetailInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopPointDetailInfoDAO.java new file mode 100644 index 000000000..23b59f41f --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopPointDetailInfoDAO.java @@ -0,0 +1,41 @@ +package com.cool.store.dao; + +import com.cool.store.entity.ShopPointDetailInfoDO; +import com.cool.store.mapper.ShopPointDetailInfoMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + * @author zhangchenbiao + * @FileName: ShopPointDetailInfoDAO + * @Description: + * @date 2024-03-29 10:15 + */ +@Repository +public class ShopPointDetailInfoDAO { + + @Resource + private ShopPointDetailInfoMapper shopPointDetailInfoMapper; + + /** + * 新增点位详情 + * @param shopPointDetailInfo + * @return + */ + public Long addShopPointDetailInfo(ShopPointDetailInfoDO shopPointDetailInfo) { + shopPointDetailInfoMapper.insertSelective(shopPointDetailInfo); + return shopPointDetailInfo.getId(); + } + + /** + * 更新点位详情 + * @param shopPointDetailInfo + * @return + */ + public Integer updateShopPointDetailInfo(ShopPointDetailInfoDO shopPointDetailInfo) { + return shopPointDetailInfoMapper.updateByPrimaryKeySelective(shopPointDetailInfo); + } + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopPointInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopPointInfoDAO.java new file mode 100644 index 000000000..f1f4328fd --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopPointInfoDAO.java @@ -0,0 +1,20 @@ +package com.cool.store.dao; + +import com.cool.store.mapper.ShopPointInfoMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + * @author zhangchenbiao + * @FileName: ShopPointInfoDAO + * @Description: + * @date 2024-03-29 10:15 + */ +@Repository +public class ShopPointInfoDAO { + + @Resource + private ShopPointInfoMapper shopPointInfoMapper; + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java new file mode 100644 index 000000000..b28062a9a --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java @@ -0,0 +1,18 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.ShopInfoDO; +import org.apache.ibatis.annotations.Param; +import tk.mybatis.mapper.common.Mapper; + +import java.util.List; + +public interface ShopInfoMapper extends Mapper { + + /** + * 获取加盟商的店铺列表 + * @param lineId + * @return + */ + List getShopList(@Param("lineId") Long lineId); + +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopPointDetailInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopPointDetailInfoMapper.java new file mode 100644 index 000000000..08a0cfd27 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopPointDetailInfoMapper.java @@ -0,0 +1,7 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.ShopPointDetailInfoDO; +import tk.mybatis.mapper.common.Mapper; + +public interface ShopPointDetailInfoMapper extends Mapper { +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopPointInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopPointInfoMapper.java new file mode 100644 index 000000000..f14c422f1 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopPointInfoMapper.java @@ -0,0 +1,7 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.ShopPointInfoDO; +import tk.mybatis.mapper.common.Mapper; + +public interface ShopPointInfoMapper extends Mapper { +} \ 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 new file mode 100644 index 000000000..b3a9f26fb --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id, region_id, line_id, partner_id, point_id, shop_name, 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 + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopPointDetailInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopPointDetailInfoMapper.xml new file mode 100644 index 000000000..4059a81d4 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopPointDetailInfoMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopPointInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopPointInfoMapper.xml new file mode 100644 index 000000000..b5b87282a --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopPointInfoMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/test/resources/mybatis-generator.properties b/coolstore-partner-dao/src/test/resources/mybatis-generator.properties index 1702d3223..325eeec58 100644 --- a/coolstore-partner-dao/src/test/resources/mybatis-generator.properties +++ b/coolstore-partner-dao/src/test/resources/mybatis-generator.properties @@ -3,6 +3,6 @@ jdbc.url = jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3306/coolcoll jdbc.user= coolstore jdbc.password = CSCErYcXniNYm7bT -table.name = xfsg_line_follow_log -table.object.class = LineFollowLogDO -table.mapper = LineFollowLogMapper \ No newline at end of file +table.name = xfsg_shop_point_info +table.object.class = ShopPointInfoDO +table.mapper = ShopPointInfoMapper \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java new file mode 100644 index 000000000..389ed8714 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java @@ -0,0 +1,111 @@ +package com.cool.store.entity; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import javax.persistence.*; + +@Data +@Table(name = "xfsg_shop_info") +public class ShopInfoDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 区域ID + */ + @Column(name = "region_id") + private Long regionId; + + /** + * line_info.id + */ + @Column(name = "line_id") + private Long lineId; + + /** + * partner_id + */ + @Column(name = "partner_id") + private String partnerId; + + /** + * 点位id + */ + @Column(name = "point_id") + private Long pointId; + + /** + * 店铺名称 + */ + @Column(name = "shop_name") + private String shopName; + + /** + * 店铺code + */ + @Column(name = "shop_code") + private String shopCode; + + /** + * 门店系统门店编码 + */ + @Column(name = "store_num") + private String storeNum; + + /** + * 开店负责人 + */ + @Column(name = "shop_manager_user_id") + private String shopManagerUserId; + + /** + * 督导 + */ + @Column(name = "supervisor_user_id") + private String supervisorUserId; + + /** + * 计划开业时间 + */ + @Column(name = "plan_open_time") + private Date planOpenTime; + + /** + * 当前进度 + */ + @Column(name = "cur_progress") + private BigDecimal curProgress; + + /** + * 门店性质 + */ + @Column(name = "shop_type") + private Integer shopType; + + /** + * 阶段 0选址 1筹建 2开业 + */ + @Column(name = "shop_stage") + private Integer shopStage; + + /** + * 删除标识 + */ + private Boolean deleted; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopPointDetailInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopPointDetailInfoDO.java new file mode 100644 index 000000000..052bc152c --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopPointDetailInfoDO.java @@ -0,0 +1,421 @@ +package com.cool.store.entity; + +import lombok.Data; + +import java.util.Date; +import javax.persistence.*; + +@Data +@Table(name = "xfsg_shop_point_detail_info") +public class ShopPointDetailInfoDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * shop_point_info.id + */ + @Column(name = "point_id") + private Long pointId; + + /** + * 经营状况 + */ + @Column(name = "bussiness_status") + private Integer bussinessStatus; + + /** + * 09:00-10:00人流量 + */ + @Column(name = "nine_flow_rate") + private Integer nineFlowRate; + + /** + * 10:00-11:00人流量 + */ + @Column(name = "ten_flow_rate") + private Integer tenFlowRate; + + /** + * 18:00-19:00人流量 + */ + @Column(name = "eighteen_flow_rate") + private Integer eighteenFlowRate; + + /** + * 19:00-20:00人流量 + */ + @Column(name = "nineteen_flow_rate") + private Integer nineteenFlowRate; + + /** + * 店铺方位 0主要路线, 1次要路线 + */ + @Column(name = "point_direction") + private Integer pointDirection; + + /** + * 立地条件0单门面, 1双门面, 2多门面, 3转角 + */ + @Column(name = "site_conditions") + private Integer siteConditions; + + /** + * 使用面积(一楼) + */ + @Column(name = "use_area") + private String useArea; + + /** + * 门店内宽 + */ + @Column(name = "store_width") + private String storeWidth; + + /** + * 房东姓名 + */ + @Column(name = "landlord_username") + private String landlordUsername; + + /** + * 房东电话 + */ + @Column(name = "landlord_mobile") + private String landlordMobile; + + /** + * 门店月租金 + */ + @Column(name = "store_rent") + private String storeRent; + + /** + * 支付方式 参考PaymentMethodEnum + */ + @Column(name = "payment_method") + private Integer paymentMethod; + + /** + * 物业状态 参考PropertyStatusEnum + */ + @Column(name = "property_status") + private Integer propertyStatus; + + /** + * 转让费 + */ + @Column(name = "transfer_fee") + private String transferFee; + + /** + * 覆盖社区 参考CoverCommunityEnum + */ + @Column(name = "cover_community") + private Integer coverCommunity; + + /** + * 消费能力 参考ConsumerAbilityEnum + */ + @Column(name = "consumer_ability") + private Integer consumerAbility; + + /** + * 人流测算 参考FlowRateCalculateEnum + */ + @Column(name = "flow_rate_calculate") + private Integer flowRateCalculate; + + /** + * 聚客点农贸市场 参考GatherGuestFarmerMarketEnum + */ + @Column(name = "gather_guest_farmer_market") + private Integer gatherGuestFarmerMarket; + + /** + * 聚客点医院 参考GatherGuestHospitalEnum + */ + @Column(name = "gather_guest_hospital") + private Integer gatherGuestHospital; + + /** + * 聚客点学校 参考GatherGuestSchoolEnum + */ + @Column(name = "gather_guest_school") + private Integer gatherGuestSchool; + + /** + * 门店人流动向 参考StoreFlowTrendEnum + */ + @Column(name = "store_flow_trend") + private Integer storeFlowTrend; + + /** + * 周边100米内餐饮 参考NearRepastEnum + */ + @Column(name = "near_repast") + private Integer nearRepast; + + /** + * 周边100米内小业态邻居 参考NearNeighborEnum + */ + @Column(name = "near_neighbor") + private Integer nearNeighbor; + + /** + * 周边100米内竞争对手 参考NearCompetitorEnum + */ + @Column(name = "near_compete") + private Integer nearCompete; + + /** + * 周边100米内业态经营情况 参考NearBusinessConditionEnum + */ + @Column(name = "near_business_condition") + private Integer nearBusinessCondition; + + /** + * 所处位置 参考IntendPositionEnum + */ + @Column(name = "intend_position") + private Integer intendPosition; + + /** + * 绿化带 参考GreenBeltEnum + */ + @Column(name = "green_belt") + private Integer greenBelt; + + /** + * 门店观瞻 参考StoreOutlookEnum + */ + @Column(name = "store_outlook") + private Integer storeOutlook; + + /** + * 门店来客便利性 参考GuestConvenienceEnum + */ + @Column(name = "guest_convenience") + private Integer guestConvenience; + + /** + * 意向门店开间尺寸 参考WantShopSizeEnum + */ + @Column(name = "want_shop_size") + private Integer wantShopSize; + + /** + * 竞争对手性质 参考CompetitorTypeEnum + */ + @Column(name = "compete_type") + private Integer competeType; + + /** + * 竞争对手经营能力 参考CompetitorBusinessCapacityEnum + */ + @Column(name = "compete_business_capacity") + private Integer competeBusinessCapacity; + + /** + * 投资总额 + */ + @Column(name = "invest_amount") + private String investAmount; + + /** + * 预估日商 + */ + @Column(name = "day_trader") + private String dayTrader; + + /** + * 理论毛利率 + */ + @Column(name = "profit_rate") + private String profitRate; + + /** + * 门店月毛利率 + */ + @Column(name = "month_profit_rate") + private String monthProfitRate; + + /** + * 配送费率 + */ + @Column(name = "delivery_rate") + private String deliveryRate; + + /** + * 配送费 + */ + @Column(name = "delivery_fee") + private String deliveryFee; + + /** + * 品牌使用费率 + */ + @Column(name = "brand_use_rate") + private String brandUseRate; + + /** + * 品牌使用费 + */ + @Column(name = "brand_use_fee") + private String brandUseFee; + + /** + * 基本人工费用 + */ + @Column(name = "staff_fee") + private String staffFee; + + /** + * 店长数量 + */ + @Column(name = "shop_manager_num") + private String shopManagerNum; + + /** + * 店长费用 + */ + @Column(name = "shop_manager_fee") + private String shopManagerFee; + + /** + * 店员数量 + */ + @Column(name = "clerk_num") + private String clerkNum; + + /** + * 店员费用 + */ + @Column(name = "clerk_fee") + private String clerkFee; + + /** + * 奖金分红 + */ + private String bonus; + + /** + * 门店月房租 + */ + @Column(name = "monthly_rent") + private String monthlyRent; + + /** + * 水电物业及其他 + */ + @Column(name = "other_fee") + private String otherFee; + + /** + * 净利润 + */ + @Column(name = "net_profit") + private String netProfit; + + /** + * 月投资回报率 + */ + @Column(name = "monthly_rate_return") + private String monthlyRateReturn; + + /** + * 拓展专员签名 + */ + @Column(name = "development_manager_sign") + private String developmentManagerSign; + + /** + * 拓展专员签字日期 + */ + @Column(name = "development_manager_sign_time") + private Date developmentManagerSignTime; + + /** + * 运营人员签名 + */ + @Column(name = "operation_user_sign") + private String operationUserSign; + + /** + * 运营人员签名日期 + */ + @Column(name = "operation_user_sign_time") + private Date operationUserSignTime; + + /** + * 加盟商签名 + */ + @Column(name = "line_sign") + private String lineSign; + + /** + * 加盟商签名日期 + */ + @Column(name = "line_sign_time") + private Date lineSignTime; + + /** + * 市场容量评估分数 + */ + @Column(name = "market_size_score") + private String marketSizeScore; + + /** + * 商圈氛围评估分数 + */ + @Column(name = "shop_area_score") + private String shopAreaScore; + + /** + * 便利性评估分数 + */ + @Column(name = "convenient_score") + private String convenientScore; + + /** + * 门店属性与竞争环境评估分数 + */ + @Column(name = "environment_score") + private String environmentScore; + + /** + * 租赁合同 + */ + @Column(name = "rent_contract") + private String rentContract; + + /** + * 高德地图评估报告 + */ + @Column(name = "map_evaluation_report") + private String mapEvaluationReport; + + /** + * 删除标识 + */ + private Boolean deleted; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + + /** + * 图片对象 + */ + @Column(name = "picture_obj") + private String pictureObj; + +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopPointInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopPointInfoDO.java new file mode 100644 index 000000000..1a00a4ecd --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopPointInfoDO.java @@ -0,0 +1,137 @@ +package com.cool.store.entity; + +import lombok.Data; + +import java.util.Date; +import javax.persistence.*; + +@Data +@Table(name = "xfsg_shop_point_info") +public class ShopPointInfoDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 铺位编号 + */ + @Column(name = "point_code") + private String pointCode; + + /** + * 铺位名称 + */ + @Column(name = "point_name") + private String pointName; + + /** + * 部门id + */ + @Column(name = "region_id") + private Long regionId; + + /** + * shop_info.id + */ + @Column(name = "shop_id") + private Long shopId; + + /** + * 线索id + */ + @Column(name = "line_id") + private Long lineId; + + /** + * 点位面积 + */ + @Column(name = "point_space") + private String pointSpace; + + /** + * 商圈类型 + */ + @Column(name = "shop_area_type") + private String shopAreaType; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 地址 + */ + private String address; + + /** + * 区域id + */ + @Column(name = "point_area_id") + private Long pointAreaId; + + /** + * 拓展专员 + */ + @Column(name = "development_manager") + private String developmentManager; + + /** + * 营运专员 + */ + @Column(name = "operate_user_id") + private String operateUserId; + + /** + * 拓展时间 + */ + @Column(name = "development_time") + private Date developmentTime; + + /** + * 铺位状态 1.采集中 2.已评估 3.待审批 4.待审核可推荐 5.已审批 6.已绑定 + */ + @Column(name = "point_status") + private Integer pointStatus; + + /** + * 铺位得分 + */ + @Column(name = "point_score") + private String pointScore; + + /** + * 审批次数 + */ + @Column(name = "audit_count") + private Integer auditCount; + + /** + * 是否是加盟商上传 + */ + @Column(name = "is_line_upload") + private Boolean isLineUpload; + + /** + * 删除标识 + */ + private Boolean deleted; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ShopPointDetailRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ShopPointDetailRequest.java new file mode 100644 index 000000000..5469721ea --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ShopPointDetailRequest.java @@ -0,0 +1,217 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.*; +import java.util.Date; + +@Data +public class ShopPointDetailRequest { + + @ApiModelProperty("点位id") + private Long pointId; + + @ApiModelProperty("经营状况") + private Integer bussinessStatus; + + @ApiModelProperty("09:00-10:00人流量") + private Integer nineFlowRate; + + @ApiModelProperty("10:00-11:00人流量") + private Integer tenFlowRate; + + @ApiModelProperty("18:00-19:00人流量") + private Integer eighteenFlowRate; + + @ApiModelProperty("19:00-20:00人流量") + private Integer nineteenFlowRate; + + @ApiModelProperty("店铺方位 0主要路线, 1次要路线") + private Integer pointDirection; + + @ApiModelProperty("立地条件0单门面, 1双门面, 2多门面, 3转角") + private Integer siteConditions; + + @ApiModelProperty("使用面积(一楼)") + private String useArea; + + @ApiModelProperty("门店内宽") + private String storeWidth; + + @ApiModelProperty("房东姓名") + private String landlordUsername; + + @ApiModelProperty("房东电话") + private String landlordMobile; + + @ApiModelProperty("门店月租金") + private String storeRent; + + @ApiModelProperty("支付方式 1.月付 2.季付 3.半年付 4.年付") + private Integer paymentMethod; + + @ApiModelProperty("物业状态 1.原始房东 2.二房东 3.三房东 4.招投标性质") + private Integer propertyStatus; + + @ApiModelProperty("转让费") + private String transferFee; + + @ApiModelProperty("覆盖社区 1.800户以下 2.800-1200户 3.1200-2000户 4.2000户以上") + private Integer coverCommunity; + + @ApiModelProperty("消费能力 1.高端 2.中高端 3.中端 4.低端") + private Integer consumerAbility; + + @ApiModelProperty("人流测算 1.>400人/时以上, 2.300~400人/时, 3.200~300人/时, 4.100~200人/时") + private Integer flowRateCalculate; + + @ApiModelProperty("聚客点农贸市场 1.是 2.否") + private Integer gatherGuestFarmerMarket; + + @ApiModelProperty("聚客点医院 1.甲等医院 2.市级医院 3.县区级医院 4.无医院") + private Integer gatherGuestHospital; + + @ApiModelProperty("聚客点学校 1.幼儿园/小学 2.大学/学院 3.初中/高中 4.无学校") + private Integer gatherGuestSchool; + + @ApiModelProperty("门店人流动向 1.主要流动路线 2.次要流动路线") + private Integer storeFlowTrend; + + @ApiModelProperty("周边100米内餐饮 1.餐饮连锁店或6家以上餐饮店 2.普通餐饮店 3.无餐饮店") + private Integer nearRepast; + + @ApiModelProperty("周边100米内小业态邻居 1.小业态品牌店3家以上 2.小业态普通店3家以上 3.普通小业态店3家以下 4.无小业态店") + private Integer nearNeighbor; + + @ApiModelProperty("周边100米内竞争对手 1.品牌水果店2家以上 2.品牌水果店1家及以上 3.夫妻水果店1家及以上 4.无水果店") + private Integer nearCompete; + + @ApiModelProperty("周边100米内业态经营情况 1.运营状况良好 2.运营状况一般 3.运营状况差") + private Integer nearBusinessCondition; + + @ApiModelProperty("所处位置 1.十字路口 2.居民生活中心 3.社区出入口") + private Integer intendPosition; + + @ApiModelProperty("绿化带 1.门口无绿化带阻挡 2.门口有绿化带阻挡") + private Integer greenBelt; + + @ApiModelProperty("门店观瞻 1.观赡非常好 2.观赡一般 3.观赡差") + private Integer storeOutlook; + + @ApiModelProperty("门店来客便利性 1.门口5米有人行横道 2.门口15米有人行横道 3.无人行横道") + private Integer guestConvenience; + + @ApiModelProperty("意向门店开间尺寸 1.转角 2.12米以上 3.8-12米 4.4-8米 5.4米以下") + private Integer wantShopSize; + + @ApiModelProperty("竞争对手性质 1.连锁店 2.强势单店 3.经营散户 4.小型摊贩") + private Integer competeType; + + @ApiModelProperty("竞争对手经营能力 1.非常好 2.好 3.一般 4.差") + private Integer competeBusinessCapacity; + + @ApiModelProperty("投资总额") + private String investAmount; + + @ApiModelProperty("预估日商") + private String dayTrader; + + @ApiModelProperty("理论毛利率") + private String profitRate; + + @ApiModelProperty("门店月毛利率") + private String monthProfitRate; + + @ApiModelProperty("配送费率") + private String deliveryRate; + + @ApiModelProperty("配送费") + private String deliveryFee; + + @ApiModelProperty("品牌使用费率") + private String brandUseRate; + + @ApiModelProperty("品牌使用费") + private String brandUseFee; + + @ApiModelProperty("基本人工费用") + private String staffFee; + + @ApiModelProperty("店长数量") + private String shopManagerNum; + + @ApiModelProperty("店长费用") + private String shopManagerFee; + + @ApiModelProperty("店员数量") + private String clerkNum; + + @ApiModelProperty("店员费用") + private String clerkFee; + + @ApiModelProperty("奖金分红") + private String bonus; + + @ApiModelProperty("门店月房租") + @Column(name = "monthly_rent") + private String monthlyRent; + + @ApiModelProperty("水电物业及其他") + private String otherFee; + + @ApiModelProperty("净利润") + private String netProfit; + + @ApiModelProperty("月投资回报率") + private String monthlyRateReturn; + + @ApiModelProperty("拓展专员签名") + private String developmentManagerSign; + + @ApiModelProperty("拓展专员签字日期") + private Date developmentManagerSignTime; + + @ApiModelProperty("运营人员签名") + private String operationUserSign; + + @ApiModelProperty("运营人员签名日期") + private Date operationUserSignTime; + + @ApiModelProperty("加盟商签名") + private String lineSign; + + @ApiModelProperty("加盟商签名日期") + private Date lineSignTime; + + @ApiModelProperty("市场容量评估分数") + private String marketSizeScore; + + @ApiModelProperty("商圈氛围评估分数") + private String shopAreaScore; + + @ApiModelProperty("便利性评估分数") + private String convenientScore; + + @ApiModelProperty("门店属性与竞争环境评估分数") + private String environmentScore; + + @ApiModelProperty("租赁合同") + private String rentContract; + + @ApiModelProperty("高德地图评估报告") + private String mapEvaluationReport; + + @ApiModelProperty("删除标识") + private Boolean deleted; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + + @ApiModelProperty("图片对象") + private String pictureObj; + +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/AppointmentTimeListVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/AppointmentTimeListVO.java new file mode 100644 index 000000000..913661521 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/AppointmentTimeListVO.java @@ -0,0 +1,31 @@ +package com.cool.store.vo.interview; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.List; + +/** + * @author zhangchenbiao + * @FileName: AppointmentTimeVO + * @Description: + * @date 2024-03-15 16:07 + */ +@Data +public class AppointmentTimeListVO { + + @ApiModelProperty("时间") + private String time; + + @ApiModelProperty("周几") + private Integer weekDay; + + @ApiModelProperty("时间") + private List timeList; + + public AppointmentTimeListVO(String time, Integer weekDay, List timeList) { + this.time = time; + this.weekDay = weekDay; + this.timeList = timeList; + } + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/LineInterviewService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/LineInterviewService.java index a603873a2..a9a80edae 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/LineInterviewService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/LineInterviewService.java @@ -4,10 +4,7 @@ import com.cool.store.enums.InterviewUserTypeEnum; import com.cool.store.request.AppointmentTimeRequest; import com.cool.store.request.LineInterviewPageRequest; import com.cool.store.request.ModifyInterviewerRequest; -import com.cool.store.vo.interview.AppointmentTimeVO; -import com.cool.store.vo.interview.EnterInterviewVO; -import com.cool.store.vo.interview.InterviewDetailVO; -import com.cool.store.vo.interview.LineInterviewPageVO; +import com.cool.store.vo.interview.*; import com.github.pagehelper.PageInfo; import java.time.LocalDate; @@ -30,6 +27,9 @@ public interface LineInterviewService { */ List getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentDate); + + List getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentStartDate, LocalDate appointmentEndDate); + /** * 面试预约 * @param request diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java index 937f706b4..960e02645 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java @@ -18,10 +18,7 @@ import com.cool.store.utils.TRTCUtils; import com.cool.store.utils.UUIDUtils; import com.cool.store.utils.poi.DateUtils; import com.cool.store.vo.LineAuditInfoVO; -import com.cool.store.vo.interview.AppointmentTimeVO; -import com.cool.store.vo.interview.EnterInterviewVO; -import com.cool.store.vo.interview.InterviewDetailVO; -import com.cool.store.vo.interview.LineInterviewPageVO; +import com.cool.store.vo.interview.*; import com.github.pagehelper.Page; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -89,6 +86,21 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt return resultList; } + @Override + public List getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentStartDate, LocalDate appointmentEndDate) { + if(Objects.isNull(lineId) || Objects.isNull(interviewType) || Objects.isNull(appointmentStartDate) || Objects.isNull(appointmentEndDate)){ + throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); + } + List resultList = new ArrayList<>(); + while (appointmentEndDate.isAfter(appointmentStartDate)){ + List appointmentTime = getAppointmentTime(lineId, interviewType, appointmentStartDate); + AppointmentTimeListVO appointmentTimeList = new AppointmentTimeListVO(appointmentStartDate.toString(), appointmentStartDate.getDayOfWeek().getValue(), appointmentTime); + resultList.add(appointmentTimeList); + appointmentStartDate = appointmentStartDate.plusDays(1); + } + return resultList; + } + @Override @Transactional(rollbackFor = Exception.class) public Boolean appointmentTime(AppointmentTimeRequest request) { diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCLineInterviewController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCLineInterviewController.java index b9e0648a5..a5f2f9167 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCLineInterviewController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCLineInterviewController.java @@ -8,10 +8,7 @@ import com.cool.store.request.LineInterviewPageRequest; import com.cool.store.request.ModifyInterviewerRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.LineInterviewService; -import com.cool.store.vo.interview.AppointmentTimeVO; -import com.cool.store.vo.interview.EnterInterviewVO; -import com.cool.store.vo.interview.InterviewDetailVO; -import com.cool.store.vo.interview.LineInterviewPageVO; +import com.cool.store.vo.interview.*; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -48,10 +45,11 @@ public class PCLineInterviewController { @ApiImplicitParam(name = "interviewType", value = "面试类型:0面谈;1面试", required = true), @ApiImplicitParam(name = "appointmentDate", value = "预约日期 yyyy-MM-dd", required = true) }) - public ResponseResult> getAppointmentTime(@RequestParam("lineId")Long lineId, - @RequestParam("interviewType")Integer interviewType, - @RequestParam("appointmentDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate appointmentDate) { - return ResponseResult.success(lineInterviewService.getAppointmentTime(lineId, interviewType, appointmentDate)); + public ResponseResult> getAppointmentTime(@RequestParam("lineId")Long lineId, + @RequestParam("interviewType")Integer interviewType, + @RequestParam("appointmentStartDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate appointmentStartDate, + @RequestParam("appointmentEndDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate appointmentEndDate) { + return ResponseResult.success(lineInterviewService.getAppointmentTime(lineId, interviewType, appointmentStartDate, appointmentEndDate)); } @ApiOperation("修改面审时间")