From e2cd9cea69f4b4dfabe18a0f6915b67bf38b2fe7 Mon Sep 17 00:00:00 2001 From: ZZ Date: Thu, 11 Nov 2021 11:50:10 +0800 Subject: [PATCH] =?UTF-8?q?WIP:=E4=B8=89=E6=96=B9=E5=AF=B9=E6=8E=A5?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/QueryEquipChargeStatusController.java | 9 +++++---- .../evcs/api/QueryStationsInfoController.java | 2 +- .../NotificationEquipChargeStatusTask.java | 17 +++++++++-------- .../main/java/com/xhpc/evcs/utils/DateUtil.java | 5 +++++ .../xhpc/pp/controller/ChargingController.java | 5 +++++ .../pp/logic/RemoteStartReplyDataLogic.java | 4 +++- 6 files changed, 28 insertions(+), 14 deletions(-) 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 64d7b214..9bc7570e 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 @@ -68,7 +68,6 @@ public class QueryEquipChargeStatusController { equipChargeStatus.setStartChargeSeqStat(startChargeSeqStat); //充电设备接口编码 String connectorId = internalOrderNum.substring(0, 16); -// CacheOrderData cacheOrderData = (CacheOrderData) order.get("orderData"); //充电设备接口状态 Map cacheGunData = REDIS.getCacheMap("gun:" + connectorId); String gunStatus = (String) cacheGunData.get("status"); @@ -104,11 +103,13 @@ public class QueryEquipChargeStatusController { String startTime = (String) order.get("startTime"); equipChargeStatus.setStartTime(startTime); //本次采样时间 直接new一个当前时间的Date就可以了 - equipChargeStatus.setEndTime(DateUtil.getNowDateStr()); + equipChargeStatus.setEndTime(DateUtil.getYyyyMmDdHhMmSs()); + final Integer chargeModel = (Integer) order.get("chargeModel"); + equipChargeStatus.setChargeModel(chargeModel == null ? 0 : chargeModel); //累计充电量 CacheRealtimeData orderLord = REDIS.getCacheObject("order:" + internalOrderNum + ".lord"); Double chargingDegree = Double.valueOf(orderLord.getChargingDegree()); - equipChargeStatus.setTotalPower(chargingDegree); + equipChargeStatus.setTotalPower(chargingDegree / 10000); // ChargeDetails detail = new ChargeDetails(); // detail.setDetailStartTime(equipChargeStatus.getStartTime()); @@ -122,7 +123,7 @@ public class QueryEquipChargeStatusController { CommonResponse response = new CommonResponse(); response.setRet(EvcsConst.RET_SUCC); response.setData(JSONUtil.toJSONString(equipChargeStatus)); - response.setMsg("操作成功"); + response.setMsg("success"); return response; } } diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStationsInfoController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStationsInfoController.java index 4edb291a..a9a77eb1 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStationsInfoController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStationsInfoController.java @@ -339,7 +339,7 @@ public class QueryStationsInfoController { cachePile.put("connectorType", xhpcChargingPile.getType() == null ? 4 : xhpcChargingPile.getType()); cachePile.put("voltageUpperLimits", xhpcChargingPile.getMaxVoltage().intValue()); cachePile.put("voltageLowerLimits", xhpcChargingPile.getMinVoltage().intValue()); - cachePile.put("current", xhpcChargingPile.getCurrent()); + cachePile.put("currentLimit", xhpcChargingPile.getCurrent()); cachePile.put("power", xhpcChargingPile.getPower()); cachePile.put("nationalStandard", xhpcChargingPile.getNationalStandard().equals("2011") ? 1 : 2); cachePile.put("equipmentType", xhpcChargingPile.getType()); 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 eb9fe765..db14ff3d 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 @@ -53,7 +53,8 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { if (isInteger(status)) { final String orderkey = cacheGun.get("orderkey").toString(); EquipChargeStatus equipChargeStatus = new EquipChargeStatus(); -// equipChargeStatus.setStartChargeSeq(transferInternetOrderNo(orderkey)); //todo + equipChargeStatus.setStartChargeSeq(REDIS.getCacheMapValue(orderkey.replace("order:", "pushOrder:"), + "internetSerialNumber")); equipChargeStatus.setStartChargeSeqStat(2); equipChargeStatus.setConnectorID(orderkey.substring(6, 22)); String current = REDIS.getCacheMapValue(gunkey, "current"); @@ -98,7 +99,7 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { final String rtf = cacheRateModel.getTfPricesSeq()[tf]; BigDecimal timePeriodRatio = BigDecimal.valueOf(60).divide(minutes, 2, RoundingMode.HALF_UP); BigDecimal tpPower = BigDecimal.valueOf(equipChargeStatusCD.getTotalPower()).multiply(timePeriodRatio); - calculateCD(equipChargeStatusCD, cacheRateModel, rtf, timePeriodRatio, tpPower, cd); + calculateCD(cacheRateModel, rtf, timePeriodRatio, tpPower, cd); if (i == 0) { cd.setDetailStartTime(equipChargeStatusCD.getStartTime()); } else { @@ -123,7 +124,7 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { BigDecimal tpPower = BigDecimal.valueOf(equipChargeStatusCD.getTotalPower()) .multiply(timePeriodRatio).divide(BigDecimal.valueOf(100000), 2, RoundingMode.HALF_UP); ChargeDetails cd = new ChargeDetails(); - calculateCD(equipChargeStatusCD, cacheRateModel, rtf, timePeriodRatio, tpPower, cd); + calculateCD(cacheRateModel, rtf, timePeriodRatio, tpPower, cd); firstNElecMoney += cd.getDetailElecMoney(); cd.setDetailStartTime(firstNDT.toString(DATE_FORMAT_DATE_TIME)); chargeDetails.add(cd); @@ -134,7 +135,7 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { equipChargeStatusCD.setSeviceMoney(equipChargeStatusCD.getTotalMoney() - firstNElecMoney); } - private void calculateCD(EquipChargeStatus equipChargeStatusCD, CacheRateModel cacheRateModel, String rtf, + private void calculateCD(CacheRateModel cacheRateModel, String rtf, BigDecimal timePeriodRatio, BigDecimal tpPower, ChargeDetails cd) { cd.setDetailPower(tpPower.multiply(timePeriodRatio).doubleValue()); @@ -163,13 +164,13 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { public void notify(EquipChargeStatus equipChargeStatus, AuthSecretToken authSecretTokenOut) throws IOException { - String operatorIdEvcs = "MA6DFCTD5"; String data = JSONUtil.toJSONString(equipChargeStatus); - logger.debug(data); CommonRequest commonRequest = new CommonRequest<>(); - commonRequest.setOperatorId(operatorIdEvcs); + final String operatorId = authSecretTokenOut.getOperatorId3irdpty().equals("765367656") ? + authSecretTokenOut.getOperatorId() : "MA6DFCTD5"; + commonRequest.setOperatorId(operatorId); commonRequest.setData(data); - String responseBody = ok(commonRequest, "/notification_equip_charge_status", authSecretTokenOut, operatorIdEvcs); + String responseBody = ok(commonRequest, "/notification_equip_charge_status", authSecretTokenOut, operatorId); EquipChargeStatusRes equipChargeStatusRes = DTOJsonHelper.parseResponseData(responseBody, EquipChargeStatusRes.class, authSecretTokenOut); if (equipChargeStatusRes != null && equipChargeStatusRes.getSuccStat() != 0) { diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/utils/DateUtil.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/utils/DateUtil.java index 5901d846..6455a585 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/utils/DateUtil.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/utils/DateUtil.java @@ -473,6 +473,11 @@ public class DateUtil { } + public static String getYyyyMmDdHhMmSs() { + + return DateTime.now().toString(DATE_FORMAT_DATE_TIME); + } + public static String getYYYY() { return String.valueOf(DateTime.now().getField(DateField.YEAR)); diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java index feb2597c..c7825d79 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java @@ -21,6 +21,9 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.io.IOException; +import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -257,6 +260,8 @@ public class ChargingController { cacheOrder.put("gunId", startChargingData.getGunId()); cacheOrder.put("tel", startChargingData.getTel()); cacheOrder.put("stopSoc", startChargingData.getSoc()); + cacheOrder.put("startTime", + DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss").withZone(ZoneId.systemDefault()).format(Instant.now())); REDIS.setCacheMap(orderkey, cacheOrder); return R.ok("充电指令已下发"); } catch (IOException e) { diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RemoteStartReplyDataLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RemoteStartReplyDataLogic.java index 08a14304..684f4bdf 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RemoteStartReplyDataLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RemoteStartReplyDataLogic.java @@ -57,7 +57,9 @@ public class RemoteStartReplyDataLogic implements ServiceLogic { REDIS.setCacheMap(gunkey, cacheGun); REDIS.setCacheMap(orderkey, cacheOrder); if (HEX_01.equals(remoteStartReplyData.getStartResult())) { - cacheGun.put("orderstarttime", DateUtil.format(Calendar.getInstance().getTime(), NORM_DATETIME_FORMAT)); + final String orderstarttime = DateUtil.format(Calendar.getInstance().getTime(), NORM_DATETIME_FORMAT); + cacheOrder.put("startTime", orderstarttime); + cacheGun.put("orderstarttime", orderstarttime); cacheGun.put("orderstoptime", null); cacheGun.put("orderkey", orderkey); REDIS.setCacheMap(gunkey, cacheGun);