From 807cd9ec35eba09acf0a227b5f14ed097b085de3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com>
Date: Tue, 26 Mar 2024 17:20:08 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87=E5=90=8C?=
 =?UTF-8?q?=E6=AD=A5=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../xhx/common/pdu/product/ProductPdu.java    | 33 +++++++
 .../xhx/feign/device/IDeviceFeign.java        | 17 ++++
 .../daemon/task/SyncSiteDeviceTaskImpl.java   | 98 ++++---------------
 .../xhx/module/device/model/DeviceEntity.java |  2 +-
 4 files changed, 71 insertions(+), 79 deletions(-)
 create mode 100644 common-lib/src/main/java/com/mortals/xhx/common/pdu/product/ProductPdu.java

diff --git a/common-lib/src/main/java/com/mortals/xhx/common/pdu/product/ProductPdu.java b/common-lib/src/main/java/com/mortals/xhx/common/pdu/product/ProductPdu.java
new file mode 100644
index 0000000..4677274
--- /dev/null
+++ b/common-lib/src/main/java/com/mortals/xhx/common/pdu/product/ProductPdu.java
@@ -0,0 +1,33 @@
+package com.mortals.xhx.common.pdu.product;
+
+import lombok.Data;
+
+/**
+ * 浜у搧瀹炰綋瀵硅薄
+ *
+ * @author zxfei
+ * @date 2022-11-09
+ */
+@Data
+public class ProductPdu {
+
+
+    /**
+     * id
+     */
+    private Long id;
+    /**
+     * 鍏宠仈骞冲彴
+     */
+    private Long platformId;
+    /**
+     * 浜у搧鍚嶇О锛屽悕绉板敮涓€
+     */
+    private String productName;
+    /**
+     * 浜у搧缂栫爜
+     */
+    private String productCode;
+
+
+}
\ No newline at end of file
diff --git a/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceFeign.java b/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceFeign.java
index 7a0b1e4..f501bec 100644
--- a/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceFeign.java
+++ b/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceFeign.java
@@ -6,6 +6,7 @@ import com.mortals.xhx.common.pdu.device.DevicePdu;
 import com.alibaba.fastjson.JSON;
 import com.mortals.framework.common.Rest;
 import com.mortals.xhx.common.pdu.device.DeviceReq;
+import com.mortals.xhx.common.pdu.product.ProductPdu;
 import com.mortals.xhx.feign.IFeign;
 import feign.hystrix.FallbackFactory;
 import lombok.extern.slf4j.Slf4j;
@@ -74,6 +75,17 @@ public interface IDeviceFeign extends IFeign {
     @PostMapping(value = "/api/receive")
     Rest<String> deviceCall(@RequestBody DeviceReq deviceReq);
 
+
+    /**
+     * 鏌ョ湅璁惧鍒楄〃
+     *
+     * @param productPdu
+     * @return
+     */
+    @PostMapping(value = "/product/interlist")
+    Rest<RespData<List<ProductPdu>>> list(@RequestBody ProductPdu productPdu);
+
+
 }
 
 
@@ -107,6 +119,11 @@ class DeviceFeignFallbackFactory implements FallbackFactory<IDeviceFeign> {
             public Rest<String> deviceCall(DeviceReq deviceReq) {
                 return Rest.fail("鏆傛椂鏃犳硶淇濆瓨璁惧锛岃绋嶅悗鍐嶈瘯!");
             }
+
+            @Override
+            public Rest<RespData<List<ProductPdu>>> list(ProductPdu productPdu) {
+                return  Rest.fail("璇风◢鍚庡啀璇�!");
+            }
         };
     }
 }
diff --git a/sample-form-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java b/sample-form-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
index 7240019..7a589cd 100644
--- a/sample-form-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
+++ b/sample-form-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
@@ -10,6 +10,7 @@ import com.mortals.framework.service.ITaskExcuteService;
 import com.mortals.xhx.common.code.YesNoEnum;
 import com.mortals.xhx.common.pdu.RespData;
 import com.mortals.xhx.common.pdu.device.DevicePdu;
+import com.mortals.xhx.common.pdu.product.ProductPdu;
 import com.mortals.xhx.common.pdu.site.SiteMatterPdu;
 import com.mortals.xhx.common.pdu.site.SitePdu;
 import com.mortals.xhx.common.pdu.skin.SkinBasePdu;
@@ -72,17 +73,30 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService {
     }
 
     private void syncDevice() {
+        Long productId = null;
+        ProductPdu productPdu = new ProductPdu();
+        productPdu.setProductCode("ybj");
+        Rest<RespData<List<ProductPdu>>> rest = deviceFeign.list(productPdu);
+        if (rest.getCode() == YesNoEnum.YES.getValue() && !ObjectUtils.isEmpty(rest.getData())) {
+            if (!ObjectUtils.isEmpty(rest.getData().getData())) {
+                ProductPdu pdu = rest.getData().getData().get(0);
+                productId = pdu.getId();
+            }
+        }
+
         SitePdu sitePdu = new SitePdu();
         sitePdu.setId(1L);
         Rest<List<SitePdu>> siteRest = siteFeign.getFlatSitesBySiteId(sitePdu);
         if (siteRest.getCode() == YesNoEnum.YES.getValue()) {
             log.info("绔欑偣鎬绘暟閲忥細{}", siteRest.getData().size());
-            siteRest.getData().forEach(site -> {
+            for (SitePdu site : siteRest.getData()) {
                 log.info("绔欑偣鍚嶇О:{}", site.getSiteName());
                 DevicePdu devicePdu = new DevicePdu();
-                //devicePdu.setProductCode("ybj");
-                //devicePdu.setProductId(10L);
-                devicePdu.setProductName("鏍疯〃鏈�");
+                if (!ObjectUtils.isEmpty(productId)) {
+                    devicePdu.setProductId(productId);
+                } else {
+                    devicePdu.setProductName("鏍疯〃鏈�");
+                }
                 devicePdu.setSiteId(site.getId());
                 devicePdu.setSize(-1);
                 Rest<RespData<List<DevicePdu>>> deviceRest = deviceFeign.list(devicePdu);
@@ -141,7 +155,7 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService {
 
                         if (!ObjectUtils.isEmpty(updateDeviceLsit)) {
                             log.info("璁惧鏇存柊锛宻ize:{}", updateDeviceLsit.size());
-                             deviceService.update(updateDeviceLsit);
+                            deviceService.update(updateDeviceLsit);
                         }
 
                         if (!ObjectUtils.isEmpty(saveDeviceList)) {
@@ -157,84 +171,12 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService {
                 } else {
                     log.info("璁惧鍒楄〃鏌ヨ寮傚父锛寋}", JSON.toJSONString(deviceRest));
                 }
-            });
+            }
         } else {
             log.info("绔欑偣鍒楄〃鏌ヨ寮傚父锛寋}", JSON.toJSONString(siteRest));
         }
     }
 
-   /* private void syncSkin() {
-
-        SkinBasePdu skinBasePdu = new SkinBasePdu();
-        skinBasePdu.setProductName("鏍疯〃鏈�");
-        skinBasePdu.setSize(-1);
-
-        Rest<RespData<List<SkinBasePdu>>> skinBaseRest = skinBaseFeign.list(skinBasePdu);
-        if (skinBaseRest.getCode() == YesNoEnum.YES.getValue()) {
-            List<SkinBasePdu> skinBasePduList = skinBaseRest.getData().getData();
-            log.info("鏍疯〃鏈虹毊鑲ゆ€绘暟閲忥細{}", skinBasePduList.size());
-            if (!ObjectUtils.isEmpty(skinBasePduList)) {
-                List<SkinEntity> newSkinList = skinBasePduList.stream().map(newSkin -> {
-                    SkinEntity skinEntity = new SkinEntity();
-                    skinEntity.initAttrValue();
-                    //瀛樼浉瀵瑰湴鍧€
-                    newSkin.setCssFilePath("/"+StrUtil.subAfter(newSkin.getCssFilePath(), "/", true));
-                    newSkin.setPreviewImagePath("/"+StrUtil.subAfter(newSkin.getPreviewImagePath(), "/", true));
-                    BeanUtils.copyProperties(newSkin, skinEntity, BeanUtil.getNullPropertyNames(newSkin));
-                    return skinEntity;
-                }).collect(Collectors.toList());
-
-                List<SkinEntity> oldSkinList = skinService.find(new SkinQuery());
-                Map<Long, SkinEntity> oldSkinMap = oldSkinList.stream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
-                Map<Long, SkinEntity> newSkinMap = newSkinList.stream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
-
-                List<SkinEntity> updateSkinLsit = newSkinList.stream().map(item -> {
-                    if (oldSkinMap.containsKey(item.getId())) {
-                        item.setUsed(oldSkinMap.get(item.getId()).getUsed());
-                        item.setUpdateTime(new Date());
-                        return item;
-                    }
-                    return null;
-                }).filter(f -> f != null).collect(Collectors.toList());
-
-                List<SkinEntity> saveSkinList = newSkinList.stream().map(item -> {
-                    if (!oldSkinMap.containsKey(item.getId())) {
-                        item.setCreateUserId(1L);
-                        item.setCreateUserName("绯荤粺绠$悊鍛�");
-                        item.setCreateTime(new Date());
-                        return item;
-                    }
-                    return null;
-                }).filter(f -> f != null).collect(Collectors.toList());
-
-
-                //鍋氬樊闆�
-                List<Long> delSkinList = oldSkinList.stream().map(item -> {
-                    if (!newSkinMap.containsKey(item.getId())) {
-                        return item.getId();
-                    }
-                    return null;
-                }).filter(f -> f != null).collect(Collectors.toList());
-
-
-//                if (!ObjectUtils.isEmpty(updateSkinLsit)) {
-//                    log.info("鐨偆鏇存柊锛宻ize:{}", updateSkinLsit.size());
-//                    skinService.update(updateSkinLsit);
-//                }
-
-                if (!ObjectUtils.isEmpty(saveSkinList)) {
-                    log.info("鐨偆鏂板锛宻ize:{}", saveSkinList.size());
-                    skinService.save(saveSkinList);
-                }
-
-                if (!ObjectUtils.isEmpty(delSkinList)) {
-                    log.info("鐨偆鍒犻櫎锛宻ize:{}", delSkinList.size());
-                    skinService.remove(delSkinList, null);
-                }
-
-            }
-        }
-    }*/
 
     @Override
     public void stopTask(ITask task) throws AppException {
diff --git a/sample-form-manager/src/main/java/com/mortals/xhx/module/device/model/DeviceEntity.java b/sample-form-manager/src/main/java/com/mortals/xhx/module/device/model/DeviceEntity.java
index 0cc867b..299bc95 100644
--- a/sample-form-manager/src/main/java/com/mortals/xhx/module/device/model/DeviceEntity.java
+++ b/sample-form-manager/src/main/java/com/mortals/xhx/module/device/model/DeviceEntity.java
@@ -160,7 +160,7 @@ public class DeviceEntity extends DeviceVo {
         this.deviceFirmname = "";
         this.ip = "";
         this.port = "";
-        this.enabled = 0;
+        this.enabled = 1;
         this.productCode = "";
         this.productName = "";
         this.deviceSrc = 2;
-- 
2.24.3