结算订单无实时订单改为异常订单

This commit is contained in:
yuyang 2022-04-06 14:30:57 +08:00
parent 40cb18c055
commit e6561066a3
4 changed files with 29 additions and 16 deletions

View File

@ -285,9 +285,19 @@ public class XhpcPileOrderController extends BaseController {
logger.info("无效订单号>>>>>orderNo" + orderNo);
return R.fail(500,"无效订单号:"+orderNo);
}
CacheOrderData cacheOrderData = (CacheOrderData)cacheMap.get("orderData");
//获取充电订单
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
if ("".equals(cacheMap.get("realtimeDataList")) || null==cacheMap.get("realtimeDataList")) {
xhpcChargeOrder.setStatus(2);
xhpcChargeOrder.setUpdateTime(new Date());
xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder);
logger.info("订单无实时数据>>>>>orderNo" + orderNo);
return R.ok();
}
CacheOrderData cacheOrderData = (CacheOrderData)cacheMap.get("orderData");
if(xhpcChargeOrder == null ){
logger.info("无效订单号>>>>>orderNo" + orderNo);
return R.fail(500,"无效订单号:"+orderNo);
@ -430,12 +440,7 @@ public class XhpcPileOrderController extends BaseController {
Integer source = xhpcChargeOrder.getSource();
String tenantId = xhpcChargeOrder.getTenantId();
if(!UserTypeUtil.INTERNET_TYPE.equals(source)){
long l1 = System.currentTimeMillis();
logger.info("<<<<<<<"+orderNo+"开始获取用户时间>>>>>"+l1);
R user = userTypeService.getUser(null, userId, source, null, tenantId);
long l2 = System.currentTimeMillis();
logger.info("<<<<<<<"+orderNo+"结束获取用户时间>>>>>"+l2);
logger.info("<<<<<<<"+orderNo+"时间差>>>>>"+(l2-l1));
if(user !=null && user.getData() !=null ){
userMessage = (Map<String, Object>)user.getData();
if (userMessage == null || userMessage.get("balance") == null) {

View File

@ -58,7 +58,7 @@ public class XhpcRealTimeOrderController extends BaseController {
* 实时/异常订单详情PC
*/
@GetMapping("/getMessage")
public AjaxResult getMessage(@RequestParam Long realTimeOrderId,@RequestParam Long chargeOrderId)
public AjaxResult getMessage(Long realTimeOrderId,Long chargeOrderId)
{
return AjaxResult.success(xhpcRealTimeOrderService.getMessage(realTimeOrderId,chargeOrderId));
@ -92,7 +92,7 @@ public class XhpcRealTimeOrderController extends BaseController {
*异常订单审核详情
*/
@GetMapping("/getExamineMessage")
public AjaxResult getExamineMessage(@RequestParam Long realTimeOrderId,@RequestParam Long chargeOrderId){
public AjaxResult getExamineMessage(Long realTimeOrderId,Long chargeOrderId){
return xhpcRealTimeOrderService.getExamineMessage(realTimeOrderId,chargeOrderId);
}

View File

@ -322,6 +322,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
@Override
@Transactional
public AjaxResult getExamine(Long chargingOrderId, BigDecimal powerPrice, BigDecimal servicePrice) {
//电费不能为0
@ -350,9 +351,16 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
Map<String, Object> userMessage =new HashMap<>();
if(!UserTypeUtil.INTERNET_TYPE.equals(source)){
R user = userTypeService.getUser(null, userId, source, null, tenantId);
boolean judge = false;
if(user !=null && user.getData() !=null){
userMessage = (Map<String, Object>)user.getData();
if (userMessage == null || userMessage.get("balance") == null) {
judge =true;
}
}else{
judge =true;
}
if(judge){
//订单异常
xhpcChargeOrder.setStatus(2);
//异常原因
@ -361,7 +369,6 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
return AjaxResult.error("用户id:" + userId + "为空");
}
}
}
//生成一条历史订单
XhpcHistoryOrder xhpcHistoryOrder = new XhpcHistoryOrder();
xhpcHistoryOrder.setEndTime(xhpcChargeOrder.getEndTime());
@ -724,6 +731,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
});
}catch (Exception e){
logger.info("<<<<<<<<<<<<<<<<运行异常,结算失败,数据回滚>>>>>>>>>>>>>>>>>"+xhpcChargeOrder.getSerialNumber());
logger.info("<<<<<<<<<<<<<<<<运行异常,结算失败,数据回滚>>>>>>>>>>>>>>>>>"+e.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return R.fail();
}

View File

@ -566,11 +566,11 @@
(SELECT account from xhpc_community_personnel where community_personnel_id = co.user_id and co.source=2) as communityAccount,
(SELECT account from xhpc_customers_personnel where customers_personnel_id = co.user_id and co.source=3) as customersAccount
from xhpc_charge_order co
Left join xhpc_charging_station as ct on ct.charging_station_id = ro.charging_station_id
Left join xhpc_charging_station as ct on ct.charging_station_id = co.charging_station_id
left join xhpc_operator as op on op.operator_id = ct.operator_id
left join xhpc_terminal as ter on ter.terminal_id = co.terminal_id
left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id
where co.xhpc_charge_order=#{chargeOrderId}
where co.charge_order_id=#{chargeOrderId}
</select>