From 9330e9b0e4e70151d36084ecb5695b818cfda2db Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期二, 19 四月 2022 16:07:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java |   70 +++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 19 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
index 8b1fd16..6798e8d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -19,6 +19,7 @@
 import com.sandu.ximon.admin.param.C3ChargingAddParam;
 import com.sandu.ximon.admin.param.C3ChargingParam;
 import com.sandu.ximon.admin.param.PoleBindingParam;
+import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.LogUtils;
 import com.sandu.ximon.admin.utils.RedisUtils;
 import com.sandu.ximon.dao.bo.C3ChargingBo;
@@ -95,15 +96,6 @@
                 c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
             }
 
-            //娣诲姞缁戝畾鍏崇郴
-            Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName));
-            if(pole != null){
-                PoleBindingParam poleBindingParam = new PoleBindingParam();
-                poleBindingParam.setDeviceType(2);
-                poleBindingParam.setDeviceCode(mcuUdid);
-                bindingService.bindPole(pole.getId(), poleBindingParam);
-            }
-
         } else {
             //灏嗚澶囦俊鎭坊鍔犲埌鍏呯數妗╄澶囪〃
             one.setPoleDevicesCode(deviceName);
@@ -116,6 +108,28 @@
                 c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
             }
         }
+        /**
+         * 娣诲姞缁戝畾鍏崇郴寮�濮�
+         */
+        Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName));
+        if (pole == null) {
+            Pole pole1 = new Pole();
+            pole1.setDeviceCode(deviceName);
+            pole1.setPoleName(deviceName);
+            pole1.setPoleCode(poleService.generatePoleCode());
+            poleService.save(pole1);
+        }
+
+        Long poleId = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName)).getId();
+        PoleBindingParam poleBindingParam = new PoleBindingParam();
+        poleBindingParam.setDeviceType(2);
+        poleBindingParam.setDeviceCode(mcuUdid);
+        bindingService.bindPole(poleId, poleBindingParam);
+
+        /**
+         * 娣诲姞缁戝畾鍏崇郴缁撴潫
+         */
+
         //鍚屾鏃堕棿鎴�
         String date = new SimpleDateFormat("yyMMddHHmmss").format(new Date());
         String s = SetCalendar(c3Mac, Integer.parseInt(date.substring(0, 2)), Integer.parseInt(date.substring(2, 4)),
@@ -170,7 +184,9 @@
      * @return
      */
     public List<C3ChargingBo> getC3ChargingListByKeyword(BaseConditionVO baseConditionVO, C3ChargingParam c3ChargingParam) {
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        if (baseConditionVO != null) {
+            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        }
         if (c3ChargingParam == null) {
             c3ChargingParam = new C3ChargingParam();
         }
@@ -180,12 +196,22 @@
             c3ChargingParam.setKeyword(c3ChargingParam.getKeyword().trim());
         }
 
-        List<C3ChargingBo> c3ChargingBoList = c3mChargingMapper.listC3mChargingDto(c3ChargingParam.getKeyword());
+        List<C3ChargingBo> c3ChargingBoList;
+        if (SecurityUtils.getClientId() == null) {
+            c3ChargingBoList = c3mChargingMapper.listC3mChargingDto(c3ChargingParam.getKeyword(), null);
+        } else {
+            c3ChargingBoList = c3mChargingMapper.listC3mChargingDto(c3ChargingParam.getKeyword(), SecurityUtils.getUserId());
+        }
         for (C3ChargingBo one : c3ChargingBoList) {
             String s = RedisUtils.getBean().get(C3mRedisConstant.C3_STATUS.getCode() + one.getC3Mac());
-            if(s != null){
-                one.setStatusBit(1);
-            }else{
+            if (s != null) {
+                try {
+                    A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage beatDataPackage = JSON.parseObject(s, A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage.class);
+                    one.setStatusBit((Integer.valueOf(beatDataPackage.getStatusBit())));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            } else {
                 one.setStatusBit(0);
             }
 
@@ -195,14 +221,20 @@
 
     /**
      * 鏌ヨ鍏呯數妗�
+     *
      * @return
      */
-    public C3mCharging getByC3Mac(String c3Mac){
-        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac));
+    public C3mCharging getByC3Mac(String udid) {
+        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, udid));
         String s = RedisUtils.getBean().get(C3mRedisConstant.C3_STATUS.getCode() + one.getC3Mac());
-        if(s != null){
-            one.setStatusBit(1);
-        }else{
+        if (s != null) {
+            try {
+                A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage beatDataPackage = JSON.parseObject(s, A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage.class);
+                one.setStatusBit((Integer.valueOf(beatDataPackage.getStatusBit())));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        } else {
             one.setStatusBit(0);
         }
         return one;

--
Gitblit v1.9.3