From 6cf48be93aaf03a3fb0e977e0eaa2d84dc9d9128 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Wed, 27 Jan 2021 22:42:35 +0800
Subject: [PATCH] Merge branch 'api' into hive2.0

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   37 +++++++++++++++----------------------
 1 files changed, 15 insertions(+), 22 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 2bc34e5..cd33744 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
@@ -629,7 +629,6 @@
             if(moneyCardUse.getGiftMoney() >= flow.getAmount().doubleValue()) {
                 double surplus = MoneyUtil.sub(moneyCardUse.getGiftMoney(), flow.getAmount().doubleValue());
                 moneyCardUse.setGiftMoney(surplus);
-
                 moneyCardUseFlow.setGiftMoney(0D - flow.getAmount().doubleValue());
             } else {
                 throw new GlobleException(moneyCardUse.getCardName() + "余额不足");
@@ -638,13 +637,27 @@
             if(moneyCardUse.getRealMoney() >= flow.getAmount().doubleValue()) {
                 double surplus = MoneyUtil.sub(moneyCardUse.getRealMoney(), flow.getAmount().doubleValue());
                 moneyCardUse.setRealMoney(surplus);
-
                 moneyCardUseFlow.setTotal(0 - flow.getAmount().doubleValue());
             } else {
                 throw new GlobleException(moneyCardUse.getCardName() + "余额不足");
             }
         }
 
+        if (moneyCardUse.getIsVipCar().equals(Dictionary.FLAG_NO_N)) {
+            //余额为0时充值卡变为无效
+            if(moneyCardUse.getRealMoney().equals(0D) && moneyCardUse.getGiftMoney().equals(0D)){
+                moneyCardUse.setIsOver(Dictionary.FLAG_YES_Y);
+                moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_WX);
+            }
+        }
+
+        ShoppingGoods shoppingGoods = shoppingGoodsService.findById(moneyCardUse.getGoodsId());
+        if (shoppingGoods != null) {
+            Date invalidTime = shoppingGoodsService.calInvalidTime(shoppingGoods, 2, moneyCardUse.getFailTime());
+            moneyCardUse.setFailTime(invalidTime);
+        }
+        // 更新充值卡信息
+        moneyCardUseDao.update(moneyCardUse);
         //设置卡项使用流水
         moneyCardUseFlow.setCarUseId(moneyCardUse.getId());
         moneyCardUseFlow.setOrderNo(sourceOrder.getOrderNo());
@@ -655,26 +668,6 @@
         moneyCardUseFlow.setOperationId(user.getSuId());
         moneyCardUseFlow.setBalance(moneyCardUse.getGiftMoney()+moneyCardUse.getRealMoney());
         moneyCardUseFlowDao.insert(moneyCardUseFlow);
-
-        // 达到使用次数后自动清空余额
-        if (!moneyCardUse.getIsVipCar().equals(Dictionary.FLAG_YES_Y)
-                && moneyCardUse.getLastCount() <= 0) {
-            moneyCardUse.setIsOver(Dictionary.FLAG_YES_Y);
-            moneyCardUse.setLastCount(0);
-            moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_WX);
-        }
-        if (moneyCardUse.getRealMoney().equals(0D) && moneyCardUse.getGiftMoney().equals(0D)) {
-            moneyCardUse.setIsOver(Dictionary.FLAG_YES_Y);
-            moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_WX);
-        }
-
-        ShoppingGoods shoppingGoods = shoppingGoodsService.findById(moneyCardUse.getGoodsId());
-        if (shoppingGoods != null) {
-            Date invalidTime = shoppingGoodsService.calInvalidTime(shoppingGoods, 2, moneyCardUse.getFailTime());
-            moneyCardUse.setFailTime(invalidTime);
-        }
-        // 更新充值卡信息
-        moneyCardUseDao.update(moneyCardUse);
     }
 
     /**

--
Gitblit v1.9.1