Browse Source

调整exchange、routingKey

yucheng 3 years ago
parent
commit
6ab8fef3f8

+ 8 - 2
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/basic/utils/DigitalMessageHelper.java

@@ -2,8 +2,10 @@ package com.persagy.dmp.rwd.basic.utils;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.amqp.handler.RabbitMessageSender;
 import com.persagy.dmp.basic.model.DigitalManageMessage;
+import com.persagy.dmp.basic.utils.JsonNodeUtils;
 import com.persagy.dmp.common.exception.BusinessException;
 import com.persagy.dmp.common.model.entity.BaseEntity;
 import com.persagy.dmp.rwd.basic.constant.DigitalMessageConstant;
@@ -33,11 +35,15 @@ public class DigitalMessageHelper {
      * @param syncFlag 同步消息标识
      */
     public void sendMessage(String operator, BaseEntity oldVO, BaseEntity newVO, boolean syncFlag) {
+        // 将扩展属性提取到外部
+        ObjectNode oldNode = JsonNodeUtils.toObjectNode(oldVO, "infos", null);
+        ObjectNode newNode = JsonNodeUtils.toObjectNode(newVO, "infos", null);
+        // 组装消息体
         DigitalManageMessage message = new DigitalManageMessage();
         message.setOperatorType(operator);
         message.setOperatorObj(newVO.getClass().getSimpleName());
-        message.setOldObj(oldVO);
-        message.setNewObj(newVO);
+        message.setOldObj(oldNode);
+        message.setNewObj(newNode);
         // 同步消息
         try {
             if(syncFlag) {

+ 4 - 4
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/basic/model/DigitalManageMessage.java

@@ -1,6 +1,6 @@
 package com.persagy.dmp.basic.model;
 
-import com.persagy.dmp.common.model.entity.BaseEntity;
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import lombok.Data;
 
 /**
@@ -16,15 +16,15 @@ public class DigitalManageMessage {
     /** 操作实体 */
     private String operatorObj;
     /** 原数据 */
-    private BaseEntity oldObj;
+    private ObjectNode oldObj;
     /** 现数据 */
-    private BaseEntity newObj;
+    private ObjectNode newObj;
 
     public DigitalManageMessage(){
         super();
     }
 
-    public DigitalManageMessage(String operatorType, String operatorObj, BaseEntity oldObj, BaseEntity newObj) {
+    public DigitalManageMessage(String operatorType, String operatorObj, ObjectNode oldObj, ObjectNode newObj) {
         this.operatorType = operatorType;
         this.operatorObj = operatorObj;
         this.oldObj = oldObj;