From bbe0a2fd03063316e50cf141986bda984599bbda Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Tue, 22 Feb 2022 23:41:42 +0800
Subject: [PATCH] Merge branch 'developer'

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 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 f569ace..e42eaaf 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
@@ -519,7 +519,12 @@
      * @param pageOrder
      */
     private void updateOrderInfo(SysOrder pageOrder) {
+
+        SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+        pageOrder.setCashierId(user.getSuId());
+
         pageOrder.setPayTime(new Date());
+
         pageOrder.setStatu(Dictionary.ORDER_STATU_YFK);
         List<SysOrderFlow> flows = pageOrder.getFlows();
 
@@ -528,12 +533,19 @@
                 .map(SysOrderFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 
         BigDecimal cardPayAmount = flows.stream()
-                .filter(item -> item.getPayMethod().equals("储值卡") && item.getIsGift().equals("N"))
+                .filter(item -> item.getPayMethod().equals("储值卡"))
                 .map(SysOrderFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 
         pageOrder.setCardPay(cardPayAmount.doubleValue());
         pageOrder.setCashPay(cashPayAmount.doubleValue());
         //欠款金额在流水处理中处理了
+
+        double sum = flows.stream().mapToDouble(item -> item.getAmount().doubleValue()).sum();
+
+        if(sum>0 && cardPayAmount.doubleValue()==0 && cashPayAmount.doubleValue()==0 ){
+            throw new GlobleException("订单更新失败,支付金额计算错误,请联系管理员");
+        }
+
 
         sysOrderDao.update(pageOrder);
     }
@@ -1520,6 +1532,7 @@
         moneyCardUseFlow.setCreateTime(new Date());
         moneyCardUseFlow.setOperationId(user.getSuId());
         moneyCardUseFlow.setBalance(cardUser.getGiftMoney() + cardUser.getRealMoney());
+        moneyCardUseFlow.setCarUseId(cardUser.getId());
         moneyCardUseFlowDao.insert(moneyCardUseFlow);
 
         order.setFlows(czVo.getFlows());
@@ -1853,4 +1866,9 @@
 
         sysInstoreInfoService.check(instoreInfo);
     }
+
+    @Override
+    public BigDecimal findVipArrearsByVipId(Long vipId) {
+        return sysOrderDao.selectArrearsByVipId(vipId);
+    }
 }

--
Gitblit v1.9.1