From d5b3e5a413bcfccba294793ee093722f31b2448a Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 16 八月 2023 17:02:13 +0800 Subject: [PATCH] 添加推单日志 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 39 insertions(+), 19 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 6bb9d6e..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)){ @@ -133,20 +133,27 @@ BigDecimal couponPriceSum = BigDecimal.ZERO; for (TUserToCoupon userToCoupon : tUserToCoupons) { TCoupon tCoupons1 = tCouponMapper.selectById(userToCoupon.getCouponId()); - couponPriceSum = couponPriceSum.add(tCoupons1.getCouponPreferentialAmount().multiply(new BigDecimal(userToCoupon.getCouponTotal()))); + if(Objects.nonNull(tCoupons1)){ + couponPriceSum = couponPriceSum.add(tCoupons1.getCouponPreferentialAmount().multiply(new BigDecimal(userToCoupon.getCouponTotal()))); + } } model.addAttribute("couponPriceSum", couponPriceSum); // 过滤代理商发放的优惠券 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())); model.addAttribute("driverCount",drivers.size()); // 司机充值计算 List<Integer> driverIds = drivers.stream().map(TDriver::getId).collect(Collectors.toList()); - List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>().in("userId", driverIds) - .eq("type", UserTypeEnum.DRIVER.getCode()) + List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>() + .in("userId", driverIds) + .eq("type", UserTypeEnum.AGENT.getCode()) .eq("payStatus", PayStatusEnum.FINISH.getCode())); if(CollectionUtils.isEmpty(tRechargeRecords)){ model.addAttribute("driverRecharge",BigDecimal.ZERO); @@ -161,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>()); @@ -185,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)){ @@ -201,18 +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()); - 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)){ // 司机数 @@ -220,8 +239,9 @@ tAgentResp.setDriverCount(drivers.size()); // 司机充值计算 List<Integer> driverIds = drivers.stream().map(TDriver::getId).collect(Collectors.toList()); - List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>().in("userId", driverIds) - .eq("type", UserTypeEnum.DRIVER.getCode()) + List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>() + .eq("agentId", tAgent.getId()) + .eq("type", UserTypeEnum.AGENT.getCode()) .eq("payStatus", PayStatusEnum.FINISH.getCode())); tRechargeRecords.stream().map(TRechargeRecord::getAmount).reduce(BigDecimal::add).ifPresent(tAgentResp::setDriverRecharge); } -- Gitblit v1.7.1