From 591b785cf76754a696b5b07eab07cf587f2a4449 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期日, 24 四月 2022 11:33:21 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java |   16 --------
 dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java                   |    2 
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java       |   44 ++++++++++++++++-----
 dao/src/main/resources/mapper/MonitorMapper.xml                                   |   13 ++++++
 4 files changed, 46 insertions(+), 29 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java
index 3f21354..dc42d61 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java
@@ -17,7 +17,7 @@
 
     List<MonitorBo> listMonitorByIds(List<String> list, String keyword, int bindingState, int equipmentState, Long userid);
 
-    List<String> listMonitorDeviceSerial();
+    List<String> listMonitorDeviceSerial(Long userid);
 }
 
 
diff --git a/dao/src/main/resources/mapper/MonitorMapper.xml b/dao/src/main/resources/mapper/MonitorMapper.xml
index af913d0..4131ba5 100644
--- a/dao/src/main/resources/mapper/MonitorMapper.xml
+++ b/dao/src/main/resources/mapper/MonitorMapper.xml
@@ -80,7 +80,18 @@
         </where>
     </select>
     <select id="listMonitorDeviceSerial" resultType="java.lang.String">
-        SELECT device_serial FROM monitor;
+        SELECT
+        device_serial
+        FROM
+        monitor t1
+        LEFT JOIN pole_binding t2 ON t1.device_serial = t2.device_code
+        AND t2.device_type = 7
+        LEFT JOIN pole t3 ON t3.id = t2.pole_id
+        <where>
+            <if test="userid != null">
+                AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
+            </if>
+        </where>
     </select>
 
 </mapper>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
index 9c49166..1741ba0 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -37,26 +37,10 @@
      */
     @PostMapping("/listMonitor")
     public ResponseVO<Object> listMonitorByKeyword(BaseConditionVO baseConditionVO, @RequestBody(required = false) MonitorParam monitorParam) {
-//        //鏌ヨ鏁版嵁搴撶殑鎽勫儚澶翠俊鎭垪琛�
-//        if (monitorParam == null) {
-//            list = monitorService.listMonitorByKeyword(baseConditionVO, new MonitorParam());
-//        } else {
-//            list = monitorService.listMonitorByKeyword(baseConditionVO, monitorParam);
-//        }
         if (!permissionConfig.check(MenuEnum.MONITOR_LIST.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
 
-//        List<String> list;
-//        list = monitorMapper.listMonitorDeviceSerial();
-//
-//        MonitorParam monitorParam1;
-//        for (String devices_serial : list) {
-//            monitorParam1 = new MonitorParam();
-//            monitorParam1.setAccessToken(monitorService.getAccessToken());
-//            monitorParam1.setDeviceSerial(devices_serial);
-//            getYSYMonitorInfoAndaddMonitorToTable(monitorParam1);
-//        }
         //杩斿洖鏌ヨ鐨勬憚鍍忓ご淇℃伅鍒楄〃
         List<MonitorBo> listresult;
         if (monitorParam == null) {
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
index 7a2cb09..f8672af 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -55,7 +55,11 @@
      */
     public List<MonitorBo> listMonitorByKeyword(BaseConditionVO baseConditionVO, MonitorParam monitorParam) {
         List<String> list;
-        list = monitorMapper.listMonitorDeviceSerial();
+        if (SecurityUtils.getClientId() == null) {
+            list = monitorMapper.listMonitorDeviceSerial(null);
+        } else {
+            list = monitorMapper.listMonitorDeviceSerial(SecurityUtils.getUserId());
+        }
 
         MonitorParam monitorParam1;
         for (String devices_serial : list) {
@@ -90,17 +94,35 @@
         YSY_MonitorDto getMonitorDto = getYSYMonitorInfo(getAccessToken(), monitorParam.getDeviceSerial());
 
         if ("200".equals(getMonitorDto.getCode())) {
-            Monitor monitor = new Monitor();
-            monitor.setDeviceSerial(getMonitorDto.getData().getDeviceSerial());
-            if (monitorParam.getValidateCode() != null) {
-                monitor.setDevicesCode(monitorParam.getValidateCode());
+            Monitor monitor = getOne(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, monitorParam.getDeviceSerial()));
+            if (monitor != null) {
+                monitor.setDeviceSerial(getMonitorDto.getData().getDeviceSerial());
+                if (monitorParam.getValidateCode() != null) {
+                    monitor.setDevicesCode(monitorParam.getValidateCode());
+                }
+                monitor.setDeviceName(getMonitorDto.getData().getDeviceName());
+                monitor.setDeviceType(getMonitorDto.getData().getModel());
+                monitor.setEquipmentState(getMonitorDto.getData().getStatus());
+                monitor.setIsEncrypt(getMonitorDto.getData().getIsEncrypt());
+                monitor.setAddTime(getMonitorDto.getData().getUpdateTime());
+                monitor.setNetAddress(getMonitorDto.getData().getNetAddress());
+                //鏇存柊鎽勫儚澶寸姸鎬�
+                updateById(monitor);
+            } else {
+                monitor = new Monitor();
+                monitor.setDeviceSerial(getMonitorDto.getData().getDeviceSerial());
+                if (monitorParam.getValidateCode() != null) {
+                    monitor.setDevicesCode(monitorParam.getValidateCode());
+                }
+                monitor.setDeviceName(getMonitorDto.getData().getDeviceName());
+                monitor.setDeviceType(getMonitorDto.getData().getModel());
+                monitor.setEquipmentState(getMonitorDto.getData().getStatus());
+                monitor.setIsEncrypt(getMonitorDto.getData().getIsEncrypt());
+                monitor.setAddTime(getMonitorDto.getData().getUpdateTime());
+                monitor.setNetAddress(getMonitorDto.getData().getNetAddress());
+                //鏇存柊鎽勫儚澶寸姸鎬�
+                save(monitor);
             }
-            monitor.setDeviceName(getMonitorDto.getData().getDeviceName());
-            monitor.setDeviceType(getMonitorDto.getData().getModel());
-            monitor.setEquipmentState(getMonitorDto.getData().getStatus());
-            monitor.setIsEncrypt(getMonitorDto.getData().getIsEncrypt());
-            monitor.setAddTime(getMonitorDto.getData().getUpdateTime());
-            monitor.setNetAddress(getMonitorDto.getData().getNetAddress());
 
             return monitor;
         } else {

--
Gitblit v1.9.3