Pu Zhibing
18 小时以前 9bc378e6bb9b4563a0dec222e1c2d5d3278632cb
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -5,6 +5,7 @@
import com.alibaba.nacos.common.utils.JacksonUtils;
import com.ruoyi.chargingPile.api.feignClient.*;
import com.ruoyi.chargingPile.api.model.*;
import com.ruoyi.chargingPile.api.vo.GetChargingGunByChargingPileIdsVo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
import com.ruoyi.common.core.utils.StringUtils;
@@ -150,31 +151,7 @@
      }
      return baseResult;
   }
   public BaseResult requestCheckJianGuan(Boolean tokenCheck, BaseRequest baseRequest, HttpServletRequest request){
      Operator operator = new Operator();
      BaseResult baseResult = new BaseResult();
      baseResult.setRet(0);
      baseResult.setMsg("成功");
      baseResult.setOperatorID(baseRequest.getOperatorID());
      operator.setOperatorId(baseRequest.getOperatorID());
      Long mapKey = Long.valueOf(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
      baseResult.setTimeStamp(mapKey);
      baseResult.setSeq("0001");
      //校验token和签名
      String operatorID = baseRequest.getOperatorID();
      String sig = baseRequest.getSig();
      Long timeStamp = baseRequest.getTimeStamp();
      String data = baseRequest.getData();
      String seq = baseRequest.getSeq();
      baseResult.setOperator(operator);
      if(StringUtils.isEmpty(operatorID) || StringUtils.isEmpty(sig) || StringUtils.isEmpty(data) || StringUtils.isEmpty(seq) || null == timeStamp){
         baseResult.setRet(4003);
         baseResult.setMsg("参数异常");
         return baseResult;
      }
      return baseResult;
   }
   
   
   
@@ -348,7 +325,9 @@
      List<Integer> siteIds = sites.stream().map(Site::getId).collect(Collectors.toList());
      List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData();
      List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
      List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData();
      GetChargingGunByChargingPileIdsVo vo = new GetChargingGunByChargingPileIdsVo();
      vo.setChargingPileIds(collect1);
      List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(vo).getData();
      String serviceTel = systemConfigurationClient.getServerPhone().getData();
      List<StationInfo> StationInfos = new ArrayList<>();
      for (Site datum : sites) {
@@ -399,8 +378,8 @@
         stationInfo.setCountryCode(StringUtils.isNotEmpty(datum.getCountryCode()) ? datum.getCountryCode() : "CN");
         stationInfo.setAreaCode(datum.getDistrictsCode());
         stationInfo.setAddress(datum.getAddress());
         stationInfo.setStationTel(datum.getPhone());
         stationInfo.setServiceTel(serviceTel);
         stationInfo.setStationTel(StringUtils.isNotEmpty(serviceTel) ? serviceTel.split(",")[0] : "");
         stationInfo.setServiceTel(StringUtils.isNotEmpty(serviceTel) ? serviceTel.split(",")[0] : "");
         switch (datum.getSiteType()){
            case 0:
               stationInfo.setStationType(StationTypeEnum.OTHER.getType());
@@ -588,7 +567,7 @@
    * @return
    */
   @PostMapping("/pushChargingGunStatus")
   public R pushChargingGunStatus(@RequestParam("fullNumber") String fullNumber, @RequestParam("status") Integer status){
   public R pushChargingGunStatus(@RequestParam(value = "fullNumber") String fullNumber, @RequestParam(value = "status") Integer status){
      ConnectorStatusInfo connectorStatusInfo = new ConnectorStatusInfo();
      connectorStatusInfo.setConnectorID(fullNumber);
      switch (status){
@@ -651,7 +630,9 @@
      List<Integer> siteIds = data.stream().map(Site::getId).collect(Collectors.toList());
      List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData();
      List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
      List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData();
      GetChargingGunByChargingPileIdsVo vo = new GetChargingGunByChargingPileIdsVo();
      vo.setChargingPileIds(collect1);
      List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(vo).getData();
      
      QueryStationStatusResult result = new QueryStationStatusResult();
      result.setTotal(data.size());
@@ -1245,17 +1226,23 @@
      queryEquipChargeStatusResult.setEndTime((null == chargingOrder.getEndTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
      queryEquipChargeStatusResult.setTotalPower(chargingOrder.getElectricity());
      
      List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
      if(data.size() > 0){
         BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal totalMoney = totalElectricity.add(serviceCharge).setScale(4, RoundingMode.HALF_EVEN);
         queryEquipChargeStatusResult.setElecMoney(totalElectricity);
         queryEquipChargeStatusResult.setSeviceMoney(serviceCharge);
         queryEquipChargeStatusResult.setTotalMoney(chargingOrder.getPaymentAmount());
      }else{
         queryEquipChargeStatusResult.setTotalMoney(totalMoney);
      }else if(null != chargingOrder.getRechargeAmount() && null != chargingOrder.getResidualAmount()){
         queryEquipChargeStatusResult.setElecMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount()));
         queryEquipChargeStatusResult.setSeviceMoney(BigDecimal.ZERO);
         queryEquipChargeStatusResult.setTotalMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount()));
      }else{
         queryEquipChargeStatusResult.setElecMoney(BigDecimal.ZERO);
         queryEquipChargeStatusResult.setSeviceMoney(BigDecimal.ZERO);
         queryEquipChargeStatusResult.setTotalMoney(BigDecimal.ZERO);
      }
      
      //构建充电明细
@@ -1282,7 +1269,7 @@
         }
         chargeDetail.setElecPrice(datum.getElectrovalence());
         chargeDetail.setSevicePrice(datum.getServiceCharge());
         chargeDetail.setDetailPower(datum.getChargingCapacity());
         chargeDetail.setDetailPower(datum.getChargingCapacity().setScale(2, BigDecimal.ROUND_HALF_UP));
         chargeDetail.setDetailElecMoney(datum.getPeriodElectricPrice());
         chargeDetail.setDetailSeviceMoney(datum.getPeriodServicePrice());
         chargeDetails.add(chargeDetail);
@@ -1489,6 +1476,7 @@
      notificationChargeOrderInfo.setStartChargeSeq(startChargeSeq);
      TChargingOrder chargingOrder = chargingOrderClient.getChargingOrderByStartChargeSeq(startChargeSeq).getData();
      if(null == chargingOrder){
         log.info("三方平台流水号获取订单失败");
         return null;
      }
      TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
@@ -1499,11 +1487,12 @@
      
      List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
      if(data.size() > 0){
         BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         notificationChargeOrderInfo.setTotalElecMoney(totalElectricity.setScale(2, RoundingMode.HALF_EVEN));
         notificationChargeOrderInfo.setTotalSeviceMoney(serviceCharge.setScale(2, RoundingMode.HALF_EVEN));
         notificationChargeOrderInfo.setTotalMoney(chargingOrder.getPaymentAmount());
         BigDecimal totalElectricity = data.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN);
         BigDecimal serviceCharge = data.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.HALF_EVEN);
         BigDecimal totalMoney = totalElectricity.add(serviceCharge).setScale(4, RoundingMode.HALF_EVEN);
         notificationChargeOrderInfo.setTotalElecMoney(totalElectricity);
         notificationChargeOrderInfo.setTotalSeviceMoney(serviceCharge);
         notificationChargeOrderInfo.setTotalMoney(totalMoney);
      }else{
         notificationChargeOrderInfo.setTotalElecMoney(chargingOrder.getRechargeAmount().subtract(chargingOrder.getResidualAmount()));
         notificationChargeOrderInfo.setTotalSeviceMoney(BigDecimal.ZERO);
@@ -1556,7 +1545,7 @@
         }
         chargeDetail.setElecPrice(datum.getElectrovalence());
         chargeDetail.setSevicePrice(datum.getServiceCharge());
         chargeDetail.setDetailPower(datum.getChargingCapacity());
         chargeDetail.setDetailPower(datum.getChargingCapacity().setScale(2, BigDecimal.ROUND_HALF_UP));
         chargeDetail.setDetailElecMoney(datum.getPeriodElectricPrice());
         chargeDetail.setDetailSeviceMoney(datum.getPeriodServicePrice());
         chargeDetails.add(chargeDetail);
@@ -1751,7 +1740,7 @@
            }
            chargeDetail.setElecPrice(datum.getElectrovalence());
            chargeDetail.setSevicePrice(datum.getServiceCharge());
            chargeDetail.setDetailPower(datum.getChargingCapacity());
            chargeDetail.setDetailPower(datum.getChargingCapacity().setScale(2, BigDecimal.ROUND_HALF_EVEN));
            chargeDetail.setDetailElecMoney(datum.getPeriodElectricPrice());
            chargeDetail.setDetailSeviceMoney(datum.getPeriodServicePrice());
            chargeDetails.add(chargeDetail);
@@ -1888,7 +1877,9 @@
      List<TChargingPile> chargingPiles = chargingPileClient.getChargingPileBySiteIds(stationIDList).getData();
      if(!CollectionUtils.isEmpty(chargingPiles)){
         List<Integer> pileIds = chargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
         List<TChargingGun> chargingGuns = chargingGunClient.getChargingGunByChargingPileIds(pileIds).getData();
         GetChargingGunByChargingPileIdsVo vo = new GetChargingGunByChargingPileIdsVo();
         vo.setChargingPileIds(pileIds);
         List<TChargingGun> chargingGuns = chargingGunClient.getChargingGunByChargingPileIds(vo).getData();
         if(!CollectionUtils.isEmpty(chargingGuns)){
            for (Integer stationID : stationIDList) {
               StationStatusInfo stationStatusInfo = new StationStatusInfo();