防止三方订单启动使用重复的StartChargeSeq

This commit is contained in:
ZZ 2022-01-05 12:07:00 +08:00
parent 75f805508e
commit 1935a99a55

View File

@ -48,12 +48,16 @@ public class QueryStartChargeController {
StartChargeRequest startChargeRequest = JSONUtil.readParams(commonRequest.getData(), StartChargeRequest.class); StartChargeRequest startChargeRequest = JSONUtil.readParams(commonRequest.getData(), StartChargeRequest.class);
if (startChargeRequest == null) { if (startChargeRequest == null) {
resp.setMsg("Request or token params validation failed"); resp.setMsg("Request or token params validation failed");
} else {
String startChargeSeq = startChargeRequest.getStartChargeSeq();
EtOrderMapping orderMapping = etOrderMappingRepo.findByEvcsOrderNo(startChargeSeq).orElse(null);
if (orderMapping != null) {
resp.setMsg("Duplicated StartChargeSeq");
} else { } else {
StartChargeResponse startChargeResponse = new StartChargeResponse(); StartChargeResponse startChargeResponse = new StartChargeResponse();
startChargeResponse.setFailReason(0); startChargeResponse.setFailReason(0);
startChargeResponse.setSuccStat(1); startChargeResponse.setSuccStat(1);
startChargeResponse.setStartChargeSeqStat(4); startChargeResponse.setStartChargeSeqStat(4);
String startChargeSeq = startChargeRequest.getStartChargeSeq();
String connectorId = startChargeRequest.getConnectorId(); String connectorId = startChargeRequest.getConnectorId();
Map<String, Object> cacheGun = REDIS.getCacheMap("gun:".concat(connectorId)); Map<String, Object> cacheGun = REDIS.getCacheMap("gun:".concat(connectorId));
String terminalStatus = (String) cacheGun.get("vehicleGunStatus"); String terminalStatus = (String) cacheGun.get("vehicleGunStatus");
@ -111,6 +115,7 @@ public class QueryStartChargeController {
etOrderMappingRepo.save(etOrderMapping); etOrderMappingRepo.save(etOrderMapping);
resp.setData(JSONUtil.toJSONString(startChargeResponse)); resp.setData(JSONUtil.toJSONString(startChargeResponse));
} }
}
return resp; return resp;
} }