update
This commit is contained in:
@@ -0,0 +1,218 @@
|
||||
package com.cool.store.constants;
|
||||
|
||||
/**
|
||||
* redis key 类
|
||||
* @author byd
|
||||
* @date 2021-03-11 14:55
|
||||
*/
|
||||
public class RedisConstant {
|
||||
|
||||
public static final String TB_DISPLAY_HANDLE = "tb_display_handle_";
|
||||
/**
|
||||
* 新陈列审核
|
||||
*/
|
||||
public static final String TB_DISPLAY_APPROVE = "tb_display_approve_";
|
||||
|
||||
/**
|
||||
* 新陈列复核
|
||||
*/
|
||||
public static final String TB_DISPLAY_RECHECK = "tb_display_recheck";
|
||||
|
||||
/**
|
||||
* 新陈列三级审批
|
||||
*/
|
||||
public static final String TB_DISPLAY_THIRD_APPROVE = "tb_display_third_approve";
|
||||
|
||||
/**
|
||||
* 新陈列四级审批
|
||||
*/
|
||||
public static final String TB_DISPLAY_FOUR_APPROVE = "tb_display_four_approve";
|
||||
|
||||
/**
|
||||
* 新陈列五级审批
|
||||
*/
|
||||
public static final String TB_DISPLAY_FIVE_APPROVE = "tb_display_five_approve";
|
||||
|
||||
/**
|
||||
* 区域/组织同步锁key 点击同步锁key
|
||||
*/
|
||||
public static final String REGION_SYNC_LOCK = "region_sync_lock_";
|
||||
|
||||
/**
|
||||
* 问题工单key
|
||||
*/
|
||||
public static final String QUESTION_TASK_LOCK = "question_task_lock_";
|
||||
|
||||
/**
|
||||
* 店务工单key
|
||||
*/
|
||||
public static final String STORE_WORK_QUESTION_TASK_LOCK = "store_work_question_task_lock_";
|
||||
|
||||
/**
|
||||
* 企业同步key 有效拦截
|
||||
*/
|
||||
public static final String EID_SYNC_EFFECTIVE = "eid_sync_effective_";
|
||||
|
||||
/**
|
||||
* 通知key做为拦截
|
||||
*/
|
||||
public static final String TASK_STAGE_NOTICE = "task_stage_notice_";
|
||||
|
||||
public static final String TASK_DEL_FLAG = "task_del_flag_";
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 系统内区域key
|
||||
*/
|
||||
public static final String REGION_SYNC_ALL= "region_sync_all_";
|
||||
|
||||
/**
|
||||
* 系统内区域key
|
||||
*/
|
||||
public static final String STORE_SYNC_ALL= "store_sync_all_";
|
||||
|
||||
/**
|
||||
* 企业广告配置信息key前缀
|
||||
*/
|
||||
public static final String ADVERT_SETTING_PREFIX= "advert_setting_";
|
||||
|
||||
/**
|
||||
* 企业广告配置信息value
|
||||
*/
|
||||
public static final String ADVERT_SETTING_VALUE= "1";
|
||||
|
||||
/**
|
||||
* 企业广告配置信息value
|
||||
*/
|
||||
public static final String COOL_TOKEN_PREFIX= "cool_token_";
|
||||
|
||||
/**
|
||||
* 用户企业token前缀
|
||||
*/
|
||||
public static final String ACCESS_TOKEN_PREFIX ="access_token:";
|
||||
|
||||
/**
|
||||
* refresh token
|
||||
*/
|
||||
public static final String REFRESH_TOKEN_PREFIX ="refresh_token:";
|
||||
|
||||
/**
|
||||
* 用户账号密码错误次数key
|
||||
*/
|
||||
public static final String ERROR_PASSWORD_COUNT_KEY = "errorPasswordCount_{0}_{1}";
|
||||
|
||||
/**
|
||||
* 未完成转码
|
||||
*/
|
||||
public static final String VIDEO_NOT_COMPLETE_CACHE = "video_not_complete_cache";
|
||||
/**
|
||||
* 任务抓拍状态记录
|
||||
*/
|
||||
public static final String CAPTURE_PICTURE_STATUS_PREFIX ="capture_picture_status:";
|
||||
|
||||
/**
|
||||
* 视频转码回调
|
||||
*/
|
||||
public static final String VIDEO_CALLBACK_CACHE = "video_callback_cache_";
|
||||
|
||||
/**
|
||||
* 任务重新分配 防止重复提交
|
||||
*/
|
||||
public static final String TASK_STORE_REALLOCATE = "task_store_reallocate_";
|
||||
|
||||
/**
|
||||
* 是否返回区域对应门店权限redis控制key
|
||||
*/
|
||||
public static final String SHOW_STORE_AUTH = "show_store_auth";
|
||||
|
||||
/**
|
||||
* 是否返回区域对应门店权限redis控制key
|
||||
*/
|
||||
public static final String FIRST_LOGIN = "first_login_";
|
||||
|
||||
/**
|
||||
* 区域全路径名称缓存
|
||||
*/
|
||||
public static final String REGION_ALL_NAME_CACHE = "region_all_name_cache_";
|
||||
|
||||
/**
|
||||
* 获取菜单引导key
|
||||
*/
|
||||
public static final String GUIDE_INFO = "guide_info_";
|
||||
|
||||
/**
|
||||
* 组织架构模块是否第一次登录
|
||||
*/
|
||||
public static final String OrgModuleFirstLogin = "OrgModuleFirstLogin:{0}:{1}";
|
||||
|
||||
/**
|
||||
* 历史企业key
|
||||
*/
|
||||
public static final String HISTORY_ENTERPRISE = "historyEnterprise";
|
||||
|
||||
/**
|
||||
* 留资企业key
|
||||
*/
|
||||
public static final String LEAVE_ENTERPRISE = "leaveEnterprise";
|
||||
|
||||
/**
|
||||
* 留资开关
|
||||
*/
|
||||
public static final String LEAVE_OPEN = "leaveOpen";
|
||||
|
||||
/**
|
||||
* 工单分享key
|
||||
*/
|
||||
public static final String QUESTION_SHARE_KEY = "question_share:{0}";
|
||||
|
||||
/**
|
||||
* 企业配置信息
|
||||
*/
|
||||
public static final String ENTERPRISE_CONFIG_KEY = "enterpriseConfig:{0}";
|
||||
|
||||
public static final String ENTERPRISE_KEY = "enterpriseInfo:{0}";
|
||||
|
||||
|
||||
public static final String ENTERPRISE_DB_SERVER = "enterpriseDBServer:{0}";
|
||||
|
||||
public static final String QUESTION_SETTING_CACHE_KEY = "questionSettingCacheKey:{0}";
|
||||
|
||||
public static final String ENTERPRISE_SETTING_CACHE_KEY = "enterpriseSettingCacheKey:{0}";
|
||||
|
||||
public static final String ENTERPRISE_STORE_SETTING_CACHE_KEY = "enterpriseStoreSettingCacheKey:{0}";
|
||||
|
||||
public static final String QUESTION_CACHE_KEY = "questionDataCache:{0}:{1}:{2}_{3}";
|
||||
|
||||
|
||||
public static final String QUESTION_NOTICE_KEY = "questionNoticeCache:{0}:{1}:{2}:{3}_{4}_{5}_{6}";
|
||||
|
||||
public static final String STOREWORK_NOTICE_KEY = "storeWorkNoticeCache:{0}:{1}:{2}:{3}";
|
||||
|
||||
/**
|
||||
* 七天
|
||||
*/
|
||||
public static final int SEVEN_DAY = 7 * 24 * 60 * 60;
|
||||
|
||||
/**
|
||||
* 1天
|
||||
*/
|
||||
public static final int ONE_DAY_SECONDS = 24 * 60 * 60;
|
||||
|
||||
/**
|
||||
* 3天
|
||||
*/
|
||||
public static final int THREE_DAY = 3 * 24 * 60 * 60 * 1000;
|
||||
|
||||
public static final String UPCOMING_BACKLOG_ID = "upcoming_backlog:{0}:{1}:{2}";
|
||||
|
||||
|
||||
public static final String ENTERPRISE_OPEN_STATUS_KEY = "enterprise_open_status:{0}_{1}";
|
||||
|
||||
public static final String STOREWORK_BUILD_CACHE_KEY = "storeworkBuildDataCache:{0}:{1}:{2}";
|
||||
|
||||
public static final String STORE_WORK_COMMENT_CACHE_KEY = "storeWorkCommentCache:{0}:{1}:{2}";
|
||||
|
||||
public static final String DEVICE_OPEN_TOKEN = "device_open_token:{0}:{1}:{2}";
|
||||
|
||||
}
|
||||
@@ -1,18 +1,65 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: AppTypeEnum
|
||||
* @Description:
|
||||
* @date 2023-05-23 9:41
|
||||
* 应用类型
|
||||
*/
|
||||
public enum AppTypeEnum {
|
||||
// 数智门店-钉钉
|
||||
DING_DING("dingding","数智门店-钉钉"),
|
||||
|
||||
FEI_SHU("fei_shu", "飞书");
|
||||
//酷店掌-钉钉
|
||||
DING_DING2("dingding2","酷店掌-钉钉"),
|
||||
|
||||
// 企业微信-数智门店
|
||||
WX_APP("qw","数智门店-企业微信"),
|
||||
|
||||
// 企业微信-酷店掌
|
||||
WX_APP2("qw2","酷店掌-企业微信"),
|
||||
|
||||
//用户自己添加 独立app
|
||||
APP("app","数智门店-客户端"),
|
||||
|
||||
/**
|
||||
* 酷店掌-自建企业微信
|
||||
*/
|
||||
WX_SELF_APP("qw_self", "酷店掌-自建企业微信"),
|
||||
|
||||
/**
|
||||
* 酷店掌-自建企业微信代开发
|
||||
*/
|
||||
WX_SELF_DKF("qw_self_dkf", "酷店掌--自建企业微信代开发"),
|
||||
|
||||
/**
|
||||
* 酷店掌-企业微信私服
|
||||
*/
|
||||
WX_PRIVATE_APP("qw_private", "酷店掌-企业微信私服"),
|
||||
|
||||
WX_PRIVATE_ZHOU("qw_private_zdf","酷店掌-企业微信私服-周大福"),
|
||||
|
||||
/**
|
||||
* 门店通应用
|
||||
*/
|
||||
ONE_PARTY_APP("one_party", "门店通-钉钉"),
|
||||
|
||||
/**
|
||||
* 飞书
|
||||
*/
|
||||
FEI_SHU("fei_shu", "飞书")
|
||||
|
||||
;
|
||||
private String value;
|
||||
|
||||
private String message;
|
||||
|
||||
private static final Map<String, AppTypeEnum> map = Arrays.stream(values()).collect(Collectors.toMap(AppTypeEnum::getValue, Function.identity()));
|
||||
|
||||
AppTypeEnum(String value, String message) {
|
||||
this.value = value;
|
||||
this.message = message;
|
||||
@@ -25,4 +72,142 @@ public enum AppTypeEnum {
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public static String getMessage(String value){
|
||||
if(StringUtils.isBlank(value)){
|
||||
return "";
|
||||
}
|
||||
for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
|
||||
if(appTypeEnum.value.equals(value)){
|
||||
return appTypeEnum.message;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static AppTypeEnum getAppType(String appType){
|
||||
for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
|
||||
if(appTypeEnum.value.equals(appType)){
|
||||
return appTypeEnum;
|
||||
}
|
||||
}
|
||||
if(appType.startsWith(WX_SELF_APP.getValue())) {
|
||||
return WX_SELF_APP;
|
||||
}
|
||||
if(appType.startsWith(WX_PRIVATE_APP.getValue())) {
|
||||
return WX_PRIVATE_APP;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否是钉钉平台
|
||||
* @param value
|
||||
* @author: xugangkun
|
||||
* @return java.lang.Boolean
|
||||
* @date: 2021/10/26 15:03
|
||||
*/
|
||||
public static Boolean isDingType(String value) {
|
||||
if (DING_DING.getValue().equals(value) || DING_DING2.getValue().equals(value) || ONE_PARTY_APP.getValue().equals(value)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否是企业微信平台
|
||||
* @param value
|
||||
* @author: xugangkun
|
||||
* @return java.lang.Boolean
|
||||
* @date: 2021/10/26 15:03
|
||||
*/
|
||||
public static Boolean isQwType(String value) {
|
||||
if (WX_APP.getValue().equals(value) || WX_APP2.getValue().equals(value)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否是飞书
|
||||
* @param value
|
||||
* @author: xugangkun
|
||||
* @return java.lang.Boolean
|
||||
* @date: 2021/10/26 15:03
|
||||
*/
|
||||
public static Boolean isFsType(String value) {
|
||||
if (FEI_SHU.getValue().equals(value)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否是酷店掌
|
||||
* @param value
|
||||
* @author: xugangkun
|
||||
* @return java.lang.Boolean
|
||||
* @date: 2021/10/26 15:03
|
||||
*/
|
||||
public static Boolean isCoolStore(String value) {
|
||||
if (WX_APP2.getValue().equals(value) || DING_DING2.getValue().equals(value)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否是数智门店
|
||||
* @param value
|
||||
* @author: xugangkun
|
||||
* @return java.lang.Boolean
|
||||
* @date: 2021/10/26 15:03
|
||||
*/
|
||||
public static Boolean isCoolCollege(String value) {
|
||||
if (WX_APP.getValue().equals(value) || DING_DING.getValue().equals(value)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否是企微自建应用或者企微私服
|
||||
* @param appType
|
||||
* @return
|
||||
*/
|
||||
public static boolean isWxSelfAndPrivateType(String appType) {
|
||||
if(StringUtils.isBlank(appType)){
|
||||
return false;
|
||||
}
|
||||
return appType.startsWith(AppTypeEnum.WX_SELF_APP.getValue())
|
||||
|| appType.startsWith(AppTypeEnum.WX_PRIVATE_APP.getValue());
|
||||
}
|
||||
|
||||
public static boolean qwIsGetUserName(String appType){
|
||||
if(StringUtils.isBlank(appType) || isDingType(appType)){
|
||||
return false;
|
||||
}
|
||||
return appType.startsWith(AppTypeEnum.WX_SELF_APP.getValue()) || appType.startsWith(AppTypeEnum.WX_PRIVATE_APP.getValue())
|
||||
|| appType.startsWith(AppTypeEnum.WX_SELF_DKF.getValue()) || appType.startsWith(AppTypeEnum.WX_PRIVATE_ZHOU.getValue());
|
||||
}
|
||||
|
||||
public static String getCode(String value){
|
||||
if(StringUtils.isBlank(value)){
|
||||
return "";
|
||||
}
|
||||
for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
|
||||
if(appTypeEnum.message.equals(value)){
|
||||
return appTypeEnum.value;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static AppTypeEnum parseValue(String value) {
|
||||
return map.get(value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* describe:
|
||||
*
|
||||
* @author zhouyiping
|
||||
* @date 2020/10/13
|
||||
*/
|
||||
public enum AuthRoleEnum {
|
||||
/**
|
||||
* 全企业数据
|
||||
*/
|
||||
ALL("all", "全企业数据"),
|
||||
|
||||
/**
|
||||
* 所在组织架构包含下级
|
||||
*/
|
||||
INCLUDE_SUBORDINATE("include_subordinate","所在组织架构包含下级"),
|
||||
|
||||
|
||||
// /**
|
||||
// * 所在的组织架构不包含下级
|
||||
// */
|
||||
NOT_INCLUDE_SUBORDINATE("not_include_subordinate","所在的组织架构不包含下级"),
|
||||
|
||||
/**
|
||||
* 仅自己的数据
|
||||
*/
|
||||
PERSONAL("personal","仅自己的数据");
|
||||
|
||||
private String code;
|
||||
private String msg;
|
||||
|
||||
protected static final Map<String, AuthRoleEnum> map = Arrays.stream(values()).collect(
|
||||
Collectors.toMap(AuthRoleEnum::getCode, Function.identity()));
|
||||
|
||||
AuthRoleEnum(String code, String msg){
|
||||
this.code=code;
|
||||
this.msg=msg;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
public static AuthRoleEnum getByCode(String code) {
|
||||
return map.get(code);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -41,6 +41,8 @@ public enum ErrorCodeEnum {
|
||||
SESSION_KEY_ERROR(1021022, "sessionKey过期", null),
|
||||
GET_WECHAT_USER_INFO_FAIL(1021023,"获取小程序用户信息失败", null),
|
||||
FEISHU_SERVICE_ERROR(1021024,"飞书服务调用异常", null),
|
||||
USER_GROUP_NAME_EXIST(1021076, "用户分组名称已存在", null),
|
||||
USER_GROUP_NOT_EXIST(1021077, "用户分组不存在", null),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,286 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import com.cool.store.utils.CommonContextUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: RocketMqGroupEnum
|
||||
* @Description:
|
||||
* @date 2021-12-22 17:28
|
||||
*/
|
||||
public enum RocketMqGroupEnum {
|
||||
|
||||
/**
|
||||
* 写在前面 读在前面
|
||||
* 同一个group 监听的topic 和 tag必须一致 不然会出现消息丢失问题
|
||||
* 即不能以下情况
|
||||
* 实例1:
|
||||
* 服务A中某个Listener的groupId为GroupA 监听topicA 过滤的消息tagA
|
||||
* 服务B中某个Listener的groupId为GroupA 监听topicB 过滤的消息tagA
|
||||
* 实例2:
|
||||
* 服务A中某个Listener的groupId为GroupA 监听topicA 过滤的消息tagA
|
||||
* 服务B中某个Listener的groupId为GroupA 监听topicA 过滤的消息tagB
|
||||
*/
|
||||
|
||||
/**
|
||||
* es数据处理
|
||||
*/
|
||||
ES_DATA_DEAL("es_data_deal", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.ES_PATROL_DATA_DEAL, RocketMqTagEnum.ES_DISPLAY_DATA_DEAL))),
|
||||
/**
|
||||
* es数据处理
|
||||
*/
|
||||
ES_DATA_SYNC("es_data_sync", "coolcollege-special",new ArrayList<>(Arrays.asList(RocketMqTagEnum.ES_DATA_SYNC))),
|
||||
/**
|
||||
* 导入导出
|
||||
*/
|
||||
EXPORT_IMPORT_MESSAGE("export_import_message","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.EXPORT_IMPORT_MESSAGE))),
|
||||
/**
|
||||
* 区域门店数量计算队列
|
||||
*/
|
||||
CAL_REGION_STORE_NUM("cal_region_store_num", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.CAL_REGION_STORE_NUM,RocketMqTagEnum.REGION_STORE_NUM_UPDATE))),
|
||||
|
||||
/**
|
||||
* 企业开通
|
||||
*/
|
||||
ENTERPRISE_OPEN("enterprise_open", "coolcollege-intelligent-config", new ArrayList<>(Arrays.asList(RocketMqTagEnum.ENTERPRISE_OPEN))),
|
||||
|
||||
/**
|
||||
* 企业开通平台库脚本
|
||||
*/
|
||||
ENTERPRISE_OPEN_CONFIG_RUN_SCRIPT("enterprise_open_config_run_script", "coolcollege-intelligent-config", new ArrayList<>(Arrays.asList(RocketMqTagEnum.ENTERPRISE_OPEN_CONFIG_RUN_SCRIPT))),
|
||||
|
||||
/**
|
||||
* 企业开通企业库脚本
|
||||
*/
|
||||
ENTERPRISE_OPEN_ENTERPRISE_RUN_SCRIPT("enterprise_open_enterprise_run_script", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.ENTERPRISE_OPEN_ENTERPRISE_RUN_SCRIPT))),
|
||||
|
||||
/**
|
||||
* 企业开通数据同步
|
||||
*/
|
||||
ENTERPRISE_OPEN_DATA_SYNC("enterprise_open_data_sync", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.ENTERPRISE_OPEN_DATA_SYNC))),
|
||||
|
||||
/**
|
||||
* 部门顺序值补全
|
||||
*/
|
||||
ENTERPRISE_INIT_DEPT_ORDER("enterprise_init_handler_dept_order","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.ENTERPRISE_INIT_DEPT_ORDER))),
|
||||
/**
|
||||
* 父任务处理人
|
||||
*/
|
||||
TASK_PARENT_USER("task_parent_user", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.TASK_PARENT_USER_SAVE))),
|
||||
/**
|
||||
* 企业购买事件
|
||||
*/
|
||||
PAY_MARKET_BUY("pay_market_buy","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.PAY_MARKET_BUY))),
|
||||
/**
|
||||
* 钉钉消息监听
|
||||
*/
|
||||
DING_MSG_DEAL("ding_msg_deal","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.DING_STORE_ADDRESS_BOOK, RocketMqTagEnum.DING_SINGLE_USER_SYNC))),
|
||||
/**
|
||||
* 授权队列
|
||||
*/
|
||||
AUTH_QUEUE("auth_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.AUTH_QUEUE))),
|
||||
/**
|
||||
* 企微消息监听
|
||||
*/
|
||||
QW_MSG_DEAL("qw_msg_deal","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.QW_CHANGE_ORDER_QUEUE,RocketMqTagEnum.QW_OPEN_ORDER_CHANGE_QUEUE))),
|
||||
/**
|
||||
* 钉钉同步
|
||||
*/
|
||||
DING_SYNC_ALL_DATA_QUEUE("ding_sync_all_data_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.DING_SYNC_ALL_DATA_QUEUE))),
|
||||
/**
|
||||
* 第三方同步
|
||||
*/
|
||||
DING_SYNC_ALL_DATA_OA_QUEUE("ding_sync_all_data_oa_queue","coolcollege-intelligent-special", new ArrayList<>(Arrays.asList(RocketMqTagEnum.DING_SYNC_ALL_DATA_OA_QUEUE))),
|
||||
/**
|
||||
* 第三方单个用户同步
|
||||
*/
|
||||
THIRD_OA_SYNC_SINGLE_QUEUE("third_oa_sync_single_queue","coolcollege-intelligent-special", new ArrayList<>(Arrays.asList(RocketMqTagEnum.THIRD_OA_SYNC_SINGLE_QUEUE))),
|
||||
/**
|
||||
* 萤石云设备托管
|
||||
*/
|
||||
YINGSHI_DEVICE_MANAGE("yingshi_device_manage","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.YINGSHI_DEVICE_MANAGE))),
|
||||
/**
|
||||
* 阿里云开通门店事件
|
||||
*/
|
||||
MQ_OPEN_ENTERPRISE_ALIYUN("mq_open_enterprise_aliyun","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.MQ_OPEN_ENTERPRISE_ALIYUN))),
|
||||
/**
|
||||
* 初始化设备
|
||||
*/
|
||||
INIT_DEVICE_QUEUE("init_device_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.INIT_DEVICE_QUEUE))),
|
||||
/**
|
||||
* 陈列抄送人处理
|
||||
*/
|
||||
DISPLAY_CC_USER_QUEUE("display_cc_user_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.DISPLAY_CC_USER_QUEUE))),
|
||||
/**
|
||||
* 门店子任务消息监听
|
||||
*/
|
||||
STORE_SUB_TASK_DATA_QUEUE("store_sub_task_data_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STORE_SUB_TASK_DATA_QUEUE))),
|
||||
/**
|
||||
* 定时巡检抓拍
|
||||
*/
|
||||
PATROL_STORE_CAPTURE_PICTURE_QUEUE("patrol_store_capture_picture_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.PATROL_MANUAL_STORE_CAPTURE_PICTURE_QUEUE,RocketMqTagEnum.PATROL_STORE_CAPTURE_PICTURE_QUEUE))),
|
||||
/**
|
||||
* 巡店分数计算
|
||||
*/
|
||||
PATROL_STORE_SCORE_COUNT_QUEUE("patrol_store_score_count_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.PATROL_STORE_SCORE_COUNT_QUEUE))),
|
||||
/**
|
||||
* 陈列任务创建
|
||||
*/
|
||||
UNIFY_TASK_DISPLAY("unify_task_display","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.UNIFY_TASK_DISPLAY))),
|
||||
/**
|
||||
* 巡店任务创建
|
||||
*/
|
||||
UNIFY_TASK_PATROL("unify_task_patrol","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.UNIFY_TASK_PATROL))),
|
||||
/**
|
||||
* 工单任务创建
|
||||
*/
|
||||
UNIFY_TASK_QUESTION("unify_task_question","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.UNIFY_TASK_QUESTION))),
|
||||
/**
|
||||
* 信息补全
|
||||
*/
|
||||
INFORMATION_COMPLETION("information_completion","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.INFORMATION_COMPLETION))),
|
||||
/**
|
||||
* 微应用钉钉消息发送
|
||||
*/
|
||||
STORE_DING_QUEUE("store_ding_queue","coolcollege-intelligent-isv", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STORE_DING_QUEUE))),
|
||||
/**
|
||||
* 待办任务名称
|
||||
*/
|
||||
STORE_BACK_LOG("store_back_log","coolcollege-intelligent-isv", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STORE_BACK_LOG,RocketMqTagEnum.STORE_BACK_LOG_UPDATE))),
|
||||
/**
|
||||
* 待办消息结束队列
|
||||
*/
|
||||
UPCOMING_FINISH("upcoming_finish","coolcollege-intelligent-isv", new ArrayList<>(Arrays.asList(RocketMqTagEnum.UPCOMING_FINISH))),
|
||||
/**
|
||||
* 发送开通成功消息
|
||||
*/
|
||||
OPEN_SUCCEEDED_MSG_QUEUE("open_succeeded_msg_queue","coolcollege-intelligent-isv", new ArrayList<>(Arrays.asList(RocketMqTagEnum.OPEN_SUCCEEDED_MSG_QUEUE))),
|
||||
/**
|
||||
* 发送成员授权模式下模板消息
|
||||
*/
|
||||
QW_MEMBER_TEMPLE_MSG_QUEUE("qw_member_temple_msg_queue","coolcollege-intelligent-isv", new ArrayList<>(Arrays.asList(RocketMqTagEnum.QW_MEMBER_TEMPLE_MSG_QUEUE))),
|
||||
/**
|
||||
* app推送队列
|
||||
*/
|
||||
APP_PUSH_QUEUE("app_push_queue","coolcollege-intelligent-isv", new ArrayList<>(Arrays.asList(RocketMqTagEnum.APP_PUSH_QUEUE))),
|
||||
/**
|
||||
* 证照信息补全任务
|
||||
*/
|
||||
INFORMATION_COMPLETION_LICENSE("information_completion_license","hz-coolstore-license", new ArrayList<>(Arrays.asList(RocketMqTagEnum.INFORMATION_COMPLETION_LICENSE))),
|
||||
|
||||
|
||||
/**
|
||||
* 解除应用
|
||||
*/
|
||||
REMOVE_APPLICATION("remove_application","coolcollege-intelligent-config", new ArrayList<>(Arrays.asList(RocketMqTagEnum.REMOVE_APPLICATION))),
|
||||
|
||||
/**
|
||||
* 获取开通酷学院开通完成后的结果
|
||||
*/
|
||||
GET_OPEN_COOL_COLLEGE_RESULT("get_open_cool_college_result","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.GET_OPEN_COOL_COLLEGE_RESULT))),
|
||||
|
||||
/**
|
||||
* 酷学院同步用户 首次使用人员异步延迟推送
|
||||
*/
|
||||
COLLEGE_SYNC_USER_DELAY("college_sync_user_delay","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.COLLEGE_SYNC_USER_DELAY))),
|
||||
|
||||
/**
|
||||
*门店端的部门,人员,职位,发生变化后的推送消息队列
|
||||
*/
|
||||
COOL_STORE_DATA_CHANGE("cool_store_data_change","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.COOL_STORE_DATA_CHANGE))),
|
||||
|
||||
/**
|
||||
* 全量企微用户同步
|
||||
*/
|
||||
QW_SYNC_FULL_USER("qw_sync_full_user_msg_queue", "coolcollege-intelligent", new ArrayList(Arrays.asList(RocketMqTagEnum.QW_SYNC_FULL_USER))),
|
||||
|
||||
|
||||
/**
|
||||
* 按人子任务消息监听
|
||||
*/
|
||||
PERSON_SUB_TASK_DATA_QUEUE("person_sub_task_data_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.PERSON_SUB_TASK_DATA_QUEUE))),
|
||||
|
||||
IMOU_DEVICE_CALLBACK("imou_device_callback","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.IMOU_DEVICE_CALLBACK))),
|
||||
/**
|
||||
* 店务提交、点评消息监听
|
||||
*/
|
||||
STOREWORK_SUBMIT_COMMENT_DATA_QUEUE("storework_submit_comment_data_queue", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STOREWORK_SUBMIT_DATA_QUEUE, RocketMqTagEnum.STOREWORK_COMMENT_DATA_QUEUE, RocketMqTagEnum.STOREWORK_DELETE_DATA_QUEUE))),
|
||||
|
||||
/**
|
||||
* 流程引擎接收主应用消息
|
||||
*/
|
||||
STORE_SEND_TOPIC("store_send_topic","hz-oldworkflow", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STORE_SEND_TOPIC))),
|
||||
/**
|
||||
* 主应用接收流程引擎消息
|
||||
*/
|
||||
WORKFLOW_SEND_TOPIC("workflow_send_topic","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.WORKFLOW_SEND_TOPIC))),
|
||||
/**
|
||||
* 企业微信用户部门信息补全消息监听
|
||||
*/
|
||||
QYWX_USERDEPTINFO_COMPLETE_QUEUE("qywx_userdeptinfo_complete_queue","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.QYWX_USERDEPTINFO_COMPLETE_QUEUE))),
|
||||
|
||||
SHOP_STORE_GROUP_SYNC("shop_store_group_sync","coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.SHOP_STORE_GROUP_SYNC))),
|
||||
|
||||
/**
|
||||
* 授权码更新
|
||||
*/
|
||||
PERMANENT_CODE_UPDATE("permanent_code_update", "coolcollege-intelligent-config", new ArrayList<>(Arrays.asList(RocketMqTagEnum.PERMANENT_CODE_UPDATE))),
|
||||
|
||||
QUESTION_EXPIRE_REMIND("question_expire_remind", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.QUESTION_EXPIRE_BEFORE_REMIND, RocketMqTagEnum.QUESTION_EXPIRE_REMIND))),
|
||||
|
||||
STOREWORK_EXPIRE_REMIND("storework_expire_remind", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STOREWORK_BEFORE_START_REMIND, RocketMqTagEnum.STOREWORK_BEFORE_END_REMIND))),
|
||||
|
||||
STOREWORK_TASK_RESOLVE("storework_task_resolve", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STOREWORK_TASK_RESOLVE,RocketMqTagEnum.STOREWORK_TASK_SINGLE_STORE_RESOLVE))),
|
||||
|
||||
LICENSE_NOTICE_TIMER("license_notice_timer", "hz-coolstore-license", new ArrayList<>(Arrays.asList(RocketMqTagEnum.LICENSE_NOTICE_TIMER))),
|
||||
LICENSE_NOTICE_DEAL("license_notice_deal", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.LICENSE_NOTICE_DEAL))),
|
||||
|
||||
/**
|
||||
* 任务工作交接
|
||||
*/
|
||||
WORK_HANDOVER_TASK("work_handover_task", "coolcollege-intelligent", new ArrayList<>(Arrays.asList(RocketMqTagEnum.WORK_HANDOVER_TASK))),
|
||||
|
||||
SUPERVISION_RESOLVE_DELAY("supervision_resolve_delay","coolcollege",new ArrayList<>(Arrays.asList(RocketMqTagEnum.SUPERVISION_RESOLVE_DELAY))),
|
||||
/**
|
||||
* 定时任务回调
|
||||
*/
|
||||
SCHEDULER_CALLBACK("scheduler_callback","coolcollege", new ArrayList<>(Arrays.asList(RocketMqTagEnum.SCHEDULER_CALLBACK))),
|
||||
/**
|
||||
* 任务补发
|
||||
*/
|
||||
TASK_REISSUE("task_reissue","coolcollege", new ArrayList<>(Arrays.asList(RocketMqTagEnum.TASK_REISSUE))),
|
||||
|
||||
;
|
||||
|
||||
private final String group;
|
||||
|
||||
private final List<RocketMqTagEnum> tagList;
|
||||
|
||||
private final String listener;
|
||||
|
||||
|
||||
RocketMqGroupEnum(String group,String listener,List<RocketMqTagEnum> tagList) {
|
||||
this.group = group;
|
||||
this.listener = listener;
|
||||
this.tagList = tagList;
|
||||
}
|
||||
|
||||
public String getDefaultGroup() {
|
||||
return group;
|
||||
}
|
||||
|
||||
public static String getGroupId(RocketMqGroupEnum groupEnum){
|
||||
return groupEnum.group + "_" + CommonContextUtil.getProfileName();
|
||||
}
|
||||
|
||||
public static String getTag(RocketMqGroupEnum groupEnum){
|
||||
return StringUtils.join(groupEnum.tagList.stream().map(RocketMqTagEnum::getTag).collect(Collectors.toList()),"||");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
|
||||
import com.cool.store.utils.CommonContextUtil;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: RocketMqTagEnum
|
||||
* @Description:
|
||||
* @date 2021-12-23 16:14
|
||||
*/
|
||||
public enum RocketMqTagEnum {
|
||||
|
||||
DEFAULT("default","默认"),
|
||||
ES_PATROL_DATA_DEAL("es_patrol_data_deal","巡店数据加工"),
|
||||
ES_DISPLAY_DATA_DEAL("es_display_data_deal","陈列数据加工"),
|
||||
ES_DATA_SYNC("es_data_sync","数据插入到ES_队列"),
|
||||
EXPORT_IMPORT_MESSAGE("export_import_message","导入导出消息"),
|
||||
CAL_REGION_STORE_NUM("cal_region_store_num","计算门店区域数量"),
|
||||
REGION_STORE_NUM_UPDATE("region_store_num_update","计算门店区域数量"),
|
||||
|
||||
ENTERPRISE_OPEN("enterprise_open","企业开通"),
|
||||
ENTERPRISE_OPEN_CONFIG_RUN_SCRIPT("enterprise_open_config_run_script","企业开通平台库脚本执行"),
|
||||
ENTERPRISE_OPEN_ENTERPRISE_RUN_SCRIPT("enterprise_open_enterprise_run_script","企业开通企业库脚本执行"),
|
||||
ENTERPRISE_OPEN_DATA_SYNC("enterprise_open_data_sync","企业开通数据同步"),
|
||||
|
||||
AUTH_QUEUE("auth_queue","授权队列"),
|
||||
DING_STORE_ADDRESS_BOOK("ding_store_address_book","钉钉通讯录变更事件"),
|
||||
PAY_MARKET_BUY("pay_market_buy","企业购买队列"),
|
||||
|
||||
QW_OPEN_ORDER_CHANGE_QUEUE("qw_openorder_change_queue","企业微信付费监听"),
|
||||
QW_CHANGE_ORDER_QUEUE("qw_change_order_queue","企业微信改单事件,因涉及到两个订单,和普通的订单事件分开"),
|
||||
|
||||
DING_SYNC_ALL_DATA_QUEUE("ding_sync_all_data_queue","钉钉全量同步"),
|
||||
DING_SYNC_ALL_DATA_QUEUE_BAILI("ding_sync_all_data_queue_baili","百丽全量同步"),
|
||||
DING_SYNC_ALL_DATA_OA_QUEUE("ding_sync_all_data_oa_queue","第三方同步"),
|
||||
THIRD_OA_SYNC_SINGLE_QUEUE("third_oa_sync_single_queue","第三方单个用户同步"),
|
||||
|
||||
MQ_OPEN_ENTERPRISE_ALIYUN("mq_open_enterprise_aliyun","阿里云开通门店事件"),
|
||||
YINGSHI_DEVICE_MANAGE("yingshi_device_manage","萤石云设备托管"),
|
||||
INIT_DEVICE_QUEUE("init_device_queue","初始化设备"),
|
||||
|
||||
DISPLAY_CC_USER_QUEUE("display_cc_user_queue","陈列抄送人处理"),
|
||||
STORE_SUB_TASK_DATA_QUEUE("store_sub_task_data_queue","门店子任务消息监听"),
|
||||
|
||||
PATROL_MANUAL_STORE_CAPTURE_PICTURE_QUEUE("patrol_manual_store_capture_picture_queue","定时巡检抓拍"),
|
||||
PATROL_STORE_CAPTURE_PICTURE_QUEUE("patrol_store_capture_picture_queue","定时巡检抓拍"),
|
||||
PATROL_STORE_SCORE_COUNT_QUEUE("patrol_store_score_count_queue","巡店分数计算"),
|
||||
|
||||
UNIFY_TASK_DISPLAY("unify_task_display","陈列任务创建"),
|
||||
UNIFY_TASK_PATROL("unify_task_patrol","巡店任务创建"),
|
||||
UNIFY_TASK_QUESTION("unify_task_question","工单任务创建"),
|
||||
|
||||
INFORMATION_COMPLETION("information_completion","信息补全任务"),
|
||||
INFORMATION_COMPLETION_LICENSE("information_completion_license","证照信息补全任务"),
|
||||
ENTERPRISE_INIT_DEPT_ORDER("enterprise_init_handler_dept_order","补全部门的顺序值"),
|
||||
TASK_PARENT_USER_SAVE("task_parent_user_save", "新增或覆盖父任务处理人映射"),
|
||||
|
||||
STORE_DING_QUEUE("store_ding_queue", "微应用钉钉消息发送"),
|
||||
STORE_BACK_LOG("store_back_log", "待办任务名称"),
|
||||
STORE_BACK_LOG_UPDATE("store_back_log_update", "更新待办任务名称"),
|
||||
UPCOMING_FINISH("upcoming_finish", "待办消息结束队列"),
|
||||
OPEN_SUCCEEDED_MSG_QUEUE("open_succeeded_msg_queue", "发送开通成功消息"),
|
||||
QW_MEMBER_TEMPLE_MSG_QUEUE("qw_member_temple_msg_queue", "发送成员授权模式下模板消息"),
|
||||
APP_PUSH_QUEUE("app_push_queue", "app推送队列"),
|
||||
REMOVE_APPLICATION("remove_application", "解除应用"),
|
||||
GET_OPEN_COOL_COLLEGE_RESULT("get_open_cool_college_result", "获取开通酷学院开通完成后的结果"),
|
||||
COLLEGE_SYNC_USER_DELAY("college_sync_user_delay", "同步人与延迟推送"),
|
||||
COOL_STORE_DATA_CHANGE("cool_store_data_change", "门店端的部门,人员,职位,发生变化后的推送消息队列"),
|
||||
QW_SYNC_FULL_USER("qw_sync_full_user_msg_queue", "企微全量用户同步"),
|
||||
PERSON_SUB_TASK_DATA_QUEUE("person_sub_task_data_queue","按人子任务消息监听"),
|
||||
IMOU_DEVICE_CALLBACK("imou_device_callback","乐橙设备回调事件"),
|
||||
PERMANENT_CODE_UPDATE("permanent_code_update", "授权码变更"),
|
||||
SHOP_STORE_GROUP_SYNC("shop_store_group_sync","门店通门店分组同步"),
|
||||
DING_SINGLE_USER_SYNC("ding_single_user_sync","钉钉用户信息拉取"),
|
||||
STORE_SEND_TOPIC("store_send_topic","流程引擎接收主应用消息"),
|
||||
WORKFLOW_SEND_TOPIC("workflow_send_topic","主应用接收流程引擎消息"),
|
||||
QYWX_USERDEPTINFO_COMPLETE_QUEUE("qywx_userdeptinfo_complete_queue","企业微信用户部门信息补全消息监听"),
|
||||
QUESTION_EXPIRE_BEFORE_REMIND("question_expire_before_remind","工单逾期前提醒"),
|
||||
QUESTION_EXPIRE_REMIND("question_expire_remind","工单逾期提醒"),
|
||||
STOREWORK_SUBMIT_DATA_QUEUE("storework_submit_data_queue","店务提交消息监听"),
|
||||
STOREWORK_COMMENT_DATA_QUEUE("storework_comment_data_queue","店务点评消息监听"),
|
||||
STOREWORK_DELETE_DATA_QUEUE("storework_delete_data_queue","店务删除消息监听"),
|
||||
STOREWORK_BEFORE_START_REMIND("storework_before_start_remind","店务开始前提醒"),
|
||||
STOREWORK_BEFORE_END_REMIND("storework_before_end_remind","店务结束前提醒"),
|
||||
STOREWORK_TASK_RESOLVE("storework_task_resolve","店务分解"),
|
||||
STOREWORK_TASK_SINGLE_STORE_RESOLVE("storework_task_single_store_resolve","单店店务数据分解"),
|
||||
LICENSE_NOTICE_TIMER("license_notice_timer","证照定时任务提醒"),
|
||||
LICENSE_NOTICE_DEAL("license_notice_deal","证照提醒处理"),
|
||||
WORK_HANDOVER_TASK("work_handover_task","工作任务交接"),
|
||||
SUPERVISION_RESOLVE_DELAY("supervision_resolve_delay", "督导任务延迟分解"),
|
||||
SCHEDULER_CALLBACK("scheduler_callback","定时任务回调"),
|
||||
TASK_REISSUE("task_reissue","任务补发"),
|
||||
;
|
||||
|
||||
|
||||
private final String tag;
|
||||
|
||||
private final String remark;
|
||||
|
||||
RocketMqTagEnum(String tag, String remark) {
|
||||
this.tag = tag;
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
public String getDefaultTag() {
|
||||
return tag;
|
||||
}
|
||||
|
||||
public String getTag() {
|
||||
return tag + "_" + CommonContextUtil.getProfileName();
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public static RocketMqTagEnum getByTag(String tag){
|
||||
for (RocketMqTagEnum value : values()) {
|
||||
if(value.getTag().equals(tag)){
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return ES_PATROL_DATA_DEAL;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author wxp
|
||||
* @FileName: SubordinateSourceEnum
|
||||
* @Description: auto自动关联 select手动选择
|
||||
* @date 2022-12-30 17:12
|
||||
*/
|
||||
public enum SubordinateSourceEnum {
|
||||
|
||||
AUTO("auto", "关联区域门店权限"),
|
||||
SELECT("select", "手动选择");
|
||||
|
||||
private String code;
|
||||
|
||||
private String msg;
|
||||
|
||||
protected static final Map<String, SubordinateSourceEnum> map = Arrays.stream(values()).collect(
|
||||
Collectors.toMap(SubordinateSourceEnum::getCode, Function.identity()));
|
||||
|
||||
SubordinateSourceEnum(String code, String msg) {
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public static SubordinateSourceEnum getByCode(String code) {
|
||||
return map.get(code);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author zyp
|
||||
*/
|
||||
public enum UserAuthMappingTypeEnum {
|
||||
/**
|
||||
* 区域
|
||||
*/
|
||||
REGION("region","区域"),
|
||||
/**
|
||||
* 门店
|
||||
*/
|
||||
STORE("store","门店");
|
||||
|
||||
private String code;
|
||||
private String desc;
|
||||
public static final Map<String, UserAuthMappingTypeEnum> map = Arrays.stream(values()).collect(
|
||||
Collectors.toMap(UserAuthMappingTypeEnum::getCode, Function.identity()));
|
||||
|
||||
UserAuthMappingTypeEnum(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public static UserAuthMappingTypeEnum getByCode(String code) {
|
||||
return map.get(code);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author wxp
|
||||
* @FileName: UserSelectRangeEnum
|
||||
* @Description: 用户选取范围 共同编辑人范围:self-仅自己,all-全部人员,define-自定义
|
||||
* @date 2022-12-30 17:12
|
||||
*/
|
||||
public enum UserSelectRangeEnum {
|
||||
|
||||
SELF("self", "仅自己"),
|
||||
ALL("all", "全部人员"),
|
||||
DEFINE("define", "自定义");
|
||||
|
||||
private String code;
|
||||
|
||||
private String msg;
|
||||
|
||||
protected static final Map<String, UserSelectRangeEnum> map = Arrays.stream(values()).collect(
|
||||
Collectors.toMap(UserSelectRangeEnum::getCode, Function.identity()));
|
||||
|
||||
UserSelectRangeEnum(String code, String msg) {
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public static UserSelectRangeEnum getByCode(String code) {
|
||||
return map.get(code);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.cool.store.utils;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
|
||||
public class CommonContextUtil implements ApplicationContextAware {
|
||||
|
||||
private static ApplicationContext applicationContext; //Spring应用上下文环境
|
||||
|
||||
/**
|
||||
* 实现ApplicationContextAware接口的回调方法,设置上下文环境
|
||||
*
|
||||
* @param applicationContext
|
||||
* @throws BeansException
|
||||
*/
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||
CommonContextUtil.applicationContext = applicationContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ApplicationContext
|
||||
*/
|
||||
public static ApplicationContext getApplicationContext() {
|
||||
return applicationContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对象
|
||||
*
|
||||
* @param name
|
||||
* @return Object 一个以所给名字注册的bean的实例
|
||||
* @throws BeansException
|
||||
*/
|
||||
public static Object getBean(String name) throws BeansException {
|
||||
return applicationContext.getBean(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据某种类型获取对象
|
||||
* @param requiredType
|
||||
* @return
|
||||
* @throws BeansException
|
||||
*/
|
||||
public static <T> T getBean(Class<T> requiredType) throws BeansException {
|
||||
return applicationContext.getBean(requiredType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取类型为requiredType的对象
|
||||
* 如果bean不能被类型转换,相应的异常将会被抛出(BeanNotOfRequiredTypeException)
|
||||
*
|
||||
* @param name bean注册名
|
||||
* @param requiredType 返回对象类型
|
||||
* @return Object 返回requiredType类型对象
|
||||
* @throws BeansException
|
||||
*/
|
||||
public static <T> T getBean(String name, Class<T> requiredType) throws BeansException {
|
||||
return applicationContext.getBean(name, requiredType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true
|
||||
*
|
||||
* @param name
|
||||
* @return boolean
|
||||
*/
|
||||
public static boolean containsBean(String name) {
|
||||
return applicationContext.containsBean(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断以给定名字注册的bean定义是一个singleton还是一个prototype。
|
||||
* 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)
|
||||
*
|
||||
* @param name
|
||||
* @return boolean
|
||||
* @throws NoSuchBeanDefinitionException
|
||||
*/
|
||||
public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
|
||||
return applicationContext.isSingleton(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param name
|
||||
* @return Class 注册对象的类型
|
||||
* @throws NoSuchBeanDefinitionException
|
||||
*/
|
||||
public static Class getType(String name) throws NoSuchBeanDefinitionException {
|
||||
return applicationContext.getType(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果给定的bean名字在bean定义中有别名,则返回这些别名
|
||||
*
|
||||
* @param name
|
||||
* @return
|
||||
* @throws NoSuchBeanDefinitionException
|
||||
*/
|
||||
public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
|
||||
return applicationContext.getAliases(name);
|
||||
}
|
||||
|
||||
public static String getProfileName(){
|
||||
return applicationContext.getEnvironment().getActiveProfiles()[0];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package com.cool.store.utils;
|
||||
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* describe:
|
||||
*
|
||||
* @author zhouyiping
|
||||
* @date 2020/09/21
|
||||
*/
|
||||
public class CommonNodeUtils {
|
||||
/**
|
||||
* 树型数据的所有子项(list结构包含本身)(节点为Long)
|
||||
* @param rootId
|
||||
* @param id
|
||||
* @param all 树的所有节点
|
||||
* @param parentGroupMap Map<parentId,List<id>>
|
||||
* @return
|
||||
*/
|
||||
public static List<Long> getAllChildListContainSelf(Long rootId,Long id, List<Long> all,Map<Long,List<Long>> parentGroupMap) {
|
||||
List<Long> childList = new LinkedList<>();
|
||||
if(CollectionUtils.isEmpty(all)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
if(id.equals(rootId)&&!all.contains(id)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<Long> idList = parentGroupMap.get(id);
|
||||
childList.add(id);
|
||||
if(CollectionUtils.isEmpty(idList)){
|
||||
return childList;
|
||||
}
|
||||
childList.addAll(idList);
|
||||
for (Long item:idList){
|
||||
getChildList(item,parentGroupMap,childList);
|
||||
}
|
||||
return childList;
|
||||
}
|
||||
|
||||
private static void getChildList(Long id,Map<Long,List<Long>> parentGroupMap, List<Long> childList) {
|
||||
List<Long> child = parentGroupMap.get(id);
|
||||
if (CollectionUtils.isNotEmpty(child)) {
|
||||
childList.addAll(child);
|
||||
for (Long cid : child) {
|
||||
getChildList(cid, parentGroupMap, childList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 树型数据的所有子项(list结构包含本身)(节点为String)
|
||||
* @param rootId
|
||||
* @param id
|
||||
* @param all 树的所有节点
|
||||
* @param parentGroupMap Map<parentId,List<id>>
|
||||
* @return
|
||||
*/
|
||||
public static List<String> getAllChildListContainSelf(String rootId,String id, List<String> all,Map<String,List<String>> parentGroupMap) {
|
||||
List<String> childList = new LinkedList<>();
|
||||
if(CollectionUtils.isEmpty(all)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
if(id.equals(rootId)&&!all.contains(id)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<String> idList = parentGroupMap.get(id);
|
||||
childList.add(id);
|
||||
if(CollectionUtils.isEmpty(idList)){
|
||||
return childList;
|
||||
}
|
||||
childList.addAll(idList);
|
||||
for (String item:idList){
|
||||
getChildList(item,parentGroupMap,childList);
|
||||
}
|
||||
return childList;
|
||||
}
|
||||
|
||||
private static void getChildList(String id,Map<String,List<String>> parentGroupMap, List<String> childList) {
|
||||
List<String> child = parentGroupMap.get(id);
|
||||
if (CollectionUtils.isNotEmpty(child)) {
|
||||
childList.addAll(child);
|
||||
for (String cid : child) {
|
||||
getChildList(cid, parentGroupMap, childList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.cool.store.utils;
|
||||
|
||||
|
||||
import com.cool.store.constants.RedisConstant;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
/**
|
||||
* redis常量工具类
|
||||
*
|
||||
* @author byd
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class RedisConstantUtil {
|
||||
|
||||
@Value("${spring.profiles.active}")
|
||||
private String active;
|
||||
|
||||
/**
|
||||
* 获取钉钉同步区域key
|
||||
*
|
||||
* @param eid
|
||||
* @return
|
||||
*/
|
||||
public String getSyncRegionKey(String eid) {
|
||||
|
||||
return active + "_" + RedisConstant.REGION_SYNC_ALL + eid;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取门店同步key
|
||||
*
|
||||
* @param eid
|
||||
* @return
|
||||
*/
|
||||
public String getSyncStoreKey(String eid) {
|
||||
|
||||
return active + "_" + RedisConstant.STORE_SYNC_ALL + eid;
|
||||
}
|
||||
|
||||
public String getSyncLockKey(String eid) {
|
||||
|
||||
return active + "_" + RedisConstant.REGION_SYNC_LOCK + eid;
|
||||
}
|
||||
|
||||
public String getSyncEidEffectiveKey(String eid) {
|
||||
|
||||
return active + "_" + RedisConstant.EID_SYNC_EFFECTIVE + eid;
|
||||
}
|
||||
|
||||
public String getTaskStageNoticeKey(String key) {
|
||||
|
||||
return active + "_" + RedisConstant.TASK_STAGE_NOTICE + key;
|
||||
}
|
||||
|
||||
public String getTaskDelFlagKey(String key) {
|
||||
|
||||
return active + "_" + RedisConstant.TASK_DEL_FLAG + key;
|
||||
}
|
||||
|
||||
public String getCapturePicture(String key) {
|
||||
|
||||
return active + "_" + RedisConstant.CAPTURE_PICTURE_STATUS_PREFIX + key;
|
||||
}
|
||||
|
||||
|
||||
public String getQuestionTaskLockKey(String eid, String key) {
|
||||
return active + "_" + RedisConstant.QUESTION_TASK_LOCK + "_" + eid + "_" + key;
|
||||
}
|
||||
|
||||
public String getStoreWorkQuestionTaskLockKey(String eid, String key) {
|
||||
return active + "_" + RedisConstant.STORE_WORK_QUESTION_TASK_LOCK + "_" + eid + "_" + key;
|
||||
}
|
||||
|
||||
public String getShowStoreAuthKey() {
|
||||
return active + "_" + RedisConstant.SHOW_STORE_AUTH;
|
||||
}
|
||||
|
||||
public String getRegionNameKey(String eid, String regionId) {
|
||||
return active + "_" + RedisConstant.REGION_ALL_NAME_CACHE + eid + ":" + regionId;
|
||||
}
|
||||
|
||||
public String getGuideInfoKey(String eid, Long menuId) {
|
||||
return active + "_" + RedisConstant.GUIDE_INFO + eid + ":" + menuId;
|
||||
}
|
||||
|
||||
public String getRegionNameListKey(String eid, String regionId) {
|
||||
return active + "_" + RedisConstant.REGION_ALL_NAME_CACHE + eid + ":" + regionId;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user