From 8bb36ed768729cbf5afb340969980ccfef1c1750 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 21 六月 2023 17:22:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.1' into 1.1
---
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java | 46 ++++++++++++++++++++++++++++++----------------
1 files changed, 30 insertions(+), 16 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..d607725 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,13 @@
// 过滤已使用优惠券
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());
+ // 金额
+ Optional<BigDecimal> reduce = usedCoupon.stream().map(TOrder::getDiscountedPrice).reduce(BigDecimal::add);
+ reduce.ifPresent(tAgentResp::setCouponPriceSum);
+
+
// 已使用优惠券金额求和,已使用优惠券id
// List<Integer> usedCouponId = usedCoupon.stream().map(TOrder::getCouponId).collect(Collectors.toList());
// if(CollectionUtils.isEmpty(usedCouponId)){
@@ -204,20 +214,24 @@
// }
}
- if(!CollectionUtils.isEmpty(tUserToCoupons)){
- // 过滤代理商发放的优惠券
- 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);
- BigDecimal couponPriceSum = BigDecimal.ZERO;
- for (TUserToCoupon userToCoupon : userToCoupons) {
- TCoupon tCoupons1 = tCouponMapper.selectById(userToCoupon.getCouponId());
- if(Objects.nonNull(tCoupons1)){
- couponPriceSum = couponPriceSum.add(tCoupons1.getCouponPreferentialAmount().multiply(new BigDecimal(userToCoupon.getCouponTotal())));
- }
- }
- tAgentResp.setCouponPriceSum(couponPriceSum);
- }
+// if(!CollectionUtils.isEmpty(tUserToCoupons)){
+// // 过滤代理商发放的优惠券
+// 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());
+// if(Objects.nonNull(tCoupons1)){
+// couponPriceSum = couponPriceSum.add(tCoupons1.getCouponPreferentialAmount().multiply(new BigDecimal(userToCoupon.getCouponTotal())));
+// }
+// }
+// tAgentResp.setCouponPriceSum(couponPriceSum);
+// }
if(!CollectionUtils.isEmpty(tDrivers)){
// 司机数
--
Gitblit v1.7.1