From ec59428eacc798b8dfc617644aa9ca05066f2341 Mon Sep 17 00:00:00 2001
From: 姜友瑶 <935090232@qq.com>
Date: Sat, 02 Jul 2022 16:13:55 +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