From 14d920beb67e0f2d1d0e4a390e9834f4fcfd79dc Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 16 十月 2024 19:21:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index a815719..9e757f3 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1692,6 +1692,7 @@
 	 * @param query
 	 */
 	@Override
+	@GlobalTransactional(rollbackFor = Exception.class)
 	public void chargeMonitoring(UploadRealTimeMonitoringDataQuery query) {
 		if(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(query.getTransaction_serial_number())){
 			//获取当前的计费策略
@@ -1787,12 +1788,17 @@
 			BigDecimal residualAmount = chargingOrder.getRechargeAmount().subtract(t).setScale(4, RoundingMode.HALF_EVEN);
 			chargingOrder.setResidualAmount(residualAmount);
 			if(query.getOutput_current().compareTo(BigDecimal.ZERO) != 0){
-				BigDecimal divide = query.getOutput_current().multiply(query.getOutput_voltage()).divide(new BigDecimal(1000));
+				BigDecimal divide = (query.getOutput_current().multiply(query.getOutput_voltage())).divide(new BigDecimal(1000));
 				chargingOrder.setChargingPower(divide);
 				chargingOrder.setCurrent(query.getOutput_current());
 				chargingOrder.setVoltage(query.getOutput_voltage());
 				chargingOrder.setPower(query.getOutput_current().multiply(query.getOutput_voltage()));
 				chargingOrder.setNeedElec(query.getOutput_current());
+				
+				TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
+				chargingGun.setChargingPower(divide);
+				chargingGun.setSoc(query.getSoc());
+				chargingGunClient.updateChargingGunById(chargingGun);
 			}
 			chargingOrder.setElectricity(query.getCharging_degree());
 			chargingOrder.setTotalElectricity(new BigDecimal(100 - query.getSoc()));
@@ -1959,12 +1965,14 @@
 			order.setEndMode(1);
 		}
 		order.setResidualAmount(rechargeAmount.subtract(total));
-		order.setEndTime(LocalDateTime.now());
+		order.setStartTime(LocalDateTime.parse(vo.getStart_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS")));
+		order.setEndTime(LocalDateTime.parse(vo.getEnd_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS")));
 		order.setStatus(5);
 		order.setOrderAmount(orderAmount);
 		order.setVipDiscountAmount(discountAmount);
 		order.setServiceCharge(periodServicePrice_total);
 		order.setElectrovalence(periodElectricPrice_total);
+		order.setChargingCapacity(vo.getTotal_electricity());
 		
 		//计算优惠券
 		if(null != chargingOrder.getAppCouponId()){
@@ -2010,6 +2018,8 @@
 		// 将枪状态重置为空闲
 		TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
 		chargingGun.setStatus(2);
+		chargingGun.setChargingPower(BigDecimal.ZERO);
+		chargingGun.setSoc(0);
 		chargingGunClient.updateChargingGunById(chargingGun);
 		
 		//添加积分

--
Gitblit v1.7.1