From 6d05cda0141cbd42a9b8810e539f5dcd8df506f0 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 30 五月 2023 18:10:36 +0800
Subject: [PATCH] 修改bug

---
 driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/service/impl/OrderServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/service/impl/OrderServiceImpl.java b/driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/service/impl/OrderServiceImpl.java
index 1be8246..ceaf237 100644
--- a/driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/service/impl/OrderServiceImpl.java
+++ b/driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/service/impl/OrderServiceImpl.java
@@ -1219,6 +1219,8 @@
                 order.setCouponId(coupon.getId());
                 order.setDiscountAmount(coupon.getCouponPreferentialAmount());
                 order.setPayMoney(order.getOrderMoney() - coupon.getCouponPreferentialAmount());
+            }else{
+                order.setPayMoney(order.getOrderMoney());
             }
         }
 
@@ -1230,9 +1232,6 @@
                     userToCoupon.setValidCount(userToCoupon.getValidCount() - 1);
                     userToCouponService.updateById(userToCoupon);
                     Coupon coupon = couponService.selectById(userToCoupon.getCouponId());
-                    order.setPayMoney(order.getPayMoney() - coupon.getCouponPreferentialAmount());
-                    order.setCouponId(coupon.getId());
-                    order.setDiscountedPrice(coupon.getCouponPreferentialAmount());
 
                     Driver driver = driverService.selectById(order.getDriverId());
                     AccountChangeDetail accountChangeDetail = new AccountChangeDetail();
@@ -1689,6 +1688,41 @@
      */
     @Override
     public void completeCollection() {
-        this.baseMapper.completeCollection();
+        List<Order> orders = this.selectList(new EntityWrapper<Order>().eq("state", 107).eq("status", 1).eq("payType", 3));
+        for (Order order : orders) {
+            order.setState(108);
+            order.setPayTime(new Date());
+            if(null != order.getCouponId()){
+                UserToCoupon userToCoupon = userToCouponService.selectById(order.getCouponId());
+                if(userToCoupon.getValidCount() > 0){
+                    userToCoupon.setValidCount(userToCoupon.getValidCount() - 1);
+                    userToCouponService.updateById(userToCoupon);
+                    Coupon coupon = couponService.selectById(userToCoupon.getCouponId());
+
+                    Driver driver = driverService.selectById(order.getDriverId());
+                    AccountChangeDetail accountChangeDetail = new AccountChangeDetail();
+                    accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3));
+                    accountChangeDetail.setUserType(2);
+                    accountChangeDetail.setUserId(order.getDriverId());
+                    accountChangeDetail.setCreateTime(new Date());
+                    accountChangeDetail.setOldData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission());
+                    accountChangeDetail.setType(1);
+                    accountChangeDetail.setChangeType(7);
+                    accountChangeDetail.setOrderId(order.getId());
+                    accountChangeDetail.setExplain("优惠券收入");
+                    driver.setCouponBalance(driver.getCouponBalance() + coupon.getCouponPreferentialAmount());
+                    accountChangeDetail.setNewData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission());
+                    driverService.updateById(driver);
+                    accountChangeDetailService.insert(accountChangeDetail);
+                }
+            }
+            this.updateById(order);
+
+            try {
+                saveRevenue(order);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
     }
 }

--
Gitblit v1.7.1