面试&面谈

This commit is contained in:
zhangchenbiao
2024-03-29 12:01:02 +08:00
parent 000561518b
commit da984f90e4
27 changed files with 1238 additions and 28 deletions

View File

@@ -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),

View File

@@ -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),

View File

@@ -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),

View File

@@ -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),

View File

@@ -8,7 +8,7 @@ package com.cool.store.enums.point;
*/
public enum FlowRateCalculateEnum {
//1:>400人/时以上, 2:300400人/时, 3:200300人/时, 4:100200人/时
//1.>400人/时以上, 2.300400人/时, 3.200300人/时, 4.100200人/时
FLOW_RATE_CALCULATE_1(1, ">400人/时以上", 8),
FLOW_RATE_CALCULATE_2(2, "300400人/时", 6),
FLOW_RATE_CALCULATE_3(3, "200300人/时", 5),

View File

@@ -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),
;

View File

@@ -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),

View File

@@ -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),

View File

@@ -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),
;

View File

@@ -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<ShopInfoDO> getShopList(Long lineId){
return shopInfoMapper.getShopList(lineId);
}
/**
* 新增门店信息
* @param shopInfo
* @return
*/
public Long addShopInfo(ShopInfoDO shopInfo){
shopInfoMapper.insertSelective(shopInfo);
return shopInfo.getId();
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}

View File

@@ -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<ShopInfoDO> {
/**
* 获取加盟商的店铺列表
* @param lineId
* @return
*/
List<ShopInfoDO> getShopList(@Param("lineId") Long lineId);
}

View File

@@ -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<ShopPointDetailInfoDO> {
}

View File

@@ -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<ShopPointInfoDO> {
}

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.ShopInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.ShopInfoDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="region_id" jdbcType="BIGINT" property="regionId" />
<result column="line_id" jdbcType="BIGINT" property="lineId" />
<result column="partner_id" jdbcType="VARCHAR" property="partnerId" />
<result column="point_id" jdbcType="BIGINT" property="pointId" />
<result column="shop_name" jdbcType="VARCHAR" property="shopName" />
<result column="shop_code" jdbcType="VARCHAR" property="shopCode" />
<result column="store_num" jdbcType="VARCHAR" property="storeNum" />
<result column="shop_manager_user_id" jdbcType="VARCHAR" property="shopManagerUserId" />
<result column="supervisor_user_id" jdbcType="VARCHAR" property="supervisorUserId" />
<result column="plan_open_time" jdbcType="TIMESTAMP" property="planOpenTime" />
<result column="cur_progress" jdbcType="DECIMAL" property="curProgress" />
<result column="shop_type" jdbcType="TINYINT" property="shopType" />
<result column="shop_stage" jdbcType="TINYINT" property="shopStage" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="allColumn">
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
</sql>
<select id="getShopList" resultMap="BaseResultMap">
select <include refid="allColumn"/> from xfsg_shop_info where line_id = #{lineId} and deleted= '0'
</select>
</mapper>

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.ShopPointDetailInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.ShopPointDetailInfoDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="point_id" jdbcType="BIGINT" property="pointId" />
<result column="bussiness_status" jdbcType="TINYINT" property="bussinessStatus" />
<result column="nine_flow_rate" jdbcType="TINYINT" property="nineFlowRate" />
<result column="ten_flow_rate" jdbcType="TINYINT" property="tenFlowRate" />
<result column="eighteen_flow_rate" jdbcType="TINYINT" property="eighteenFlowRate" />
<result column="nineteen_flow_rate" jdbcType="TINYINT" property="nineteenFlowRate" />
<result column="point_direction" jdbcType="TINYINT" property="pointDirection" />
<result column="site_conditions" jdbcType="TINYINT" property="siteConditions" />
<result column="use_area" jdbcType="VARCHAR" property="useArea" />
<result column="store_width" jdbcType="VARCHAR" property="storeWidth" />
<result column="landlord_username" jdbcType="VARCHAR" property="landlordUsername" />
<result column="landlord_mobile" jdbcType="VARCHAR" property="landlordMobile" />
<result column="store_rent" jdbcType="VARCHAR" property="storeRent" />
<result column="payment_method" jdbcType="TINYINT" property="paymentMethod" />
<result column="property_status" jdbcType="TINYINT" property="propertyStatus" />
<result column="transfer_fee" jdbcType="VARCHAR" property="transferFee" />
<result column="cover_community" jdbcType="TINYINT" property="coverCommunity" />
<result column="consumer_ability" jdbcType="TINYINT" property="consumerAbility" />
<result column="flow_rate_calculate" jdbcType="TINYINT" property="flowRateCalculate" />
<result column="gather_guest_farmer_market" jdbcType="TINYINT" property="gatherGuestFarmerMarket" />
<result column="gather_guest_hospital" jdbcType="TINYINT" property="gatherGuestHospital" />
<result column="gather_guest_school" jdbcType="TINYINT" property="gatherGuestSchool" />
<result column="store_flow_trend" jdbcType="TINYINT" property="storeFlowTrend" />
<result column="near_repast" jdbcType="TINYINT" property="nearRepast" />
<result column="near_neighbor" jdbcType="TINYINT" property="nearNeighbor" />
<result column="near_compete" jdbcType="TINYINT" property="nearCompete" />
<result column="near_business_condition" jdbcType="TINYINT" property="nearBusinessCondition" />
<result column="intend_position" jdbcType="TINYINT" property="intendPosition" />
<result column="green_belt" jdbcType="TINYINT" property="greenBelt" />
<result column="store_outlook" jdbcType="TINYINT" property="storeOutlook" />
<result column="guest_convenience" jdbcType="TINYINT" property="guestConvenience" />
<result column="want_shop_size" jdbcType="TINYINT" property="wantShopSize" />
<result column="compete_type" jdbcType="TINYINT" property="competeType" />
<result column="compete_business_capacity" jdbcType="TINYINT" property="competeBusinessCapacity" />
<result column="invest_amount" jdbcType="VARCHAR" property="investAmount" />
<result column="day_trader" jdbcType="VARCHAR" property="dayTrader" />
<result column="profit_rate" jdbcType="VARCHAR" property="profitRate" />
<result column="month_profit_rate" jdbcType="VARCHAR" property="monthProfitRate" />
<result column="delivery_rate" jdbcType="VARCHAR" property="deliveryRate" />
<result column="delivery_fee" jdbcType="VARCHAR" property="deliveryFee" />
<result column="brand_use_rate" jdbcType="VARCHAR" property="brandUseRate" />
<result column="brand_use_fee" jdbcType="VARCHAR" property="brandUseFee" />
<result column="staff_fee" jdbcType="VARCHAR" property="staffFee" />
<result column="shop_manager_num" jdbcType="VARCHAR" property="shopManagerNum" />
<result column="shop_manager_fee" jdbcType="VARCHAR" property="shopManagerFee" />
<result column="clerk_num" jdbcType="VARCHAR" property="clerkNum" />
<result column="clerk_fee" jdbcType="VARCHAR" property="clerkFee" />
<result column="bonus" jdbcType="VARCHAR" property="bonus" />
<result column="monthly_rent" jdbcType="VARCHAR" property="monthlyRent" />
<result column="other_fee" jdbcType="VARCHAR" property="otherFee" />
<result column="net_profit" jdbcType="VARCHAR" property="netProfit" />
<result column="monthly_rate_return" jdbcType="VARCHAR" property="monthlyRateReturn" />
<result column="development_manager_sign" jdbcType="VARCHAR" property="developmentManagerSign" />
<result column="development_manager_sign_time" jdbcType="TIMESTAMP" property="developmentManagerSignTime" />
<result column="operation_user_sign" jdbcType="VARCHAR" property="operationUserSign" />
<result column="operation_user_sign_time" jdbcType="TIMESTAMP" property="operationUserSignTime" />
<result column="line_sign" jdbcType="VARCHAR" property="lineSign" />
<result column="line_sign_time" jdbcType="TIMESTAMP" property="lineSignTime" />
<result column="market_size_score" jdbcType="VARCHAR" property="marketSizeScore" />
<result column="shop_area_score" jdbcType="VARCHAR" property="shopAreaScore" />
<result column="convenient_score" jdbcType="VARCHAR" property="convenientScore" />
<result column="environment_score" jdbcType="VARCHAR" property="environmentScore" />
<result column="rent_contract" jdbcType="VARCHAR" property="rentContract" />
<result column="map_evaluation_report" jdbcType="VARCHAR" property="mapEvaluationReport" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="picture_obj" jdbcType="LONGVARCHAR" property="pictureObj" />
</resultMap>
</mapper>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.ShopPointInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.ShopPointInfoDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="point_code" jdbcType="VARCHAR" property="pointCode" />
<result column="point_name" jdbcType="VARCHAR" property="pointName" />
<result column="region_id" jdbcType="BIGINT" property="regionId" />
<result column="shop_id" jdbcType="BIGINT" property="shopId" />
<result column="line_id" jdbcType="BIGINT" property="lineId" />
<result column="point_space" jdbcType="VARCHAR" property="pointSpace" />
<result column="shop_area_type" jdbcType="VARCHAR" property="shopAreaType" />
<result column="longitude" jdbcType="VARCHAR" property="longitude" />
<result column="latitude" jdbcType="VARCHAR" property="latitude" />
<result column="address" jdbcType="VARCHAR" property="address" />
<result column="point_area_id" jdbcType="BIGINT" property="pointAreaId" />
<result column="development_manager" jdbcType="VARCHAR" property="developmentManager" />
<result column="operate_user_id" jdbcType="VARCHAR" property="operateUserId" />
<result column="development_time" jdbcType="TIMESTAMP" property="developmentTime" />
<result column="point_status" jdbcType="TINYINT" property="pointStatus" />
<result column="point_score" jdbcType="VARCHAR" property="pointScore" />
<result column="audit_count" jdbcType="TINYINT" property="auditCount" />
<result column="is_line_upload" jdbcType="BIT" property="isLineUpload" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
</mapper>

View File

@@ -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
table.name = xfsg_shop_point_info
table.object.class = ShopPointInfoDO
table.mapper = ShopPointInfoMapper

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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.300400人/时, 3.200300人/时, 4.100200人/时")
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;
}

View File

@@ -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<AppointmentTimeVO> timeList;
public AppointmentTimeListVO(String time, Integer weekDay, List<AppointmentTimeVO> timeList) {
this.time = time;
this.weekDay = weekDay;
this.timeList = timeList;
}
}

View File

@@ -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<AppointmentTimeVO> getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentDate);
List<AppointmentTimeListVO> getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentStartDate, LocalDate appointmentEndDate);
/**
* 面试预约
* @param request

View File

@@ -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<AppointmentTimeListVO> 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<AppointmentTimeListVO> resultList = new ArrayList<>();
while (appointmentEndDate.isAfter(appointmentStartDate)){
List<AppointmentTimeVO> 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) {

View File

@@ -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<List<AppointmentTimeVO>> getAppointmentTime(@RequestParam("lineId")Long lineId,
public ResponseResult<List<AppointmentTimeListVO>> 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));
@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("修改面审时间")