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 |   43 +++++++++++++++++++++++++++----------------
 1 files changed, 27 insertions(+), 16 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 4c22b47..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("充值卡订单存在欠款,已支付金额不足");
+                            }
+                        }
                     }
                 }
             }
@@ -1375,7 +1386,7 @@
         //赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗
         boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE);
         if (zsConsumeAchieve) {
-            if (sysOrderItem.getPrice() <= 0) {
+            if (sysOrderItem.getZkPrice() <= 0) {
                 //等于0取原价
                 if (taocanId == null) {
                     puse.setPrice(goodsAssemble.getShoppingGoods().getPrice());

--
Gitblit v1.9.1