From 9bc378e6bb9b4563a0dec222e1c2d5d3278632cb Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 17 九月 2025 17:41:54 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java | 77 +++++++++++++++++--------------------- 1 files changed, 34 insertions(+), 43 deletions(-) diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java index 3d77b64..2be7fa8 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java +++ b/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; - } - + @@ -252,7 +229,7 @@ @PostMapping("/query_token_jianguan") public BaseResult queryTokenJianguan(@RequestBody BaseRequest baseRequest, HttpServletRequest request){ log.info("三方平台获取token请求参数:" + JacksonUtils.toJson(baseRequest)); - BaseResult baseResult = requestCheckJianGuan(false, baseRequest, request); + BaseResult baseResult = requestCheck(false, baseRequest, request); if(0 != baseResult.getRet()){ log.info("三方平台获取token响应Data:"); baseResult.setData(""); @@ -300,7 +277,7 @@ public BaseResult queryStationsInfo(@RequestBody BaseRequest baseRequest, HttpServletRequest request){ log.info("三方平台查询充电站信息请求参数:" + JacksonUtils.toJson(baseRequest)); //校验token和签名 - BaseResult baseResult = requestCheckJianGuan(true, baseRequest, request); + BaseResult baseResult = requestCheck(true, baseRequest, request); if(0 != baseResult.getRet()){ log.info("三方平台查询充电站信息响应Data:"); baseResult.setData(""); @@ -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(); -- Gitblit v1.7.1