From 17bf828e518f397ec10dc54623e6003d2021423b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <13281114856@qq.com>
Date: Wed, 13 Jul 2022 15:09:34 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=97=E8=A1=A8=E5=AF=BC?=
 =?UTF-8?q?=E5=87=BA=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../com/mortals/xhx/common/pdu/RespData.java  | 26 +++++++++++++++++++
 .../mortals/xhx/feign/user/IUserFeign.java    |  9 ++++---
 .../rabbitmq/TbRabbitMqProducerTemplate.java  | 13 +++++++---
 .../xhx/daemon/task/SyncUserTaskImpl.java     | 11 +++++++-
 4 files changed, 52 insertions(+), 7 deletions(-)
 create mode 100644 common-lib/src/main/java/com/mortals/xhx/common/pdu/RespData.java

diff --git a/common-lib/src/main/java/com/mortals/xhx/common/pdu/RespData.java b/common-lib/src/main/java/com/mortals/xhx/common/pdu/RespData.java
new file mode 100644
index 00000000..9de986b1
--- /dev/null
+++ b/common-lib/src/main/java/com/mortals/xhx/common/pdu/RespData.java
@@ -0,0 +1,26 @@
+package com.mortals.xhx.common.pdu;
+
+import com.alibaba.fastjson.JSON;
+import com.mortals.framework.model.PageInfo;
+
+/**
+ * @author: zxfei
+ * @date: 2022/7/13 14:17
+ * @description:
+ **/
+public class RespData<T> {
+
+    private T data;
+    private PageInfo pageInfo;
+
+
+    public static void main(String[] args) {
+
+        String resp="";
+
+        //JSON.parseObject()
+
+
+
+    }
+}
diff --git a/common-lib/src/main/java/com/mortals/xhx/feign/user/IUserFeign.java b/common-lib/src/main/java/com/mortals/xhx/feign/user/IUserFeign.java
index 19cbdc12..2637e7e6 100644
--- a/common-lib/src/main/java/com/mortals/xhx/feign/user/IUserFeign.java
+++ b/common-lib/src/main/java/com/mortals/xhx/feign/user/IUserFeign.java
@@ -1,5 +1,6 @@
 package com.mortals.xhx.feign.user;
 
+import com.mortals.xhx.common.pdu.RespData;
 import com.mortals.xhx.common.pdu.user.UserPdu;
 import com.alibaba.fastjson.JSON;
 import com.mortals.framework.common.Rest;
@@ -10,6 +11,8 @@ import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * 鐢ㄦ埛淇℃伅涓氬姟 Feign鎺ュ彛
  * @author zxfei
@@ -26,7 +29,7 @@ public interface IUserFeign extends IFeign {
      * @return
      */
     @PostMapping(value = "/user/list")
-    String list(@RequestBody UserPdu userPdu);
+    Rest<RespData<List<UserPdu>>> list(@RequestBody UserPdu userPdu);
 
 
     /**
@@ -80,8 +83,8 @@ class UserFeignFallbackFactory implements FallbackFactory<IUserFeign> {
     public IUserFeign create(Throwable t) {
         return new IUserFeign() {
             @Override
-            public String list(UserPdu userPdu) {
-               return JSON.toJSONString(Rest.fail("鏆傛椂鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅涓氬姟鍒楄〃锛岃绋嶅悗鍐嶈瘯!"));
+            public Rest<RespData<List<UserPdu>>>  list(UserPdu userPdu) {
+               return Rest.fail("鏆傛椂鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅涓氬姟鍒楄〃锛岃绋嶅悗鍐嶈瘯!");
             }
 
             @Override
diff --git a/common-lib/src/main/java/com/mortals/xhx/queue/rabbitmq/TbRabbitMqProducerTemplate.java b/common-lib/src/main/java/com/mortals/xhx/queue/rabbitmq/TbRabbitMqProducerTemplate.java
index d8b558e4..825af619 100644
--- a/common-lib/src/main/java/com/mortals/xhx/queue/rabbitmq/TbRabbitMqProducerTemplate.java
+++ b/common-lib/src/main/java/com/mortals/xhx/queue/rabbitmq/TbRabbitMqProducerTemplate.java
@@ -10,6 +10,7 @@ import com.rabbitmq.client.BuiltinExchangeType;
 import com.rabbitmq.client.Channel;
 import com.rabbitmq.client.Connection;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.ObjectUtils;
 
 import java.io.IOException;
 import java.util.HashMap;
@@ -18,6 +19,7 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeoutException;
+import java.util.stream.Collectors;
 
 /**
  * rabbmit 娑堟伅鐢熶骇妯℃澘
@@ -83,7 +85,7 @@ public class TbRabbitMqProducerTemplate<T extends TbQueueMsg> implements TbQueue
             if (!topicIfNotExist) {
                 //topic涓嶅瓨鍦ㄥ垱寤洪€氶亾闃熷垪
                 Map<String, Object> args = new HashMap<>();
-                log.info("x-message-ttl:{}",rabbitMqSettings.getMessageTtl());
+                log.info("x-message-ttl:{}", rabbitMqSettings.getMessageTtl());
                 args.put("x-message-ttl", Integer.parseInt(rabbitMqSettings.getMessageTtl()));
                 channel.queueDeclare(tpi.getTopic(), true, false, false, args);
             }
@@ -134,7 +136,7 @@ public class TbRabbitMqProducerTemplate<T extends TbQueueMsg> implements TbQueue
             if (!topicIfNotExist) {
                 //topic涓嶅瓨鍦ㄥ垱寤洪€氶亾闃熷垪
                 Map<String, Object> args = new HashMap<>();
-                log.info("x-message-ttl:{}",rabbitMqSettings.getMessageTtl());
+                log.info("x-message-ttl:{}", rabbitMqSettings.getMessageTtl());
                 args.put("x-message-ttl", Integer.parseInt(rabbitMqSettings.getMessageTtl()));
                 channel.queueDeclare(tpi.getTopic(), true, false, false, args);
             }
@@ -156,6 +158,11 @@ public class TbRabbitMqProducerTemplate<T extends TbQueueMsg> implements TbQueue
     public void queueDel(String queue, TbQueueCallback callback) {
         try {
             channel.queueDelete(queue);
+            //鍒犻櫎topic
+            TopicPartitionInfo topicPartitionInfo = this.topics.stream().filter(f -> f.getTopic().equals(queue)).findFirst().orElseGet(() -> null);
+            if (!ObjectUtils.isEmpty(topicPartitionInfo)) {
+                this.topics.remove(topicPartitionInfo);
+            }
         } catch (IOException e) {
             log.error("Failed publish message: {}.", e);
         }
@@ -163,7 +170,7 @@ public class TbRabbitMqProducerTemplate<T extends TbQueueMsg> implements TbQueue
 
     private Boolean createTopicIfNotExist(TopicPartitionInfo tpi) {
         if (topics.contains(tpi)) {
-            log.info("contains topc:{}",tpi.getTopic());
+            log.info("contains topc:{}", tpi.getTopic());
             return true;
         }
         topics.add(tpi);
diff --git a/device-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java b/device-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
index fe3a7648..3cd5fe28 100644
--- a/device-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
+++ b/device-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
@@ -3,10 +3,12 @@ package com.mortals.xhx.daemon.task;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
+import com.mortals.framework.common.Rest;
 import com.mortals.framework.exception.AppException;
 import com.mortals.framework.service.ITask;
 import com.mortals.framework.service.ITaskExcuteService;
 import com.mortals.xhx.common.code.SendStatusEnum;
+import com.mortals.xhx.common.pdu.RespData;
 import com.mortals.xhx.common.pdu.site.SitePdu;
 import com.mortals.xhx.common.pdu.user.UserPdu;
 import com.mortals.xhx.common.utils.SendSmsTask;
@@ -36,7 +38,14 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
     @Override
     public void excuteTask(ITask task) throws AppException {
 
-        return;
+                UserPdu userPdu = new UserPdu();
+        userPdu.setPage(1);
+        userPdu.setSize(-1);
+        Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu);
+
+        log.info("syncUserResp:{}",JSON.toJSONString(list));
+
+       // return;
 //        UserPdu userPdu = new UserPdu();
 //        userPdu.setPage(1);
 //        userPdu.setSize(-1);
-- 
2.24.3