qianxb 1 rok temu
rodzic
commit
5bbafdae74

+ 128 - 128
blade-service-api/blade-rabbitmq-producer-api/src/main/java/org/springblade/producer/bean/PushMessageAspect.java

@@ -1,128 +1,128 @@
-package org.springblade.producer.bean;
-
-import com.alibaba.fastjson.JSON;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.AfterReturning;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.aspectj.lang.reflect.MethodSignature;
-import org.springblade.business.feign.BusinessWebSocketClient;
-import org.springblade.core.tool.api.R;
-import org.springblade.feign.ArchiveWebSocketClient;
-import org.springblade.manager.feign.ManagerWebSocketClient;
-import org.springblade.meter.feign.MeterWebSocketClient;
-import org.springblade.common.constant.ClientIdConstant;
-
-import org.springblade.producer.feign.RabbitMqProducerServiceClient;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
-
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-@Aspect
-@Component
-public class PushMessageAspect {
-
-    private static final Logger logger = LogManager.getLogger(PushMessageAspect.class);
-
-    private final RabbitMqProducerServiceClient rabbitMqProducerServiceClient;
-    private final ArchiveWebSocketClient archiveWebSocketClient;
-    private final BusinessWebSocketClient businessWebSocketClient;
-    private final ManagerWebSocketClient managerWebSocketClient;
-    private final MeterWebSocketClient meterWebSocketClient;
-
-    @Autowired
-    public PushMessageAspect(RabbitMqProducerServiceClient rabbitMqProducerServiceClient, ArchiveWebSocketClient archiveWebSocketClient, BusinessWebSocketClient businessWebSocketClient, ManagerWebSocketClient managerWebSocketClient, MeterWebSocketClient meterWebSocketClient) {
-        this.rabbitMqProducerServiceClient = rabbitMqProducerServiceClient;
-        this.archiveWebSocketClient = archiveWebSocketClient;
-        this.businessWebSocketClient = businessWebSocketClient;
-        this.managerWebSocketClient = managerWebSocketClient;
-        this.meterWebSocketClient = meterWebSocketClient;
-    }
-
-    @Pointcut("@annotation(org.springblade.producer.bean.PushMessage)")
-    public void pushMessagePointcut() {
-    }
-
-    @AfterReturning(value = "pushMessagePointcut()", returning = "result")
-    public void pushMessageAfterMethod(JoinPoint joinPoint, Object result) {
-        logger.info("=========================================== push message start ======================================");
-        if (result instanceof R) {
-            R<?> r = (R<?>) result;
-            Object objSet = r.getData();
-            if (objSet instanceof Set) {
-                MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-                Method method = signature.getMethod();
-                PushMessage pushMessage = method.getAnnotation(PushMessage.class);
-                String clientIds = pushMessage.clientId();
-                if (StringUtils.hasText(clientIds)) {
-                    for (String clientId : clientIds.split(",")) {
-                        Set<?> rawSet = (Set<?>) objSet;
-                        for (Object element : rawSet) {
-                            if (element instanceof String) {
-                                String param = (String) element;
-                                String userId = param.split(",")[0];
-                                String projectId = param.split(",")[1];
-                                String contractId = param.split(",")[2];
-                                this.pushMessageToMqQueue(clientId, userId, projectId, contractId);
-                            }
-                        }
-                        logger.info("=========================================== push message end ========================================");
-                    }
-                } else {
-                    logger.info("=========================================== clientId is null ========================================");
-                }
-            } else {
-                logger.info("=========================================== data is null ========================================");
-            }
-        }
-    }
-
-    private void pushMessageToMqQueue(String clientId, String userId, String projectId, String contractId) {
-        Map<String, String> stringMap = this.getTaskStringMapData(projectId, contractId, userId, clientId);
-        if (stringMap.size() > 0) {
-            switch (clientId) {
-                case ClientIdConstant.ARCHIVE_CLIENT_ID:
-                    rabbitMqProducerServiceClient.sendMessageToArchiveQueue(JSON.toJSONString(stringMap));
-                    break;
-                case ClientIdConstant.MANAGER_CLIENT_ID:
-                    rabbitMqProducerServiceClient.sendMessageToManagerQueue(JSON.toJSONString(stringMap));
-                    break;
-                case ClientIdConstant.BUSINESS_CLIENT_ID:
-                    rabbitMqProducerServiceClient.sendMessageToBusinessQueue(JSON.toJSONString(stringMap));
-                    break;
-                case ClientIdConstant.METER_CLIENT_ID:
-                    rabbitMqProducerServiceClient.sendMessageToMeterQueue(JSON.toJSONString(stringMap));
-                    break;
-            }
-        }
-    }
-
-    private Map<String, String> getTaskStringMapData(String projectId, String contractId, String userId, String clientId) {
-        Map<String, String> stringMap = new HashMap<>();
-        if (StringUtils.hasText(clientId)) {
-            switch (clientId) {
-                case ClientIdConstant.ARCHIVE_CLIENT_ID:
-                    stringMap = archiveWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
-                    break;
-                case ClientIdConstant.MANAGER_CLIENT_ID:
-                    stringMap = managerWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
-                    break;
-                case ClientIdConstant.BUSINESS_CLIENT_ID:
-                    stringMap = businessWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
-                    break;
-                case ClientIdConstant.METER_CLIENT_ID:
-                    // TODO stringMap = meterWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
-                    break;
-            }
-        }
-        return stringMap;
-    }
-
-}
+//package org.springblade.producer.bean;
+//
+//import com.alibaba.fastjson.JSON;
+//import org.apache.logging.log4j.LogManager;
+//import org.apache.logging.log4j.Logger;
+//import org.aspectj.lang.JoinPoint;
+//import org.aspectj.lang.annotation.AfterReturning;
+//import org.aspectj.lang.annotation.Aspect;
+//import org.aspectj.lang.annotation.Pointcut;
+//import org.aspectj.lang.reflect.MethodSignature;
+//import org.springblade.business.feign.BusinessWebSocketClient;
+//import org.springblade.core.tool.api.R;
+//import org.springblade.feign.ArchiveWebSocketClient;
+//import org.springblade.manager.feign.ManagerWebSocketClient;
+//import org.springblade.meter.feign.MeterWebSocketClient;
+//import org.springblade.common.constant.ClientIdConstant;
+//
+//import org.springblade.producer.feign.RabbitMqProducerServiceClient;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Component;
+//import org.springframework.util.StringUtils;
+//
+//import java.lang.reflect.Method;
+//import java.util.HashMap;
+//import java.util.Map;
+//import java.util.Set;
+//
+//@Aspect
+//@Component
+//public class PushMessageAspect {
+//
+//    private static final Logger logger = LogManager.getLogger(PushMessageAspect.class);
+//
+//    private final RabbitMqProducerServiceClient rabbitMqProducerServiceClient;
+//    private final ArchiveWebSocketClient archiveWebSocketClient;
+//    private final BusinessWebSocketClient businessWebSocketClient;
+//    private final ManagerWebSocketClient managerWebSocketClient;
+//    private final MeterWebSocketClient meterWebSocketClient;
+//
+//    @Autowired
+//    public PushMessageAspect(RabbitMqProducerServiceClient rabbitMqProducerServiceClient, ArchiveWebSocketClient archiveWebSocketClient, BusinessWebSocketClient businessWebSocketClient, ManagerWebSocketClient managerWebSocketClient, MeterWebSocketClient meterWebSocketClient) {
+//        this.rabbitMqProducerServiceClient = rabbitMqProducerServiceClient;
+//        this.archiveWebSocketClient = archiveWebSocketClient;
+//        this.businessWebSocketClient = businessWebSocketClient;
+//        this.managerWebSocketClient = managerWebSocketClient;
+//        this.meterWebSocketClient = meterWebSocketClient;
+//    }
+//
+//    @Pointcut("@annotation(org.springblade.producer.bean.PushMessage)")
+//    public void pushMessagePointcut() {
+//    }
+//
+//    @AfterReturning(value = "pushMessagePointcut()", returning = "result")
+//    public void pushMessageAfterMethod(JoinPoint joinPoint, Object result) {
+//        logger.info("=========================================== push message start ======================================");
+//        if (result instanceof R) {
+//            R<?> r = (R<?>) result;
+//            Object objSet = r.getData();
+//            if (objSet instanceof Set) {
+//                MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+//                Method method = signature.getMethod();
+//                PushMessage pushMessage = method.getAnnotation(PushMessage.class);
+//                String clientIds = pushMessage.clientId();
+//                if (StringUtils.hasText(clientIds)) {
+//                    for (String clientId : clientIds.split(",")) {
+//                        Set<?> rawSet = (Set<?>) objSet;
+//                        for (Object element : rawSet) {
+//                            if (element instanceof String) {
+//                                String param = (String) element;
+//                                String userId = param.split(",")[0];
+//                                String projectId = param.split(",")[1];
+//                                String contractId = param.split(",")[2];
+//                                this.pushMessageToMqQueue(clientId, userId, projectId, contractId);
+//                            }
+//                        }
+//                        logger.info("=========================================== push message end ========================================");
+//                    }
+//                } else {
+//                    logger.info("=========================================== clientId is null ========================================");
+//                }
+//            } else {
+//                logger.info("=========================================== data is null ========================================");
+//            }
+//        }
+//    }
+//
+//    private void pushMessageToMqQueue(String clientId, String userId, String projectId, String contractId) {
+//        Map<String, String> stringMap = this.getTaskStringMapData(projectId, contractId, userId, clientId);
+//        if (stringMap.size() > 0) {
+//            switch (clientId) {
+//                case ClientIdConstant.ARCHIVE_CLIENT_ID:
+//                    rabbitMqProducerServiceClient.sendMessageToArchiveQueue(JSON.toJSONString(stringMap));
+//                    break;
+//                case ClientIdConstant.MANAGER_CLIENT_ID:
+//                    rabbitMqProducerServiceClient.sendMessageToManagerQueue(JSON.toJSONString(stringMap));
+//                    break;
+//                case ClientIdConstant.BUSINESS_CLIENT_ID:
+//                    rabbitMqProducerServiceClient.sendMessageToBusinessQueue(JSON.toJSONString(stringMap));
+//                    break;
+//                case ClientIdConstant.METER_CLIENT_ID:
+//                    rabbitMqProducerServiceClient.sendMessageToMeterQueue(JSON.toJSONString(stringMap));
+//                    break;
+//            }
+//        }
+//    }
+//
+//    private Map<String, String> getTaskStringMapData(String projectId, String contractId, String userId, String clientId) {
+//        Map<String, String> stringMap = new HashMap<>();
+//        if (StringUtils.hasText(clientId)) {
+//            switch (clientId) {
+//                case ClientIdConstant.ARCHIVE_CLIENT_ID:
+//                    stringMap = archiveWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
+//                    break;
+//                case ClientIdConstant.MANAGER_CLIENT_ID:
+//                    stringMap = managerWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
+//                    break;
+//                case ClientIdConstant.BUSINESS_CLIENT_ID:
+//                    stringMap = businessWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
+//                    break;
+//                case ClientIdConstant.METER_CLIENT_ID:
+//                    // TODO stringMap = meterWebSocketClient.getWebsocketMsg(projectId, contractId, userId);
+//                    break;
+//            }
+//        }
+//        return stringMap;
+//    }
+//
+//}

+ 60 - 60
blade-service/blade-rabbitmq-consumer/src/main/java/org/springblade/consumer/service/RabbitMqConsumerService.java

@@ -1,60 +1,60 @@
-package org.springblade.consumer.service;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.springblade.consumer.socket.WebSocketEndpoint;
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.io.IOException;
-import java.util.Map;
-
-@Service
-public class RabbitMqConsumerService {
-
-    private static final Logger logger = LogManager.getLogger(RabbitMqConsumerService.class);
-    private final WebSocketEndpoint webSocketEndpoint;
-
-    @Autowired
-    public RabbitMqConsumerService(WebSocketEndpoint webSocketEndpoint) {
-        this.webSocketEndpoint = webSocketEndpoint;
-    }
-
-    private void processMessage(String queueName, String message) throws IOException {
-        ObjectMapper objectMapper = new ObjectMapper();
-        Map<String, Object> resultMap = objectMapper.readValue(message, new TypeReference<Map<String, Object>>() {
-        });
-        Object userId = resultMap.getOrDefault("userId", null);
-        if (ObjectUtil.isNotEmpty(userId)) {
-            webSocketEndpoint.sendMessageByUserId(userId.toString(), message);
-            logger.info("Pass " + queueName + " push msg to userId: " + userId + ",msg:" + message);
-        } else {
-            logger.info("No message for" + queueName + " was obtained,msg:" + message);
-        }
-    }
-
-    @RabbitListener(queues = "archiveQueue")
-    public void consumeMessageFromArchiveQueue(String message) throws IOException {
-        processMessage("archiveQueue", message);
-    }
-
-    @RabbitListener(queues = "managerQueue")
-    public void consumeMessageFromManagerQueue(String message) throws IOException {
-        processMessage("managerQueue", message);
-    }
-
-    @RabbitListener(queues = "businessQueue")
-    public void consumeMessageFromBusinessQueue(String message) throws IOException {
-        processMessage("businessQueue", message);
-    }
-
-    @RabbitListener(queues = "meterQueue")
-    public void consumeMessageFromMeterQueue(String message) throws IOException {
-        processMessage("meterQueue", message);
-    }
-
-}
+//package org.springblade.consumer.service;
+//
+//import cn.hutool.core.util.ObjectUtil;
+//import com.fasterxml.jackson.core.type.TypeReference;
+//import com.fasterxml.jackson.databind.ObjectMapper;
+//import org.apache.logging.log4j.LogManager;
+//import org.apache.logging.log4j.Logger;
+//import org.springblade.consumer.socket.WebSocketEndpoint;
+//import org.springframework.amqp.rabbit.annotation.RabbitListener;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Service;
+//
+//import java.io.IOException;
+//import java.util.Map;
+//
+//@Service
+//public class RabbitMqConsumerService {
+//
+//    private static final Logger logger = LogManager.getLogger(RabbitMqConsumerService.class);
+//    private final WebSocketEndpoint webSocketEndpoint;
+//
+//    @Autowired
+//    public RabbitMqConsumerService(WebSocketEndpoint webSocketEndpoint) {
+//        this.webSocketEndpoint = webSocketEndpoint;
+//    }
+//
+//    private void processMessage(String queueName, String message) throws IOException {
+//        ObjectMapper objectMapper = new ObjectMapper();
+//        Map<String, Object> resultMap = objectMapper.readValue(message, new TypeReference<Map<String, Object>>() {
+//        });
+//        Object userId = resultMap.getOrDefault("userId", null);
+//        if (ObjectUtil.isNotEmpty(userId)) {
+//            webSocketEndpoint.sendMessageByUserId(userId.toString(), message);
+//            logger.info("Pass " + queueName + " push msg to userId: " + userId + ",msg:" + message);
+//        } else {
+//            logger.info("No message for" + queueName + " was obtained,msg:" + message);
+//        }
+//    }
+//
+//    @RabbitListener(queues = "archiveQueue")
+//    public void consumeMessageFromArchiveQueue(String message) throws IOException {
+//        processMessage("archiveQueue", message);
+//    }
+//
+//    @RabbitListener(queues = "managerQueue")
+//    public void consumeMessageFromManagerQueue(String message) throws IOException {
+//        processMessage("managerQueue", message);
+//    }
+//
+//    @RabbitListener(queues = "businessQueue")
+//    public void consumeMessageFromBusinessQueue(String message) throws IOException {
+//        processMessage("businessQueue", message);
+//    }
+//
+//    @RabbitListener(queues = "meterQueue")
+//    public void consumeMessageFromMeterQueue(String message) throws IOException {
+//        processMessage("meterQueue", message);
+//    }
+//
+//}