From 6b0f6b3cae661291ced89676bfc9481ebf7eb763 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 29 六月 2022 15:13:19 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java |   57 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 39 insertions(+), 18 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 8ceab17..261fdb0 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
@@ -8,6 +8,7 @@
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.config.C3mRedisConfig;
+import com.sandu.ximon.admin.dto.ChargingDto;
 import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
 import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame;
 import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3OperationReportInnerFrame;
@@ -30,6 +31,7 @@
 import com.sandu.ximon.dao.domain.C3mOrder;
 import com.sandu.ximon.dao.domain.PoleBinding;
 import com.sandu.ximon.dao.enums.OrderStatus;
+import com.sandu.ximon.dao.domain.*;
 import com.sandu.ximon.dao.mapper.C3mChargingMapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -37,10 +39,7 @@
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * @author ZZQ
@@ -212,24 +211,46 @@
     }
 
     /**
-     * 鏌ヨ鍏呯數妗�
+     * 鑾峰彇鍏呯數妗╄鎯�
      *
      * @return
      */
-    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) {
-            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);
+    public ChargingDto getChargingInfo(String poleId) {
+        if (poleId == null) {
+            throw new BusinessException("鐏潌ID涓嶈兘涓虹┖锛�");
         }
-        return one;
+
+        Pole pole = SpringContextHolder.getBean(PoleService.class).
+                getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId));
+        if (pole == null) {
+            throw new BusinessException("鍏呯數妗╃粦瀹氱殑鐏潌涓嶅瓨鍦紒");
+        }
+
+        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getPoleDevicesCode, pole.getDeviceCode()));
+        ChargingDto chargingDto = new ChargingDto();
+
+        if (one == null) {
+            throw new BusinessException("鍏呯數妗╀俊鎭笉瀛樺湪锛�");
+        }
+        A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage beatDataPackage = ReadTheHeartbeatPackage(one.getC3Mac());
+        if (beatDataPackage != null) {
+            //鍏呯數妗㊣D
+            chargingDto.setC3Id(one.getC3Id());
+            //C3Mac
+            chargingDto.setC3Mac(one.getC3Mac());
+            //鍦ㄧ嚎鐘舵��
+            chargingDto.setStatusBit(Integer.valueOf(beatDataPackage.getStatusBit()));
+            //鐢靛帇
+            chargingDto.setGridVoltage(beatDataPackage.getGridVoltage());
+            //鐢垫祦
+            chargingDto.setGridCurrent(beatDataPackage.getGridCurrent());
+            //娓╁害
+            chargingDto.setDeviceTemperature(beatDataPackage.getDeviceTemperature());
+            //鐏潌ID
+            chargingDto.setPoleId(pole.getId());
+        }
+
+        return chargingDto;
     }
 
     /**

--
Gitblit v1.9.3