diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryEquipChargeStatusController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryEquipChargeStatusController.java index 81b12a10..ade4f13e 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryEquipChargeStatusController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryEquipChargeStatusController.java @@ -1,5 +1,6 @@ package com.xhpc.evcs.api; +import com.xhpc.common.data.redis.CacheRateModel; import com.xhpc.common.data.redis.CacheRealtimeData; import com.xhpc.evcs.domain.EtOrderMapping; import com.xhpc.evcs.dto.ChargeInfoRequest; @@ -22,6 +23,7 @@ import java.io.IOException; import java.util.Map; import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; +import static com.xhpc.evcs.notification.NotificationEquipChargeStatusTask.calculateEm; @RestController() public class QueryEquipChargeStatusController { @@ -112,16 +114,9 @@ public class QueryEquipChargeStatusController { CacheRealtimeData orderLord = REDIS.getCacheObject("order:" + internalOrderNum + ".lord"); Double chargingDegree = Double.valueOf(orderLord.getChargingDegree()); equipChargeStatus.setTotalPower(chargingDegree / 10000); - -// ChargeDetails detail = new ChargeDetails(); -// detail.setDetailStartTime(equipChargeStatus.getStartTime()); -// detail.setDetailEndTime(endTime); -// detail.setDetailSeviceMoney(equipChargeStatus.getSeviceMoney()); -// detail.setDetailElecMoney(equipChargeStatus.getElecMoney()); -// detail.setDetailPower(equipChargeStatus.getTotalPower()); -// ChargeDetails[] details = {detail}; -// equipChargeStatus.setChargeDetails(details); - + final Long rateModelId = (Long) cacheGunData.get("rateModelId"); + final CacheRateModel cacheRateModel = REDIS.getCacheObject("rateModel:" + rateModelId); + calculateEm(equipChargeStatus, cacheRateModel); CommonResponse response = new CommonResponse(); response.setRet(EvcsConst.RET_SUCC); response.setData(JSONUtil.toJSONString(equipChargeStatus)); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java index fc34badd..38c60d47 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java @@ -92,7 +92,7 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { } } - private void calculateEm(EquipChargeStatus equipChargeStatus, CacheRateModel cacheRateModel) { + public static void calculateEm(EquipChargeStatus equipChargeStatus, CacheRateModel cacheRateModel) { final Date endTime = DateUtil.string2Date(equipChargeStatus.getEndTime()); final Date startTime = DateUtil.string2Date(equipChargeStatus.getStartTime()); @@ -161,8 +161,8 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { peek.setDetailPower(BigDecimal.valueOf(peek.getDetailPower()).add(oddp).setScale(2, RoundingMode.HALF_UP).doubleValue()); } - private void calculateCD(CacheRateModel cacheRateModel, String rtf, - BigDecimal timePeriodRatio, BigDecimal tpPower, ChargeDetails cd) { + private static void calculateCD(CacheRateModel cacheRateModel, String rtf, + BigDecimal timePeriodRatio, BigDecimal tpPower, ChargeDetails cd) { cd.setDetailPower(BigDecimal.valueOf(cd.getDetailPower() + tpPower.multiply(timePeriodRatio).doubleValue()).setScale(2, RoundingMode.HALF_UP).doubleValue()); Integer powerPrice;