From c7be2ef037c5aebb0cd8f1f33e5fa934389e6083 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 26 十月 2022 17:51:43 +0800
Subject: [PATCH] changes

---
 dao/src/main/resources/mapper/LightMapper.xml                                   |    4 +-
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java |   28 +++++++++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxRequestUtil.java     |   58 ++++++++++++++--------------
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java        |    4 +-
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java  |    2 
 5 files changed, 61 insertions(+), 35 deletions(-)

diff --git a/dao/src/main/resources/mapper/LightMapper.xml b/dao/src/main/resources/mapper/LightMapper.xml
index 26dfb43..7091338 100644
--- a/dao/src/main/resources/mapper/LightMapper.xml
+++ b/dao/src/main/resources/mapper/LightMapper.xml
@@ -42,8 +42,8 @@
         t3.light_address AS light_address
         FROM
         light t1
-        LEFT JOIN pole_binding t5 USING ( device_code )
-        LEFT JOIN pole t2 ON t2.id=t5.pole_id
+        LEFT JOIN pole_binding t5 ON t1.device_code = t5.device_code
+        LEFT JOIN pole t2 ON t2.id=t5.pole_id AND t5.device_type=0
         LEFT JOIN light_task_pole_relation t3 ON t3.pole_id = t2.id
         LEFT JOIN light_task t4 ON t3.task_id = t4.task_id
         <where>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
index d03f491..675a20b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -223,7 +223,7 @@
         if (!permissionConfig.check(MenuEnum.UNBIND.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
-        boolean result = poleService.unBindPole(poleId, param.getDeviceCode());
+        boolean result = poleService.unBindPole(poleId, param.getDeviceCode(),param.getDeviceType());
         if (result) {
             //璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒, 11鍐滆��
             switch (param.getDeviceType().toString()) {
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
index f46f4a7..9d4f0cd 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
@@ -190,6 +190,32 @@
         }
     }
 
+
+
+    /**
+     * 鐏潌瑙g粦璁惧锛屽垹闄よ澶囧墠闇�瑕佽В缁�
+     *
+     * @param deviceCode
+     */
+    public boolean unBindPole(Long poleId, String deviceCode,Integer deviceType) {
+        if (deviceCode == null) {
+            throw new BusinessException("璁惧缂栧彿涓嶈兘涓虹┖");
+        }
+        PoleBinding one;
+        //鐩存帴鍒犻櫎璁惧涓嶉渶瑕佺伅鏉咺D
+        if (poleId == null) {
+            one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode).eq(PoleBinding::getDeviceType, deviceType));
+        } else {
+            one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode)
+                    .eq(PoleBinding::getDeviceType, deviceType).eq(PoleBinding::getPoleId, poleId));
+        }
+        if (one != null) {
+            return removeById(one.getId());
+        } else {
+            throw new BusinessException("璁惧涓嶅瓨鍦ㄧ粦瀹氭儏鍐垫垨鐏潌ID涓嶆纭�");
+        }
+    }
+
     /**
      * 璁惧鍒犻櫎,鐩存帴瑙g粦璁惧鐩稿叧缁戝畾鏁版嵁
      *
@@ -217,7 +243,7 @@
     }
 
     public PoleBinding getPoleIdByMac(String deviceCode) {
-        return getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
+        return getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode).eq(PoleBinding::getDeviceType,0));
     }
 
 
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index 7e4519c..0223e89 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -863,8 +863,8 @@
      *
      * @return 鏄惁鎴愬姛
      */
-    public boolean unBindPole(Long poleId, String deviceCode) {
-        return poleBindingService.unBindPole(poleId, deviceCode);
+    public boolean unBindPole(Long poleId, String deviceCode,Integer deviceType) {
+        return poleBindingService.unBindPole(poleId, deviceCode,deviceType);
     }
 
 
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxRequestUtil.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxRequestUtil.java
index 93f22ee..0c2fb67 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxRequestUtil.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxRequestUtil.java
@@ -1,12 +1,13 @@
 package com.sandu.ximon.admin.utils;
 
+import com.alibaba.fastjson.JSON;
 import com.sandu.ximon.admin.utils.request.CommonHeader;
 import org.apache.http.HttpResponse;
 import org.apache.http.NameValuePair;
+import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.utils.URIBuilder;
 import org.apache.http.entity.StringEntity;
-import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.message.BasicHeader;
@@ -24,7 +25,7 @@
     private static final String UTF8 = "utf-8";
 
 
-    public static String get(String url){
+    public static String get(String url) {
         CloseableHttpClient client = HttpClients.createDefault();
         HttpGet get = new HttpGet(url);
         String result = null;
@@ -32,7 +33,7 @@
             HttpResponse httpResponse = client.execute(get);
             InputStream inStream = httpResponse.getEntity().getContent();
 
-            result = streamToString(inStream,UTF8);
+            result = streamToString(inStream, UTF8);
 
             inStream.close();
         } catch (Exception e) {
@@ -41,39 +42,38 @@
         return result;
     }
 
-public static String GetWithHeader (String url, List<NameValuePair> urlParameters, Map<String, String> header) throws URISyntaxException {
+    public static String GetWithHeader(String url, List<NameValuePair> urlParameters, Map<String, String> header) throws URISyntaxException {
 
 
-    URI finalURI = new URIBuilder(url).setParameters(urlParameters).build();
-    CloseableHttpClient client = HttpClients.createDefault();
-    HttpGet get = new HttpGet(finalURI);
-    for(String key: header.keySet()) {
-        get.setHeader(key, header.get(key));
-    }
-    String result = null;
-    try {
+        URI finalURI = new URIBuilder(url).setParameters(urlParameters).build();
+        CloseableHttpClient client = HttpClients.createDefault();
+        HttpGet get = new HttpGet(finalURI);
+        for (String key : header.keySet()) {
+            get.setHeader(key, header.get(key));
+        }
+        String result = null;
+        try {
 //            StringEntity s = new StringEntity(params, UTF8);
 //            s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
 //                    "application/json"));
-        HttpResponse httpResponse = client.execute(get);
-        InputStream inStream = httpResponse.getEntity().getContent();
+            HttpResponse httpResponse = client.execute(get);
+            InputStream inStream = httpResponse.getEntity().getContent();
 
-        result = streamToString(inStream, UTF8);
+            result = streamToString(inStream, UTF8);
 
-        inStream.close();
-    } catch (Exception e) {
-        return null;
+            inStream.close();
+        } catch (Exception e) {
+            return null;
+        }
+        return result;
     }
-    return result;
-}
 
 
-
-    public static String PostWithHeader (String URL, String json, CommonHeader header) {
+    public static String PostWithHeader(String URL, String json, CommonHeader header) {
         System.out.println("****************************************");
         CloseableHttpClient client = HttpClients.createDefault();
         HttpPost post = new HttpPost(URL);
-        for(String key: header.keySet()) {
+        for (String key : header.keySet()) {
             post.setHeader(key, header.get(key));
         }
         String result = null;
@@ -84,29 +84,29 @@
             post.setEntity(s);
             HttpResponse httpResponse = client.execute(post);
             InputStream inStream = httpResponse.getEntity().getContent();
+            System.out.println("post: " + JSON.toJSONString(post));
 
-            result = streamToString(inStream,UTF8);
+            result = streamToString(inStream, UTF8);
 
             inStream.close();
         } catch (Exception e) {
-            System.out.println("error"   + e.getMessage());
+            System.out.println("error" + e.getMessage());
             return null;
         }
         return result;
     }
 
 
-
-    public static String streamToString(InputStream in, String encoding){
+    public static String streamToString(InputStream in, String encoding) {
         // 灏嗘祦杞崲涓哄瓧绗︿覆
         try {
             StringBuffer sb = new StringBuffer();
             byte[] b = new byte[1024];
-            for (int n; (n = in.read(b)) != -1;) {
+            for (int n; (n = in.read(b)) != -1; ) {
                 sb.append(new String(b, 0, n, encoding));
             }
             return sb.toString();
-        }  catch (IOException e) {
+        } catch (IOException e) {
             e.printStackTrace();
             throw new RuntimeException("鎻愬彇 requestBody 寮傚父", e);
         }

--
Gitblit v1.9.3