Pu Zhibing
2025-01-26 6958d89bfec79450782f8352d5716d6603549b98
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -26,10 +26,7 @@
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.integration.api.feignClient.IntegrationClient;
import com.ruoyi.integration.api.feignClient.IotInterfaceClient;
import com.ruoyi.integration.api.feignClient.SendMessageClient;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.feignClient.*;
import com.ruoyi.integration.api.model.QrCodeDelivery;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.api.vo.AddDevice;
@@ -69,6 +66,9 @@
   
   @Resource
   private TChargingGunService chargingGunService;
   @Resource
   private TCECClient tcecClient;
   
   @Resource
   private SysUserClient sysUserClient;
@@ -268,10 +268,14 @@
         ShowDeviceResp showDeviceResp = iotInterfaceClient.showDeviceRequest(tChargingPile.getCode()).getData();
         if(null != showDeviceResp){
            DeleteDeviceResp deleteDeviceResp = iotInterfaceClient.deleteDevice(tChargingPile.getCode()).getData();
            if(null == deleteDeviceResp || (deleteDeviceResp.getHttpStatusCode() != 200 && deleteDeviceResp.getHttpStatusCode() != 201 && deleteDeviceResp.getHttpStatusCode() != 204)){
            if(null == deleteDeviceResp){
               return AjaxResult.error("删除设备异常,请查看华为设备管理");
            }
         }
      }
      ShowDeviceResp showDeviceResp = iotInterfaceClient.showDeviceRequest(tChargingPile.getCode()).getData();
      if(null == showDeviceResp){
         //调用华为Iot创建设备
         AddDevice addDevice = new AddDevice();
         addDevice.setProductId("66da68d21837002b28b34ec0");
@@ -480,11 +484,13 @@
      BigDecimal v = list.stream().map(TChargingPile::getRatedPower).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN);
      List<Double> data = chargingOrderAccountingStrategyClient.getDailyChargingDegree(6, siteIds).getData();
      List<Double> value2 = new ArrayList<>();
      BigDecimal multiply = new BigDecimal(list.size()).multiply(v).multiply(new BigDecimal(24));
      for (Double datum : data) {
         if(list.size() == 0){
            value2.add(0D);
         }else{
            Double datum1 = new BigDecimal(datum).divide(new BigDecimal(list.size()).multiply(v).multiply(new BigDecimal(24)), new MathContext(4, RoundingMode.HALF_EVEN)).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
            Double datum1 = new BigDecimal(datum).divide(multiply, new MathContext(4, RoundingMode.HALF_EVEN))
                  .multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
            value2.add(datum1);
         }
      }
@@ -683,6 +689,8 @@
            chargingGun1.setId(chargingGun.getId());
            chargingGun1.setStatus(1);
            chargingGunService.updateById(chargingGun1);
            //推送状态给三方平台
            tcecClient.pushChargingGunStatus(chargingGun1.getId(), chargingGun1.getStatus());
            
            //桩处于正常,桩所属的枪都处于非正常,修改桩状态为异常
            TChargingPile chargingPile = this.getById(chargingGun.getChargingPileId());