防止三方订单启动使用重复的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);
if (startChargeRequest == null) {
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 {
StartChargeResponse startChargeResponse = new StartChargeResponse();
startChargeResponse.setFailReason(0);
startChargeResponse.setSuccStat(1);
startChargeResponse.setStartChargeSeqStat(4);
String startChargeSeq = startChargeRequest.getStartChargeSeq();
String connectorId = startChargeRequest.getConnectorId();
Map<String, Object> cacheGun = REDIS.getCacheMap("gun:".concat(connectorId));
String terminalStatus = (String) cacheGun.get("vehicleGunStatus");
@ -111,6 +115,7 @@ public class QueryStartChargeController {
etOrderMappingRepo.save(etOrderMapping);
resp.setData(JSONUtil.toJSONString(startChargeResponse));
}
}
return resp;
}