优化停止充电推送

This commit is contained in:
ZZ 2021-11-22 13:40:58 +08:00
parent b632ec8538
commit 3a186cb915

View File

@ -24,7 +24,7 @@ public class NotificationStopChargeResultTask extends CoreDispatcher {
@Autowired
private AuthSecretTokenRepository authSecretTokenRepository;
@Scheduled(fixedRate = 1000 * 5)
@Scheduled(fixedRate = 1000 * 3)
public void run() throws Exception {
notifyService();
@ -47,40 +47,28 @@ public class NotificationStopChargeResultTask extends CoreDispatcher {
Collection<String> pushOrders = REDIS.keys("pushOrder:*");
for (String pushOrderKey : pushOrders) {
Map<String, Object> pushOrder = REDIS.getCacheMap(pushOrderKey);
Boolean stopCommandSent = (Boolean) pushOrder.get("stopCommandSent");
if (stopCommandSent == null) {
continue;
}
String orderNo = pushOrderKey.substring(10);
Map<String, Object> cacheOrder = REDIS.getCacheMap("order:" + orderNo);
final Object stopResult = cacheOrder.get("stopResult");
if (stopResult == null) {
continue;
}
String operatorId3rdpty = (String) pushOrder.get("operatorId3rdpty");
AuthSecretToken authSecretTokenOut =
authSecretTokenRepository.findByOperatorId3irdptyAndSecretTokenType(operatorId3rdpty,
SECRET_TOKEN_TYPE_OUT).orElse(null);
CommonRequest<ChargeResultRequest> commonRequest = new CommonRequest<>();
ChargeResultRequest chargeResultRequest = new ChargeResultRequest();
if (stopCommandSent) {
//获取内部的充电订单号
//通过充电订单号获取指定的订单
//判断订单充电状态
//获取指定的订单的数据
CacheOrderData orderData = (CacheOrderData) cacheOrder.get("orderData");
String internetSerialNumber = (String) pushOrder.get("internetSerialNumber");
chargeResultRequest.setStartChargeSeq(internetSerialNumber);
if (orderData != null) {
String orderkey = "order:".concat(orderNo);
CacheOrderData orderData = REDIS.getCacheMapValue(orderkey, "orderData");
if (orderData != null) {
Map<String, Object> pushOrder = REDIS.getCacheMap(pushOrderKey);
Boolean stopCommandSent = (Boolean) pushOrder.get("stopCommandSent");
if (stopCommandSent != null && !stopCommandSent) {
String operatorId3rdpty = (String) pushOrder.get("operatorId3rdpty");
AuthSecretToken authSecretTokenOut =
authSecretTokenRepository.findByOperatorId3irdptyAndSecretTokenType(operatorId3rdpty,
SECRET_TOKEN_TYPE_OUT).orElse(null);
CommonRequest<ChargeResultRequest> commonRequest = new CommonRequest<>();
ChargeResultRequest chargeResultRequest = new ChargeResultRequest();
String internetSerialNumber = (String) pushOrder.get("internetSerialNumber");
chargeResultRequest.setStartChargeSeq(internetSerialNumber);
//使用指定包装类封装数据
chargeResultRequest.setConnectorID(orderData.getPileNo() + orderData.getGunId());
int succStat = 0;
int failReason = 0;
chargeResultRequest.setStartChargeSeqStat(4);
chargeResultRequest.setSuccStat(succStat);
chargeResultRequest.setFailReason(failReason);
chargeResultRequest.setFailReason(3);
//将其转换为json
String jsonData = JSONUtil.toJSONString(chargeResultRequest);
commonRequest.setData(jsonData);
@ -99,11 +87,5 @@ public class NotificationStopChargeResultTask extends CoreDispatcher {
}
}
}
//推送充电订单信息
// new NotificationChargeOrderInfo().pushChargeOrderInfo();
//
// //进行账单对账
// new CheckChargeOrders().checkChargeOrder();
}
}