判断实时数据电量和金额为0则停止充电
This commit is contained in:
parent
c5b0d14cc0
commit
6fab0d0974
@ -43,12 +43,10 @@ public class BmsReqChargerOutputDataLogic implements ServiceLogic {
|
||||
BmsReqChargerOutputData orderData = objectMapper.convertValue(req, BmsReqChargerOutputData.class);
|
||||
|
||||
String orderNo = (String) req.get("orderNo");
|
||||
String orderKey = "order:".concat(orderNo);
|
||||
Map<String, Object> cacheOrder = REDIS.getCacheMap(orderKey);
|
||||
String orderKey = "order:".concat(orderNo).concat(".bms");
|
||||
|
||||
CacheBmsReqChargerOutputData cacheBmsReqChargerOutputData = translate(orderData);
|
||||
cacheOrder.put("bmsData", cacheBmsReqChargerOutputData);
|
||||
REDIS.setCacheMap(orderKey, cacheOrder);
|
||||
REDIS.setCacheObject(orderKey, cacheBmsReqChargerOutputData);
|
||||
pileOrderService.pileRimeOrderBms(orderNo);
|
||||
|
||||
XhpcDeviceMessage deviceMessage = new XhpcDeviceMessage();
|
||||
|
||||
@ -132,7 +132,7 @@ public class RealtimeDataLogic implements ServiceLogic {
|
||||
}
|
||||
Integer balance = (Integer) cacheOrder.get("initBalance");
|
||||
CacheRealtimeData cacheRealtimeData = translate(realtimeData);
|
||||
balance -= cacheRealtimeData.getAmountCharged();
|
||||
|
||||
cacheRealtimeData.setCreateTime(DateUtil.now());
|
||||
String lord = orderkey.concat(".lord");
|
||||
REDIS.setCacheObject(lord, cacheRealtimeData);
|
||||
@ -147,6 +147,7 @@ public class RealtimeDataLogic implements ServiceLogic {
|
||||
cacheOrder.put("em1", calcem1(cdhex));
|
||||
}
|
||||
}
|
||||
balance -= cacheRealtimeData.getAmountCharged();
|
||||
cacheOrder.put("rbalance", balance);
|
||||
cacheOrder.put("remainingTime", tr);
|
||||
cacheOrder.put("status", statusplain);
|
||||
@ -201,6 +202,16 @@ public class RealtimeDataLogic implements ServiceLogic {
|
||||
cacheOrder.put("lordiss", "false");
|
||||
pileOrderService.pileStop(orderNo, 4, "订单实时数据恢复");
|
||||
}
|
||||
// 判断金额和电量为0, 防止白嫖
|
||||
if(realtimeDataList.size() > 3){
|
||||
if(cacheRealtimeData.getAmountCharged() < 0.1 && cacheRealtimeData.getChargingDegree() < 0.1){
|
||||
log.error("实时数据充电度数:{}, 实时充电金额为: {},订单[{}] 自动结束",
|
||||
cacheRealtimeData.getChargingDegree(),
|
||||
cacheRealtimeData.getAmountCharged(),
|
||||
cacheRealtimeData.getOrderNo());
|
||||
chargingController.stopCharging(pileNo, gunId, default_version);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user