From 3bd0091e7d202cb1e69a2967f42336fbce8806f4 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Wed, 27 Mar 2024 11:13:44 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E9=80=89=E5=9D=80=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=20=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/MessageEnum.java | 40 ++++++++ .../com/cool/store/enums/RocketMqTagEnum.java | 1 + .../store/enums/point/BussinessStateEnum.java | 32 ++++++ .../point/CompetitorBusinessCapacityEnum.java | 42 ++++++++ .../store/enums/point/CompetitorTypeEnum.java | 42 ++++++++ .../enums/point/ConsumerAbilityEnum.java | 41 ++++++++ .../store/enums/point/CoverCommunityEnum.java | 41 ++++++++ .../enums/point/FlowRateCalculateEnum.java | 41 ++++++++ .../cool/store/enums/point/FlowRateEnum.java | 34 +++++++ .../point/GatherGuestFarmerMarketEnum.java | 39 ++++++++ .../enums/point/GatherGuestHospitalEnum.java | 41 ++++++++ .../enums/point/GatherGuestSchoolEnum.java | 42 ++++++++ .../cool/store/enums/point/GreenBeltEnum.java | 40 ++++++++ .../enums/point/GuestConvenienceEnum.java | 41 ++++++++ .../store/enums/point/IntendPositionEnum.java | 41 ++++++++ .../point/NearBusinessConditionEnum.java | 42 ++++++++ .../store/enums/point/NearCompetitorEnum.java | 42 ++++++++ .../store/enums/point/NearNeighborEnum.java | 42 ++++++++ .../store/enums/point/NearRepastEnum.java | 41 ++++++++ .../store/enums/point/PaymentMethodEnum.java | 34 +++++++ .../store/enums/point/PointDirectionEnum.java | 32 ++++++ .../store/enums/point/PropertyStatusEnum.java | 34 +++++++ .../store/enums/point/ShopAreaTypeEnum.java | 38 ++++++++ .../store/enums/point/SiteConditionsEnum.java | 34 +++++++ .../store/enums/point/StoreFlowTrendEnum.java | 40 ++++++++ .../store/enums/point/StoreOutlookEnum.java | 41 ++++++++ .../store/enums/point/WantShopSizeEnum.java | 43 ++++++++ .../store/dto/message/SendMessageDTO.java | 97 +++++++++++++++++++ .../request/LineInterviewPageRequest.java | 1 + .../vo/interview/LineInterviewPageVO.java | 2 +- .../store/service/impl/CommonService.java | 57 +++++++++++ .../store/controller/webb/TestController.java | 36 +++++++ .../store/controller/webc/TestController.java | 2 +- .../resources/application-test.properties | 10 +- .../src/main/resources/application.properties | 1 + 35 files changed, 1221 insertions(+), 6 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/BussinessStateEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompetitorBusinessCapacityEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompetitorTypeEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/ConsumerAbilityEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/CoverCommunityEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateCalculateEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestFarmerMarketEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestHospitalEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestSchoolEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/GreenBeltEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/GuestConvenienceEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/IntendPositionEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearBusinessConditionEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearCompetitorEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearNeighborEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearRepastEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/PaymentMethodEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/PointDirectionEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/PropertyStatusEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopAreaTypeEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/SiteConditionsEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/StoreFlowTrendEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/StoreOutlookEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/WantShopSizeEnum.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/message/SendMessageDTO.java create mode 100644 coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TestController.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java new file mode 100644 index 000000000..023746002 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java @@ -0,0 +1,40 @@ +package com.cool.store.enums; + +/** + * @author zhangchenbiao + * @FileName: MessageEnum + * @Description: + * @date 2024-03-27 10:50 + */ +public enum MessageEnum { + + MESSAGE_1("您有一份加盟意向申请,请查收。", "##### 加盟商姓名:{0}\n##### 意向加盟区域:{1}\n", "https://oss.coolcollege.cn/53c11d2f4ec94d4fa7edd7a96e40e2d6.png"), + MESSAGE_2("您有一份邀约面谈预约,请查收。", "##### 加盟商姓名:{0}\n##### 意向加盟区域:{1}\n##### 预约面谈时间:{2}\n", "https://oss.coolcollege.cn/53c11d2f4ec94d4fa7edd7a96e40e2d6.png"), + + + ; + + private String title; + + private String content; + + private String imageUrl; + + MessageEnum(String title, String content, String imageUrl) { + this.title = title; + this.content = content; + this.imageUrl = imageUrl; + } + + public String getTitle() { + return title; + } + + public String getContent() { + return content; + } + + public String getImageUrl() { + return imageUrl; + } +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java index 9471b871d..a0bad07e3 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java @@ -14,6 +14,7 @@ public enum RocketMqTagEnum { AUTH_SCOPE_CHANGE("auth_scope_change","授权范围变更"), USER_EVENT("user_event","钉钉通讯录变更事件"), DEPT_EVENT("dept_event","部门事件"), + STORE_DING_QUEUE("store_ding_queue", "微应用钉钉消息发送"), ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/BussinessStateEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/BussinessStateEnum.java new file mode 100644 index 000000000..24c42ac48 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/BussinessStateEnum.java @@ -0,0 +1,32 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: BussinessStateEnum + * @Description:目前经营情况 + * @date 2024-03-26 16:08 + */ +public enum BussinessStateEnum { + + BUSSINESS_STATE_1(1, "营业中"), + BUSSINESS_STATE_2(2, "空铺"), + ; + + private Integer code; + + private String desc; + + BussinessStateEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompetitorBusinessCapacityEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompetitorBusinessCapacityEnum.java new file mode 100644 index 000000000..8ea20d8b5 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompetitorBusinessCapacityEnum.java @@ -0,0 +1,42 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: CompetitorBusinessCapacityEnum + * @Description:竞争对手经营能力 + * @date 2024-03-26 16:08 + */ +public enum CompetitorBusinessCapacityEnum { + + COMPETITOR_BUSINESS_CAPACITY_1(1, "非常好", 0), + COMPETITOR_BUSINESS_CAPACITY_2(2, "好", 1), + COMPETITOR_BUSINESS_CAPACITY_3(3, "一般", 3), + COMPETITOR_BUSINESS_CAPACITY_4(4, "差", 4), + ; + + private Integer code; + + private String desc; + + private Integer score; + + CompetitorBusinessCapacityEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompetitorTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompetitorTypeEnum.java new file mode 100644 index 000000000..5b95c6326 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CompetitorTypeEnum.java @@ -0,0 +1,42 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: CompetitorTypeEnum + * @Description:竞争对手性质 + * @date 2024-03-26 16:08 + */ +public enum CompetitorTypeEnum { + + WANT_SHOP_SIZE_1(1, "连锁店", 1), + WANT_SHOP_SIZE_2(2, "强势单店", 2), + WANT_SHOP_SIZE_3(3, "经营散户", 3), + WANT_SHOP_SIZE_4(4, "小型摊贩", 5), + ; + + private Integer code; + + private String desc; + + private Integer score; + + CompetitorTypeEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} 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 new file mode 100644 index 000000000..9b6b49d15 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ConsumerAbilityEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: ConsumerAbilityEnum + * @Description:消费能力 + * @date 2024-03-26 16:08 + */ +public enum ConsumerAbilityEnum { + + CONSUMER_ABILITY_1(1, "高端", 10), + CONSUMER_ABILITY_2(2, "中高端", 8), + CONSUMER_ABILITY_3(3, "中端", 6), + CONSUMER_ABILITY_4(4, "低端", 4), + ; + + private Integer code; + + private String desc; + + private Integer score; + + ConsumerAbilityEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + +} 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 new file mode 100644 index 000000000..036d9b02a --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/CoverCommunityEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: CoverCommunityEnum + * @Description:覆盖社区(半径500米内) + * @date 2024-03-26 16:08 + */ +public enum CoverCommunityEnum { + + COVER_COMMUNITY_1(1, "800户以下", 5), + COVER_COMMUNITY_2(2, "800户-1200户", 10), + COVER_COMMUNITY_3(3, "1200户-2000户", 12), + COVER_COMMUNITY_4(4, "2000户以上", 15), + ; + + private Integer code; + + private String desc; + + private Integer score; + + CoverCommunityEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + +} 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 new file mode 100644 index 000000000..d7871a217 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateCalculateEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: FlowRateCalculateEnum + * @Description:人流测算(18点-20点) + * @date 2024-03-26 16:08 + */ +public enum FlowRateCalculateEnum { + + FLOW_RATE_CALCULATE_1(1, ">400人/时以上", 8), + FLOW_RATE_CALCULATE_2(2, "300~400人/时", 6), + FLOW_RATE_CALCULATE_3(3, "200~300人/时", 5), + FLOW_RATE_CALCULATE_4(4, "100~200人/时", 3), + ; + + private Integer code; + + private String desc; + + private Integer score; + + FlowRateCalculateEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateEnum.java new file mode 100644 index 000000000..c69fbf6f1 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/FlowRateEnum.java @@ -0,0 +1,34 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: FlowRateEnum + * @Description:高峰期人流 + * @date 2024-03-26 16:08 + */ +public enum FlowRateEnum { + + FLOW_RATE_1(1, "200以下"), + FLOW_RATE_2(2, "200~300"), + FLOW_RATE_3(3, "300~400"), + FLOW_RATE_4(4, "400以上"), + ; + + private Integer code; + + private String desc; + + FlowRateEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + +} 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 new file mode 100644 index 000000000..cc4fb9636 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestFarmerMarketEnum.java @@ -0,0 +1,39 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: FarmerMarketEnum + * @Description:聚客点农贸市场 + * @date 2024-03-26 16:08 + */ +public enum GatherGuestFarmerMarketEnum { + + GATHER_GUEST_FARMER_MARKET_1(1, "是", 5), + GATHER_GUEST_FARMER_MARKET_2(2, "否", 3), + ; + + private Integer code; + + private String desc; + + private Integer score; + + GatherGuestFarmerMarketEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + +} 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 new file mode 100644 index 000000000..80ca21865 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestHospitalEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: GatherGuestHospitalEnum + * @Description:聚客点医院 + * @date 2024-03-26 16:08 + */ +public enum GatherGuestHospitalEnum { + + GATHER_GUEST_HOSPITAL_1(1, "甲等医院", 5), + GATHER_GUEST_HOSPITAL_2(2, "市级医院", 3), + GATHER_GUEST_HOSPITAL_3(3, "县区级医院", 2), + GATHER_GUEST_HOSPITAL_4(4, "无医院", 1) + ; + + private Integer code; + + private String desc; + + private Integer score; + + GatherGuestHospitalEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + +} 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 new file mode 100644 index 000000000..d2aacb8ed --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GatherGuestSchoolEnum.java @@ -0,0 +1,42 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: GatherGuestSchoolEnum + * @Description:聚客点学校 + * @date 2024-03-26 16:08 + */ +public enum GatherGuestSchoolEnum { + + GATHER_GUEST_SCHOOL_1(1, "幼儿园/小学", 4), + GATHER_GUEST_SCHOOL_2(2, "大学/学院", 3), + GATHER_GUEST_SCHOOL_3(3, "初中/高中", 2), + GATHER_GUEST_SCHOOL_4(4, "无学校", 1) + ; + + private Integer code; + + private String desc; + + private Integer score; + + GatherGuestSchoolEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} 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 new file mode 100644 index 000000000..d14b8bde4 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GreenBeltEnum.java @@ -0,0 +1,40 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: IntendPositionEnum + * @Description:绿化带 + * @date 2024-03-26 16:08 + */ +public enum GreenBeltEnum { + + GREEN_BELT_1(1, "门口无绿化带阻挡", 3), + GREEN_BELT_2(2, "门口有绿化带阻挡", 1), + ; + + private Integer code; + + private String desc; + + private Integer score; + + GreenBeltEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GuestConvenienceEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GuestConvenienceEnum.java new file mode 100644 index 000000000..96951d24b --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/GuestConvenienceEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: StoreOutlookEnum + * @Description:门店观赡 + * @date 2024-03-26 16:08 + */ +public enum GuestConvenienceEnum { + + GUEST_CONVENIENCE_1(1, "门口5米有人行横道", 3), + GUEST_CONVENIENCE_2(2, "门口15米有人行横道", 2), + GUEST_CONVENIENCE_3(3, "无人行横道", 1), + ; + + private Integer code; + + private String desc; + + private Integer score; + + GuestConvenienceEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/IntendPositionEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/IntendPositionEnum.java new file mode 100644 index 000000000..09171b867 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/IntendPositionEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: IntendPositionEnum + * @Description:意向店所处位置 + * @date 2024-03-26 16:08 + */ +public enum IntendPositionEnum { + + INTEND_POSITION_1(1, "十字路口", 6), + INTEND_POSITION_2(2, "居民生活中心", 5), + INTEND_POSITION_3(3, "社区出入口", 5), + ; + + private Integer code; + + private String desc; + + private Integer score; + + IntendPositionEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearBusinessConditionEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearBusinessConditionEnum.java new file mode 100644 index 000000000..964dd018c --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearBusinessConditionEnum.java @@ -0,0 +1,42 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: NearBusinessConditionEnum + * @Description:周边业态经营情况(100米内) + * @date 2024-03-26 16:08 + */ +public enum NearBusinessConditionEnum { + + NEAR_BUSINESS_CONDITION_1(1, "经营状况良好", 3), + NEAR_BUSINESS_CONDITION_2(2, "经营状况一般", 2), + NEAR_BUSINESS_CONDITION_3(3, "经营状况差", 1) + ; + ; + + private Integer code; + + private String desc; + + private Integer score; + + NearBusinessConditionEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearCompetitorEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearCompetitorEnum.java new file mode 100644 index 000000000..b771869e3 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearCompetitorEnum.java @@ -0,0 +1,42 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: NearCompetitorEnum + * @Description:周边(100m内)餐饮店 + * @date 2024-03-26 16:08 + */ +public enum NearCompetitorEnum { + + NEAR_COMPETITOR_1(1, "品牌水果店2家以上", 1), + NEAR_COMPETITOR_2(2, "品牌水果店1家及以上", 2), + NEAR_COMPETITOR_3(3, "夫妻水果店1家及以上", 2), + NEAR_COMPETITOR_4(4, "无水果店", 3) + ; + + private Integer code; + + private String desc; + + private Integer score; + + NearCompetitorEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearNeighborEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearNeighborEnum.java new file mode 100644 index 000000000..e9e5e5d48 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearNeighborEnum.java @@ -0,0 +1,42 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: NearRepastEnum + * @Description:周边(100m内)餐饮店 + * @date 2024-03-26 16:08 + */ +public enum NearNeighborEnum { + + NEAR_NEIGHBOR_1(1, "小业态品牌店3家以上", 4), + NEAR_NEIGHBOR_2(2, "小业态普通店3家以上", 2), + NEAR_NEIGHBOR_3(3, "普通小业态店3家以下", 1), + NEAR_NEIGHBOR_4(4, "无小业态店", 1), + ; + + private Integer code; + + private String desc; + + private Integer score; + + NearNeighborEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearRepastEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearRepastEnum.java new file mode 100644 index 000000000..f1c89a7ce --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/NearRepastEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: NearRepastEnum + * @Description:周边(100m内)餐饮店 + * @date 2024-03-26 16:08 + */ +public enum NearRepastEnum { + + NEAR_REPAST_1(1, "餐饮连锁店或6家以上餐饮店", 4), + NEAR_REPAST_2(2, "普通餐饮店", 3), + NEAR_REPAST_3(3, "无餐饮店", 1), + ; + + private Integer code; + + private String desc; + + private Integer score; + + NearRepastEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PaymentMethodEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PaymentMethodEnum.java new file mode 100644 index 000000000..b65546dba --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PaymentMethodEnum.java @@ -0,0 +1,34 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: PaymentMethodEnum + * @Description:付款方式 + * @date 2024-03-26 16:08 + */ +public enum PaymentMethodEnum { + + PAYMENT_METHOD_1(1, "月付"), + PAYMENT_METHOD_2(2, "季付"), + PAYMENT_METHOD_3(3, "半年付"), + PAYMENT_METHOD_4(4, "年付"), + ; + + private Integer code; + + private String desc; + + PaymentMethodEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PointDirectionEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PointDirectionEnum.java new file mode 100644 index 000000000..b1b8239a0 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PointDirectionEnum.java @@ -0,0 +1,32 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: PointDirectionEnum + * @Description:店铺方位 + * @date 2024-03-26 16:08 + */ +public enum PointDirectionEnum { + + POINT_DIRECTION_1(1, "主要动线"), + POINT_DIRECTION_2(2, "次要动线"), + ; + + private Integer code; + + private String desc; + + PointDirectionEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PropertyStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PropertyStatusEnum.java new file mode 100644 index 000000000..e7c5fa95a --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/PropertyStatusEnum.java @@ -0,0 +1,34 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: PropertyStatusEnum + * @Description:物业状态 + * @date 2024-03-26 16:08 + */ +public enum PropertyStatusEnum { + + PROPERTY_STATUS_1(1, "原始房东"), + PROPERTY_STATUS_2(2, "二房东"), + PROPERTY_STATUS_3(3, "三房东"), + PROPERTY_STATUS_4(4, "招投标性质"), + ; + + private Integer code; + + private String desc; + + PropertyStatusEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopAreaTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopAreaTypeEnum.java new file mode 100644 index 000000000..7f3110e4a --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopAreaTypeEnum.java @@ -0,0 +1,38 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: ShopAreaTypeEnum + * @Description:商圈类型 + * @date 2024-03-26 16:08 + */ +public enum ShopAreaTypeEnum { + + SHOP_AREA_TYPE_1(1, "社区商圈"), + SHOP_AREA_TYPE_2(2, "综合商圈"), + SHOP_AREA_TYPE_3(3, "商业商圈"), + SHOP_AREA_TYPE_4(4, "学校商圈"), + SHOP_AREA_TYPE_5(5, "医院商圈"), + SHOP_AREA_TYPE_6(6, "农贸商圈"), + SHOP_AREA_TYPE_7(7, "纯人流商圈"), + SHOP_AREA_TYPE_8(8, "办公商圈"), + ; + + private Integer code; + + private String desc; + + ShopAreaTypeEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/SiteConditionsEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/SiteConditionsEnum.java new file mode 100644 index 000000000..fcd044270 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/SiteConditionsEnum.java @@ -0,0 +1,34 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: SiteConditionsEnum + * @Description:立地条件 + * @date 2024-03-26 16:08 + */ +public enum SiteConditionsEnum { + + SITE_CONDITIONS_1(1, "单门面"), + SITE_CONDITIONS_2(2, "双门面"), + SITE_CONDITIONS_3(3, "多门面"), + SITE_CONDITIONS_4(4, "转角"), + ; + + private Integer code; + + private String desc; + + SiteConditionsEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/StoreFlowTrendEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/StoreFlowTrendEnum.java new file mode 100644 index 000000000..2588b78c0 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/StoreFlowTrendEnum.java @@ -0,0 +1,40 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: StoreFlowTrendEnum + * @Description:门店人流动向 + * @date 2024-03-26 16:08 + */ +public enum StoreFlowTrendEnum { + + STORE_FLOW_TREND_1(1, "主要流动路线", 7), + STORE_FLOW_TREND_2(2, "次要流动路线", 4), + ; + + private Integer code; + + private String desc; + + private Integer score; + + StoreFlowTrendEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/StoreOutlookEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/StoreOutlookEnum.java new file mode 100644 index 000000000..c8c69bf2f --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/StoreOutlookEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: StoreOutlookEnum + * @Description:门店观赡 + * @date 2024-03-26 16:08 + */ +public enum StoreOutlookEnum { + + STORE_OUTLOOK_1(1, "观赡非常好", 4), + STORE_OUTLOOK_2(2, "观赡一般", 3), + STORE_OUTLOOK_3(2, "观赡差", 2), + ; + + private Integer code; + + private String desc; + + private Integer score; + + StoreOutlookEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/WantShopSizeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/WantShopSizeEnum.java new file mode 100644 index 000000000..079393a3d --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/WantShopSizeEnum.java @@ -0,0 +1,43 @@ +package com.cool.store.enums.point; + +/** + * @author zhangchenbiao + * @FileName: WantShopSizeEnum + * @Description:意向门店开间尺寸 + * @date 2024-03-26 16:08 + */ +public enum WantShopSizeEnum { + + WANT_SHOP_SIZE_1(1, "转角", 6), + WANT_SHOP_SIZE_2(2, "12米以上", 2), + WANT_SHOP_SIZE_3(3, "8-12米", 3), + WANT_SHOP_SIZE_4(4, "4-8米", 5), + WANT_SHOP_SIZE_5(5, "4米以下", 3) + ; + + private Integer code; + + private String desc; + + private Integer score; + + WantShopSizeEnum(Integer code, String desc, Integer score) { + this.code = code; + this.desc = desc; + this.score = score; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public Integer getScore() { + return score; + } + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/message/SendMessageDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/message/SendMessageDTO.java new file mode 100644 index 000000000..d63555b8a --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/message/SendMessageDTO.java @@ -0,0 +1,97 @@ +package com.cool.store.dto.message; + +import com.alibaba.fastjson.JSONObject; +import lombok.Data; + +@Data +public class SendMessageDTO { + /** + * 钉钉的企业唯一ID + */ + private String corpId; + /** + * 标题 + */ + private String title; + /** + * 内容 + */ + private String content; + /** + * 发送的人员ID集合 + */ + private String userIds; + /** + * PC链接的参数 + */ + private String pcParam; + /** + * 移动链接的参数 + */ + private String mobileParam; + /** + * oa消息的钉钉图片ID + */ + private String picUrl; + /** + * 是否侧边栏打开消息(钉钉PC端) + * 默认为false + */ + private Boolean isSideOpen = false; + /** + * 是否外跳浏览器打开消息 + * 默认为false + */ + private Boolean isJumpOpen = false; + /** + * 是否包含PC端链接(如果不包含,则PC端打开消息时弹出二维码用于移动端扫描) + * 默认为false + */ + private Boolean containPcUrl = false; + /** + * 是否是静态链接(直接发送此链接,可以是H5的固定页面,一般用于推送运营页面) + * 默认为false + */ + private Boolean isStaticUrl = false; + /** + * 静态链接地址 + */ + private String staticUrl; + + /** + * 发送消息业务id标识 + */ + private String outBusinessId; + + /** + * 微应用:micro_app; E应用-e_app; 钉钉:DINGDING; 企业微信:qw + */ + private String appType; + + private JSONObject oaJson; + + private String messageType; + + + public SendMessageDTO() { + + } + + @Override + public String toString() { + return "JmsSendMessageVo{" + + "corpId='" + corpId + '\'' + + ", title='" + title + '\'' + + ", content='" + content + '\'' + + ", userIds=" + userIds + + ", pcParam='" + pcParam + '\'' + + ", mobileParam='" + mobileParam + '\'' + + ", picUrl='" + picUrl + '\'' + + ", isSideOpen=" + isSideOpen + + ", isJumpOpen=" + isJumpOpen + + ", containPcUrl=" + containPcUrl + + ", isStaticUrl=" + isStaticUrl + + ", staticUrl='" + staticUrl + '\'' + + '}'; + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineInterviewPageRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineInterviewPageRequest.java index 4e86857c0..d74470472 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineInterviewPageRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineInterviewPageRequest.java @@ -44,5 +44,6 @@ public class LineInterviewPageRequest extends PageBasicInfo { @ApiModelProperty("面试类型:0面谈;1一审;2二审") private Integer interviewType; + @ApiModelProperty("面试官") private String interviewerUserId; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/LineInterviewPageVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/LineInterviewPageVO.java index f679da775..b0e7eda7a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/LineInterviewPageVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/LineInterviewPageVO.java @@ -45,7 +45,7 @@ public class LineInterviewPageVO { @ApiModelProperty("计划结束时间") private String endTime; - @ApiModelProperty("面试状态") + @ApiModelProperty("面试状态 1待面试 2待审核 3审批通过 4不通过") private Integer interviewStatus; @ApiModelProperty("招商经理") diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonService.java index f02063c96..fb9f8c31e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonService.java @@ -1,13 +1,29 @@ package com.cool.store.service.impl; +import com.alibaba.fastjson.JSONObject; import com.cool.store.dao.EnterpriseUserDAO; +import com.cool.store.dto.message.SendMessageDTO; +import com.cool.store.enums.MessageEnum; +import com.cool.store.enums.RocketMqTagEnum; import com.cool.store.enums.UserRoleEnum; import com.cool.store.enums.WorkflowSubStageEnum; +import com.cool.store.mq.producer.SimpleMessageService; +import com.cool.store.utils.UUIDUtils; +import com.cool.store.utils.poi.constant.Constants; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.text.MessageFormat; +import java.util.List; +import java.util.stream.Collectors; /** * @author zhangchenbiao @@ -22,6 +38,14 @@ public class CommonService { private ApplicationContext applicationContext; @Resource private EnterpriseUserDAO enterpriseUserDAO; + @Resource + private SimpleMessageService simpleMessageService; + @Value("${coolstore.page.domain}") + private String coolStoreDomainUrl; + @Value("${mybatis.configuration.variables.enterpriseId}") + private String enterpriseId; + @Value("${enterprise.dingCorpId}") + private String dingCorpId; public LineFlowService getLineFlowService(Integer workflowSubStage){ WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(workflowSubStage); @@ -38,4 +62,37 @@ public class CommonService { //随机一个 return enterpriseUserDAO.getUserInfoByUserIds(null).stream().findAny().get().getUserId(); } + + public void sendMessage(List userIds, Long lineId, MessageEnum message, String... param){ + if(CollectionUtils.isEmpty(userIds)){ + return; + } + userIds = userIds.stream().filter(StringUtils::isNotBlank).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(userIds)){ + return; + } + String mobileParam = MessageFormat.format("{0}&eid={1}&corpId={2}&appType=dingding2&lineId={3}", "", enterpriseId, dingCorpId, String.valueOf(lineId)); + try { + String messageUrl = coolStoreDomainUrl + "dd-noticemsg?miniAppId={0}&appId={1}&corpId={2}&appUrl=" + URLEncoder.encode("pages/common-web-view/index?routerUrl=notice&target=" + mobileParam, StandardCharsets.UTF_8.name()); + SendMessageDTO messageDTO = new SendMessageDTO(); + messageDTO.setCorpId(dingCorpId); + messageDTO.setUserIds(String.join(Constants.COMMA, userIds)); + messageDTO.setOutBusinessId(UUIDUtils.get32UUID()); + messageDTO.setAppType("dingding2"); + JSONObject map = new JSONObject(); + map.put("message_url", messageUrl); + JSONObject headJson = new JSONObject(); + headJson.put("bgcolor", "FFBBBBBB"); + map.put("head", headJson); + JSONObject body = new JSONObject(); + body.put("title", message.getTitle()); + body.put("image", message.getImageUrl()); + body.put("content", MessageFormat.format(message.getContent(), param)); + map.put("body",body); + messageDTO.setOaJson(map); + simpleMessageService.send(JSONObject.toJSONString(messageDTO), RocketMqTagEnum.STORE_DING_QUEUE); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TestController.java new file mode 100644 index 000000000..c08d1504f --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TestController.java @@ -0,0 +1,36 @@ +package com.cool.store.controller.webb; + +import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.*; +import com.cool.store.dto.OpenCityDTO; +import com.cool.store.entity.*; +import com.cool.store.enums.MessageEnum; +import com.cool.store.mapper.HyOpenAreaInfoMapper; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.impl.CommonService; +import com.cool.store.utils.poi.ExcelUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +@Slf4j +@RestController +@RequestMapping("/pc/test") +public class TestController { + + @Resource + private CommonService commonService; + + + @GetMapping("/sendMessage") + public ResponseResult sendMessage(){ + commonService.sendMessage(Arrays.asList("123836131931284423"), 1L, MessageEnum.MESSAGE_1, "张三", "浙江-杭州"); + return ResponseResult.success(Boolean.FALSE); + } +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java index 55b56786d..830ff03c6 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java @@ -20,7 +20,7 @@ import java.util.concurrent.Future; @Slf4j @RestController -@RequestMapping("/pc/test") +@RequestMapping("/test") public class TestController { @Resource diff --git a/coolstore-partner-web/src/main/resources/application-test.properties b/coolstore-partner-web/src/main/resources/application-test.properties index d79fa3671..e94418c21 100644 --- a/coolstore-partner-web/src/main/resources/application-test.properties +++ b/coolstore-partner-web/src/main/resources/application-test.properties @@ -37,9 +37,9 @@ mybatis.configuration.map-underscore-to-camel-case=true isv.domain=https://abstore-isv.coolstore.cn/isv #rocketmq \u914D\u7F6E -rocketmq.accessKey=zK2oVEz4G1ts23d2 -rocketmq.secretKey=0UstLCS0mh2ASgBh -rocketmq.nameSrvAdder=http://rmq-cn-9lb38l1rx04.cn-hangzhou.rmq.aliyuncs.com:8080 +rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2 +rocketmq.secretKey=yuomDstRjSdihtN5zo8viDbWu8Z0ig +rocketmq.nameSrvAdder=http://MQ_INST_1947409023213164_BX3sLZnA.cn-hangzhou.mq-internal.aliyuncs.com:8080 rocketmq.topic=simple_message #oss配置 @@ -77,4 +77,6 @@ xxl.job.executor.logretentiondays = 30 xxl.job.accessToken = exhibition.channel.id=52399 -recommended.channel.id=52400 \ No newline at end of file +recommended.channel.id=52400 + +coolstore.page.domain=https://t2store.coolstore.cn/ \ No newline at end of file diff --git a/coolstore-partner-web/src/main/resources/application.properties b/coolstore-partner-web/src/main/resources/application.properties index b5c433f1b..8f1465a9f 100644 --- a/coolstore-partner-web/src/main/resources/application.properties +++ b/coolstore-partner-web/src/main/resources/application.properties @@ -51,6 +51,7 @@ server.tomcat.basedir=/tmp/tomcat/partner-b log4j2.formatMsgNoLookups=true mybatis.configuration.variables.enterpriseId=e17cd2dc350541df8a8b0af9bd27f77d +enterprise.dingCorpId=dingef2502a50df74ccc35c2f4657eb6378f wx.pay.merchantId=1670560201 wx.pay.privateKeyPath=/opt/apps/coolcollege/apiclient/apiclient_key.pem From 5b0f864d612d32359a1900a53ead3c66c477a197 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Wed, 27 Mar 2024 11:16:36 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E9=80=89=E5=9D=80=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=20=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webb/{TestController.java => PCTestController.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename coolstore-partner-web/src/main/java/com/cool/store/controller/webb/{TestController.java => PCTestController.java} (97%) diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java similarity index 97% rename from coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TestController.java rename to coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java index c08d1504f..a8d709df7 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TestController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java @@ -22,7 +22,7 @@ import java.util.List; @Slf4j @RestController @RequestMapping("/pc/test") -public class TestController { +public class PCTestController { @Resource private CommonService commonService; From 0da056d9d36a9ea6db981dde31f11896c3d823bb Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Wed, 27 Mar 2024 13:59:14 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E9=80=89=E5=9D=80=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=20=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java | 5 +++++ .../cool/store/service/impl/LineInterviewServiceImpl.java | 1 + .../src/main/resources/application-local.properties | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java index 44ddae98e..f62c9820d 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java @@ -103,6 +103,11 @@ public class HyOpenAreaInfoDAO { return ListUtils.emptyIfNull(hyOpenAreaInfoDOS).stream().collect(Collectors.toMap(k->k.getId(), v->v.getAreaPath().replace("/"," ").trim())); } + public String selectNameMapById(Long id){ + HyOpenAreaInfoDO hyOpenAreaInfoDOS = hyOpenAreaInfoMapper.selectById(id); + return hyOpenAreaInfoDOS.getAreaPath().replace("/", " ").trim(); + } + public HyOpenAreaInfoDO selectById(Long id){ if (id==null){ 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 0490e30b2..937f706b4 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 @@ -138,6 +138,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt } LineInterviewDO addInterview = LineInterviewDO.convertDO(lineInfo, startTime, endTime, UUIDUtils.get8UUID(), interviewerUserId, interviewType.getCode(), eventId); lineInterviewDAO.addInterviewInfo(addInterview); + commonService.sendMessage(Arrays.asList(interviewerUserId), lineInfo.getId(), MessageEnum.MESSAGE_2, lineInfo.getUsername(), hyOpenAreaInfoDAO.selectNameMapById(lineInfo.getWantShopAreaId()), DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM, startTime)); return Boolean.TRUE; } diff --git a/coolstore-partner-web/src/main/resources/application-local.properties b/coolstore-partner-web/src/main/resources/application-local.properties index 0f677b006..b3c29452c 100644 --- a/coolstore-partner-web/src/main/resources/application-local.properties +++ b/coolstore-partner-web/src/main/resources/application-local.properties @@ -72,4 +72,6 @@ recommended.channel.id=52400 wx.pay.privateKeyPath=D:\\weixin\\apiclient_key.pem aliyun.accessKeyId=LTAI5tQ6QBnWaB5LaJYz6zcD -aliyun.accessKeySecret=spqsOgtfr54cwK861O3N3fInydTgjA \ No newline at end of file +aliyun.accessKeySecret=spqsOgtfr54cwK861O3N3fInydTgjA + +coolstore.page.domain=https://t2store.coolstore.cn/ \ No newline at end of file From ea2227ead7f124114a0c67c025c1af39683c444d Mon Sep 17 00:00:00 2001 From: guohb Date: Wed, 27 Mar 2024 15:04:12 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=84=8F=E5=90=91=E5=8A=A0=E7=9B=9F?= =?UTF-8?q?=E9=80=BB=E8=BE=91&DB=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/mapper/JoinIntentionMapper.java | 7 +- .../com/cool/store/mapper/LineInfoMapper.java | 2 + .../resources/mapper/JoinIntentionMapper.xml | 154 +++++++++----- .../main/resources/mapper/LineInfoMapper.xml | 201 +++++++++++++++++- .../cool/store/entity/MemberQuestionDO.java | 77 +++++++ .../store/request/JoinIntentionRequest.java | 69 +++++- .../com/cool/store/vo/PartnerBaseInfoVO.java | 103 +++++++++ .../store/service/JoinIntentionService.java | 2 + .../impl/JoinIntentionServiceImpl.java | 29 ++- .../webc/MiniJoinIntentionController.java | 17 +- 10 files changed, 587 insertions(+), 74 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/MemberQuestionDO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/JoinIntentionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/JoinIntentionMapper.java index 8a07e065b..e12b95973 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/JoinIntentionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/JoinIntentionMapper.java @@ -1,11 +1,14 @@ package com.cool.store.mapper; -import com.cool.store.request.JoinIntentionRequest; +import com.cool.store.entity.MemberQuestionDO; +import com.cool.store.vo.PartnerBaseInfoVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper public interface JoinIntentionMapper { - boolean insert(@Param("request") JoinIntentionRequest request); + boolean insertOrUpdate(@Param("request") MemberQuestionDO request); + + MemberQuestionDO getByLineId(@Param("lineId") Long lineId); } 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 872adf87b..568d043e9 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 @@ -8,4 +8,6 @@ public interface LineInfoMapper extends Mapper { LineInfoDO getByPartnerId(@Param("partnerId") String partnerId); LineInfoDO getByLineId(@Param("lineId") Long lineId); + + void insertOrUpdate(@Param("param") LineInfoDO lineInfoParam); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/JoinIntentionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/JoinIntentionMapper.xml index 17c512c4e..370e1a400 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/JoinIntentionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/JoinIntentionMapper.xml @@ -1,69 +1,117 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + id, + audit_id, partner_id, line_id, join_type, - mobile, - sex, - username, - want_shop_area, - area_code, create_time, update_time, - live_area, - live_address, - joining_questionnaire, + career_status, + education_level, + annual_income, + has_partner, + capital_source, + business_mode, + join_experience, + fruit_industry_experience, + store_condition, + payback_period, + follows_management_standard, + can_training, deleted - - insert into xfsg_partner_base_info - - line_id, - partner_id, - join_type, - username, - mobile, - sex, - want_shop_area, - area_code, - live_area, - live_address, - joining_questionnaire, - - - #{request.lineId}, - #{request.partnerId}, - #{request.joinType}, - #{request.userName}, - #{request.mobile}, - #{request.sex}, - #{request.wantShopArea}, - #{request.areaCode}, - #{request.liveArea}, - #{request.liveAddress}, - #{request.joiningQuestionnaire}, - - + + INSERT INTO xfsg_member_question_info + + audit_id, + partner_id, + line_id, + career_status, + join_type, + education_level, + annual_income, + has_partner, + capital_source, + business_mode, + join_experience, + fruit_industry_experience, + store_condition, + payback_period, + follows_management_standard, + can_training, + + + #{request.auditId}, + #{request.partnerId}, + #{request.lineId}, + #{request.careerStatus}, + #{request.joinType}, + #{request.educationLevel}, + #{request.annualIncome}, + #{request.hasPartner}, + #{request.capitalSource}, + #{request.businessMode}, + #{request.joinExperience}, + #{request.fruitIndustryExperience}, + #{request.storeCondition}, + #{request.paybackPeriod}, + #{request.followsManagementStandard}, + #{request.canTraining}, + + ON DUPLICATE KEY UPDATE + + audit_id = #{request.auditId}, + partner_id = #{request.partnerId}, + career_status = #{request.careerStatus}, + join_type = #{request.joinType}, + education_level = #{request.educationLevel}, + annual_income = #{request.annualIncome}, + has_partner = #{request.hasPartner}, + capital_source = #{request.capitalSource}, + business_mode = #{request.businessMode}, + join_experience = #{request.joinExperience}, + fruit_industry_experience = #{request.fruitIndustryExperience}, + store_condition = #{request.storeCondition}, + payback_period = #{request.paybackPeriod}, + follows_management_standard = #{request.followsManagementStandard}, + can_training = #{request.canTraining}, + + + + \ 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 69ca0616c..22d342ad0 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -30,8 +30,207 @@ + + INSERT INTO xfsg_line_info + + + id, + + + partner_id, + + + region_id, + + + mobile, + + + username, + + + sex, + + + want_shop_area_id, + + + live_address, + + + workflow_stage, + + + workflow_sub_stage, + + + workflow_sub_stage_status, + + + select_site_num, + + + prepare_shop_num, + + + open_shop_num, + + + line_source, + + + investment_manager, + + + development_manager, + + + first_interviewer, + + + second_interviewer, + + + user_portrait, + + + is_join, + + + line_status, + + + create_time, + + + update_time, + + + create_user_id, + + + update_user_id, + + + deleted + + + + + #{param.id}, + + + #{param.partnerId}, + + + #{param.regionId}, + + + #{param.mobile}, + + + #{param.username}, + + + #{param.sex}, + + + #{param.wantShopAreaId}, + + + #{param.liveAddress}, + + + #{param.workflowStage}, + + + #{param.workflowSubStage}, + + + #{param.workflowSubStageStatus}, + + + #{param.selectSiteNum}, + + + #{param.prepareShopNum}, + + + #{param.openShopNum}, + + + #{param.lineSource}, + + + #{param.investmentManager}, + + + #{param.developmentManager}, + + + #{param.firstInterviewer}, + + + #{param.secondInterviewer}, + + + #{param.userPortrait}, + + + #{param.isJoin}, + + + #{param.lineStatus}, + + + #{param.createTime}, + + + #{param.updateTime}, + + + #{param.createUserId}, + + + #{param.updateUserId}, + + + #{param.deleted} + + + ON DUPLICATE KEY UPDATE + + + partner_id = #{param.partnerId}, + + + region_id = #{param.regionId}, + + + mobile = #{param.mobile}, + + + username = #{param.username}, + + + sex = #{param.sex}, + + + want_shop_area_id = #{param.wantShopAreaId}, + + + live_address = #{param.liveAddress}, + + + workflow_stage = #{param.workflowStage}, + + + workflow_sub_stage = #{param.workflowSubStage} + + + - select * from xfsg_line_info where partner_id = #{partnerId} and deleted = 0 + select + id, partner_id, line_id, operate_user_id, operate_username, workflow_stage, workflow_sub_stage, workflow_sub_stage_status, message, create_time + from + xfsg_line_follow_log + where + line_id = #{lineId} and deleted = '0' order by create_time desc + + \ 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 d14728282..1702d3223 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_interview -table.object.class = LineInterviewDO -table.mapper = LineInterviewMapper \ No newline at end of file +table.name = xfsg_line_follow_log +table.object.class = LineFollowLogDO +table.mapper = LineFollowLogMapper \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/LineFollowLogDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/LineFollowLogDO.java new file mode 100644 index 000000000..badbf7cf1 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/LineFollowLogDO.java @@ -0,0 +1,93 @@ +package com.cool.store.entity; + +import lombok.Data; + +import java.util.Date; +import javax.persistence.*; + +@Data +@Table(name = "xfsg_line_follow_log") +public class LineFollowLogDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * hy_partner_user_info.partner_id + */ + @Column(name = "partner_id") + private String partnerId; + + /** + * hy_partner_line_info.id + */ + @Column(name = "line_id") + private Long lineId; + + /** + * 操作人id + */ + @Column(name = "operate_user_id") + private String operateUserId; + + /** + * 操作人姓名 + */ + @Column(name = "operate_username") + private String operateUsername; + + /** + * 流程阶段:1意向加盟;2新店进展; + */ + @Column(name = "workflow_stage") + private Integer workflowStage; + + /** + * 流程子阶段 + */ + @Column(name = "workflow_sub_stage") + private Integer workflowSubStage; + + /** + * 流程子阶段状态 + */ + @Column(name = "workflow_sub_stage_status") + private Integer workflowSubStageStatus; + + /** + * 备注 + */ + private String message; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + + /** + * 删除标识 + */ + private Boolean deleted; + + public LineFollowLogDO() { + } + + public LineFollowLogDO(String partnerId, Long lineId, String operateUserId, String operateUsername, Integer workflowStage, Integer workflowSubStage, Integer workflowSubStageStatus, String message) { + this.partnerId = partnerId; + this.lineId = lineId; + this.operateUserId = operateUserId; + this.operateUsername = operateUsername; + this.workflowStage = workflowStage; + this.workflowSubStage = workflowSubStage; + this.workflowSubStageStatus = workflowSubStageStatus; + this.message = message; + this.createTime= new Date(); + } +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineFollowLogRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineFollowLogRequest.java new file mode 100644 index 000000000..56b332377 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineFollowLogRequest.java @@ -0,0 +1,21 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhangchenbiao + * @FileName: LineFollowLogRequest + * @Description: + * @date 2024-03-27 14:59 + */ +@Data +public class LineFollowLogRequest { + + @ApiModelProperty("线索id") + private Long lineId; + + @ApiModelProperty("日志") + private String message; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/log/LineFollowLogVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/log/LineFollowLogVO.java new file mode 100644 index 000000000..4c3b7bd13 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/log/LineFollowLogVO.java @@ -0,0 +1,42 @@ +package com.cool.store.vo.log; + +import com.cool.store.entity.LineFollowLogDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author zhangchenbiao + * @FileName: LineFollowLogVO + * @Description:跟进日志 + * @date 2024-03-27 14:50 + */ +@Data +public class LineFollowLogVO { + + @ApiModelProperty("日志") + private String message; + + @ApiModelProperty("创建时间") + private Date createTime; + + public LineFollowLogVO(String message, Date createTime) { + this.message = message; + this.createTime = createTime; + } + + public static List convertList(List list){ + if (CollectionUtils.isEmpty(list)) { + return null; + } + List resultList = new ArrayList<>(); + for (LineFollowLogDO followLog : list) { + resultList.add(new LineFollowLogVO(followLog.getMessage(), followLog.getCreateTime())); + } + return resultList; + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/LineFollowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/LineFollowService.java new file mode 100644 index 000000000..59befe64a --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/LineFollowService.java @@ -0,0 +1,32 @@ +package com.cool.store.service; + +import com.cool.store.request.LineFollowLogRequest; +import com.cool.store.vo.log.LineFollowLogVO; +import com.github.pagehelper.PageInfo; + +/** + * @author zhangchenbiao + * @FileName: LineFollowService + * @Description:线索跟进 + * @date 2024-03-27 14:49 + */ +public interface LineFollowService { + + /** + * 分页获取跟进日志 + * @param lineId + * @param pageNum + * @param pageSize + * @return + */ + PageInfo getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize); + + /** + * 新增跟进日志 + * @param followLog + * @param operateUserId + * @param operateUsername + * @return + */ + Long addFollowLog(LineFollowLogRequest followLog, String operateUserId, String operateUsername); +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonService.java index fb9f8c31e..64cfd239a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonService.java @@ -1,15 +1,23 @@ package com.cool.store.service.impl; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.aliyuncs.CommonRequest; +import com.aliyuncs.CommonResponse; +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.exceptions.ClientException; +import com.aliyuncs.exceptions.ServerException; +import com.aliyuncs.http.MethodType; import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dto.message.SendMessageDTO; -import com.cool.store.enums.MessageEnum; -import com.cool.store.enums.RocketMqTagEnum; -import com.cool.store.enums.UserRoleEnum; -import com.cool.store.enums.WorkflowSubStageEnum; +import com.cool.store.enums.*; +import com.cool.store.exception.ServiceException; import com.cool.store.mq.producer.SimpleMessageService; +import com.cool.store.response.ResponseResult; import com.cool.store.utils.UUIDUtils; import com.cool.store.utils.poi.constant.Constants; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +39,7 @@ import java.util.stream.Collectors; * @Description: * @date 2024-03-20 17:09 */ +@Slf4j @Service public class CommonService { @@ -95,4 +104,5 @@ public class CommonService { e.printStackTrace(); } } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFollowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFollowServiceImpl.java new file mode 100644 index 000000000..222e1035f --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFollowServiceImpl.java @@ -0,0 +1,51 @@ +package com.cool.store.service.impl; + +import com.cool.store.dao.LineFollowLogDAO; +import com.cool.store.dao.LineInfoDAO; +import com.cool.store.entity.LineFollowLogDO; +import com.cool.store.entity.LineInfoDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.request.LineFollowLogRequest; +import com.cool.store.service.LineFollowService; +import com.cool.store.vo.log.LineFollowLogVO; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; + +/** + * @author zhangchenbiao + * @FileName: LineFollowServiceImpl + * @Description: + * @date 2024-03-27 14:49 + */ +@Service +public class LineFollowServiceImpl implements LineFollowService { + + @Resource + private LineFollowLogDAO lineFollowLogDAO; + @Resource + private LineInfoDAO lineInfoDAO; + + @Override + public PageInfo getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize) { + Page followLogPage = lineFollowLogDAO.getFollowLogPage(lineId, pageNum, pageSize); + PageInfo resultPage = new PageInfo(followLogPage); + List resultList = LineFollowLogVO.convertList(followLogPage); + resultPage.setList(resultList); + return resultPage; + } + + @Override + public Long addFollowLog(LineFollowLogRequest followLog, String operateUserId, String operateUsername) { + LineInfoDO lineInfo = lineInfoDAO.getLineInfo(followLog.getLineId()); + if(Objects.isNull(lineInfo)){ + throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); + } + return lineFollowLogDAO.addFollowLog(lineInfo, operateUserId, operateUsername, followLog.getMessage()); + } +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineFollowController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineFollowController.java new file mode 100644 index 000000000..9db62aca9 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineFollowController.java @@ -0,0 +1,43 @@ +package com.cool.store.controller.webb; + +import com.cool.store.context.CurrentUserHolder; +import com.cool.store.context.LoginUserInfo; +import com.cool.store.request.LineFollowLogRequest; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.LineFollowService; +import com.cool.store.vo.log.LineFollowLogVO; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @author zhangchenbiao + * @FileName: LineFollowController + * @Description: + * @date 2024-03-27 15:02 + */ +@Api(tags = "跟进日志") +@RestController +@RequestMapping({"pc/follow"}) +public class LineFollowController { + + @Resource + private LineFollowService lineFollowService; + + @ApiOperation("跟进日志分页") + @GetMapping("/page") + public ResponseResult> getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize){ + return ResponseResult.success(lineFollowService.getFollowLogPage(lineId, pageNum, pageSize)); + } + + @ApiOperation("新增跟进日志") + @PostMapping("/log/add") + public ResponseResult addFollowLog(@RequestBody LineFollowLogRequest request){ + LoginUserInfo user = CurrentUserHolder.getUser(); + return ResponseResult.success(lineFollowService.addFollowLog(request, user.getUserId(), user.getName())); + } + +}