From c423224dbe37ea69c1a36c696f85490343e68c4c Mon Sep 17 00:00:00 2001 From: 姜友瑶 <935090232@qq.com> Date: Tue, 09 Aug 2022 09:11:51 +0800 Subject: [PATCH] Merge branch 'developer' --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 41 ++++++++++++++++++++++++++--------------- 1 files changed, 26 insertions(+), 15 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java index e233097..4228c40 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java @@ -183,8 +183,14 @@ } @Override - public SysOrder findById(Long id) { + public SysOrder findById(Long id) { return sysOrderDao.selectById(id); + + } + + @Override + public List<SysOrder> findByIds(List<Long> ids) { + return sysOrderDao.selectByIds(ids); } @@ -927,21 +933,26 @@ // 充值卡订单欠款检测 if (Dictionary.FLAG_NO_N.equals(moneyCardUse.getIsVipCar())) { - SysOrder sysOrder = sysOrderDao.selectById(orderItemDao.selectById(moneyCardUse.getOrderItemId()).getOrderId()); - if (Dictionary.ORDER_STATU_QK.equals(sysOrder.getStatu())) { - if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) { - throw new GlobleException("充值卡订单存在欠款,无法使用赠送余额支付"); - } + SysOrderItem item = orderItemDao.selectById(moneyCardUse.getOrderItemId()); + if (item != null) { + SysOrder sysOrder = sysOrderDao.selectById(item.getOrderId()); + if (sysOrder != null) { + if (Dictionary.ORDER_STATU_QK.equals(sysOrder.getStatu())) { + if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) { + throw new GlobleException("充值卡订单存在欠款,无法使用赠送余额支付"); + } - // 若该笔订单中,有多项明细,则充值卡直接无法支付; 若订单中,仅充值卡一项,则已付款和充值卡使用情况判断是否可使用 - List<SysOrderItem> items = orderItemDao.selectByOrderId(sysOrder.getId()); - if (items.size() > 1) { - throw new GlobleException("充值卡订单存在欠款,无法支付"); - } else { - double totalUse = moneyCardUseFlowDao.selectCardUseAmount(moneyCardUse.getId()); - Double hasPay = sysOrder.getZkTotal() - sysOrder.getArrears(); - if (hasPay < (totalUse + flow.getAmount().doubleValue())) { - throw new GlobleException("充值卡订单存在欠款,已支付金额不足"); + // 若该笔订单中,有多项明细,则充值卡直接无法支付; 若订单中,仅充值卡一项,则已付款和充值卡使用情况判断是否可使用 + List<SysOrderItem> items = orderItemDao.selectByOrderId(sysOrder.getId()); + if (items.size() > 1) { + throw new GlobleException("充值卡订单存在欠款,无法支付"); + } else { + double totalUse = moneyCardUseFlowDao.selectCardUseAmount(moneyCardUse.getId()); + Double hasPay = sysOrder.getZkTotal() - sysOrder.getArrears(); + if (hasPay < (totalUse + flow.getAmount().doubleValue())) { + throw new GlobleException("充值卡订单存在欠款,已支付金额不足"); + } + } } } } -- Gitblit v1.9.1