From eaaa758b02a4a3b2633393322bf4f128edaa6c14 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 17 八月 2022 15:13:04 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java |   46 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java
index 65d09f0..8703cb6 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java
@@ -5,8 +5,10 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.param.C3mChargingChargeParam;
 import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
+import com.sandu.ximon.dao.domain.C3mCharging;
 import com.sandu.ximon.dao.domain.C3mChargingCharge;
 import com.sandu.ximon.dao.domain.PoleBinding;
 import com.sandu.ximon.dao.mapper.C3mChargingChargeMapper;
@@ -41,10 +43,25 @@
      * @param
      * @return
      */
-    public boolean updateCharge(List<C3mChargingCharge> chargeEntities) {
+    public boolean updateCharge(List<C3mChargingCharge> chargeEntities) {  //TODO
         //  鍒犻櫎鍘熸湰瀛樺湪鐨勮垂鐜�
-        c3mChargingChargeMapper.deleteCharge(chargeEntities.get(0).getC3Id());
+        Integer c3Id = chargeEntities.get(0).getC3Id();
+
+        if (c3Id == null) {
+            throw new BusinessException("c3Id涓嶈兘涓虹┖");
+        }
+        c3mChargingChargeMapper.deleteCharge(c3Id);
         Long timestamp = new Date().getTime();
+
+        C3ChargingService chargingService = SpringContextHolder.getBean(C3ChargingService.class);
+        C3mCharging byId = chargingService.getById(c3Id);
+        if (byId == null) {
+            throw new BusinessException("c3Id涓嶅瓨鍦�");
+        }
+        String s = chargingService.setRate(byId.getC3Mac(), chargeEntities);
+        if (!"鎿嶄綔鎴愬姛".equals(s)) {
+            throw new BusinessException("璁剧疆澶辫触,澶辫触鍘熷洜: " + s);
+        }
         //  灏嗚垂鐜囨坊鍔犺嚦鏁版嵁搴�
         for (C3mChargingCharge c3m : chargeEntities) {
             c3m.setTimestamp(timestamp);
@@ -177,6 +194,20 @@
      * @return
      */
     public BigDecimal getCostByC3id(Long c3Id, Integer power) {
+        BigDecimal chargeDecimal = getchargeDecimalByC3id(c3Id);
+        BigDecimal powerDecimal = new BigDecimal(power);
+        BigDecimal result = chargeDecimal.multiply(powerDecimal);
+        return result;
+    }
+
+
+    /**
+     * 鏍规嵁c3Id鏌ユ壘璐圭巼
+     *
+     * @param c3Id
+     * @return
+     */
+    public BigDecimal getchargeDecimalByC3id(Long c3Id) {
         List<C3mChargingCharge> list = list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3Id));
         //鑾峰彇褰撳墠鏃堕棿
         LocalTime localTime = LocalTime.now();
@@ -209,10 +240,11 @@
             //鍏朵粬璐圭巼鏃讹紝鑾峰彇榛樿璐圭巼
             charge = 8.8;
         }
-        //璁$畻鑺辫垂  璐圭巼*鐢甸噺
-        BigDecimal chargeDecimal = new BigDecimal(charge);
-        BigDecimal powerDecimal = new BigDecimal(power);
-        BigDecimal result = chargeDecimal.multiply(powerDecimal);
-        return result;
+
+        //charge杞寲涓築igDecimal
+        //double鐩存帴浣跨敤 new BigDecimal()鏃朵細鍑虹幇绮惧害闂锛屾墍浠ラ渶瑕佷娇鐢˙igDecimal.valueOf()鏂规硶  骞惰缃簿搴︿负2浣嶅皬鏁�
+        BigDecimal chargeDecimal = BigDecimal.valueOf(charge).setScale(2, BigDecimal.ROUND_HALF_UP);
+
+        return chargeDecimal;
     }
 }

--
Gitblit v1.9.3