From 7b4e8c2fa93a973ed29c9f7ee1a5b9e539f85e1d Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 14 十月 2022 18:50:03 +0800
Subject: [PATCH] 大气农耕

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java |  334 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 175 insertions(+), 159 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 195696c..d4bcff3 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
@@ -21,9 +21,11 @@
 import com.sandu.ximon.admin.manager.iot.rrpc.util.SupplementUtils;
 import com.sandu.ximon.admin.param.C3ChargingAddParam;
 import com.sandu.ximon.admin.param.C3ChargingParam;
+import com.sandu.ximon.admin.redis.DeviceRedisKey;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.*;
 import com.sandu.ximon.admin.vo.EquipmentInfomation;
+import com.sandu.ximon.admin.vo.RedisDeviceStatus;
 import com.sandu.ximon.dao.bo.C3ChargingBo;
 import com.sandu.ximon.dao.domain.*;
 import com.sandu.ximon.dao.enums.OrderByEnums;
@@ -53,6 +55,7 @@
     private final C3mChargingChargeService c3mChargingChargeService;
     private final PoleBindingService bindingService;
     private final PoleService poleService;
+    private final RedisUtils redisUtils;
 
     /**
      * 淇濆瓨涓婃姤C3鍏呯數璁惧蹇冭烦鏁版嵁
@@ -107,7 +110,7 @@
                 newC3Mac = SupplementUtils.suppleZero(index, 8);
                 if (!c3macList.contains(newC3Mac)) {
                     //澶辫触閲嶅彂涓�娆�
-                    String s = SetAddress(c3Mac, newC3Mac, true);
+                    String s = SetAddress(one.getC3Id(), newC3Mac, true);
                     if (!"鎿嶄綔鎴愬姛".equals(s)) {
                         LogUtils.error("鍒濆鍖栧厖鐢垫々澶辫触!");
                         return false;
@@ -127,7 +130,7 @@
         //鍚屾鏃堕棿鎴�
         System.out.println("鍚屾鏃堕棿鎴冲紑濮�");
         String date = new SimpleDateFormat("yyMMddHHmmss").format(new Date());
-        String s = SetCalendar(newC3Mac, Integer.parseInt(date.substring(0, 2)), Integer.parseInt(date.substring(2, 4)),
+        String s = SetCalendar(one.getC3Id(), Integer.parseInt(date.substring(0, 2)), Integer.parseInt(date.substring(2, 4)),
                 Integer.parseInt(date.substring(4, 6)), Integer.parseInt(date.substring(6, 8)),
                 Integer.parseInt(date.substring(8, 10)), Integer.parseInt(date.substring(10, 12)), true);
         if (!"鎿嶄綔鎴愬姛".equals(s)) {
@@ -142,7 +145,7 @@
         System.out.println("璁剧疆璐圭巼寮�濮�");
         C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid).last("limit 1"));
         List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id()));
-        if (list == null && list.size() == 0) {//璐圭巼琛ㄤ腑娌℃湁姝ゅ厖鐢垫々鏁版嵁鏃�  娣诲姞榛樿璐圭巼
+        if (list.size() == 0) {//璐圭巼琛ㄤ腑娌℃湁姝ゅ厖鐢垫々鏁版嵁鏃�  娣诲姞榛樿璐圭巼
             c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
         }
         String rateState = setRate(newC3Mac, list, true);
@@ -159,9 +162,9 @@
         Set<String> keys = RedisUtils.getBean().keys(C3mRedisConstant.C3_STATUS.getCode() + "*");
 
         C3mRedisConfig.reFlushTime(keys.size());
-        String time1 = SetHeartbeatPacketTimeCharging(newC3Mac, C3mRedisConfig.parseInt(C3mRedisConfig.HEART_BEAT_TIME) * 2, false, true);
+        String time1 = SetHeartbeatPacketTimeCharging(one.getC3Id(), C3mRedisConfig.parseInt(C3mRedisConfig.HEART_BEAT_TIME) * 2, false, true);
         LogUtils.error("C3绌洪棽蹇冭烦鍖呮椂闂村悓姝ュ搷搴旂粨鏋滐細" + time1);
-        String time2 = SetHeartbeatPacketTimeCharging(newC3Mac, C3mRedisConfig.parseInt(C3mRedisConfig.HEART_BEAT_TIME), true, true);
+        String time2 = SetHeartbeatPacketTimeCharging(one.getC3Id(), C3mRedisConfig.parseInt(C3mRedisConfig.HEART_BEAT_TIME), true, true);
         LogUtils.error("C3鍏呯數鏃跺績璺冲寘鏃堕棿鍚屾鍝嶅簲缁撴灉锛�" + time2);
         System.out.println("璁剧疆蹇冭烦鍖呴棿闅旀椂闂寸粨鏉�");
 
@@ -171,7 +174,7 @@
          * 鑾峰彇蹇冭烦鍖咃紝鍒ゆ柇鍦ㄧ嚎
          */
         System.out.println("鑾峰彇蹇冭烦鍖呭紑濮�");
-        A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = ReadTheHeartbeatPackage(newC3Mac, true);
+        A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = ReadTheHeartbeatPackage(one.getC3Id(), true);
         if (aPackage == null) {
             LogUtils.error("璇诲彇蹇冭烦鍖呬负绌�");
             return false;
@@ -361,7 +364,7 @@
         if (one == null) {
             throw new BusinessException("鍏呯數妗╀俊鎭笉瀛樺湪锛�");
         }
-        A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage beatDataPackage = ReadTheHeartbeatPackage(one.getC3Mac(), false);
+        A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage beatDataPackage = ReadTheHeartbeatPackage(one.getC3Id(), false);
         if (beatDataPackage != null) {
             //鍏呯數妗㊣D
             chargingDto.setC3Id(one.getC3Id());
@@ -480,18 +483,21 @@
 
     /**
      * 缁撴潫鍏呯數
-     *
-     * @param c3Mac
      */
     @Transactional(rollbackFor = Exception.class)
-    public String finishCharging(String c3Mac, String openId) {
+    public String finishCharging(Long c3Id, String openId) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
         //鏌ヨ
         if (openId.isEmpty()) {
             throw new BusinessException("openId涓嶈兘涓虹┖");
         }
         //鏌ヨ璇ュ厖鐢垫々鏈�杩戠殑璁㈠崟
         C3mOrder order = SpringContextHolder.getBean(C3mOrderService.class).getOne(Wrappers.lambdaQuery(C3mOrder.class)
-                .eq(C3mOrder::getC3Mac, c3Mac).eq(C3mOrder::getChargingStates, 0).last("limit 1"));
+                .eq(C3mOrder::getC3Mac, one.getC3Mac()).eq(C3mOrder::getChargingStates, 0).last("limit 1"));
 
         if (order == null) {
             throw new BusinessException("鍏呯數妗╂病鏈夎繘琛屼腑鐨勮鍗�");
@@ -501,23 +507,20 @@
         }
 
         C3FinishChargingReqInnerFrame c3FinishChargingReqInnerFrame =
-                new C3FinishChargingReqInnerFrame(c3Mac);
+                new C3FinishChargingReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3FinishChargingReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-缁撴潫鍏呯數", a5Frame, commonFrame);
+
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-缁撴潫鍏呯數", a5Frame, commonFrame);
         System.out.println(commonFrame + "            -----commonFrame");
 
         A5C3OperationReportInnerFrame operationReportInnerFrame = new A5C3OperationReportInnerFrame().transformFrame(commonFrame.getPayload());
 
         //缁撴潫鍏呯數 鏇存敼璁㈠崟鐘舵��
-        C3mOrder lastOrderByC3Mac = SpringContextHolder.getBean(C3mOrderService.class).getLastOrderByC3Mac(c3Mac);
+        C3mOrder lastOrderByC3Mac = SpringContextHolder.getBean(C3mOrderService.class).getLastOrderByC3Mac(one.getC3Mac());
         if (lastOrderByC3Mac != null) {
             //璁剧疆璁㈠崟鐘舵�佷负宸插畬鎴�
             lastOrderByC3Mac.setOrderStatus(OrderStatus.COMPLETE.getStatus());
@@ -610,22 +613,21 @@
 
     /**
      * 鏌ヨ鐗堟湰
-     *
-     * @param c3Mac
      */
-    public String QueryVersion(String c3Mac) {
+    public String QueryVersion(Long c3Id) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
         C3QueryVersionReqInnerFrame c3QueryVersionReqInnerFrame =
-                new C3QueryVersionReqInnerFrame(c3Mac);
+                new C3QueryVersionReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3QueryVersionReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-鐗堟湰鏌ヨ", a5Frame, commonFrame);
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-鐗堟湰鏌ヨ", a5Frame, commonFrame);
 
 
         System.out.println(commonFrame + "            -----commonFrame");
@@ -641,22 +643,21 @@
 
     /**
      * 鏌ヨ蹇冭烦鍖呴棿闅旀椂闂�
-     *
-     * @param c3Mac
      */
-    public String QueryIntervalTime(String c3Mac) {
+    public String QueryIntervalTime(Long c3Id) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
         C3QueryIntervalTimeReqInnerFrame c3QueryIntervalTimeReqInnerFrame =
-                new C3QueryIntervalTimeReqInnerFrame(c3Mac);
+                new C3QueryIntervalTimeReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3QueryIntervalTimeReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-鏌ヨ蹇冭烦鍖呴棿闅旀椂闂�", a5Frame, commonFrame);
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-鏌ヨ蹇冭烦鍖呴棿闅旀椂闂�", a5Frame, commonFrame);
 
         System.out.println(commonFrame + "            -----commonFrame");
 
@@ -671,22 +672,22 @@
 
     /**
      * 鏌ヨ鐢靛帇/鐢垫祦甯告暟
-     *
-     * @param c3Mac
      */
-    public String QueryConstant(String c3Mac) {
+    public String QueryConstant(Long c3Id) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
+
         C3QueryConstantReqInnerFrame c3QueryConstantReqInnerFrame =
-                new C3QueryConstantReqInnerFrame(c3Mac);
+                new C3QueryConstantReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3QueryConstantReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-鏌ヨ鐢靛帇/鐢垫祦甯告暟", a5Frame, commonFrame);
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-鏌ヨ鐢靛帇/鐢垫祦甯告暟", a5Frame, commonFrame);
 
 
         System.out.println(commonFrame + "            -----commonFrame");
@@ -702,23 +703,21 @@
 
     /**
      * 鏌ヨ鍦板潃
-     *
-     * @param c3Mac
      */
-    public String QueryAddress(String c3Mac) {
+    public String QueryAddress(Long c3Id) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
         C3QueryAddressReqInnerFrame c3QueryAddressReqInnerFrame =
-                new C3QueryAddressReqInnerFrame(c3Mac);
+                new C3QueryAddressReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3QueryAddressReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-鏌ヨ鍦板潃", a5Frame, commonFrame);
-
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-鏌ヨ鍦板潃", a5Frame, commonFrame);
 
         System.out.println(commonFrame + "            -----commonFrame");
 
@@ -733,22 +732,21 @@
 
     /**
      * 鏌ヨ鏁呴殰鐮�
-     *
-     * @param c3Mac
      */
-    public String QueryFaultCode(String c3Mac) {
+    public String QueryFaultCode(Long c3Id) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
         C3QueryFaultCodeReqInnerFrame c3QueryFaultCodeReqInnerFrame =
-                new C3QueryFaultCodeReqInnerFrame(c3Mac);
+                new C3QueryFaultCodeReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3QueryFaultCodeReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-鏌ヨ鏁呴殰鐮�", a5Frame, commonFrame);
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-鏌ヨ鏁呴殰鐮�", a5Frame, commonFrame);
 
 
         System.out.println(commonFrame + "            -----commonFrame");
@@ -765,27 +763,27 @@
     /**
      * 璇诲績璺冲寘
      *
-     * @param c3Mac
      * @param resendFlag 閲嶅彂鏍囧織
      */
-    public A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage ReadTheHeartbeatPackage(String c3Mac, boolean resendFlag) {
+    public A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage ReadTheHeartbeatPackage(Long c3Id, boolean resendFlag) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
         C3ReadTheHeartbeatPackageReqInnerFrame readTheHeartbeatPackageReqInnerFrame =
-                new C3ReadTheHeartbeatPackageReqInnerFrame(c3Mac);
+                new C3ReadTheHeartbeatPackageReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), readTheHeartbeatPackageReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
         CommonFrame commonFrame;
         if (resendFlag) {
-            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame, true);
+            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame, true);
         } else {
-            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
+            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
         }
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-璇诲彇蹇冭烦鍖�", a5Frame, commonFrame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-璇诲彇蹇冭烦鍖�", a5Frame, commonFrame);
 
 
         System.out.println(commonFrame + "            -----commonFrame");
@@ -801,32 +799,32 @@
     /**
      * 璁剧疆蹇冭烦鍖呴棿闅旀椂闂�(绉掞級-鍏呯數鐘舵�佹椂/闈炲厖鐢电姸鎬佹椂
      *
-     * @param c3Mac
      * @param setTime
      * @param resndFlag 閲嶅彂鏍囧織
      * @return
      */
-    public String SetHeartbeatPacketTimeCharging(String c3Mac, int setTime, boolean flag, boolean resndFlag) {
+    public String SetHeartbeatPacketTimeCharging(Long c3Id, int setTime, boolean flag, boolean resndFlag) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
         if (setTime <= 0) {
             throw new BusinessException("璁剧疆鐨勫績璺冲寘闂撮殧鏃堕棿閿欒锛�");
         }
         C3SetHeartbeatPacketTimeReqInnerFrame setHeartbeatPacketTimeChargingReqInnerFrame =
-                new C3SetHeartbeatPacketTimeReqInnerFrame(c3Mac, setTime, flag);
+                new C3SetHeartbeatPacketTimeReqInnerFrame(one.getC3Mac(), setTime, flag);
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setHeartbeatPacketTimeChargingReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
         CommonFrame commonFrame;
         if (resndFlag) {
-            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame, true);
+            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame, true);
         } else {
-            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
+            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
         }
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-璁剧疆蹇冭烦鍖呴棿闅旀椂闂�", a5Frame, commonFrame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-璁剧疆蹇冭烦鍖呴棿闅旀椂闂�", a5Frame, commonFrame);
 
 
         System.out.println(commonFrame + "            -----commonFrame");
@@ -842,24 +840,23 @@
     /**
      * 璁剧疆鐢靛帇/鐢垫祦甯告暟(鍚勪竴瀛楄妭)(榛樿鍊�0xBC64)
      *
-     * @param c3Mac
      * @param constant
      * @return
      */
-    public String SetConstant(String c3Mac, String constant) {
+    public String SetConstant(Long c3Id, String constant) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
 
         C3SetConstantReqInnerFrame setConstantReqInnerFrame =
-                new C3SetConstantReqInnerFrame(c3Mac, constant);
+                new C3SetConstantReqInnerFrame(one.getC3Mac(), constant);
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setConstantReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-璁剧疆鐢靛帇/鐢垫祦甯告暟", a5Frame, commonFrame);
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-璁剧疆鐢靛帇/鐢垫祦甯告暟", a5Frame, commonFrame);
 
 
         System.out.println(commonFrame + "            -----commonFrame");
@@ -875,18 +872,17 @@
     /**
      * 璁剧疆鍦板潃
      *
-     * @param c3Mac
      * @param address
      * @return
      */
-    public String SetAddress(String c3Mac, String address, boolean resendFlag) {
-        if (address == null || address.length() != 8) {
-            throw new BusinessException("鍦板潃淇℃伅閿欒锛�");
+    public String SetAddress(Long c3Id, String address, boolean resendFlag) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
         }
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3MAC鍦板潃涓嶅瓨鍦�");
+        if (address == null || address.length() != 8) {
+            throw new BusinessException("鍦板潃淇℃伅閿欒锛�");
         }
 
         if (getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, address).last("limit 1")) != null) {
@@ -894,30 +890,30 @@
         }
 
         C3SetAddressReqInnerFrame setAddressReqInnerFrame =
-                new C3SetAddressReqInnerFrame(c3Mac, address);
+                new C3SetAddressReqInnerFrame(one.getC3Mac(), address);
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setAddressReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
         CommonFrame commonFrame;
         if (resendFlag) {
-            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame, true);
+            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame, true);
         } else {
-            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
+            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
         }
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-璁剧疆鍦板潃", a5Frame, commonFrame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-璁剧疆鍦板潃", a5Frame, commonFrame);
         System.out.println(commonFrame + "            -----commonFrame");
 
         //淇濆瓨鎿嶄綔鏃ュ織
-        String content = "鏃3Mac鍦板潃锛�" + c3Mac + "锛涙柊C3Mac鍦板潃锛�" + address;
+        String content = "鏃3Mac鍦板潃锛�" + one.getC3Mac() + "锛涙柊C3Mac鍦板潃锛�" + address;
         StoreOperationRecordsUtils.storeOperationData(null, null, "C3甯�-璁剧疆鍦板潃", content);
 
         A5C3OperationReportInnerFrame operationReportInnerFrame = new A5C3OperationReportInnerFrame().transformFrame(commonFrame.getPayload());
         if (operationReportInnerFrame.isValidate()) {
             if ("鎿嶄綔鎴愬姛".equals(operationReportInnerFrame.getState())) {
                 //淇敼鎴愬姛闇�瑕佹洿鏀规暟鎹簱鏁版嵁
-                C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
+                C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, one.getC3Mac()).last("limit 1"));
                 one.setC3Mac(address);
-                updateById(one);
+                updateById(c3mCharging);
             }
             return operationReportInnerFrame.getState();
         } else {
@@ -929,32 +925,30 @@
     /**
      * 璁剧疆鏃ュ巻锛堝悓蹇冭烦鍖呬腑鐨�6瀛楄妭鏃ユ湡鏃堕棿锛�
      *
-     * @param c3Mac
      * @param resendFlag 鏄惁闇�瑕侀噸鍙戞爣蹇�
      * @return
      */
-    public String SetCalendar(String c3Mac, int year, int month, int day, int hour, int min, int sec, boolean resendFlag) {
-
+    public String SetCalendar(Long c3Id, int year, int month, int day, int hour, int min, int sec, boolean resendFlag) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
 
         C3SetCalendarReqInnerFrame setCalendarReqInnerFrame =
-                new C3SetCalendarReqInnerFrame(c3Mac, year, month, day, hour, min, sec);
+                new C3SetCalendarReqInnerFrame(one.getC3Mac(), year, month, day, hour, min, sec);
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setCalendarReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
         CommonFrame commonFrame;
         if (resendFlag) {
             //闇�瑕侀噸鍙�
-            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame, true);
+            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame, true);
         } else {
             //涓嶉渶瑕侀噸鍙�
-            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
+            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
         }
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-璁剧疆鏃ュ巻", a5Frame, commonFrame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-璁剧疆鏃ュ巻", a5Frame, commonFrame);
 
         System.out.println(commonFrame + "            -----commonFrame");
 
@@ -1008,24 +1002,22 @@
     /**
      * 鏁呴殰鐮佷笂鎶ユ竻闄�
      *
-     * @param c3Mac
      * @return
      */
-    public String ClearedFaultCode(String c3Mac) {
-
+    public String ClearedFaultCode(Long c3Id) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
 
         C3ClearedFaultCodeReqInnerFrame clearedFaultCodeReqInnerFrame =
-                new C3ClearedFaultCodeReqInnerFrame(c3Mac);
+                new C3ClearedFaultCodeReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), clearedFaultCodeReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-娓呴櫎鏁呴殰鐮佷笂鎶�", a5Frame, commonFrame);
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-娓呴櫎鏁呴殰鐮佷笂鎶�", a5Frame, commonFrame);
 
         System.out.println(commonFrame + "            -----commonFrame");
 
@@ -1040,24 +1032,22 @@
     /**
      * 鎭㈠鍑哄巶鍊�
      *
-     * @param c3Mac
      * @return
      */
-    public String RestoreFactoryValue(String c3Mac) {
-
+    public String RestoreFactoryValue(Long c3Id) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
 
         C3RestoreFactoryValueReqInnerFrame restoreFactoryValueReqInnerFrame =
-                new C3RestoreFactoryValueReqInnerFrame(c3Mac);
+                new C3RestoreFactoryValueReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), restoreFactoryValueReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-鎭㈠鍑哄巶璁剧疆", a5Frame, commonFrame);
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-鎭㈠鍑哄巶璁剧疆", a5Frame, commonFrame);
 
         System.out.println(commonFrame + "            -----commonFrame");
 
@@ -1065,8 +1055,8 @@
         if (operationReportInnerFrame.isValidate()) {
             if ("鎿嶄綔鎴愬姛".equals(operationReportInnerFrame.getState())) {
                 //鎭㈠鍑哄巶璁剧疆鎴愬姛锛岄渶瑕佷慨鏀笴3Mac鍦板潃
-                c3mCharging.setC3Mac("00000000");
-                updateById(c3mCharging);
+                one.setC3Mac("00000000");
+                updateById(one);
             }
             return operationReportInnerFrame.getState();
         } else {
@@ -1076,22 +1066,22 @@
 
     /**
      * 杞噸鍚�
-     *
-     * @param c3Mac
      */
-    public String restartCharging(String c3Mac) {
+    public String restartCharging(Long c3Id) {
+        C3mCharging one = getById(c3Id);
+        if (one == null) {
+            System.out.println("鍏呯數妗╀笉瀛樺湪锛�");
+        }
+
+
         C3RestartChargingReqInnerFrame c3RestartChargingReqInnerFrame =
-                new C3RestartChargingReqInnerFrame(c3Mac);
+                new C3RestartChargingReqInnerFrame(one.getC3Mac());
 
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), c3RestartChargingReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
-        C3mCharging c3mCharging = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3Mac).last("limit 1"));
-        if (c3mCharging == null) {
-            throw new BusinessException("C3鍏呯數妗╃‖浠秏cu_udid涓嶅瓨鍦�");
-        }
-        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
-        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3甯�-杞噸鍚�", a5Frame, commonFrame);
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(one.getPoleDevicesCode(), a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(one.getC3Mac(), "C3甯�-杞噸鍚�", a5Frame, commonFrame);
 
 
         System.out.println(commonFrame + "            -----commonFrame");
@@ -1133,9 +1123,7 @@
          * 娣诲姞鍏呯數妗� 鏃ュ織璁板綍缁撴潫
          */
 
-        return
-
-                save(c3mCharging);
+        return save(c3mCharging);
 
     }
 
@@ -1178,4 +1166,32 @@
     }
 
 
+    /**
+     * 鍚慠edis涓瓨鍏ヨ澶囩姸鎬�
+     */
+//    public void setCacheData() {
+//        list().forEach(
+//                device -> {
+//                    RedisDeviceStatus deviceStatus = new RedisDeviceStatus();
+//                    deviceStatus.setDeviceId(device.getC3Id().toString());
+//                    if (device != null) {
+//                        A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage beatDataPackage = ReadTheHeartbeatPackage(device.getC3Id(), false);
+//                        if (beatDataPackage != null) {
+//                            //鍦ㄧ嚎鐘舵�� 1.绌洪棽 2.鍏呯數涓� 3.鍏呯數涓柇锛岀瓑寰呮湇鍔″櫒纭 4.鍏呯數缁撴潫锛岀瓑寰呮湇鍔″櫒纭 5.鏈夋晠闅� 6.涓庡厖鐢垫々瀵规帴涓�
+//                            if (Integer.valueOf(beatDataPackage.getStatusBit()) == 5) {
+//                                deviceStatus.setStatus(2);
+//                            } else {
+//                                deviceStatus.setStatus(0);
+//                            }
+//
+//                        } else {
+//                            deviceStatus.setStatus(1);
+//                        }
+//                    }
+//                    redisUtils.set(DeviceRedisKey.C3M + device.getC3Id(), JSON.toJSONString(deviceStatus));
+////                    redisUtils.delete(DeviceRedisKey.C3M + device.getC3Id());
+//                }
+//        );
+//
+//    }
 }

--
Gitblit v1.9.3