优化异常订单审核
This commit is contained in:
parent
3fbdde558b
commit
470dcf7a1e
@ -519,7 +519,12 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
if(map !=null){
|
||||
BigDecimal powerPriceTotal = new BigDecimal(map.get("powerPriceTotal").toString());
|
||||
BigDecimal servicePriceTotal = new BigDecimal(map.get("servicePriceTotal").toString());
|
||||
xhpcRealTimeOrderService.getExamine(chargeOrderId,powerPriceTotal,servicePriceTotal,null,null,null);
|
||||
BigDecimal chargingDegree = new BigDecimal(map.get("chargingDegree").toString());
|
||||
if(map.get("startTime")!=null && map.get("endTime")!=null){
|
||||
xhpcRealTimeOrderService.getExamine(chargeOrderId,powerPriceTotal,servicePriceTotal,chargingDegree,map.get("startTime").toString(),map.get("endTime").toString());
|
||||
}else{
|
||||
xhpcRealTimeOrderService.getExamine(chargeOrderId,powerPriceTotal,servicePriceTotal,chargingDegree,null,null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -175,19 +175,38 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
//基本信息
|
||||
Map<String, Object> message = xhpcRealTimeOrderMapper.getMessage(realTimeOrderId);
|
||||
try{
|
||||
if(message ==null || message.get("chargeOrderId") ==null){
|
||||
XhpcChargeOrder chargeOrder = xhpcChargeOrderService.getChargingOrderId(Long.parseLong(message.get("chargeOrderId").toString()));
|
||||
Map<String, Object> cacheMap = redisService.getCacheMap("order:" + chargeOrder.getSerialNumber());
|
||||
if (cacheMap !=null && cacheMap.get("startTime")!=null && cacheMap.get("lastOrderTime")!=null) {
|
||||
String startTime = cacheMap.get("startTime").toString();
|
||||
String lastOrderTime = cacheMap.get("lastOrderTime").toString();
|
||||
chargeOrder.setStartTime(DateUtil.parse(startTime));
|
||||
chargeOrder.setEndTime(DateUtil.parse(lastOrderTime));
|
||||
message.put("startTime",startTime);
|
||||
message.put("endTime",lastOrderTime);
|
||||
if (cacheMap.get("totalPower")!=null && cacheMap.get("totalMoney")!=null) {
|
||||
String totalPower = cacheMap.get("totalPower").toString();
|
||||
//String totalPowerSub = totalPower.substring(0, totalPower.length() - 1);
|
||||
String totalMoney = cacheMap.get("totalMoney").toString();
|
||||
//String totalMoneySub = totalMoney.substring(0, totalMoney.length() - 1);
|
||||
chargeOrder.setChargingDegree(new BigDecimal(totalPower));
|
||||
chargeOrder.setAmountCharged(new BigDecimal(totalMoney));
|
||||
message.put("chargingDegree",new BigDecimal(totalPower));
|
||||
}
|
||||
}
|
||||
if(message.get("chargeOrderId") == null){
|
||||
message.put("powerPriceTotal",0);
|
||||
message.put("servicePriceTotal",0);
|
||||
return message;
|
||||
}
|
||||
//获取开始充电时间、结束时间、计费模型、充电度数、已充金额
|
||||
XhpcChargeOrder chargeOrder = xhpcChargeOrderService.getChargingOrderId(Long.parseLong(message.get("chargeOrderId").toString()));
|
||||
|
||||
if(chargeOrder.getRateModelId()==null || "".equals(chargeOrder.getRateModelId().toString())){
|
||||
Map<String, Object> xhpcChargingStationMap = xhpcRealTimeOrderMapper.getXhpcChargingStationById(chargeOrder.getChargingStationId());
|
||||
chargeOrder.setRateModelId(Long.valueOf(xhpcChargingStationMap.get("rateModelId").toString()));
|
||||
}
|
||||
//获取该订单最后一条实时数据
|
||||
Map<String, Object> cacheMap = redisService.getCacheMap("order:" + chargeOrder.getSerialNumber());
|
||||
|
||||
Long rateModelId = chargeOrder.getRateModelId();
|
||||
if(cacheMap !=null && cacheMap.get("orderData") !=null){
|
||||
CacheOrderData cacheOrderData = (CacheOrderData)cacheMap.get("orderData");
|
||||
@ -268,12 +287,16 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
}
|
||||
chargeOrder.setAmountCharged(money);
|
||||
}else{
|
||||
if (cacheMap.get("startTime")!=null && cacheMap.get("lastOrderTime")!=null && cacheMap.get("totalPower")!=null && cacheMap.get("totalMoney")!=null) {
|
||||
if (cacheMap.get("startTime")!=null && cacheMap.get("lastOrderTime")!=null) {
|
||||
chargeOrder.setStartTime(DateUtil.parse(cacheMap.get("startTime").toString()));
|
||||
chargeOrder.setStartTime(DateUtil.parse(cacheMap.get("lastOrderTime").toString()));
|
||||
String totalPower = cacheMap.get("totalPower").toString();
|
||||
String totalPowerSub = totalPower.substring(0, totalPower.length() - 1);
|
||||
chargeOrder.setChargingDegree(new BigDecimal(totalPowerSub));
|
||||
chargeOrder.setEndTime(DateUtil.parse(cacheMap.get("lastOrderTime").toString()));
|
||||
if (cacheMap.get("totalPower")!=null && cacheMap.get("totalMoney")!=null) {
|
||||
String totalPower = cacheMap.get("totalPower").toString();
|
||||
//String totalPowerSub = totalPower.substring(0, totalPower.length() - 1);
|
||||
String totalMoney = cacheMap.get("totalMoney").toString();
|
||||
chargeOrder.setChargingDegree(new BigDecimal(totalPower));
|
||||
chargeOrder.setAmountCharged(new BigDecimal(totalMoney));
|
||||
}
|
||||
}else{
|
||||
//没有获取到时间 1.获取缓存数据 2.缓存没有获取数据库数据
|
||||
List<CacheRealtimeData> list = (List<CacheRealtimeData>) cacheMap.get("realtimeDataList");
|
||||
@ -285,7 +308,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
endData =list.get(list.size()-1);
|
||||
for (int i = 0; i <list.size() ; i++) {
|
||||
startData =list.get(i);
|
||||
if(startData.getAmountCharged()>0 && startData.getChargingTime()>0){
|
||||
if(startData.getAmountCharged()>0){
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -390,8 +413,10 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
if(cacheMap.get("stopReasonHex") !=null && "".equals(cacheMap.get("stopReasonHex").toString())){
|
||||
chargeOrder.setType(cacheMap.get("stopReasonHex").toString());
|
||||
}else{
|
||||
chargeOrder.setType("平台停止充电");
|
||||
chargeOrder.setType("90");
|
||||
}
|
||||
message.put("startTime",chargeOrder.getStartTime());
|
||||
message.put("endTime",chargeOrder.getEndTime());
|
||||
//修改充电订单
|
||||
xhpcChargeOrderService.updateXhpcChargeOrder(chargeOrder);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user