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 bfeac2ce..f54ad153 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 @@ -53,83 +53,88 @@ public class QueryEquipChargeStatusController { } String internalOrderNum = etOrderMapping.getXhOrderNo(); Map cacheOrder = REDIS.getCacheMap("order:" + internalOrderNum); - String orderStatus = (String) cacheOrder.get("status"); - int startChargeSeqStat = 0; - if (orderStatus == null) { - startChargeSeqStat = 5; - } else switch (orderStatus) { - case "启动中": - startChargeSeqStat = 1; - break; - case "充电中": - startChargeSeqStat = 2; - break; - case "停止中": - startChargeSeqStat = 3; - break; - case "已结束": - startChargeSeqStat = 4; - break; - default: - startChargeSeqStat = 5; - break; - } - equipChargeStatus.setStartChargeSeqStat(startChargeSeqStat); - //充电设备接口编码 - String connectorId = internalOrderNum.substring(0, 16); - equipChargeStatus.setConnectorID(connectorId); - //充电设备接口状态 - Map cacheGunData = REDIS.getCacheMap("gun:" + connectorId); - String gunStatus = (String) cacheGunData.get("status"); - int connectorStatus = 0; - switch (gunStatus) { - case "空闲": - connectorStatus = 1; - break; - case "离线": - connectorStatus = 2; - break; - case "故障": - connectorStatus = 255; - break; - default: - connectorStatus = 3; - break; - } - equipChargeStatus.setConnectorStatus(connectorStatus); - //A相电流 - Double current = (Double) cacheGunData.get("current"); - equipChargeStatus.setCurrentA(current); - //A相电压 - Double voltage = (Double) cacheGunData.get("voltage"); - equipChargeStatus.setVoltageA(voltage); - //电池剩余电量 - Integer endSoc = (Integer) cacheOrder.get("endSoc"); - Double soc = Double.valueOf(endSoc == null ? 0 : endSoc); - equipChargeStatus.setSoc(soc); - //开始充电时间 - String startTime = (String) cacheOrder.get("startTime"); - if (startTime == null) startTime = orderNo2DateStr(internalOrderNum); - equipChargeStatus.setStartTime(startTime); - //本次采样时间 直接new一个当前时间的Date就可以了 - CacheRealtimeData lord = REDIS.getCacheObject("order:" + internalOrderNum + ".lord"); - if (lord != null) { - equipChargeStatus.setEndTime(lord.getCreateTime()); - equipChargeStatus.setTotalMoney(lord.getAmountCharged() / 10000.0); - equipChargeStatus.setTotalPower(lord.getChargingDegree() / 10000.0); + if (cacheOrder == null) { + response.setRet(EvcsConst.RET_FAIL); + response.setMsg("Order cache data not found"); } else { - equipChargeStatus.setEndTime(equipChargeStatus.getStartTime()); - equipChargeStatus.setTotalMoney(0.0); - equipChargeStatus.setTotalPower(0.0); + String orderStatus = (String) cacheOrder.get("status"); + int startChargeSeqStat; + if (orderStatus == null) { + startChargeSeqStat = 5; + } else switch (orderStatus) { + case "启动中": + startChargeSeqStat = 1; + break; + case "充电中": + startChargeSeqStat = 2; + break; + case "停止中": + startChargeSeqStat = 3; + break; + case "已结束": + startChargeSeqStat = 4; + break; + default: + startChargeSeqStat = 5; + break; + } + equipChargeStatus.setStartChargeSeqStat(startChargeSeqStat); + //充电设备接口编码 + String connectorId = internalOrderNum.substring(0, 16); + equipChargeStatus.setConnectorID(connectorId); + //充电设备接口状态 + Map cacheGunData = REDIS.getCacheMap("gun:" + connectorId); + String gunStatus = (String) cacheGunData.get("status"); + int connectorStatus = 0; + switch (gunStatus) { + case "空闲": + connectorStatus = 1; + break; + case "离线": + connectorStatus = 2; + break; + case "故障": + connectorStatus = 255; + break; + default: + connectorStatus = 3; + break; + } + equipChargeStatus.setConnectorStatus(connectorStatus); + //A相电流 + Double current = (Double) cacheGunData.get("current"); + equipChargeStatus.setCurrentA(current); + //A相电压 + Double voltage = (Double) cacheGunData.get("voltage"); + equipChargeStatus.setVoltageA(voltage); + //电池剩余电量 + Integer endSoc = (Integer) cacheOrder.get("endSoc"); + Double soc = Double.valueOf(endSoc == null ? 0 : endSoc); + equipChargeStatus.setSoc(soc); + //开始充电时间 + String startTime = (String) cacheOrder.get("startTime"); + if (startTime == null) startTime = orderNo2DateStr(internalOrderNum); + equipChargeStatus.setStartTime(startTime); + //本次采样时间 直接new一个当前时间的Date就可以了 + CacheRealtimeData lord = REDIS.getCacheObject("order:" + internalOrderNum + ".lord"); + if (lord != null) { + equipChargeStatus.setEndTime(lord.getCreateTime()); + equipChargeStatus.setTotalMoney(lord.getAmountCharged() / 10000.0); + equipChargeStatus.setTotalPower(lord.getChargingDegree() / 10000.0); + } else { + equipChargeStatus.setEndTime(equipChargeStatus.getStartTime()); + equipChargeStatus.setTotalMoney(0.0); + equipChargeStatus.setTotalPower(0.0); + } + Integer chargeModel = (Integer) cacheOrder.get("chargeModel"); + equipChargeStatus.setChargeModel(chargeModel == null ? 0 : chargeModel); + final Long rateModelId = REDIS.getCacheMapValue("pile:".concat(connectorId.substring(0, 14)), "rateModelId"); + final CacheRateModel cacheRateModel = REDIS.getCacheObject("rateModel:" + rateModelId); + calculateEm(equipChargeStatus, cacheRateModel); + response.setRet(EvcsConst.RET_SUCC); + response.setData(JSONUtil.toJSONString(equipChargeStatus)); + response.setMsg("success"); } - Integer chargeModel = (Integer) cacheOrder.get("chargeModel"); - equipChargeStatus.setChargeModel(chargeModel == null ? 0 : chargeModel); - final Long rateModelId = REDIS.getCacheMapValue("pile:".concat(connectorId.substring(0, 14)), "rateModelId"); - final CacheRateModel cacheRateModel = REDIS.getCacheObject("rateModel:" + rateModelId); - calculateEm(equipChargeStatus, cacheRateModel); - response.setRet(EvcsConst.RET_SUCC); - response.setData(JSONUtil.toJSONString(equipChargeStatus)); - response.setMsg("success"); return response; } }