Procházet zdrojové kódy

feature: 同步业务完善
1.代码优化

luo.yibo@datuai.com před 1 rokem
rodič
revize
7441b0cd45
44 změnil soubory, kde provedl 317 přidání a 1257 odebrání
  1. 1 1
      ruoyi-common/ruoyi-common-message/src/main/java/org/dromara/common/message/kafka/constant/EventSenderConstants.java
  2. 4 1
      ruoyi-common/ruoyi-common-message/src/main/java/org/dromara/common/message/kafka/constant/KafkaTopicConstants.java
  3. 12 15
      ruoyi-common/ruoyi-common-message/src/main/java/org/dromara/common/message/kafka/producer/KafkaNormalProducer.java
  4. 5 14
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/service/impl/PtCardServiceImpl.java
  5. 0 125
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/mq/KafkaNormalConsumer.java
  6. 25 0
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/mq/PushKafkaData.java
  7. 3 26
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/impl/PtUserAccountServiceImpl.java
  8. 0 40
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mq/KafkaNormalProducer.java
  9. 25 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mq/PushKafkaData.java
  10. 2 24
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
  11. 2 21
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
  12. 9 21
      ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/BaseBusiness.java
  13. 0 44
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/constant/kafka/GraduateEventConstraints.java
  14. 0 44
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/constant/kafka/TeacherEventConstraints.java
  15. 0 44
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/constant/kafka/TrainEventConstraints.java
  16. 0 26
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/constant/kafka/YktEventContraints.java
  17. 28 12
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/KafkaCloudConsumer.java
  18. 8 18
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/KafkaLocalConsumer.java
  19. 0 35
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/KafkaUtils.java
  20. 0 54
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/SyncKafkaConsumer.java
  21. 0 32
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/EventStrategyContext.java
  22. 0 21
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/IEventStrategy.java
  23. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/card/CloudConsumeEventStrategyImpl.java
  24. 41 0
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/ConsumeEventStrategyImpl.java
  25. 0 41
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/PushCardEventStrategyImpl.java
  26. 0 48
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/PushUserEventStrategyImpl.java
  27. 67 0
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/TeacherEventStrategyImpl.java
  28. 69 0
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/TrainEventStrategyImpl.java
  29. 4 10
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/local/BackStageEventStrategyImpl.java
  30. 10 9
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/local/SystemEventStrategyImpl.java
  31. 0 38
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/DeptAddEventStrategyImpl.java
  32. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/DeptDelEventStrategyImpl.java
  33. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/DeptUpdateEventStrategyImpl.java
  34. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/TeacherAddEventStrategyImpl.java
  35. 0 29
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/TeacherDelEventStrategyImpl.java
  36. 0 38
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/TeacherUpdateEventStrategyImpl.java
  37. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/ClassAddEventStrategyImpl.java
  38. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/ClassDelEventStrategyImpl.java
  39. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/ClassUpdateEventStrategyImpl.java
  40. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/TrainUpdateEventStrategyImpl.java
  41. 0 42
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/TraineeAddEventStrategyImpl.java
  42. 0 39
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/TraineeDelEventStrategyImpl.java
  43. 1 31
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/utils/TeacherUtils.java
  44. 1 2
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/utils/TrainUtils.java

+ 1 - 1
ruoyi-common/ruoyi-common-message/src/main/java/org/dromara/common/message/kafka/constant/EventSenderConstants.java

@@ -2,7 +2,7 @@ package org.dromara.common.message.kafka.constant;
 
 /**
  * @ClassName EventSenderConstants
- * @Description 消推送事件发送者常量,和EventSenderEnum对应
+ * @Description 消推送事件发送者常量,和EventSenderEnum对应
  * @Author luoyibo
  * @Date 2025-01-04 22:53
  * @Version 1.0

+ 4 - 1
ruoyi-common/ruoyi-common-message/src/main/java/org/dromara/common/message/kafka/constant/KafkaTopicConstants.java

@@ -13,6 +13,9 @@ public interface KafkaTopicConstants {
     /**
      * 旧系统数据同步主题
      */
-    String OLD_SYNC_TOPIC = "eventBus";
+    // TODO 2025-01-09 luoyibo 正式的为eventBus ,此处为测试主题
+    String OLD_SYNC_TOPIC = "old-kafka-jw";
+    // String OLD_SYNC_TOPIC = "eventBus";
+
 
 }

+ 12 - 15
ruoyi-common/ruoyi-common-message/src/main/java/org/dromara/common/message/kafka/producer/KafkaNormalProducer.java

@@ -6,7 +6,6 @@ import com.alibaba.fastjson2.JSON;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.kafka.clients.producer.ProducerRecord;
-import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.enums.CloudMqEventEnum;
 import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.message.kafka.domain.KafkaHeader;
@@ -37,7 +36,7 @@ public class KafkaNormalProducer {
             send.whenComplete((result, ex) -> {
                 if (ex != null) {
                     log.error("[{}]-[{}]-[发送到kafka消息异常]-[{}]", EventSenderEnum.getMessage(sender),
-                        CloudMqEventEnum.getMessage(eventType), data, ex);
+                              CloudMqEventEnum.getMessage(eventType), data, ex);
                 } else {
                     log.info("[{}]-[{}]-[发送到kafka消息成功]-[{}]", EventSenderEnum.getMessage(sender), EventTypeEnum.getMessage(eventType), data);
                 }
@@ -48,20 +47,18 @@ public class KafkaNormalProducer {
     }
 
     public void sendKafkaMessage(String topic, String eventType, String sender, Object data) {
-        if (DefaultConstants.PUSH_DATA.equals("1")) {
-            KafkaMessage<Object> message = new KafkaMessage<>();
-            KafkaHeader header = message.getHeader();
-            String tenantId = JSONUtil.parseObj(data).get("tenantId").toString();
-            header.setTimestamp(System.currentTimeMillis());
-            header.setEventId(IdUtil.simpleUUID());
-            header.setTenantId(tenantId);
-            header.setEventType(eventType);
-            header.setSender(sender);
+        KafkaMessage<Object> message = new KafkaMessage<>();
+        KafkaHeader header = message.getHeader();
+        String tenantId = JSONUtil.parseObj(data).get("tenantId").toString();
+        header.setTimestamp(System.currentTimeMillis());
+        header.setEventId(IdUtil.simpleUUID());
+        header.setTenantId(tenantId);
+        header.setEventType(eventType);
+        header.setSender(sender);
 
-            message.setHeader(header);
-            message.setBody(data);
+        message.setHeader(header);
+        message.setBody(data);
 
-            SpringUtils.getAopProxy(this).sendKafkaMessage(topic, message);
-        }
+        SpringUtils.getAopProxy(this).sendKafkaMessage(topic, message);
     }
 }

+ 5 - 14
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/service/impl/PtCardServiceImpl.java

@@ -4,15 +4,12 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjUtil;
-import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.dromara.backstage.api.RemotePtParameterService;
 import org.dromara.backstage.basics.domain.vo.PtCardtypeVo;
 import org.dromara.backstage.basics.service.IPtCardtypeService;
 import org.dromara.backstage.basics.service.IPtParameterService;
@@ -21,20 +18,17 @@ import org.dromara.backstage.cardCenter.domain.bo.PtCardBo;
 import org.dromara.backstage.cardCenter.mapper.PtCardMapper;
 import org.dromara.backstage.cardCenter.service.IPtCardService;
 import org.dromara.backstage.domain.vo.card.PtCardVo;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
-import org.dromara.common.message.kafka.enums.EventSenderEnum;
-import org.dromara.common.message.kafka.producer.KafkaNormalProducer;
+import org.dromara.backstage.mq.PushKafkaData;
 import org.dromara.backstage.payment.domain.bo.PtBagBo;
-import org.dromara.common.core.constant.CloudMqEventConstants;
 import org.dromara.common.core.constant.Constants;
 import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.enums.CardOpenEnum;
 import org.dromara.common.core.enums.CardStatusEnum;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.message.kafka.domain.KafkaHeader;
-import org.dromara.common.message.kafka.domain.KafkaMessage;
+import org.dromara.common.message.kafka.constant.EventTypeConstants;
+import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
+import org.dromara.common.message.kafka.enums.EventSenderEnum;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.springframework.stereotype.Service;
@@ -55,10 +49,7 @@ public class PtCardServiceImpl implements IPtCardService {
     private final PtCardMapper baseMapper;
     private final IPtParameterService parameterService;
     private final IPtCardtypeService cardTypeService;
-    private final KafkaNormalProducer kafkaNormalProducer;
-
-    @DubboReference
-    private final RemotePtParameterService remotePtParameterService;
+    private final PushKafkaData kafkaNormalProducer;
 
     /**
      * 查询账户卡片

+ 0 - 125
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/mq/KafkaNormalConsumer.java

@@ -1,125 +0,0 @@
-package org.dromara.backstage.mq;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.http.HttpRequest;
-import cn.hutool.http.HttpResponse;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.dromara.backstage.business.consume.strategy.Impl.ConsumeStrategyContent;
-import org.dromara.backstage.consumption.domain.bo.ConsumeRecordBo;
-import org.dromara.backstage.consumption.domain.bo.ConsumptionBo;
-import org.dromara.backstage.consumption.domain.vo.XfConsumeDetailOriginalVo;
-import org.dromara.common.core.domain.R;
-import org.dromara.common.core.enums.CreditTypeEnum;
-import org.springframework.kafka.annotation.KafkaListener;
-import org.dromara.common.message.kafka.domain.KafkaMessage;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.util.HashMap;
-
-/**
- * name: KafkaNormalConsumer
- * package: org.dromara.backstage.mq
- * description:
- * date: 2024-10-15 15:33:41 15:33
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@RequiredArgsConstructor
-@Slf4j
-//@Component
-public class KafkaNormalConsumer {
-    private final ConsumeStrategyContent consumeStrategyContent;
-
-    @KafkaListener(topics = "eventBus", groupId = "test-group-id")
-    public void timiKafka(ConsumerRecord<String, String> record) {
-        Object key = record.key();
-        Object value = record.value();
-        KafkaMessage<?> kmsg = JSONUtil.toBean(record.value(), KafkaMessage.class);
-        if(kmsg.getHeader().getEventType().equals("00500001")){
-            JSONObject data = JSONUtil.parseObj(kmsg.getBody());
-            try {
-                //uploadByHttp(data);
-
-                uploadByService(data);
-
-                //uploadtest();
-            } catch (Exception e) {
-                log.error("消费记录处理失败:", e);
-            }
-        }
-        log.info("【消费者】received the message key {},value:{}", key, value);
-    }
-    private void uploadByService(JSONObject data) {
-                    ConsumptionBo recordBo = new ConsumptionBo();
-        String time = data.get("consumeDate").toString();
-        recordBo.setConsumeMoney(new BigDecimal(data.get("consumeValue").toString()));
-        recordBo.setConsumeDate(DateUtil.parse(time));
-        recordBo.setCardNo(Long.valueOf(data.get("cardNo").toString()));
-        recordBo.setFactoryId(Long.valueOf(data.get("factoryFixId").toString()));
-        recordBo.setTermNo(Long.valueOf( data.get("termNo").toString()));
-        recordBo.setTermRecordId(Long.valueOf(data.get("termRecordID").toString()));
-        recordBo.setRealName(data.get("xm").toString());
-        recordBo.setUserNumb(data.get("userNumb").toString());
-        recordBo.setRecordStatus(Long.valueOf(data.get("posRecordState").toString()));
-        recordBo.setCreditType(CreditTypeEnum.TERM_CONSUME);
-        recordBo.setTenantId("20200813044411");
-
-
-
-        R<Object> result = consumeStrategyContent.createOrder(recordBo);
-        XfConsumeDetailOriginalVo vo = (XfConsumeDetailOriginalVo)result.getData();
-
-        recordBo.setRecordId(vo.getRecordId());
-        recordBo.setConsumeId(vo.getOriginalId());
-        consumeStrategyContent.postOrder(recordBo);
-    }
-    private void uploadtest() {
-        ConsumptionBo recordBo = new ConsumptionBo();
-        recordBo.setConsumeMoney(BigDecimal.ZERO);
-        recordBo.setConsumeDate(DateUtil.parse("2024-10-16 18:25:58"));
-        recordBo.setCardNo(35193L);
-        recordBo.setFactoryId(3656457030L);
-        recordBo.setTermNo(7L);
-        recordBo.setTermRecordId(46940L);
-        recordBo.setRealName("苏兵");
-        recordBo.setUserNumb("15674973790");
-        recordBo.setRecordStatus(364L);
-        recordBo.setCreditType(CreditTypeEnum.TERM_CONSUME);
-        recordBo.setTenantId("20200813044411");
-        R<Object> result = consumeStrategyContent.createOrder(recordBo);
-        XfConsumeDetailOriginalVo vo = (XfConsumeDetailOriginalVo)result.getData();
-
-        recordBo.setRecordId(vo.getRecordId());
-        recordBo.setConsumeId(vo.getOriginalId());
-        consumeStrategyContent.postOrder(recordBo);
-    }
-    private void uploadByHttp(JSONObject data) {
-        ConsumeRecordBo recordBo = new ConsumeRecordBo();
-        String time = data.get("consumeDate").toString();
-        recordBo.setConsumeValue(new BigDecimal(data.get("consumeValue").toString()));
-        recordBo.setConsumeDate(DateUtil.parse(time));
-        recordBo.setCardID(Long.valueOf(data.get("cardNo").toString()));
-        recordBo.setFactoryFixID(Long.valueOf(data.get("factoryFixId").toString()));
-        recordBo.setTermID(Long.valueOf( data.get("termNo").toString()));
-        recordBo.setTermRecordID(Long.valueOf(data.get("termRecordID").toString()));
-        recordBo.setEmployeeName(data.get("xm").toString());
-        recordBo.setEmployeeStrID(data.get("userNumb").toString());
-        recordBo.setPosRecordState(Integer.valueOf(data.get("posRecordState").toString()));
-
-        HashMap<String, String> headerMap = new HashMap<>();
-        headerMap.put("clientId", "e5cd7e4891bf95d1d19206ce24a7b32e");
-        headerMap.put("authorization","Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxMDAiLCJyblN0ciI6IjlJRnhjczJOVWdWQTdnaEJBVzlPcTRtdG9ITGY4bDdKIiwiY2xpZW50aWQiOiJlNWNkN2U0ODkxYmY5NWQxZDE5MjA2Y2UyNGE3YjMyZSIsInRlbmFudElkIjoiMjAyMDA4MTMwNDQ0MTEiLCJ1c2VySWQiOjEwMCwidXNlck5hbWUiOiJhZG1pbiIsImRlcHRJZCI6MTAwLCJkZXB0TmFtZSI6IuS4reWFsea5luWNl-ecgeWnlOWFmuagoea5luWNl-ihjOaUv-WtpumZoiIsImRlcHRUeXBlIjoiMDEifQ.ZgNIYmAOYdjGyFG7TzjkJzdfK7zeuT1HWF0Bi68-CvQ");
-        String url = "http://localhost:8001/dev-api/backstage/v1/Consumes/ConsumeOriginal";
-        String bodyStr = bodyStr = JSONUtil.toJsonStr(recordBo);
-        HttpResponse response = HttpRequest.post(url)
-            .body(bodyStr)
-            .addHeaders(headerMap).timeout(20000).execute();
-    }
-}

+ 25 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/mq/PushKafkaData.java

@@ -0,0 +1,25 @@
+package org.dromara.backstage.mq;
+
+import cn.hutool.core.util.ObjectUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.backstage.api.RemotePtParameterService;
+import org.dromara.common.message.kafka.producer.KafkaNormalProducer;
+import org.springframework.stereotype.Service;
+
+@RequiredArgsConstructor
+@Slf4j
+@Service
+public class PushKafkaData {
+    private final KafkaNormalProducer kafkaNormalProducer;
+    @DubboReference
+    private final RemotePtParameterService remotePtParameterService;
+
+    public void sendKafkaMessage(String topic, String eventType, String sender, Object data){
+        String pushData = remotePtParameterService.getPtParameterByKey("PUSH_MQ_DATA");
+        if (ObjectUtil.isNotEmpty(pushData) && ObjectUtil.equals(pushData, "1")) {
+            kafkaNormalProducer.sendKafkaMessage(topic, eventType, sender, data);
+        }
+    }
+}

+ 3 - 26
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/impl/PtUserAccountServiceImpl.java

@@ -15,12 +15,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
-import org.dromara.backstage.api.RemotePtParameterService;
 import org.dromara.backstage.basics.service.IPtCardtypeService;
 import org.dromara.backstage.cardCenter.domain.bo.PtCardBo;
 import org.dromara.backstage.cardCenter.service.IPtCardService;
 import org.dromara.backstage.domain.vo.yc.YcTraineeVo;
-import org.dromara.common.message.kafka.producer.KafkaNormalProducer;
+import org.dromara.backstage.mq.PushKafkaData;
 import org.dromara.backstage.payment.domain.PtUserAccount;
 import org.dromara.backstage.payment.domain.PtUserAccount4SelectVo;
 import org.dromara.backstage.payment.domain.bo.PtUserAccountBo;
@@ -29,7 +28,6 @@ import org.dromara.backstage.payment.mapper.PtUserAccountMapper;
 import org.dromara.backstage.payment.service.IPtBagService;
 import org.dromara.backstage.payment.service.IPtUserAccountService;
 import org.dromara.common.core.constant.CacheNames;
-import org.dromara.common.core.constant.CloudMqEventConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.SpringUtils;
@@ -39,8 +37,6 @@ import org.dromara.common.core.utils.file.MimeTypeUtils;
 import org.dromara.common.encrypt.interceptor.MybatisEncryptInterceptor;
 import org.dromara.common.message.kafka.constant.EventTypeConstants;
 import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
-import org.dromara.common.message.kafka.domain.KafkaHeader;
-import org.dromara.common.message.kafka.domain.KafkaMessage;
 import org.dromara.common.message.kafka.enums.EventSenderEnum;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -74,11 +70,10 @@ public class PtUserAccountServiceImpl implements IPtUserAccountService {
     private final IPtCardService ptCardService;
     private final IPtBagService bagService;
     private final IPtCardtypeService cardTypeService;
-    private final KafkaNormalProducer kafkaNormalProducer;
+    private final PushKafkaData kafkaNormalProducer;
+
     @DubboReference
     private final RemoteDeptService remoteDeptService;
-    @DubboReference
-    private final RemotePtParameterService remotePtParameterService;
 
     /**
      * 查询一卡通账户
@@ -560,24 +555,6 @@ public class PtUserAccountServiceImpl implements IPtUserAccountService {
         return baseMapper.selectTraineeByBo(bo, doingDate);
     }
 
-    private void sendCloudConsume(PtUserAccountVo vo) {
-        String pushData = remotePtParameterService.getPtParameterByKey("PUSH_MQ_DATA");
-        if (ObjectUtil.isNotEmpty(pushData) && ObjectUtil.equals(pushData, "1")) {
-            KafkaMessage<PtUserAccountVo> message = new KafkaMessage<>();
-            KafkaHeader header = message.getHeader();
-            header.setTimestamp(System.currentTimeMillis());
-            header.setEventId(CloudMqEventConstants.ACCOUNT);
-            header.setEventType(CloudMqEventConstants.ACCOUNT);
-            header.setSender(CloudMqEventConstants.SENDER);
-
-            message.setHeader(header);
-            message.setBody(vo);
-
-            kafkaNormalProducer.sendKafkaMessage(CloudMqEventConstants.TOPIC, message);
-        }
-    }
-
-
     public static void downloadPicture(String urlList, String name, String userNumb) {
         URL url = null;
         int imageNumber = 0;

+ 0 - 40
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mq/KafkaNormalProducer.java

@@ -1,40 +0,0 @@
-package org.dromara.system.mq;
-
-import com.alibaba.fastjson2.JSON;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.dromara.common.core.enums.CloudMqEventEnum;
-import org.dromara.common.message.kafka.domain.KafkaMessage;
-import org.springframework.kafka.core.KafkaTemplate;
-import org.springframework.kafka.support.SendResult;
-import org.springframework.stereotype.Component;
-
-import java.util.concurrent.CompletableFuture;
-
-@RequiredArgsConstructor
-@Slf4j
-@Component
-public class KafkaNormalProducer {
-    private final KafkaTemplate<String, String> kafkaTemplate;
-
-    public void sendKafkaMessage(String topic, KafkaMessage<?> data) {
-        String jsonMessage = JSON.toJSONString(data);
-        String eventId = data.getHeader().getEventId();
-        try {
-            ProducerRecord<String, String> record;
-            record = new ProducerRecord<>(topic, jsonMessage);
-
-            CompletableFuture<SendResult<String, String>> send = kafkaTemplate.send(record);
-            send.whenComplete((result, ex) -> {
-                if (ex != null) {
-                    log.error("[系统管理]-[{}]-[发送到kafka消息系统异常]-[{}]", CloudMqEventEnum.getMessage(eventId), data, ex);
-                } else {
-                    log.info("[系统管理]-[{}]发送到kafka消息系统成功]-[{}]", CloudMqEventEnum.getMessage(eventId), data);
-                }
-            });
-        } catch (Exception e) {
-            log.error("[系统管理]-[{}]发送到kafka消息系统异常]-[{}]", CloudMqEventEnum.getMessage(eventId), data, e);
-        }
-    }
-}

+ 25 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mq/PushKafkaData.java

@@ -0,0 +1,25 @@
+package org.dromara.system.mq;
+
+import cn.hutool.core.util.ObjectUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.backstage.api.RemotePtParameterService;
+import org.dromara.common.message.kafka.producer.KafkaNormalProducer;
+import org.springframework.stereotype.Service;
+
+@RequiredArgsConstructor
+@Slf4j
+@Service
+public class PushKafkaData {
+    private final KafkaNormalProducer kafkaNormalProducer;
+    @DubboReference
+    private final RemotePtParameterService remotePtParameterService;
+
+    public void sendKafkaMessage(String topic, String eventType, String sender, Object data){
+        String pushData = remotePtParameterService.getPtParameterByKey("PUSH_MQ_DATA");
+        if (ObjectUtil.isNotEmpty(pushData) && ObjectUtil.equals(pushData, "1")) {
+            kafkaNormalProducer.sendKafkaMessage(topic, eventType, sender, data);
+        }
+    }
+}

+ 2 - 24
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java

@@ -9,8 +9,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.dromara.backstage.api.RemotePtParameterService;
 import org.dromara.common.core.constant.CacheNames;
 import org.dromara.common.core.constant.UserConstants;
 import org.dromara.common.core.exception.ServiceException;
@@ -21,7 +19,6 @@ import org.dromara.common.core.utils.TreeBuildUtils;
 import org.dromara.common.message.kafka.constant.EventTypeConstants;
 import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
 import org.dromara.common.message.kafka.enums.EventSenderEnum;
-import org.dromara.common.message.kafka.producer.KafkaNormalProducer;
 import org.dromara.common.mybatis.helper.DataBaseHelper;
 import org.dromara.common.redis.utils.CacheUtils;
 import org.dromara.common.satoken.utils.LoginHelper;
@@ -33,6 +30,7 @@ import org.dromara.system.domain.vo.SysDeptVo;
 import org.dromara.system.mapper.SysDeptMapper;
 import org.dromara.system.mapper.SysRoleMapper;
 import org.dromara.system.mapper.SysUserMapper;
+import org.dromara.system.mq.PushKafkaData;
 import org.dromara.system.service.ISysDeptService;
 import org.dromara.system.service.IUserDeptService;
 import org.springframework.cache.annotation.CacheEvict;
@@ -55,10 +53,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
     private final SysRoleMapper roleMapper;
     private final SysUserMapper userMapper;
     private final IUserDeptService userDeptService;
-    private final KafkaNormalProducer kafkaNormalProducer;
-
-    @DubboReference
-    private final RemotePtParameterService remotePtParameterService;
+    private final PushKafkaData kafkaNormalProducer;
 
     /**
      * 查询部门管理数据
@@ -447,21 +442,4 @@ public class SysDeptServiceImpl implements ISysDeptService {
         return userDeptService.setCheckInStatus(deptId, userId);
     }
 
-    private void sendCloudConsume(SysDeptVo vo) {
-        String pushData = remotePtParameterService.getPtParameterByKey("PUSH_MQ_DATA");
-        if (ObjectUtil.isNotEmpty(pushData) && ObjectUtil.equals(pushData, "1")) {
-            // KafkaMessage<SysDeptVo> message = new KafkaMessage<>();
-            // KafkaHeader header = message.getHeader();
-            // header.setTimestamp(System.currentTimeMillis());
-            // header.setEventId(CloudMqEventConstants.DEPT);
-            // header.setEventType(CloudMqEventConstants.DEPT);
-            // header.setSender(CloudMqEventConstants.SENDER);
-            //
-            // message.setHeader(header);
-            // message.setBody(vo);
-            //
-            // kafkaNormalProducer.sendKafkaMessage(CloudMqEventConstants.TOPIC, message);
-            kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.DEPT, EventSenderEnum.SYSTEM.code(), vo);
-        }
-    }
 }

+ 2 - 21
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@@ -35,7 +35,6 @@ import org.dromara.common.encrypt.interceptor.MybatisEncryptInterceptor;
 import org.dromara.common.message.kafka.constant.EventTypeConstants;
 import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
 import org.dromara.common.message.kafka.enums.EventSenderEnum;
-import org.dromara.common.message.kafka.producer.KafkaNormalProducer;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.helper.DataBaseHelper;
@@ -50,6 +49,7 @@ import org.dromara.system.domain.vo.SysRoleVo;
 import org.dromara.system.domain.vo.SysUserExportVo;
 import org.dromara.system.domain.vo.SysUserVo;
 import org.dromara.system.mapper.*;
+import org.dromara.system.mq.PushKafkaData;
 import org.dromara.system.service.ISysUserService;
 import org.dromara.system.service.IUserDeptService;
 import org.springframework.cache.annotation.CacheEvict;
@@ -77,7 +77,7 @@ public class SysUserServiceImpl implements ISysUserService {
     private final SysPostMapper postMapper;
     private final SysUserRoleMapper userRoleMapper;
     private final IUserDeptService userDeptService;
-    private final KafkaNormalProducer kafkaNormalProducer;
+    private final PushKafkaData kafkaNormalProducer;
 
     @DubboReference
     private final RemotePtParameterService remotePtParameterService;
@@ -400,8 +400,6 @@ public class SysUserServiceImpl implements ISysUserService {
             vo.setUserNo(user.getUserNo());
             vo.setCardNo(user.getCardNo());
             kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.USER, EventSenderEnum.SYSTEM.code(), vo);
-            //sendCloudConsume(vo);
-
             return rows;
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -764,21 +762,4 @@ public class SysUserServiceImpl implements ISysUserService {
             }
         }
     }
-
-    private void sendCloudConsume(SysUserVo vo) {
-        String pushData = remotePtParameterService.getPtParameterByKey("PUSH_MQ_DATA");
-        if (ObjectUtil.isNotEmpty(pushData) && ObjectUtil.equals(pushData, "1")) {
-            // KafkaMessage<Object> message = new KafkaMessage<>();
-            // KafkaHeader header = message.getHeader();
-            // header.setTimestamp(System.currentTimeMillis());
-            // header.setEventId(CloudMqEventConstants.USER);
-            // header.setEventType(CloudMqEventConstants.USER);
-            // header.setSender(CloudMqEventConstants.SENDER);
-            //
-            // message.setHeader(header);
-            // message.setBody(vo);
-            // String topic, String eventId, String eventType, String sender, Object data
-            //kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.NORMAL_TOPIC, EventTypeConstants.USER, EventSenderEnum.SYSTEM.code(), vo);
-        }
-    }
 }

+ 9 - 21
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/BaseBusiness.java

@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -13,7 +12,6 @@ import org.dromara.backstage.api.domain.vo.RemoteCardVo;
 import org.dromara.backstage.api.domain.vo.RemoteMealTypeVo;
 import org.dromara.backstage.api.domain.vo.RemoteUserAccountVo;
 import org.dromara.common.core.constant.ApiErrorTypeConstants;
-import org.dromara.common.core.constant.CloudMqEventConstants;
 import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.domain.model.ErrorInfo;
@@ -23,11 +21,8 @@ import org.dromara.common.core.exception.consume.ConsumeException;
 import org.dromara.common.core.utils.RecordIdUtils;
 import org.dromara.common.message.kafka.constant.EventTypeConstants;
 import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
-import org.dromara.common.message.kafka.domain.KafkaHeader;
-import org.dromara.common.message.kafka.domain.KafkaMessage;
-import org.dromara.common.message.kafka.producer.KafkaNormalProducer;
 import org.dromara.common.message.kafka.enums.EventSenderEnum;
-import org.dromara.server.base.mq.constant.PushConsumeEventConstants;
+import org.dromara.common.message.kafka.producer.KafkaNormalProducer;
 import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
 import org.dromara.server.common.domain.vo.yc.YcPushConsumeInfoVo;
 import org.dromara.server.consume.domain.bo.*;
@@ -162,7 +157,7 @@ public class BaseBusiness {
             return R.fail(new ErrorInfo(400, ApiErrorTypeConstants.EXCEPTION, "更新钱包余额表失败", ""));
         }
 
-        // 5.发送一条消费记录到kafka
+        // 5.发送一条消费记录到kafka(教务就餐打卡)
         String pushConsume = remotePtParameterService.getPtParameterByKey("PUSH_CONSUME_MQ");
         if(ObjectUtil.equals(pushConsume, "1")){
             this.sendConsumeToKafka(detailVos,userAccountVo);
@@ -246,9 +241,13 @@ public class BaseBusiness {
         return result.get();
     }
 
+    /**
+     * 请求云端消费业务的kafka消息推送
+     * @param bo 请求消费数据
+     */
     @Async
     public void sendCloudConsume(ConsumptionBo bo){
-        kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.CONSUME, EventSenderEnum.CONSUME.code(), bo);
+        kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.TO_CLOUD_TOPIC, EventTypeConstants.CONSUME, EventSenderEnum.CONSUME.code(), bo);
     }
 
     /**
@@ -304,7 +303,7 @@ public class BaseBusiness {
     }
 
     /**
-     * 将消费信息发送到kafka
+     * 将消费信息发送到kafka,教务消费此消息实现就餐打卡
      * @param consumeList 消费记录列表
      * @param accountVo 消费人员信息
      */
@@ -334,18 +333,7 @@ public class BaseBusiness {
             ycSendConsumeInfo.setTermRecordID(vo.getTermRecordId());
             ycSendConsumeInfo.setPosRecordState(vo.getRecordStatus().intValue());
 
-            //KafkaMessage<YcPushConsumeInfoVo> message = new KafkaMessage<>();
-            //KafkaHeader header = message.getHeader();
-            //header.setTimestamp(System.currentTimeMillis());
-            //header.setEventId(PushConsumeEventConstants.CONSUME_DETAIL);
-            //header.setEventType(PushConsumeEventConstants.CONSUME_DETAIL);
-            //header.setSender(PushConsumeEventConstants.SENDER);
-            //message.setHeader(header);
-            //message.setBody(ycSendConsumeInfo);
-
-            kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.OLD_SYNC_TOPIC, EventTypeConstants.CONSUME_RECORD, EventSenderEnum.SYSTEM.code(), vo);
+            kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.OLD_SYNC_TOPIC, EventTypeConstants.CONSUME_RECORD, EventSenderEnum.OLD.code(), vo);
         }
     }
-
-
 }

+ 0 - 44
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/constant/kafka/GraduateEventConstraints.java

@@ -1,44 +0,0 @@
-package org.dromara.server.mq.constant.kafka;
-
-/**
- * name: GraduateEventConstraints
- * package: org.dromara.server.mq.constant.kafka
- * description: 研究生kafka事件常量
- * date: 2024-10-26 11:35:54 11:35
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-public class GraduateEventConstraints {
-    /**
-     * 研究生发送者标识
-     */
-    private static final String SENDER = "002";
-
-    /**
-     * 研究生班级增加
-     */
-    public static final String GRADUATE_CLASS_ADD = SENDER + "00001";
-    /**
-     * 研究生班级修改
-     */
-    public static final String GRADUATE_CLASS_UPDATE = SENDER + "00002";
-    /**
-     * 研究生班级增加
-     */
-    public static final String GRADUATE_CLASS_DEL = SENDER + "00003";
-
-    /**
-     * 研究生学员增加
-     */
-    public static final String GRADUATE_ADD = SENDER + "00004";
-    /**
-     * 研究生学员更新
-     */
-    public static final String GRADUATE_UPDATE = SENDER + "00005";
-    /**
-     * 研究生学员删除
-     */
-    public static final String GRADUATE_DEL = SENDER + "00006";
-}

+ 0 - 44
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/constant/kafka/TeacherEventConstraints.java

@@ -1,44 +0,0 @@
-package org.dromara.server.mq.constant.kafka;
-
-/**
- * name: TeacherEventConstraints
- * package: org.dromara.server.mq.constant.kafka
- * description: 教职工kafka事件常量
- * date: 2024-10-26 11:35:54 11:35
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-public class TeacherEventConstraints {
-    /**
-     * 教职工发送者标识
-     */
-    private static final String SENDER = "003";
-
-    /**
-     * 教职工部门增加
-     */
-    public static final String DEPT_ADD = SENDER + "00001";
-    /**
-     * 教职工部门修改
-     */
-    public static final String DEPT_UPDATE = SENDER + "00002";
-    /**
-     * 教职工部门增加
-     */
-    public static final String DEPT_DEL = SENDER + "00003";
-
-    /**
-     * 教职工增加
-     */
-    public static final String TEACHER_ADD = SENDER + "00004";
-    /**
-     * 教职工更新
-     */
-    public static final String TEACHER_UPDATE = SENDER + "00005";
-    /**
-     * 教职工删除
-     */
-    public static final String TEACHER_DEL = SENDER + "00006";
-}

+ 0 - 44
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/constant/kafka/TrainEventConstraints.java

@@ -1,44 +0,0 @@
-package org.dromara.server.mq.constant.kafka;
-
-/**
- * name: TrainEventConstraints
- * package: org.dromara.server.mq.constant.kafka
- * description: 培训班kafka事件常量
- * date: 2024-10-26 11:35:54 11:35
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-public class TrainEventConstraints {
-    /**
-     * 培训班发送者标识
-     */
-    private static final String SENDER = "002";
-
-    /**
-     * 培训班班级增加
-     */
-    public static final String TRAIN_CLASS_ADD = SENDER + "00001";
-    /**
-     * 培训班班级修改
-     */
-    public static final String TRAIN_CLASS_UPDATE = SENDER + "00002";
-    /**
-     * 培训班班级增加
-     */
-    public static final String TRAIN_CLASS_DEL = SENDER + "00003";
-
-    /**
-     * 培训班学员增加
-     */
-    public static final String TRAINEE_ADD = SENDER + "00004";
-    /**
-     * 培训班学员更新
-     */
-    public static final String TRAINEE_UPDATE = SENDER + "00005";
-    /**
-     * 培训班学员删除
-     */
-    public static final String TRAINEE_DEL = SENDER + "00006";
-}

+ 0 - 26
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/constant/kafka/YktEventContraints.java

@@ -1,26 +0,0 @@
-package org.dromara.server.mq.constant.kafka;
-
-/**
- * @ClassName YktEventContraints
- * @Description TODO
- * @Author luoyibo
- * @Date 2024-11-12 11:46
- * @Version 1.0
- * @since jdk17
- */
-public class YktEventContraints {
-    /**
-     * 一卡通业务系统编号
-     */
-    public static final String SENDER = "005";
-
-    // 消费记录
-    public static final String CONSUME_DETAIL = SENDER + "00001";
-    // 报道状态
-    public static final String CHECKIN_STATE = SENDER + "00002";
-    // 缴费状态
-    public static final String PayStatus = SENDER + "00003";
-
-    // 卡片信息
-    public static final String CARD_INFO = SENDER + "00004";
-}

+ 28 - 12
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/KafkaCloudConsumer.java

@@ -1,6 +1,7 @@
 package org.dromara.server.mq.consumer;
 
 import cn.hutool.core.util.ObjUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import lombok.RequiredArgsConstructor;
@@ -9,7 +10,7 @@ import org.apache.kafka.clients.consumer.ConsumerRecord;
 import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
 import org.dromara.common.message.kafka.domain.KafkaMessage;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
+import org.dromara.server.mq.event.kafka.IYktEventStrategy;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
 import org.springframework.kafka.annotation.KafkaListener;
 import org.springframework.stereotype.Component;
@@ -34,16 +35,13 @@ public class KafkaCloudConsumer {
      *
      * @param record 消息记录
      */
-    //@KafkaListener(topics = KafkaTopicConstants.OLD_SYNC_TOPIC, groupId = "old-to-cloud-group")
-    @KafkaListener(topics = "old-kafka-jw", groupId = "test-ykt2")
+    @KafkaListener(topics = KafkaTopicConstants.OLD_SYNC_TOPIC, groupId = "old-to-cloud-group")
     public void kafkaEventBusHandler(ConsumerRecord<String, String> record) {
         KafkaMessage<?> receiveMsg = JSONUtil.toBean(record.value(), KafkaMessage.class);
-        String eventType = receiveMsg.getHeader().getEventType();
         String sender = receiveMsg.getHeader().getSender();
-        JSONObject eventMsg = JSONUtil.parseObj(receiveMsg.getBody());
         //在eventBus主题中,sender=005是由本系统发出,无需业务处理
         if (ObjUtil.notEqual(sender, "005")) {
-            doMessageHandle(eventType, eventMsg, receiveMsg);
+            doMessageHandle(receiveMsg);
         }
     }
 
@@ -55,14 +53,32 @@ public class KafkaCloudConsumer {
     @KafkaListener(topics = KafkaTopicConstants.TO_CLOUD_TOPIC, groupId = "local-to-cloud-group")
     public void kafkaToCloudHandler(ConsumerRecord<String, String> record) {
         KafkaMessage<?> receiveMsg = JSONUtil.toBean(record.value(), KafkaMessage.class);
-        String eventType = receiveMsg.getHeader().getEventType();
-        JSONObject eventMsg = JSONUtil.parseObj(receiveMsg.getBody());
-        doMessageHandle(eventType, eventMsg, receiveMsg);
+        doMessageHandle(receiveMsg);
     }
-    private void doMessageHandle(String eventType, JSONObject eventMsg, KafkaMessage<?> receiveMsg) {
+
+    /**
+     * 公用消息消费处理事件
+     *
+     * @param receiveMsg 接收到的消息信息
+     */
+    private void doMessageHandle(KafkaMessage<?> receiveMsg) {
         try {
-            IEventStrategy eventStrategy = SpringUtils.getBean(eventType, IEventStrategy.class);
-            eventStrategy.doMsgHandle(eventMsg);
+            JSONObject eventMsg = JSONUtil.parseObj(receiveMsg.getBody());
+            String eventType = receiveMsg.getHeader().getEventType();
+            String sender = receiveMsg.getHeader().getSender();
+            String tenantId = receiveMsg.getHeader().getTenantId();
+            if (ObjUtil.isEmpty(tenantId)) {
+                if (ObjectUtil.isNotEmpty(eventMsg.get("tenantId"))) {
+                    tenantId = eventMsg.get("tenantId").toString();
+                    receiveMsg.getHeader().setTenantId(tenantId);
+                }
+            } else {
+                if (ObjectUtil.isEmpty(eventMsg.get("tenantId"))) {
+                    eventMsg.set("tenantId", tenantId);
+                }
+            }
+            IYktEventStrategy eventStrategy = SpringUtils.getBean(sender, IYktEventStrategy.class);
+            eventStrategy.doMsgHandle(eventType, eventMsg);
         } catch (Exception e) {
             log.error("[kafka消息处理失败]-[消息:{}-[错误:{}]", receiveMsg, e.toString());
         }

+ 8 - 18
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/KafkaConsumerYkt.java → ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/KafkaLocalConsumer.java

@@ -5,11 +5,11 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
 import org.dromara.backstage.api.domain.bo.RemoteSendMessageRecordBo;
-import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
+import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.message.kafka.domain.KafkaHeader;
 import org.dromara.common.message.kafka.domain.KafkaMessage;
 import org.dromara.server.base.service.yktOperation.SyncRemoteSendMessageRecordService;
-import org.dromara.server.mq.event.kafka.EventStrategyContext;
+import org.dromara.server.mq.event.kafka.IYktEventStrategy;
 import org.dromara.server.mq.event.kafka.YktEventStrategyContext;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@@ -25,12 +25,9 @@ import static org.dromara.common.message.kafka.constant.KafkaTopicConstants.SYNC
 @Slf4j
 @Component
 @ConditionalOnExpression("'local'.equals('${locationFlag}')")
-public class KafkaConsumerYkt {
-
-    private final YktEventStrategyContext yktEventStrategyContext;
+public class KafkaLocalConsumer {
     private final SyncRemoteSendMessageRecordService syncRemoteSendMessageRecordService;
-
-    private final EventStrategyContext eventStrategyContext;
+    private final YktEventStrategyContext yktEventStrategyContext;
 
     @Value("${spring.system.tenantId}")
     private String tenantId;
@@ -46,7 +43,9 @@ public class KafkaConsumerYkt {
             if(receiveMsg.getHeader().getTenantId().equals(this.tenantId)){
                 String eventType = receiveMsg.getHeader().getEventType();
                 String sender = receiveMsg.getHeader().getSender();
-                yktEventStrategyContext.doMsgHandle(sender, eventType, receiveMsg.getBody());
+                // yktEventStrategyContext.doMsgHandle(sender, eventType, receiveMsg.getBody());
+                IYktEventStrategy eventStrategy = SpringUtils.getBean(sender, IYktEventStrategy.class);
+                eventStrategy.doMsgHandle(eventType, receiveMsg.getBody());
                 try {
                     syncRemoteSendMessageRecordService.insertSendMessageRecord(initBo(receiveMsg, "Y"));
                 }catch (Exception e){
@@ -63,20 +62,11 @@ public class KafkaConsumerYkt {
         }
     }
 
-    /**
-     * 云端推送的消息本地处理
-     * 1.部门信息、人员信息、一卡通账户信息、卡片信息
-     * @param record 消息内容
-     */
-    //@KafkaListener(topics = KafkaTopicConstants.NORMAL_TOPIC, groupId = "local-group-id")
-    //public void kafkaReceiveHandler(ConsumerRecord<String, String> record) {
-    //    KafkaUtils.doMessageHandle(record, eventStrategyContext, log);
-    //}
     /**
      * 初始化消息记录Bo
      * @param consumeStatus 消费状态
      */
-    private static RemoteSendMessageRecordBo initBo(KafkaMessage msg, String consumeStatus){
+    private static RemoteSendMessageRecordBo initBo(KafkaMessage<?> msg, String consumeStatus){
         RemoteSendMessageRecordBo bo = new RemoteSendMessageRecordBo();
         KafkaHeader header = msg.getHeader();
         bo.setEventId(header.getEventId());

+ 0 - 35
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/KafkaUtils.java

@@ -1,35 +0,0 @@
-package org.dromara.server.mq.consumer;
-
-import cn.hutool.core.util.ObjUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.dromara.common.message.kafka.domain.KafkaMessage;
-import org.dromara.server.mq.event.kafka.EventStrategyContext;
-import org.slf4j.Logger;
-
-/**
- * name: KafkaUtils
- * package: org.dromara.server.mq.consumer
- * description:
- * date: 2025-01-07 15:00:15 15:00
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-public class KafkaUtils {
-    public static void doMessageHandle(ConsumerRecord<String, String> record, EventStrategyContext eventStrategyContext, Logger log) {
-        KafkaMessage<?> receiveMsg = JSONUtil.toBean(record.value(), KafkaMessage.class);
-        String eventType = receiveMsg.getHeader().getEventType();
-        String sender = receiveMsg.getHeader().getSender();
-        JSONObject eventMsg = JSONUtil.parseObj(receiveMsg.getBody());
-        if (ObjUtil.equals(sender, "000")) {
-            try {
-                eventStrategyContext.doMsgHandle(eventType, eventMsg);
-            } catch (Exception e) {
-                log.error("[kafka消息处理失败]-[消息:{}-[错误:{}]", receiveMsg, e.getMessage());
-            }
-        }
-    }
-}

+ 0 - 54
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/consumer/SyncKafkaConsumer.java

@@ -1,54 +0,0 @@
-package org.dromara.server.mq.consumer;
-
-import cn.hutool.core.util.ObjUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.dromara.common.core.utils.SpringUtils;
-import org.dromara.common.message.kafka.constant.EventSenderConstants;
-import org.dromara.common.message.kafka.domain.KafkaMessage;
-import org.dromara.server.mq.event.kafka.EventStrategyContext;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
-import org.springframework.kafka.annotation.KafkaListener;
-import org.springframework.stereotype.Component;
-
-/**
- * name: SyncKafkaConsumer
- * package: org.dromara.server.mq.consumer
- * description: 云平台kafka消费消费
- * date: 2024-10-26 11:12:56 11:12
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@RequiredArgsConstructor
-@Slf4j
-@Component
-@ConditionalOnExpression("'cloud'.equals('${locationFlag}')")
-public class SyncKafkaConsumer {
-    private final EventStrategyContext eventStrategyContext;
-
-    @KafkaListener(topics = "old-kafka-jw", groupId = "test-ykt2")
-    public void kafkaReceiveHandler(ConsumerRecord<String, String> record) {
-        KafkaMessage<?> receiveMsg = JSONUtil.toBean(record.value(), KafkaMessage.class);
-        String eventType = receiveMsg.getHeader().getEventType();
-        String sender = receiveMsg.getHeader().getSender();
-        String tenantId = receiveMsg.getHeader().getTenantId();
-        JSONObject eventMsg = JSONUtil.parseObj(receiveMsg.getBody());
-        eventMsg.set("tenantId", tenantId);
-;
-        //在eventBus主题中,sender=005是由本系统发出,无需业务处理
-        if (ObjUtil.notEqual(sender, "005")) {
-            try {
-                IEventStrategy eventStrategy = SpringUtils.getBean(eventType, IEventStrategy.class);
-                eventStrategy.doMsgHandle(eventMsg);
-            } catch (Exception e) {
-                log.error("[kafka消息处理失败]-[消息:{}-[错误:{}]", receiveMsg, e.toString());
-            }
-        }
-    }
-}

+ 0 - 32
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/EventStrategyContext.java

@@ -1,32 +0,0 @@
-package org.dromara.server.mq.event.kafka;
-
-import cn.hutool.json.JSONObject;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * name: EventStrategyContext
- * package: org.dromara.server.mq.event.kafka
- * description: 事件处理策略上下文
- * date: 2024-10-26 11:48:28 11:48
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Service
-public class EventStrategyContext {
-    private final Map<String, IEventStrategy> strategyMap = new ConcurrentHashMap<>();
-
-    @Autowired
-    public EventStrategyContext(Map<String, IEventStrategy> strategyMap) {
-        this.strategyMap.putAll(strategyMap);
-    }
-
-    public void doMsgHandle(String eventType, JSONObject msg) {
-        strategyMap.get(eventType).doMsgHandle(msg);
-    }
-}

+ 0 - 21
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/IEventStrategy.java

@@ -1,21 +0,0 @@
-package org.dromara.server.mq.event.kafka;
-
-import cn.hutool.json.JSONObject;
-
-/**
- * name: IEventStrategy
- * package: org.dromara.server.mq.event.kafka
- * description: kafka事件处理策略
- * date: 2024-10-26 11:46:08 11:46
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-public interface IEventStrategy {
-    /**
-     * kafka消息处理
-     * @param msg 消息内容
-     */
-    void doMsgHandle(JSONObject msg);
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/card/CloudConsumeEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.card;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.dromara.common.core.constant.CloudMqEventConstants;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.consume.api.RemoteConsumeService;
-import org.dromara.consume.api.domain.bo.RemoteConsumeBo;
-import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-/**
- * @ClassName ConsumeEventStrategyImpl
- * @Description TODO
- * @Author luoyibo
- * @Date 2024-11-12 11:52
- * @Version 1.0
- * @since jdk17
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.CONSUME)
-public class CloudConsumeEventStrategyImpl implements IEventStrategy {
-    @DubboReference
-    private final RemoteConsumeService remoteConsumeService;
-
-    @Override
-    public void doMsgHandle(JSONObject data) {
-        ConsumptionBo consumptionBo = JSONUtil.toBean(data, ConsumptionBo.class);
-        RemoteConsumeBo recordBo = BeanUtil.copyProperties(consumptionBo, RemoteConsumeBo.class);
-        log.info("[处理本地->云端消费请求]-[消费信息:{}]", JSONUtil.toJsonStr(recordBo));
-        remoteConsumeService.dealKafkaConsumeData(recordBo);
-    }
-}

+ 41 - 0
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/ConsumeEventStrategyImpl.java

@@ -0,0 +1,41 @@
+package org.dromara.server.mq.event.kafka.impl.cloud;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.common.message.kafka.constant.EventSenderConstants;
+import org.dromara.common.message.kafka.constant.EventTypeConstants;
+import org.dromara.consume.api.RemoteConsumeService;
+import org.dromara.consume.api.domain.bo.RemoteConsumeBo;
+import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
+import org.dromara.server.mq.event.kafka.IYktEventStrategy;
+import org.springframework.stereotype.Service;
+
+/**
+ * @ClassName ConsumeEventStrategyImpl
+ * @Description 消费系统消息处理策略
+ * @Author luoyibo
+ * @Date 2024-11-12 11:52
+ * @Version 1.0
+ * @since jdk17
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service(EventSenderConstants.CONSUME)
+public class ConsumeEventStrategyImpl implements IYktEventStrategy {
+    @DubboReference
+    private final RemoteConsumeService remoteConsumeService;
+
+    @Override
+    public void doMsgHandle(String eventType, Object msg) throws Exception {
+        if (ObjectUtil.equals(eventType, EventTypeConstants.CONSUME)) {
+            ConsumptionBo consumptionBo = JSONUtil.toBean(JSONUtil.parseObj(msg), ConsumptionBo.class);
+            RemoteConsumeBo recordBo = BeanUtil.copyProperties(consumptionBo, RemoteConsumeBo.class);
+            log.info("[处理本地->云端消费请求]-[消费信息:{}]", JSONUtil.toJsonStr(recordBo));
+            remoteConsumeService.dealKafkaConsumeData(recordBo);
+        }
+    }
+}

+ 0 - 41
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/PushCardEventStrategyImpl.java

@@ -1,41 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.cloud;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.dromara.backstage.api.RemoteCardService;
-import org.dromara.backstage.api.RemoteUserAccountService;
-import org.dromara.backstage.api.domain.bo.RemoteCardBo;
-import org.dromara.backstage.api.domain.bo.RemoteUserAccountBo;
-import org.dromara.backstage.api.domain.vo.RemoteCardVo;
-import org.dromara.backstage.api.domain.vo.RemoteUserAccountVo;
-import org.dromara.common.core.constant.CloudMqEventConstants;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-/**
- * @ClassName PushCardEventStrategyImpl
- * @Description 处理卡片消息队列
- * @Author luoyibo
- * @Date 2024-11-12 11:52
- * @Version 1.0
- * @since jdk17
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.CARD)
-public class PushCardEventStrategyImpl implements IEventStrategy {
-    @DubboReference
-    private final RemoteCardService remoteCardService;
-
-    @Override
-    public void doMsgHandle(JSONObject data) {
-        RemoteCardBo remoteBo = JSONUtil.toBean(data, RemoteCardBo.class);
-        log.info("[处理云端->本地卡片同步请求]-[卡片信息:{}]", JSONUtil.toJsonStr(remoteBo));
-        remoteCardService.saveOrUpdate(remoteBo);
-    }
-}

+ 0 - 48
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/PushUserEventStrategyImpl.java

@@ -1,48 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.cloud;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.dromara.common.core.constant.CloudMqEventConstants;
-import org.dromara.common.message.kafka.constant.EventSenderConstants;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.dromara.server.mq.event.kafka.IYktEventStrategy;
-import org.dromara.system.api.RemoteDeptService;
-import org.dromara.system.api.RemoteUserService;
-import org.dromara.system.api.domain.bo.RemoteDeptBo;
-import org.dromara.system.api.domain.bo.RemoteUserBo;
-import org.dromara.system.api.domain.vo.RemoteDeptVo;
-import org.dromara.system.api.domain.vo.RemoteUserVo;
-import org.springframework.stereotype.Service;
-
-/**
- * @ClassName PushUserEventStrategyImpl
- * @Description 处理用户消息队列
- * @Author luoyibo
- * @Date 2024-11-12 11:52
- * @Version 1.0
- * @since jdk17
- */
-@Slf4j
-@RequiredArgsConstructor
-//@Service(EventSenderConstants.SYSTEM)
-public class PushUserEventStrategyImpl implements IYktEventStrategy {
-    @DubboReference
-    private final RemoteUserService remoteUserService;
-
-    @Override
-    public void doMsgHandle(String eventType, Object msg) throws Exception {
-    //    RemoteUserBo remoteBo = JSONUtil.toBean(JSONUtil.parseObj(msg), RemoteUserBo.class);
-    //    log.info("[处理云端->本地用户同步请求]-[用户信息:{}]", JSONUtil.toJsonStr(remoteBo));
-    //    RemoteUserVo remoteVo = remoteUserService.selectUserById(remoteBo.getUserId());
-    //    if(ObjectUtil.isEmpty(remoteVo)){
-    //        remoteUserService.insertUser(remoteBo);
-    //    } else {
-    //        remoteUserService.updateUser(remoteBo);
-    //    }
-    }
-}

+ 67 - 0
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/TeacherEventStrategyImpl.java

@@ -0,0 +1,67 @@
+package org.dromara.server.mq.event.kafka.impl.cloud;
+
+import cn.hutool.json.JSONUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.message.kafka.constant.EventSenderConstants;
+import org.dromara.common.message.kafka.constant.EventTypeConstants;
+import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
+import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
+import org.dromara.server.common.constant.SyncResourceConstants;
+import org.dromara.server.common.domain.bo.ResourceDept;
+import org.dromara.server.common.domain.bo.ResourcePerson;
+import org.dromara.server.mq.event.kafka.IYktEventStrategy;
+import org.dromara.server.mq.event.kafka.impl.utils.TeacherUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @ClassName TeacherEventStrategyImpl
+ * @Description 教职工消息处理策略
+ * @Author luoyibo
+ * @Date 2024-11-12 11:52
+ * @Version 1.0
+ * @since jdk17
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service(EventSenderConstants.HR)
+public class TeacherEventStrategyImpl implements IYktEventStrategy {
+    private final SyncDeptStrategyContent syncDeptStrategyContent;
+    private final SyncUserStrategyContent syncUserStrategyContent;
+
+    @Override
+    public void doMsgHandle(String eventType, Object msg) throws Exception {
+        switch (eventType) {
+            case EventTypeConstants.DEPT_ADD -> {
+                List<ResourceDept> resourceDeptlist = TeacherUtils.getSyncDept(JSONUtil.parseObj(msg));
+                log.info("[处理业务中台->云端部门增加请求]-[部门信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
+                syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
+            }
+            case EventTypeConstants.DEPT_EDIT -> {
+                List<ResourceDept> resourceDeptlist = TeacherUtils.getSyncDept(JSONUtil.parseObj(msg));
+                log.info("[处理业务中台->云端部门修改请求]-[部门信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
+                syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
+            }
+            case EventTypeConstants.DEPT_DEL -> {
+                List<ResourceDept> resourceDeptlist = TeacherUtils.getSyncDept(JSONUtil.parseObj(msg));
+                log.info("[处理业务中台->云端部门删除请求]-[部门信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
+                syncDeptStrategyContent.syncDelDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
+            }
+            case EventTypeConstants.TEACHER_ADD -> {
+                List<ResourcePerson> resourcePersonList = TeacherUtils.getSyncTeacher(JSONUtil.parseObj(msg));
+                log.info("[处理业务中台->云端人员增加请求]-[人员信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
+                syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TEACHER);
+            }
+            case EventTypeConstants.TEACHER_EDIT -> {
+                List<ResourcePerson> resourcePersonList = TeacherUtils.getSyncTeacher(JSONUtil.parseObj(msg));
+                log.info("[处理业务中台->云端人员修改请求]-[人员信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
+                syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TEACHER);
+            }
+            case EventTypeConstants.TEACHER_DEL -> {
+
+            }
+        }
+    }
+}

+ 69 - 0
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/TrainEventStrategyImpl.java

@@ -0,0 +1,69 @@
+package org.dromara.server.mq.event.kafka.impl.cloud;
+
+import cn.hutool.json.JSONUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.message.kafka.constant.EventSenderConstants;
+import org.dromara.common.message.kafka.constant.EventTypeConstants;
+import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
+import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
+import org.dromara.server.common.constant.SyncResourceConstants;
+import org.dromara.server.common.domain.bo.ResourceDept;
+import org.dromara.server.common.domain.bo.ResourcePerson;
+import org.dromara.server.mq.event.kafka.IYktEventStrategy;
+import org.dromara.server.mq.event.kafka.impl.utils.TrainUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @ClassName TrainEventStrategyImpl
+ * @Description 培训消息处理策略
+ * @Author luoyibo
+ * @Date 2024-11-12 11:52
+ * @Version 1.0
+ * @since jdk17
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service(EventSenderConstants.TRAIN)
+public class TrainEventStrategyImpl implements IYktEventStrategy {
+    private final SyncDeptStrategyContent syncDeptStrategyContent;
+    private final SyncUserStrategyContent syncUserStrategyContent;
+
+    @Override
+    public void doMsgHandle(String eventType, Object msg) throws Exception {
+        switch (eventType) {
+            case EventTypeConstants.TRAIN_CLASS_ADD -> {
+                List<ResourceDept> resourceDeptlist = TrainUtils.getSycClass(JSONUtil.parseObj(msg));
+                log.info("[处理教务系统->云端班级增加请求]-[班级信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
+                syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
+            }
+            case EventTypeConstants.TRAIN_CLASS_EDIT -> {
+                List<ResourceDept> resourceDeptlist = TrainUtils.getSycClass(JSONUtil.parseObj(msg));
+                log.info("[处理教务系统->云端班级修改请求]-[班级信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
+                syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
+            }
+            case EventTypeConstants.TRAIN_CLASS_DEL -> {
+                List<ResourceDept> resourceDeptlist = TrainUtils.getSycClass(JSONUtil.parseObj(msg));
+                log.info("[处理教务系统->云端班级删除请求]-[部门信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
+                syncDeptStrategyContent.syncDelDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
+            }
+            case EventTypeConstants.TRAINEE_ADD -> {
+                List<ResourcePerson> resourcePersonList = TrainUtils.getSyncTrainee(JSONUtil.parseObj(msg));
+                log.info("[处理教务系统->云端学员增加请求]-[学员信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
+                syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
+            }
+            case EventTypeConstants.TRAINEE_EDIT -> {
+                List<ResourcePerson> resourcePersonList = TrainUtils.getSyncTrainee(JSONUtil.parseObj(msg));
+                log.info("[处理教务系统->云端学员修改请求]-[学员信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
+                syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
+            }
+            case EventTypeConstants.TRAINEE_DEL -> {
+                List<ResourcePerson> resourcePersonList = TrainUtils.getSyncTrainee(JSONUtil.parseObj(msg));
+                log.info("[处理教务系统->云端学员删除请求]-[学员信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
+                syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
+            }
+        }
+    }
+}

+ 4 - 10
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/PushUserAccountEventStrategyImpl.java → ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/local/BackStageEventStrategyImpl.java

@@ -1,7 +1,6 @@
-package org.dromara.server.mq.event.kafka.impl.cloud;
+package org.dromara.server.mq.event.kafka.impl.local;
 
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -11,19 +10,14 @@ import org.dromara.backstage.api.RemoteUserAccountService;
 import org.dromara.backstage.api.domain.bo.RemoteCardBo;
 import org.dromara.backstage.api.domain.bo.RemoteUserAccountBo;
 import org.dromara.backstage.api.domain.vo.RemoteUserAccountVo;
-import org.dromara.common.core.constant.CloudMqEventConstants;
 import org.dromara.common.message.kafka.constant.EventSenderConstants;
 import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
 import org.dromara.server.mq.event.kafka.IYktEventStrategy;
-import org.dromara.system.api.RemoteUserService;
-import org.dromara.system.api.domain.bo.RemoteUserBo;
-import org.dromara.system.api.domain.vo.RemoteUserVo;
 import org.springframework.stereotype.Service;
 
 /**
- * @ClassName PushUserAccountEventStrategyImpl
- * @Description 处理一卡通账户消息队列
+ * @ClassName BackStageEventStrategyImpl
+ * @Description 处理管理平台消息队列
  * @Author luoyibo
  * @Date 2024-11-12 11:52
  * @Version 1.0
@@ -32,7 +26,7 @@ import org.springframework.stereotype.Service;
 @Slf4j
 @RequiredArgsConstructor
 @Service(EventSenderConstants.BACKSTAGE)
-public class PushUserAccountEventStrategyImpl implements IYktEventStrategy {
+public class BackStageEventStrategyImpl implements IYktEventStrategy {
     @DubboReference
     private final RemoteUserAccountService remoteAccountService;
     @DubboReference

+ 10 - 9
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/PushDeptEventStrategyImpl.java → ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/local/SystemEventStrategyImpl.java

@@ -1,4 +1,4 @@
-package org.dromara.server.mq.event.kafka.impl.cloud;
+package org.dromara.server.mq.event.kafka.impl.local;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONUtil;
@@ -22,8 +22,8 @@ import org.dromara.system.api.domain.vo.RemoteUserVo;
 import org.springframework.stereotype.Service;
 
 /**
- * @ClassName PushDeptEventStrategyImpl
- * @Description 处理部门消息队列
+ * @ClassName SystemEventStrategyImpl
+ * @Description 处理系统管理消息队列
  * @Author luoyibo
  * @Date 2024-11-12 11:52
  * @Version 1.0
@@ -32,7 +32,7 @@ import org.springframework.stereotype.Service;
 @Slf4j
 @RequiredArgsConstructor
 @Service(EventSenderConstants.SYSTEM)
-public class PushDeptEventStrategyImpl implements IYktEventStrategy {
+public class SystemEventStrategyImpl implements IYktEventStrategy {
     @DubboReference
     private final RemoteDeptService remoteDeptService;
     @DubboReference
@@ -43,7 +43,7 @@ public class PushDeptEventStrategyImpl implements IYktEventStrategy {
     @Override
     public void doMsgHandle(String eventType, Object msg) throws Exception {
         switch (eventType) {
-            case EventTypeConstants.DEPT:
+            case EventTypeConstants.DEPT -> {
                 RemoteDeptBo remoteDeptBo = JSONUtil.toBean(JSONUtil.parseObj(msg), RemoteDeptBo.class);
                 log.info("[处理云端->本地部门同步请求]-[部门信息:{}]", JSONUtil.toJsonStr(remoteDeptBo));
                 RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptById(remoteDeptBo.getDeptId());
@@ -63,7 +63,8 @@ public class PushDeptEventStrategyImpl implements IYktEventStrategy {
                     remoteTeamBo.setRemark(remoteDeptBo.getDeptName());
                     remoteTeamBo.setOtherId(remoteDeptBo.getOtherId());
                     remoteTeamBo.setTenantId(remoteDeptBo.getTenantId());
-                    remoteTeamBo.setOperatorId(ObjectUtil.isEmpty(remoteDeptBo.getCreateBy()) ? remoteDeptBo.getUpdateBy() : remoteDeptBo.getCreateBy());
+                    remoteTeamBo.setOperatorId(
+                        ObjectUtil.isEmpty(remoteDeptBo.getCreateBy()) ? remoteDeptBo.getUpdateBy() : remoteDeptBo.getCreateBy());
                     log.info("[处理云端->本地部门至团客]-[团客信息:{}]", JSONUtil.toJsonStr(remoteTeamBo));
                     R<RemoteTeamVo> remoteTeamVo = remoteTeamService.selectTeamByBo(remoteTeamBo);
                     if (R.isSuccess(remoteTeamVo)) {
@@ -72,8 +73,8 @@ public class PushDeptEventStrategyImpl implements IYktEventStrategy {
                         remoteTeamService.insertTeamByBo(remoteTeamBo);
                     }
                 }
-                break;
-            case EventTypeConstants.USER:
+            }
+            case EventTypeConstants.USER -> {
                 RemoteUserBo remoteBo = JSONUtil.toBean(JSONUtil.parseObj(msg), RemoteUserBo.class);
                 log.info("[处理云端->本地用户同步请求]-[用户信息:{}]", JSONUtil.toJsonStr(remoteBo));
                 RemoteUserVo remoteVo = remoteUserService.selectUserById(remoteBo.getUserId());
@@ -82,7 +83,7 @@ public class PushDeptEventStrategyImpl implements IYktEventStrategy {
                 } else {
                     remoteUserService.updateUser(remoteBo);
                 }
-                break;
+            }
         }
     }
 }

+ 0 - 38
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/DeptAddEventStrategyImpl.java

@@ -1,38 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.teacher;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourceDept;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: DeptAddEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 部门增加事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.DEPT_ADD)
-public class DeptAddEventStrategyImpl implements IEventStrategy {
-    private final SyncDeptStrategyContent syncDeptStrategyContent;
-    @Override
-    public void doMsgHandle(JSONObject data) {
-        List<ResourceDept> resourceDeptlist = TeacherUtils.getSyncDept(data);
-        log.info("[处理外部->云端部门增加请求]-[部门信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
-        syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
-    }
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/DeptDelEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.teacher;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.dept.SyncRemoteDeptService;
-import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourceDept;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: DeptDelEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 部门删除事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.DEPT_DEL)
-public class DeptDelEventStrategyImpl implements IEventStrategy {
-    private final SyncDeptStrategyContent syncDeptStrategyContent;
-    @Override
-    public void doMsgHandle(JSONObject data) {
-        List<ResourceDept> resourceDeptlist = TeacherUtils.getSyncDept(data);
-        log.info("[处理本地->云端部门删除请求]-[部门信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
-        syncDeptStrategyContent.syncDelDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
-    }
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/DeptUpdateEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.teacher;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourceDept;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TeacherEventConstraints
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 部门修改事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.DEPT_EDIT)
-public class DeptUpdateEventStrategyImpl implements IEventStrategy {
-    private final SyncDeptStrategyContent syncDeptStrategyContent;
-
-    @Override
-    public void doMsgHandle(JSONObject data) {
-        List<ResourceDept> resourceDeptlist = TeacherUtils.getSyncDept(data);
-        log.info("[处理本地->云端部门修改请求]-[部门信息:{}]", JSONUtil.toJsonStr(resourceDeptlist));
-        syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
-    }
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/TeacherAddEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.teacher;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourcePerson;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TeacherAddEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 教职工增加事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TEACHER_ADD)
-public class TeacherAddEventStrategyImpl implements IEventStrategy {
-    private final SyncUserStrategyContent syncUserStrategyContent;
-
-    @Override
-    public void doMsgHandle(JSONObject data) {
-        List<ResourcePerson> resourcePersonList = TeacherUtils.getSyncTeacher(data);
-        log.info("[处理本地->云端人员增加请求]-[人员增加信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
-        syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TEACHER);
-    }
-}

+ 0 - 29
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/TeacherDelEventStrategyImpl.java

@@ -1,29 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.teacher;
-
-import cn.hutool.json.JSONObject;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-/**
- * name: TeacherEventConstraints
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 教职工删除事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TEACHER_DEL)
-public class TeacherDelEventStrategyImpl implements IEventStrategy {
-    @Override
-    public void doMsgHandle(JSONObject msg) {
-
-    }
-}

+ 0 - 38
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/TeacherUpdateEventStrategyImpl.java

@@ -1,38 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.teacher;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourcePerson;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TeacherEventConstraints
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 教职工修改事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TEACHER_EDIT)
-public class TeacherUpdateEventStrategyImpl implements IEventStrategy {
-    private final SyncUserStrategyContent syncUserStrategyContent;
-    @Override
-    public void doMsgHandle(JSONObject data) {
-        List<ResourcePerson> resourcePersonList = TeacherUtils.getSyncTeacher(data);
-        log.info("[处理本地->云端人员修改请求]-[人员修改信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
-        syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TEACHER);
-    }
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/ClassAddEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.train;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourceDept;
-import org.dromara.server.mq.constant.kafka.TrainEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TeacherAddEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 教职工增加事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TRAIN_CLASS_ADD)
-public class ClassAddEventStrategyImpl implements IEventStrategy {
-    private final SyncDeptStrategyContent syncDeptStrategyContent;
-
-    @Override
-    public void doMsgHandle(JSONObject msg) {
-        List<ResourceDept> resourceDeptList = TrainUtils.getSycClass(msg);
-        log.info("[处理本地->云端培训班增加请求]-[培训班增加信息:{}]", JSONUtil.toJsonStr(resourceDeptList));
-        syncDeptStrategyContent.syncDept(resourceDeptList, SyncResourceConstants.TRAIN_CLASS);
-    }
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/ClassDelEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.train;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourceDept;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.constant.kafka.TrainEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TeacherAddEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 教职工增加事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TRAIN_CLASS_DEL)
-public class ClassDelEventStrategyImpl implements IEventStrategy {
-    private final SyncDeptStrategyContent syncDeptStrategyContent;
-    @Override
-    public void doMsgHandle(JSONObject msg) {
-        List<ResourceDept> resourceDeptList = TrainUtils.getSycClass(msg);
-        log.info("[处理本地->云端培训班删除请求]-[培训班删除信息:{}]", JSONUtil.toJsonStr(resourceDeptList));
-        syncDeptStrategyContent.syncDelDept(resourceDeptList, SyncResourceConstants.TRAIN_CLASS);
-    }
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/ClassUpdateEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.train;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourceDept;
-import org.dromara.server.mq.constant.kafka.TrainEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TeacherAddEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 教职工增加事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TRAIN_CLASS_EDIT)
-public class ClassUpdateEventStrategyImpl implements IEventStrategy {
-    private final SyncDeptStrategyContent syncDeptStrategyContent;
-
-    @Override
-    public void doMsgHandle(JSONObject msg) {
-        List<ResourceDept> resourceDeptList = TrainUtils.getSycClass(msg);
-        log.info("[处理本地->云端培训班修改请求]-[培训班修改信息:{}]", JSONUtil.toJsonStr(resourceDeptList));
-        syncDeptStrategyContent.syncDept(resourceDeptList, SyncResourceConstants.TRAIN_CLASS);
-    }
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/TrainUpdateEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.train;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourcePerson;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.constant.kafka.TrainEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TrainUpdateEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 培训班学员修改事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TRAINEE_EDIT)
-public class TrainUpdateEventStrategyImpl implements IEventStrategy {
-    private final SyncUserStrategyContent syncUserStrategyContent;
-    @Override
-    public void doMsgHandle(JSONObject msg) {
-        List<ResourcePerson> resourcePersonList = TrainUtils.getSyncTrainee(msg);
-        log.info("[处理本地->云端培训学员修改请求]-[培训学员修改信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
-        syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
-    }
-}

+ 0 - 42
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/TraineeAddEventStrategyImpl.java

@@ -1,42 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.train;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourcePerson;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.constant.kafka.TrainEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.dromara.server.mq.event.kafka.impl.teacher.TeacherUtils;
-import org.dromara.system.api.RemoteDeptService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TraineeAddEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 培训班学员加事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TRAINEE_ADD)
-public class TraineeAddEventStrategyImpl implements IEventStrategy {
-    private final SyncUserStrategyContent syncUserStrategyContent;
-    @Override
-    public void doMsgHandle(JSONObject msg) {
-        List<ResourcePerson> resourcePersonList = TrainUtils.getSyncTrainee(msg);
-        log.info("[处理本地->云端培训学员增加请求]-[培训学员增加信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
-        syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
-    }
-}

+ 0 - 39
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/TraineeDelEventStrategyImpl.java

@@ -1,39 +0,0 @@
-package org.dromara.server.mq.event.kafka.impl.train;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.message.kafka.constant.EventTypeConstants;
-import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
-import org.dromara.server.common.constant.SyncResourceConstants;
-import org.dromara.server.common.domain.bo.ResourcePerson;
-import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
-import org.dromara.server.mq.constant.kafka.TrainEventConstraints;
-import org.dromara.server.mq.event.kafka.IEventStrategy;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * name: TraineeDelEventStrategyImpl
- * package: org.dromara.server.mq.event.kafka.teacher.impl
- * description: 培训班学员删除事件处理策略实现
- * date: 2024-10-26 12:28:18 12:28
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-@Slf4j
-@RequiredArgsConstructor
-@Service(EventTypeConstants.TRAINEE_DEL)
-public class TraineeDelEventStrategyImpl implements IEventStrategy {
-    private final SyncUserStrategyContent syncUserStrategyContent;
-    @Override
-    public void doMsgHandle(JSONObject msg) {
-        List<ResourcePerson> resourcePersonList = TrainUtils.getSyncTrainee(msg);
-        log.info("[处理本地->云端培训学员删除请求]-[培训学员删除信息:{}]", JSONUtil.toJsonStr(resourcePersonList));
-        syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
-    }
-}

+ 1 - 31
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/TeacherUtils.java → ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/utils/TeacherUtils.java

@@ -1,4 +1,4 @@
-package org.dromara.server.mq.event.kafka.impl.teacher;
+package org.dromara.server.mq.event.kafka.impl.utils;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -6,7 +6,6 @@ import cn.hutool.json.JSONObject;
 import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.server.common.domain.bo.ResourcePerson;
-import org.dromara.server.common.domain.bo.ResourcePersonDept;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -23,35 +22,6 @@ import java.util.List;
  */
 public class TeacherUtils {
 
-    /**
-     * 处理教学员信息
-     *
-     * @param data 教职工
-     * @return 结果
-     */
-    public static List<ResourcePerson> getSyncTrainee(JSONObject data) {
-        List<ResourcePerson> resourcePersonList = new ArrayList<>();
-        ResourcePerson person = new ResourcePerson();
-        JSONObject stuObj = data.getJSONObject("student");
-        person.setUserId(stuObj.getStr("id"));
-        person.setDeptId(stuObj.getStr("currentClassId"));
-        person.setPostCode(DefaultConstants.TRAINEE_CODE);
-        person.setRealName(stuObj.get("name").toString());
-        person.setSex(stuObj.get("sex").toString());
-        person.setPhone(stuObj.get("phone").toString());
-        person.setCategory("2");
-        person.setUserState(stuObj.get("flag").toString());
-        person.setTenantId(data.getStr("tenantId"));
-        person.setOperatorId(DefaultConstants.KAFKA_SYNC_ADMIN);
-        List<ResourcePersonDept> userDeptList = new ArrayList<>();
-        ResourcePersonDept dept = new ResourcePersonDept();
-        dept.setDeptId(stuObj.getStr("currentClassId"));
-        userDeptList.add(dept);
-        person.setUserDeptList(userDeptList);
-        resourcePersonList.add(person);
-        return resourcePersonList;
-    }
-
     /**
      * 处理教职工数据
      */

+ 1 - 2
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/TrainUtils.java → ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/utils/TrainUtils.java

@@ -1,4 +1,4 @@
-package org.dromara.server.mq.event.kafka.impl.train;
+package org.dromara.server.mq.event.kafka.impl.utils;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -8,7 +8,6 @@ import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.server.common.domain.bo.ResourcePerson;
 import org.dromara.server.common.domain.bo.ResourcePersonDept;
-import org.dromara.server.common.domain.bo.SyncFullDataBo;
 
 import java.util.ArrayList;
 import java.util.List;