选址相关枚举 消息

This commit is contained in:
zhangchenbiao
2024-03-27 11:13:44 +08:00
parent e98fcf626d
commit 3bd0091e7d
35 changed files with 1221 additions and 6 deletions

View File

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

View File

@@ -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", "微应用钉钉消息发送"),
;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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, "300400人/时", 6),
FLOW_RATE_CALCULATE_3(3, "200300人/时", 5),
FLOW_RATE_CALCULATE_4(4, "100200人/时", 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;
}
}

View File

@@ -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, "200300"),
FLOW_RATE_3(3, "300400"),
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;
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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 + '\'' +
'}';
}
}

View File

@@ -44,5 +44,6 @@ public class LineInterviewPageRequest extends PageBasicInfo {
@ApiModelProperty("面试类型:0面谈;1一审;2二审")
private Integer interviewType;
@ApiModelProperty("面试官")
private String interviewerUserId;
}

View File

@@ -45,7 +45,7 @@ public class LineInterviewPageVO {
@ApiModelProperty("计划结束时间")
private String endTime;
@ApiModelProperty("面试状态")
@ApiModelProperty("面试状态 1待面试 2待审核 3审批通过 4不通过")
private Integer interviewStatus;
@ApiModelProperty("招商经理")

View File

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

View File

@@ -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<Boolean> sendMessage(){
commonService.sendMessage(Arrays.asList("123836131931284423"), 1L, MessageEnum.MESSAGE_1, "张三", "浙江-杭州");
return ResponseResult.success(Boolean.FALSE);
}
}

View File

@@ -20,7 +20,7 @@ import java.util.concurrent.Future;
@Slf4j
@RestController
@RequestMapping("/pc/test")
@RequestMapping("/test")
public class TestController {
@Resource

View File

@@ -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
recommended.channel.id=52400
coolstore.page.domain=https://t2store.coolstore.cn/

View File

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