From 23fd3f969d2e35c40742b6cd69a24ddf0195732a Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 29 六月 2022 15:25:07 +0800
Subject: [PATCH] fix
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java | 64 +++++++++++++++++++++++---------
1 files changed, 46 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..eb6b176 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,17 +31,16 @@
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;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
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 +212,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;
}
/**
@@ -326,6 +348,7 @@
*
* @param c3Mac
*/
+ @Transactional(rollbackFor = Exception.class)
public String finishCharging(String c3Mac) {
C3FinishChargingReqInnerFrame c3FinishChargingReqInnerFrame =
@@ -347,13 +370,18 @@
//缁撴潫鍏呯數 鏇存敼璁㈠崟鐘舵��
C3mOrder lastOrderByC3Mac = SpringContextHolder.getBean(C3mOrderService.class).getLastOrderByC3Mac(c3Mac);
if (lastOrderByC3Mac != null) {
+ //璁剧疆璁㈠崟鐘舵�佷负宸插畬鎴�
lastOrderByC3Mac.setOrderStatus(OrderStatus.COMPLETE.getStatus());
+
BigDecimal actualChargingCapacity = BigDecimal.valueOf(lastOrderByC3Mac.getActualChargingCapacity());
BigDecimal actualChargingCapacityHide = BigDecimal.valueOf(lastOrderByC3Mac.getActualChargingCapacityHide());
+ //璁剧疆瀹為檯鍏呯數鐢甸噺
lastOrderByC3Mac.setActualChargingCapacity(actualChargingCapacity.add(actualChargingCapacityHide).doubleValue());
//璁剧疆璁㈠崟缁撴潫鏃堕棿
lastOrderByC3Mac.setStopChargingTimestamp(System.currentTimeMillis());
lastOrderByC3Mac.setActualChargingCapacity(0.00);
+ //璁剧疆璁㈠崟鐘舵�佷负鍏呯數缁撴潫
+ lastOrderByC3Mac.setChargingStates(1);
SpringContextHolder.getBean(C3mOrderService.class).updateById(lastOrderByC3Mac);
}
if (operationReportInnerFrame.isValidate()) {
--
Gitblit v1.9.3