|
@@ -99,42 +99,7 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
@Override
|
|
@Override
|
|
|
public ResponseParmsEntity chargeResponse(RequestParmsEntity requestDTO) {
|
|
public ResponseParmsEntity chargeResponse(RequestParmsEntity requestDTO) {
|
|
|
log.info("接收推送启动充电结果请求参数:{}", requestDTO);
|
|
log.info("接收推送启动充电结果请求参数:{}", requestDTO);
|
|
|
- return processChargeRequest(requestDTO, jsonNode -> {
|
|
|
|
|
- // 启动充电结果业务处理
|
|
|
|
|
- String startChargeSeq = jsonNode.get("StartChargeSeq").asText();
|
|
|
|
|
- int startChargeSeqStat = jsonNode.get("StartChargeSeqStat").asInt();
|
|
|
|
|
- ChargeOrderInfo chargeOrderInfo = chargeOrderInfoService.getOne(new LambdaQueryWrapper<ChargeOrderInfo>()
|
|
|
|
|
- .eq(ChargeOrderInfo::getStartChargeSeq, startChargeSeq).last("LIMIT 1"));
|
|
|
|
|
- if (startChargeSeqStat == 1) {
|
|
|
|
|
- // 启动中
|
|
|
|
|
- log.info("启动中 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
- }
|
|
|
|
|
- if (startChargeSeqStat == 2) {
|
|
|
|
|
- // 充电中
|
|
|
|
|
- log.info("充电中 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
- //修改订单状态
|
|
|
|
|
- if (ObjectUtil.isNotEmpty(chargeOrderInfo)) {
|
|
|
|
|
- if (Objects.equals(chargeOrderInfo.getStatus(), SystemConstants.STATUS_ZERO)){
|
|
|
|
|
- chargeOrderInfo.setStatus(SystemConstants.STATUS_ONE);
|
|
|
|
|
- chargeOrderInfoService.updateById(chargeOrderInfo);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- if (startChargeSeqStat == 3) {
|
|
|
|
|
- // 停止中
|
|
|
|
|
- log.info("停止中 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
- }
|
|
|
|
|
- if (startChargeSeqStat == 4) {
|
|
|
|
|
- // 已结束
|
|
|
|
|
- log.info("已结束 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
- }
|
|
|
|
|
- if (startChargeSeqStat == 5) {
|
|
|
|
|
- // 未知
|
|
|
|
|
- log.info("未知 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- log.debug("启动充电结果 - StartChargeSeq: {}", getTextValue(jsonNode, "StartChargeSeq"));
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ return processStartChargeResultRequest(requestDTO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -278,6 +243,53 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 处理启动充电结果推送请求
|
|
|
|
|
+ * 数据格式:{"ConnectorID":"xxx","StartChargeSeq":"xxx","StartChargeSeqStat":2,"StartTime":"xxx"}
|
|
|
|
|
+ */
|
|
|
|
|
+ private ResponseParmsEntity processStartChargeResultRequest(RequestParmsEntity requestDTO) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ JsonNode jsonNode = verifyAndDecrypt(requestDTO);
|
|
|
|
|
+
|
|
|
|
|
+ // 启动充电结果业务处理
|
|
|
|
|
+ String startChargeSeq = getTextValue(jsonNode, "StartChargeSeq");
|
|
|
|
|
+ Integer startChargeSeqStat = getIntValue(jsonNode, "StartChargeSeqStat");
|
|
|
|
|
+ String startTime = getTextValue(jsonNode, "StartTime");
|
|
|
|
|
+
|
|
|
|
|
+ ChargeOrderInfo chargeOrderInfo = chargeOrderInfoService.getOne(new LambdaQueryWrapper<ChargeOrderInfo>()
|
|
|
|
|
+ .eq(ChargeOrderInfo::getStartChargeSeq, startChargeSeq).last("LIMIT 1"));
|
|
|
|
|
+
|
|
|
|
|
+ if (startChargeSeqStat != null) {
|
|
|
|
|
+ switch (startChargeSeqStat) {
|
|
|
|
|
+ case 1 -> log.info("启动中 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
+ case 2 -> {
|
|
|
|
|
+ log.info("充电中 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
+ // 修改订单状态
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(chargeOrderInfo)) {
|
|
|
|
|
+ if (Objects.equals(chargeOrderInfo.getStatus(), SystemConstants.STATUS_ZERO)) {
|
|
|
|
|
+ chargeOrderInfo.setStatus(SystemConstants.STATUS_ONE);
|
|
|
|
|
+ chargeOrderInfo.setStartTime(startTime);
|
|
|
|
|
+ chargeOrderInfoService.updateById(chargeOrderInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ case 3 -> log.info("停止中 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
+ case 4 -> log.info("已结束 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
+ case 5 -> log.info("未知 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
+ default -> log.warn("未知状态 - StartChargeSeq: {}, Stat: {}", startChargeSeq, startChargeSeqStat);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 构建响应
|
|
|
|
|
+ return buildChargeResponse(startChargeSeq);
|
|
|
|
|
+ } catch (BusinessException e) {
|
|
|
|
|
+ throw e;
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("处理启动充电结果推送失败:{}", e.getMessage(), e);
|
|
|
|
|
+ throw new BusinessException("处理启动充电结果推送失败:" + e.getMessage(), e);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 处理实时充电状态推送请求
|
|
* 处理实时充电状态推送请求
|
|
|
* 数据格式:{"ConnectorID":"xxx","ConnectorStatus":3,"TotalPower":1.95,"ElecMoney":1.89,...}
|
|
* 数据格式:{"ConnectorID":"xxx","ConnectorStatus":3,"TotalPower":1.95,"ElecMoney":1.89,...}
|