From 5b8a25c22f5d3d20d20475503cc9f3c31ea344ab Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 05 二月 2024 18:09:49 +0800
Subject: [PATCH] BUG修改

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
index b5d2a2a..5ceafb6 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -508,7 +508,7 @@
             if(userCouponRecord.getState() == 3){
                 return ResultUtil.error(language == 1 ? "优惠券已过期" : language == 2 ? "Coupon is expired." : "Le coupon a expiré.", "");
             }
-            if(userCouponRecord.getCouponUseType() != 0 && userCouponRecord.getCouponUseType() != 1){
+            if(userCouponRecord.getCouponUseType() != 0 && userCouponRecord.getCouponUseType() != 4){
                 return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", "");
             }
             if(userCouponRecord.getCouponType() == 2 && orderMoney.compareTo(userCouponRecord.getFullMoney()) < 0){
@@ -582,6 +582,13 @@
             SysIntegral query1 = sysIntegralMapper.query(orderLogistics.getCompanyId());
             userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分
 
+            //处理优惠券
+            if(null != userCouponRecord){
+                userCouponRecord.setState(2);
+                userCouponRecord.setEndTime(new Date());
+                userCouponRecordService.updateById(userCouponRecord);
+            }
+
             //添加交易明细
             transactionDetailsService.saveData(uid, "包裹下单支付", orderMoney, 2, 1, 1, 4, orderId);
             userInfoService.updateById(userInfo);
@@ -607,6 +614,13 @@
         if(payType == 4){//现金支付
             SysIntegral query1 = sysIntegralMapper.query(orderLogistics.getCompanyId());
             userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分
+
+            //处理优惠券和红包
+            if(null != userCouponRecord){
+                userCouponRecord.setState(2);
+                userCouponRecord.setEndTime(new Date());
+                userCouponRecordService.updateById(userCouponRecord);
+            }
 
             //添加交易明细
             transactionDetailsService.saveData(uid, "包裹下单支付", orderMoney, 2, 1, 1, 4, orderId);
@@ -776,8 +790,8 @@
             //添加已收入明细
             Company company = companyService.selectById(orderLogistics.getCompanyId());
             Double speMoney =  orderLogistics.getType() == 4 ? company.getSameLogisticsMoney() : company.getCrossLogisticsMoney();
-            BigDecimal d = null;
-            BigDecimal c = null;
+            BigDecimal d = BigDecimal.ZERO;
+            BigDecimal c = BigDecimal.ZERO;
             if(company.getIsSpeFixedOrProportional() == 2){//固定
                 d = new BigDecimal(speMoney);
                 c = new BigDecimal(orderMoney).subtract(d);
@@ -791,6 +805,7 @@
             income.setMoney(income.getMoney() + d.doubleValue());
             incomeService.updateById(income);
             income = incomeService.selectOne(new EntityWrapper<Income>().eq("userType", 2).eq("objectId", orderLogistics.getCompanyId()).eq("type", 2).eq("incomeId", orderLogistics.getId()).eq("orderType", orderLogistics.getType()));
+            System.out.println("小件物流补差价income======"+income);
             income.setMoney(income.getMoney() + c.doubleValue());
             incomeService.updateById(income);
             Driver driver = driverService.selectById(orderLogistics.getDriverId());
@@ -837,6 +852,14 @@
             userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分
             userInfoService.updateById(userInfo);
 
+            //处理优惠券和红包
+            if(null != orderLogistics.getCouponId()){
+                UserCouponRecord userCouponRecord = userCouponRecordService.selectById(orderLogistics.getCouponId());
+                userCouponRecord.setState(2);
+                userCouponRecord.setEndTime(new Date());
+                userCouponRecordService.updateById(userCouponRecord);
+            }
+
             query.setState(2);
             query.setCode(order_id);
             paymentRecordService.updateById(query);

--
Gitblit v1.7.1