This commit is contained in:
zhangchenbiao
2023-06-01 11:37:03 +08:00
parent 0cabc939fc
commit 09f651ed0d
20 changed files with 314 additions and 212 deletions

View File

@@ -40,8 +40,6 @@ public class CommonConstants {
public static final String WX_APP_SECRET_KEY = "wx_app_secret_key:{0}";
public static final String MINI_PROGRAM_SESSION_KEY = "mini_program_session_key:{0}:{1}";
public static final String MaxReconsumeTimes = "2";
public static final String ENTERPRISE_OPEN_STATUS_KEY = "enterprise_open_status:{0}_{1}";
public static final String ROOT_DEPT_ID_STR = "1";
@@ -68,6 +66,11 @@ public class CommonConstants {
*/
public static final String SQUAREBRACKETSRIGHT = "]";
/**
* rocketmq 消息最大重试次数
*/
public static final String MaxReconsumeTimes = "2";
public static final int ZERO = 0;
public static final int ONE = 1;

View File

@@ -28,18 +28,6 @@ public enum RocketMqGroupEnum {
* 服务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))),
/**
* 区域门店数量计算队列
*/
@@ -65,15 +53,7 @@ public enum RocketMqGroupEnum {
*/
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))),
@@ -93,61 +73,7 @@ public enum RocketMqGroupEnum {
* 钉钉同步
*/
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))),
/**
* 待办任务名称
@@ -169,92 +95,23 @@ public enum RocketMqGroupEnum {
* 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))),
/**
* 授权码更新
* test
*/
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))),
TEST("test", "coolcollege-intelligent-config", new ArrayList<>(Arrays.asList(RocketMqTagEnum.TEST))),
;

View File

@@ -11,10 +11,7 @@ import com.cool.store.utils.CommonContextUtil;
*/
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_队列"),
TEST("test","测试"),
EXPORT_IMPORT_MESSAGE("export_import_message","导入导出消息"),
CAL_REGION_STORE_NUM("cal_region_store_num","计算门店区域数量"),
REGION_STORE_NUM_UPDATE("region_store_num_update","计算门店区域数量"),
@@ -35,27 +32,6 @@ public enum RocketMqTagEnum {
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", "更新待办任务名称"),
@@ -64,7 +40,6 @@ public enum RocketMqTagEnum {
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", "企微全量用户同步"),
@@ -73,24 +48,6 @@ public enum RocketMqTagEnum {
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","任务补发"),
;
@@ -121,6 +78,6 @@ public enum RocketMqTagEnum {
return value;
}
}
return ES_PATROL_DATA_DEAL;
return null;
}
}

View File

@@ -4,7 +4,9 @@ import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class CommonContextUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext; //Spring应用上下文环境

View File

@@ -0,0 +1,123 @@
package com.cool.store.mq.consumer;
import com.aliyun.openservices.ons.api.MessageListener;
import com.aliyun.openservices.ons.api.PropertyKeyConst;
import com.aliyun.openservices.ons.api.PropertyValueConst;
import com.aliyun.openservices.ons.api.bean.ConsumerBean;
import com.aliyun.openservices.ons.api.bean.Subscription;
import com.cool.store.constants.CommonConstants;
import com.cool.store.enums.RocketMqGroupEnum;
import com.cool.store.mq.RocketMqConfig;
import com.cool.store.mq.consumer.listener.EnterpriseInitListener;
import com.cool.store.mq.consumer.listener.EnterpriseScriptListener;
import com.cool.store.mq.consumer.listener.TestListener;
import com.google.common.collect.Maps;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource;
import java.util.Map;
import java.util.Properties;
/**
* @author zhangchenbiao
* @FileName: OrderlyConsumerClient
* @Description: 普通消息消费client
* @date 2021-12-21 11:35
*/
@Configuration
public class ConsumerClient {
@Resource
private RocketMqConfig rocketMqConfig;
@Resource
private EnterpriseInitListener enterpriseInitListener;
@Resource
private EnterpriseScriptListener enterpriseScriptListener;
@Resource
private TestListener testListener;
/**
* 获取通用配置
* @param groupEnum
* @return
*/
private Properties getCommonProperties(RocketMqGroupEnum groupEnum) {
//配置文件
Properties properties = rocketMqConfig.getMqProperties();
//消费者需指定groupId 根据实际情况指定groupId
properties.setProperty(PropertyKeyConst.GROUP_ID, RocketMqGroupEnum.getGroupId(groupEnum));
//消费模式 集群消费
properties.setProperty(PropertyKeyConst.MessageModel, PropertyValueConst.CLUSTERING);
//消息最大重试次数
properties.setProperty(PropertyKeyConst.MaxReconsumeTimes, CommonConstants.MaxReconsumeTimes);
//开启最大线程数
properties.setProperty(PropertyKeyConst.ConsumeThreadNums, CommonConstants.FIVE_STR);
return properties;
}
/**
* 获取通用订阅关系
* @param groupEnum
* @param listener
* @return
*/
public Map<Subscription, MessageListener> getCommonSubscriptionTable(RocketMqGroupEnum groupEnum, MessageListener listener) {
Map<Subscription, MessageListener> subscriptionTable = Maps.newHashMap();
Subscription subscription = new Subscription();
subscription.setTopic(rocketMqConfig.getTopic());
subscription.setExpression(RocketMqGroupEnum.getTag(groupEnum));
subscriptionTable.put(subscription, listener);
return subscriptionTable;
}
/**
* 测试test
* @return
*/
@Bean(initMethod = "start", destroyMethod = "shutdown")
public ConsumerBean test() {
RocketMqGroupEnum groupEnum = RocketMqGroupEnum.TEST;
ConsumerBean consumerBean = new ConsumerBean();
//配置文件
Properties properties = getCommonProperties(groupEnum);
consumerBean.setProperties(properties);
Map<Subscription, MessageListener> commonSubscriptionTable = getCommonSubscriptionTable(groupEnum, testListener);
//订阅多个topic如上面设置
consumerBean.setSubscriptionTable(commonSubscriptionTable);
return consumerBean;
}
/**
* 企业开通
*/
@Bean(initMethod = "start", destroyMethod = "shutdown")
public ConsumerBean enterpriseOpenBean() {
RocketMqGroupEnum groupEnum = RocketMqGroupEnum.ENTERPRISE_OPEN_DATA_SYNC;
ConsumerBean consumerBean = new ConsumerBean();
//配置文件
Properties properties = getCommonProperties(groupEnum);
consumerBean.setProperties(properties);
Map<Subscription, MessageListener> commonSubscriptionTable = getCommonSubscriptionTable(groupEnum, testListener);
//订阅多个topic如上面设置
consumerBean.setSubscriptionTable(commonSubscriptionTable);
return consumerBean;
}
/**
* 企业库脚本开通
*/
@Bean(initMethod = "start", destroyMethod = "shutdown")
public ConsumerBean enterpriseScriptBean() {
RocketMqGroupEnum groupEnum = RocketMqGroupEnum.ENTERPRISE_OPEN_ENTERPRISE_RUN_SCRIPT;
ConsumerBean consumerBean = new ConsumerBean();
//配置文件
Properties properties = getCommonProperties(groupEnum);
consumerBean.setProperties(properties);
Map<Subscription, MessageListener> commonSubscriptionTable = getCommonSubscriptionTable(groupEnum, enterpriseScriptListener);
//订阅多个topic如上面设置
consumerBean.setSubscriptionTable(commonSubscriptionTable);
return consumerBean;
}
}

View File

@@ -1,4 +1,4 @@
package com.cool.store.consumer;
package com.cool.store.mq.consumer.listener;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.ons.api.Action;

View File

@@ -1,4 +1,4 @@
package com.cool.store.consumer;
package com.cool.store.mq.consumer.listener;
import com.alibaba.fastjson.JSON;
import com.aliyun.openservices.ons.api.Action;

View File

@@ -0,0 +1,58 @@
package com.cool.store.mq.consumer.listener;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.ons.api.Action;
import com.aliyun.openservices.ons.api.ConsumeContext;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.MessageListener;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.enterprise.EnterpriseInitDTO;
import com.cool.store.enums.AppTypeEnum;
import com.cool.store.enums.EnterpriseStatusEnum;
import com.cool.store.service.EnterpriseInitService;
import com.cool.store.utils.RedisUtilPool;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.Arrays;
/**
* 企业开通初始化
*
* @author chenyupeng
* @since 2022/1/26
*/
@Slf4j
@Service
public class TestListener implements MessageListener {
@Override
public Action consume(Message message, ConsumeContext consumeContext) {
if(message.getReconsumeTimes() + 1 >= Integer.parseInt(CommonConstants.MaxReconsumeTimes)){
//超过最大消费次数
return Action.CommitMessage;
}
String text = new String(message.getBody());
log.info("text:{}", text);
if(StringUtils.isBlank(text)){
return Action.CommitMessage;
}
return Action.CommitMessage;
}
}

View File

@@ -1,4 +1,4 @@
package com.cool.store.mq;
package com.cool.store.mq.producer;
import com.aliyun.openservices.ons.api.SendResult;
import com.cool.store.enums.RocketMqTagEnum;

View File

@@ -1,4 +1,4 @@
package com.cool.store.mq;
package com.cool.store.mq.producer;
import com.aliyun.openservices.ons.api.SendCallback;
import com.aliyun.openservices.ons.api.SendResult;

View File

@@ -1,11 +1,11 @@
package com.cool.store.mq.impl;
package com.cool.store.mq.producer.impl;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.SendResult;
import com.aliyun.openservices.ons.api.bean.OrderProducerBean;
import com.cool.store.constants.CommonConstants;
import com.cool.store.enums.RocketMqTagEnum;
import com.cool.store.mq.OrderMessageService;
import com.cool.store.mq.producer.OrderMessageService;
import com.cool.store.mq.RocketMqConfig;
import com.cool.store.utils.UUIDUtils;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,4 +1,4 @@
package com.cool.store.mq.impl;
package com.cool.store.mq.producer.impl;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.ons.api.Message;
@@ -8,7 +8,7 @@ import com.aliyun.openservices.ons.api.bean.ProducerBean;
import com.cool.store.constants.CommonConstants;
import com.cool.store.enums.RocketMqTagEnum;
import com.cool.store.mq.RocketMqConfig;
import com.cool.store.mq.SimpleMessageService;
import com.cool.store.mq.producer.SimpleMessageService;
import com.cool.store.utils.UUIDUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

View File

@@ -11,7 +11,7 @@ import com.cool.store.entity.UserRegionMappingDO;
import com.cool.store.enums.*;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
import com.cool.store.mq.SimpleMessageService;
import com.cool.store.mq.producer.SimpleMessageService;
import com.cool.store.request.EnterpriseUserRequest;
import com.cool.store.service.EnterpriseInitService;
import com.cool.store.service.EnterpriseUserService;

View File

@@ -65,12 +65,7 @@
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-openapi:0.0.19" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-util:0.2.12" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:credentials-java:0.2.4" level="project" />
<orderEntry type="library" name="Maven: org.ini4j:ini4j:0.5.4" level="project" />
<orderEntry type="library" name="Maven: org.jacoco:org.jacoco.agent:runtime:0.8.3" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:openapiutil:0.1.9" level="project" />
@@ -120,5 +115,24 @@
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:3.13.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" />
<orderEntry type="library" name="Maven: org.jdom:jdom2:2.0.6" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.jettison:jettison:1.1" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.5.10" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.jacoco:org.jacoco.agent:runtime:0.8.5" level="project" />
<orderEntry type="library" name="Maven: org.ini4j:ini4j:0.5.4" level="project" />
<orderEntry type="library" name="Maven: io.opentracing:opentracing-api:0.33.0" level="project" />
<orderEntry type="library" name="Maven: io.opentracing:opentracing-util:0.33.0" level="project" />
<orderEntry type="library" name="Maven: io.opentracing:opentracing-noop:0.33.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-ram:3.1.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-kms:2.11.0" level="project" />
</component>
</module>

View File

@@ -25,6 +25,12 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.13.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<profiles>

View File

@@ -41,7 +41,7 @@ public class TokenValidateFilter implements Filter {
private static List<String> patternList =
Lists.newArrayList("/web/check/ok","/check/ok",
"/partner/pc/doc.html","/partner/pc/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin",
"/partner/pc/doc.html","/partner/pc/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin","/partner/pc/oss/getUploadFileConfig",
"/**/swagger*/**", "/**/webjars/**");

View File

@@ -7,7 +7,6 @@ import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
@@ -172,7 +171,6 @@ public class DeskController {
public ResponseResult<PartnerSummaryInfoVO> queryPartnerIntentApplyInfo(@PathVariable(value = "enterpriseId", required = false) String enterpriseId,
@RequestParam(value = "lineId",required = false)Long lineId){
return ResponseResult.success();
}

View File

@@ -0,0 +1,68 @@
package com.cool.store.controller;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.common.utils.BinaryUtil;
import com.aliyun.oss.model.MatchMode;
import com.aliyun.oss.model.PolicyConditions;
import com.cool.store.response.ResponseResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.sql.Date;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author zhangchenbiao
* @FileName: OssClientController
* @Description:
* @date 2023-06-01 11:25
*/
@RestController
@RequestMapping({"/oss"})
@Slf4j
public class OssClientController {
@GetMapping("/getUploadFileConfig")
public ResponseResult getUploadFileConfig(){
// 请填写您的AccessKeyId。
String accessId = "LTAI5tKSnAbkEbmT6CeBwNN3";
// 请填写您的AccessKeySecret。
String accessKey = "PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS";
// 请填写您的 endpoint。
String endpoint = "oss-cn-shanghai.aliyuncs.com";
// 请填写您的 bucketname 。
String bucket = "vec-coolstore";
// host的格式为 bucketname.endpoint
String host = "http://" + bucket + "." + endpoint;
// callbackUrl为 上传回调服务器的URL请将下面的IP和Port配置为您自己的真实信息。
String dir = "user-dir-prefix/"; // 用户上传文件时指定的前缀。
OSSClient client = new OSSClient(endpoint, accessId, accessKey);
try {
long expireTime = 30;
long expireEndTime = System.currentTimeMillis() + expireTime * 1000;
Date expiration = new Date(expireEndTime);
PolicyConditions policyConds = new PolicyConditions();
policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);
policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir);
String postPolicy = client.generatePostPolicy(expiration, policyConds);
byte[] binaryData = postPolicy.getBytes("utf-8");
String encodedPolicy = BinaryUtil.toBase64String(binaryData);
String postSignature = client.calculatePostSignature(postPolicy);
Map<String, String> respMap = new LinkedHashMap<String, String>();
respMap.put("accessid", accessId);
respMap.put("policy", encodedPolicy);
respMap.put("signature", postSignature);
respMap.put("dir", dir);
respMap.put("host", host);
respMap.put("expire", String.valueOf(expireEndTime / 1000));
return ResponseResult.success(respMap);
}catch (Exception e){
log.info("exception", e);
}
return ResponseResult.success();
}
}

View File

@@ -1,7 +1,12 @@
package com.cool.store.controller;
import com.cool.store.entity.EnterpriseConfigDO;
import com.cool.store.enums.RocketMqTagEnum;
import com.cool.store.mq.producer.SimpleMessageService;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.EnterpriseConfigService;
import com.cool.store.utils.UUIDUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -15,16 +20,27 @@ import javax.annotation.Resource;
* @Description:
* @date 2023-05-26 11:32
*/
@Slf4j
@RestController
@RequestMapping("test/")
public class TestController {
@Resource
private EnterpriseConfigService enterpriseConfigService;
@Resource
private SimpleMessageService simpleMessageService;
@GetMapping("/selectByEnterpriseId")
public EnterpriseConfigDO selectByEnterpriseId(@RequestParam("enterpriseId") String enterpriseId){
return enterpriseConfigService.selectByEnterpriseId(enterpriseId);
}
@GetMapping("/sendMq")
public ResponseResult sendMq(){
String msg = UUIDUtils.get8UUID();
log.info("msg:{}", msg);
simpleMessageService.send(msg, RocketMqTagEnum.TEST);
return ResponseResult.success();
}
}

View File

@@ -45,6 +45,6 @@ isv.domain = https://abstore-isv.coolstore.cn
#rocketmq \u914D\u7F6E
rocketmq.accessKey=zK2oVEz4G1ts23d2
rocketmq.secretKey=0UstLCS0mh2ASgBh
rocketmq.nameSrvAdder=http://rmq-cn-9lb38l1rx04-vpc.cn-hangzhou.rmq.aliyuncs.com:8080
rocketmq.nameSrvAdder=http://rmq-cn-9lb38l1rx04.cn-hangzhou.rmq.aliyuncs.com:8080
rocketmq.topic=simple_message
rocketmq.orderTopic=order_message