From 17f18c3d56a70327874aa7dda0adfa2f5e3dafce Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 14 六月 2023 20:57:38 +0800
Subject: [PATCH] 代理商修改优惠券展示

---
 management/guns-admin/src/main/resources/application.yml                                                  |    4 ++--
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java |   14 +++++++++++---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java |   23 ++++++++++++++++-------
 3 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
index ae419ec..65c05dc 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
@@ -111,7 +111,7 @@
         // 过滤已使用优惠券
         List<TOrder> usedCoupon = orderList.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()))
                 && Objects.nonNull(order.getCouponId()) && order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList());
-        model.addAttribute("usedCoupon",usedCoupon.size());
+//        model.addAttribute("usedCoupon",usedCoupon.size());
         // 已使用优惠券金额求和,已使用优惠券id
 //        List<Integer> usedCouponId = usedCoupon.stream().map(TOrder::getCouponId).collect(Collectors.toList());
 //        if(CollectionUtils.isEmpty(usedCouponId)){
@@ -141,6 +141,10 @@
         // 过滤代理商发放的优惠券
         int sum = tUserToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
         model.addAttribute("issuedCoupon",sum);
+        // 总量减去有效数量和过期数量为使用数量
+        int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();//有效数量
+        int expireCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getExpireCount).sum();//过期数量
+        model.addAttribute("usedCoupon",sum-validCount-expireCount);
         // 司机信息
         // 司机数
         List<TDriver> drivers = tDriverMapper.selectList(new EntityWrapper<TDriver>().eq("agentId", tAgent.getId()));
@@ -164,7 +168,7 @@
         List<TOrder> tOrders = tOrderMapper.selectList(new EntityWrapper<TOrder>());
         // 查询优惠券
         List<TCoupon> tCoupons = tCouponMapper.selectList(new EntityWrapper<TCoupon>());
-        // 用户
+        // 用户优惠券
         List<TUserToCoupon> tUserToCoupons = tUserToCouponMapper.selectList(new EntityWrapper<TUserToCoupon>());
         // 查询司机信息
         List<TDriver> tDrivers = tDriverMapper.selectList(new EntityWrapper<TDriver>());
@@ -188,7 +192,7 @@
                 // 过滤已使用优惠券
                 List<TOrder> usedCoupon = tOrders.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()))
                         && Objects.nonNull(order.getCouponId()) && tAgent.getId().equals(order.getAgentId())).collect(Collectors.toList());
-                tAgentResp.setUsedCoupon(usedCoupon.size());
+//                tAgentResp.setUsedCoupon(usedCoupon.size());
                 // 已使用优惠券金额求和,已使用优惠券id
 //                List<Integer> usedCouponId = usedCoupon.stream().map(TOrder::getCouponId).collect(Collectors.toList());
 //                if(CollectionUtils.isEmpty(usedCouponId)){
@@ -209,6 +213,10 @@
                 List<TUserToCoupon> userToCoupons = tUserToCoupons.stream().filter(coupon -> tAgent.getId().equals(coupon.getObjectId()) && coupon.getRoleType() == 3).collect(Collectors.toList());
                 int sum = userToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
                 tAgentResp.setIssuedCoupon(sum);
+                // 总量减去有效数量和过期数量为使用数量
+                int validCount = userToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();//有效数量
+                int expireCount = userToCoupons.stream().mapToInt(TUserToCoupon::getExpireCount).sum();//过期数量
+                tAgentResp.setUsedCoupon(sum-validCount-expireCount);
                 BigDecimal couponPriceSum = BigDecimal.ZERO;
                 for (TUserToCoupon userToCoupon : userToCoupons) {
                     TCoupon tCoupons1 = tCouponMapper.selectById(userToCoupon.getCouponId());
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
index dd68d6a..9828cbe 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -106,13 +106,22 @@
 
         // 查询用户
         TAppUser tAppUser = tAppUserMapper.selectById(tOrder.getUserId());
-        model.addAttribute("userName",tAppUser.getNickname());
-        model.addAttribute("userPhone",tAppUser.getPhone());
-        model.addAttribute("havDiscount",tAppUser.getHavDiscount());
-        if(1 == tAppUser.getHavDiscount()){
-            // 计算9折优惠金额
-            BigDecimal multiply = tOrder.getOrderMoney().multiply(new BigDecimal("0.1")).setScale(2);
-            model.addAttribute("multiply",multiply);
+        if(Objects.nonNull(tAppUser)){
+            model.addAttribute("userName",tAppUser.getNickname());
+            model.addAttribute("userPhone",tAppUser.getPhone());
+            model.addAttribute("havDiscount",tAppUser.getHavDiscount());
+            if(1 == tAppUser.getHavDiscount()){
+                // 计算9折优惠金额
+                BigDecimal multiply = tOrder.getOrderMoney().multiply(new BigDecimal("0.1")).setScale(2);
+                model.addAttribute("multiply",multiply);
+            }else {
+                model.addAttribute("multiply",0);
+            }
+        }else {
+            model.addAttribute("userName","");
+            model.addAttribute("userPhone","");
+            model.addAttribute("havDiscount","");
+            model.addAttribute("multiply",0);
         }
 
         // 查询司机
diff --git a/management/guns-admin/src/main/resources/application.yml b/management/guns-admin/src/main/resources/application.yml
index c343911..b527cff 100644
--- a/management/guns-admin/src/main/resources/application.yml
+++ b/management/guns-admin/src/main/resources/application.yml
@@ -52,8 +52,8 @@
   datasource:
     url: jdbc:mysql://127.0.0.1:3306/super_save_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
     username: root
-#    password: f4OfRjqoN3jSiNGiUoiNsQdOBtCOKYRj
-    password: 123456
+    password: f4OfRjqoN3jSiNGiUoiNsQdOBtCOKYRj
+#    password: 123456
     db-name: super_save_driving #用来搜集数据库的所有表
     filters: wall,mergeStat
 

--
Gitblit v1.7.1