From 7f3ba0b58c0dc60d18bd25edfab97877c801c0ab Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 14 十一月 2024 17:09:58 +0800 Subject: [PATCH] 2.0bug修改 --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java | 403 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 256 insertions(+), 147 deletions(-) diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java index 337033c..996c78a 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -26,8 +27,10 @@ import java.math.BigInteger; import java.text.SimpleDateFormat; import java.time.*; +import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; import java.util.*; +import java.util.stream.Collectors; /** * 控制器 @@ -204,44 +207,59 @@ // 司机已消费金额 Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>() ; - if (time == 5 && insertTime==null){ - driverWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 2) - ; + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("activityId") - .isNotNull("discountMoney"); + .isNotNull("discountMoney") + ; + // 小件物流wrapper between1 = new EntityWrapper<TOrderLogistics>() .isNotNull("activityId") - .isNotNull("discountMoney"); + .isNotNull("discountMoney") + ; + // 已使用优惠券记录wrapper between2 = new EntityWrapper<TOrderPrivateCar>() .isNotNull("couponId") - .isNotNull("couponMoney"); + .isNotNull("couponMoney") + ; + between22 = new EntityWrapper<TOrderLogistics>() .isNotNull("couponId") - .isNotNull("couponMoney"); + .isNotNull("couponMoney") + ; + // 已使用红包记录wrapper between3 = new EntityWrapper<TOrderPrivateCar>() .isNotNull("redPacketId") - .isNotNull("redPacketMoney"); + .isNotNull("redPacketMoney") + ; + between33 = new EntityWrapper<TOrderLogistics>() .isNotNull("redPacketId") - .isNotNull("redPacketMoney"); + .isNotNull("redPacketMoney") + ; + // 司机已消费金额 between4 = new EntityWrapper<BalanceUsageRecord>() - .ne("purpose", 6); + .eq("type",1) + .ne("purpose", 6) + ; + // 司机提现 driverWrapper = new EntityWrapper<TPubWithdrawal>() .eq("state", 2) + .eq("type",1) .eq("userType", 2) ; + + ; }else{ driverWrapper = new EntityWrapper<TPubWithdrawal>() .eq("state", 2) + .eq("type",1) .eq("userType", 2) .between("insertTime", start, end); // 专车wrapper @@ -275,8 +293,9 @@ // 司机已消费金额 between4 = new EntityWrapper<BalanceUsageRecord>() .ne("purpose", 6) + .eq("type",1) .between("createTime", start, end); - // 司机提现 + } // 司机提现wrapper @@ -335,6 +354,14 @@ BigDecimal driverConsume = new BigDecimal("0"); // 司机已提现 BigDecimal driverWithdrawal1 = new BigDecimal("0"); + // 一次性查询所有用户信息 + Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) + .stream() + .collect(Collectors.toMap(TUser::getId, user -> user)); + Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) + .stream() + .collect(Collectors.toMap(TDriver::getId, user -> user)); + // 查询已使用折扣总额 for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); @@ -342,8 +369,8 @@ grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); grantVO.setType("折扣"); grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); - TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); - if (tUser!=null){ + TUser tUser = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); @@ -355,8 +382,8 @@ grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); grantVO.setType("折扣"); grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); - TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); - if (tUser!=null){ + TUser tUser = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); @@ -367,39 +394,39 @@ GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); grantVO.setType("红包"); - JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId()); - BigDecimal temp = new BigDecimal(BigInteger.ZERO); - for (int i = 0; i < objects.size(); i++) { - String string = objects.getJSONObject(i).getString("money"); - temp = temp.add(new BigDecimal(string)); + if (userRedPacketRecord.getRedPacketMoney()==null){ + continue; } - grantVO.setAmount(temp.toString()); - TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); - if (tUser!=null){ + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); + if (tUser != null) { grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); res.add(grantVO); - redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString())); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); } for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) { GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); grantVO.setType("红包"); - JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId()); - BigDecimal temp = new BigDecimal(BigInteger.ZERO); - for (int i = 0; i < objects.size(); i++) { - String string = objects.getJSONObject(i).getString("money"); - temp = temp.add(new BigDecimal(string)); + if (userRedPacketRecord.getRedPacketMoney()==null){ + continue; } - grantVO.setAmount(temp.toString()); - TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); - if (tUser!=null){ + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); + if (tUser != null) { grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); res.add(grantVO); - redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString())); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); } // 查询已领取优惠券总额 for (TOrderPrivateCar userCouponRecord : userCouponRecords) { @@ -407,12 +434,12 @@ grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); grantVO.setType("优惠券"); grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); - TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); - if (tUser!=null){ + TUser tUser = userMap.get(userCouponRecord.getUserId()); + if (tUser != null) { grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); - coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString())); + coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); res.add(grantVO); } for (TOrderLogistics userCouponRecord : userCouponRecords1) { @@ -420,12 +447,12 @@ grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); grantVO.setType("优惠券"); grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); - TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); - coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString())); + coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); res.add(grantVO); } // 司机消费奖励 @@ -434,7 +461,7 @@ grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); grantVO.setType("司机奖励"); grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverService.selectById(balanceUsageRecord.getDriverId()); + TDriver tUser = driverMap.get(balanceUsageRecord.getDriverId()); if (tUser!=null){ grantVO.setName(tUser.getFirstName()+tUser.getLastName()); } @@ -469,7 +496,8 @@ grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime())); grantVO.setType("司机奖励"); grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverService.selectById(balanceUsageRecord.getUserId()); + + TDriver tUser = driverMap.get(balanceUsageRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getFirstName()+tUser.getLastName()); } @@ -478,12 +506,21 @@ res.add(grantVO); } + // 总额 total = total.add(redPackage).add(coupon).add(discount).add(driverConsume).add(driverWithdrawal1); // 已使用司机奖励合计 driver = driverConsume.add(driverWithdrawal1); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + // 对集合进行排序 + res.sort((a, b) -> { + LocalDateTime timeA = LocalDateTime.parse(a.getInsertTime(), formatter); + LocalDateTime timeB = LocalDateTime.parse(b.getInsertTime(), formatter); + return timeA.compareTo(timeB); + }); return res; } + @RequestMapping(value = "/use/getCount") @ResponseBody public Object getCount1(Integer time,String insertTime,Integer type) { @@ -563,6 +600,7 @@ List<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>(); // 司机提现 List<TPubWithdrawal> driverWithdrawal = new ArrayList<>(); + Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>() ; // 专车wrapper @@ -584,43 +622,66 @@ // 司机已消费金额 Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>() ; - // 司机提现 - Wrapper<TPubWithdrawal> between44 = new EntityWrapper<TPubWithdrawal>() - ; - if (time == 5 && insertTime==null){ - driverWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 2) - ; + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("activityId") - .isNotNull("discountMoney"); + .isNotNull("discountMoney") +// .between("insertTime", start, end) + ; + // 小件物流wrapper between1 = new EntityWrapper<TOrderLogistics>() .isNotNull("activityId") - .isNotNull("discountMoney"); + .isNotNull("discountMoney") +// .between("insertTime", start, end) + ; + // 已使用优惠券记录wrapper between2 = new EntityWrapper<TOrderPrivateCar>() .isNotNull("couponId") - .isNotNull("couponMoney"); + .isNotNull("couponMoney") +// .between("insertTime", start, end) + ; + between22 = new EntityWrapper<TOrderLogistics>() .isNotNull("couponId") - .isNotNull("couponMoney"); + .isNotNull("couponMoney") +// .between("insertTime", start, end) + ; + // 已使用红包记录wrapper between3 = new EntityWrapper<TOrderPrivateCar>() .isNotNull("redPacketId") - .isNotNull("redPacketMoney"); + .isNotNull("redPacketMoney") +// .between("insertTime", start, end) + ; + between33 = new EntityWrapper<TOrderLogistics>() .isNotNull("redPacketId") - .isNotNull("redPacketMoney"); + .isNotNull("redPacketMoney") +// .between("insertTime", start, end) + ; + // 司机已消费金额 between4 = new EntityWrapper<BalanceUsageRecord>() - .ne("purpose", 6); + .eq("type",1) + .ne("purpose", 6) +// .between("createTime", start, end) + ; + + // 司机提现 + driverWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("type",1) + .eq("userType", 2) +// .between("insertTime", start, end) + ; }else{ driverWrapper = new EntityWrapper<TPubWithdrawal>() .eq("state", 2) + .eq("type",1) .eq("userType", 2) .between("insertTime", start, end); // 专车wrapper @@ -654,9 +715,12 @@ // 司机已消费金额 between4 = new EntityWrapper<BalanceUsageRecord>() .ne("purpose", 6) + .eq("type",1) .between("createTime", start, end); - } + + } + // 司机提现wrapper if (type!=null){ switch (type){ case 1: @@ -672,7 +736,6 @@ case 3: // 司机消费记录 balanceUsageRecords = balanceUsageRecordService.selectList(between4); - driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); break; case 4: @@ -696,7 +759,7 @@ // 消费 balanceUsageRecords = balanceUsageRecordService.selectList(between4); // 提现 - driverWithdrawal = pubWithdrawalService.selectList(between44); + driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); } // 已发放补贴总额 @@ -713,17 +776,21 @@ BigDecimal driverConsume = new BigDecimal("0"); // 司机已提现 BigDecimal driverWithdrawal1 = new BigDecimal("0"); + // 一次性查询所有用户信息 + Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) + .stream() + .collect(Collectors.toMap(TUser::getId, user -> user)); + Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) + .stream() + .collect(Collectors.toMap(TDriver::getId, user -> user)); // 查询已使用折扣总额 for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { - if (tOrderPrivateCar.getState() != 9 &&tOrderPrivateCar.getState() != 8){ - continue; - } discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); grantVO.setType("折扣"); grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); - TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + TUser tUser = userMap.get(tOrderPrivateCar.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } @@ -731,107 +798,92 @@ res.add(grantVO); } for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { - if (tOrderPrivateCar.getState() != 9 &&tOrderPrivateCar.getState() != 8){ - continue; - } discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); grantVO.setType("折扣"); grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); - TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + TUser tUser = userMap.get(tOrderPrivateCar.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); res.add(grantVO); } - // 查询已领取红包总额 + // 查询已使用红包总额 for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) { - if (userRedPacketRecord.getState() != 9 &&userRedPacketRecord.getState() != 8){ - continue; - } GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); grantVO.setType("红包"); - JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId()); - BigDecimal temp = new BigDecimal(BigInteger.ZERO); - for (int i = 0; i < objects.size(); i++) { - String string = objects.getJSONObject(i).getString("money"); - temp = temp.add(new BigDecimal(string)); + if (userRedPacketRecord.getRedPacketMoney()==null){ + continue; } - grantVO.setAmount(temp.toString()); - TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); res.add(grantVO); - redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString())); + redPackage = redPackage.add(userRedPacketRecord.getRedPacketMoney()); } for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) { - if (userRedPacketRecord.getState() != 9 &&userRedPacketRecord.getState() != 8){ - continue; - } GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); grantVO.setType("红包"); - JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId()); - BigDecimal temp = new BigDecimal(BigInteger.ZERO); - for (int i = 0; i < objects.size(); i++) { - String string = objects.getJSONObject(i).getString("money"); - temp = temp.add(new BigDecimal(string)); + if (userRedPacketRecord.getRedPacketMoney()==null){ + continue; } - grantVO.setAmount(temp.toString()); - TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); res.add(grantVO); - redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString())); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); } // 查询已领取优惠券总额 for (TOrderPrivateCar userCouponRecord : userCouponRecords) { - if (userCouponRecord.getState() != 9 &&userCouponRecord.getState() != 8){ - continue; - } GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); grantVO.setType("优惠券"); grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); - TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); - coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString())); + coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); res.add(grantVO); } for (TOrderLogistics userCouponRecord : userCouponRecords1) { - if (userCouponRecord.getState() != 9 &&userCouponRecord.getState() != 8){ - continue; - } GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); grantVO.setType("优惠券"); grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); - TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); - coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString())); + coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); res.add(grantVO); } // 司机消费奖励 for (BalanceUsageRecord balanceUsageRecord : balanceUsageRecords) { - GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); grantVO.setType("司机奖励"); grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverService.selectById(balanceUsageRecord.getDriverId()); + TDriver tUser = driverMap.get(balanceUsageRecord.getDriverId()); + if (tUser!=null){ grantVO.setName(tUser.getFirstName()+tUser.getLastName()); } @@ -866,7 +918,7 @@ grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime())); grantVO.setType("司机奖励"); grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverService.selectById(balanceUsageRecord.getUserId()); + TDriver tUser = driverMap.get(balanceUsageRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getFirstName()+tUser.getLastName()); } @@ -874,6 +926,8 @@ driverWithdrawal1 = driverWithdrawal1.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); res.add(grantVO); } + + // 总额 total = total.add(redPackage).add(coupon).add(discount).add(driverConsume).add(driverWithdrawal1); // 已使用司机奖励合计 @@ -889,6 +943,8 @@ return useMoneyVO; } + @Autowired + private ISysRedPacketRecordService sysRedPacketRecordService; /** * 发放补贴统计 */ @@ -985,7 +1041,7 @@ // 司机奖励 Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() ; - if (time == 5 && insertTime==null){ + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("discountMoney") @@ -1003,6 +1059,7 @@ ; // 红包领取记录wrapper between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state",0) ; // 司机奖励 between4 = new EntityWrapper<DriverActivityHistory>() @@ -1026,6 +1083,7 @@ .between("insertTime", start, end); // 红包领取记录wrapper between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state",0) .between("insertTime", start, end); // 司机奖励 between4 = new EntityWrapper<DriverActivityHistory>() @@ -1076,6 +1134,24 @@ BigDecimal coupon = new BigDecimal("0"); // 已领取司机奖励总额(司机端) BigDecimal driver = new BigDecimal("0"); + Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) + .stream() + .collect(Collectors.toMap(TUser::getId, user -> user)); + Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) + .stream() + .collect(Collectors.toMap(TDriver::getId, user -> user)); + Map<Integer, UserActivity> userActivityMap = userActivityService.selectList(new EntityWrapper<UserActivity>()) + .stream() + .collect(Collectors.toMap(UserActivity::getId, user -> user)); + Map<Integer, UserActivityDiscount1> userActivityDiscountMap = userActivityDiscount1Service.selectList(new EntityWrapper<UserActivityDiscount1>()) + .stream() + .collect(Collectors.toMap(UserActivityDiscount1::getId, user -> user)); + Map<Integer, UserActivityRedenvelope> userActivityRedenvelopeMap = userActivityRedenvelopeService.selectList(new EntityWrapper<UserActivityRedenvelope>()) + .stream() + .collect(Collectors.toMap(UserActivityRedenvelope::getId, user -> user)); + Map<Integer, SysCouponActivity> sysCouponActivityMap = sysCouponActivityService.selectList(new EntityWrapper<SysCouponActivity>()) + .stream() + .collect(Collectors.toMap(SysCouponActivity::getId, user -> user)); // 查询已使用折扣总额 for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ @@ -1086,13 +1162,13 @@ grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); grantVO.setType("折扣"); grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); - TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + TUser tUser = userMap.get(tOrderPrivateCar.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); if (userActivityDiscount1!=null){ - UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); if (userActivity!=null){ grantVO.setRemark(userActivity.getName()); } @@ -1110,13 +1186,13 @@ grantVO.setType("折扣"); grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); - TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + TUser tUser = userMap.get(tOrderPrivateCar.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); if (userActivityDiscount1!=null){ - UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); if (userActivity!=null){ grantVO.setRemark(userActivity.getName()); } @@ -1129,14 +1205,20 @@ grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); grantVO.setType("红包"); grantVO.setAmount(userRedPacketRecord.getMoney().toString()); - TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - UserActivityRedenvelope userActivityRedenvelope = - userActivityRedenvelopeService.selectById(userRedPacketRecord.getRedPacketActivityId()); + if (userRedPacketRecord.getIsGrant() == 1){ + // 后台发放的红包 + grantVO.setRemark("指定发放"); + } + + + UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeMap.get(userRedPacketRecord.getRedPacketActivityId()); + if (userActivityRedenvelope!=null){ - UserActivity userActivity = userActivityService.selectById(userActivityRedenvelope.getUserActivityId()); + UserActivity userActivity = userActivityMap.get(userActivityRedenvelope.getUserActivityId()); if (userActivity!=null){ grantVO.setRemark(userActivity.getName()); } @@ -1150,14 +1232,14 @@ grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); grantVO.setType("优惠券"); grantVO.setAmount(userCouponRecord.getMoney().toString()); - TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - SysCouponRecord sysCouponRecord = - sysCouponRecordService.selectById(userCouponRecord.getCouponId()); - if (sysCouponRecord!=null){ - grantVO.setRemark(sysCouponRecord.getName()); + SysCouponActivity sysCouponActivity = sysCouponActivityMap.get(userCouponRecord.getCouponActivityId()); + + if (sysCouponActivity!=null){ + grantVO.setRemark(sysCouponActivity.getName()); } coupon = coupon.add(new BigDecimal(userCouponRecord.getMoney().toString())); res.add(grantVO); @@ -1168,7 +1250,7 @@ grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime())); grantVO.setType("司机奖励"); grantVO.setAmount(driverActivityHistory.getMoney().toString()); - TDriver tDriver = driverService.selectById(driverActivityHistory.getDriverId()); + TDriver tDriver = driverMap.get(driverActivityHistory.getDriverId()); if (tDriver!=null){ grantVO.setName(tDriver.getFirstName()+tDriver.getLastName()); } @@ -1190,8 +1272,11 @@ driver = driver.add(new BigDecimal(driverActivityHistory.getMoney().toString())); res.add(grantVO); } + List<GrantVO> sortedList = res.stream() + .sorted((o1, o2) -> o2.getInsertTime().compareTo(o1.getInsertTime())) + .collect(Collectors.toList()); total = total.add(redPackage).add(coupon).add(discount).add(driver); - return res; + return sortedList; } @RequestMapping(value = "/grant/getCount") @ResponseBody @@ -1255,6 +1340,7 @@ break; } } + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 列表res List<GrantVO> res = new ArrayList<>(); @@ -1286,7 +1372,7 @@ // 司机奖励 Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() ; - if (time == 5 && insertTime==null){ + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("discountMoney") @@ -1304,6 +1390,7 @@ ; // 红包领取记录wrapper between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state",0) ; // 司机奖励 between4 = new EntityWrapper<DriverActivityHistory>() @@ -1327,12 +1414,14 @@ .between("insertTime", start, end); // 红包领取记录wrapper between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state",0) .between("insertTime", start, end); // 司机奖励 between4 = new EntityWrapper<DriverActivityHistory>() .eq("carryOut", 2) .between("insertTime", start, end); } + if (type!=null){ switch (type){ @@ -1376,12 +1465,27 @@ BigDecimal coupon = new BigDecimal("0"); // 已领取司机奖励总额(司机端) BigDecimal driver = new BigDecimal("0"); + Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) + .stream() + .collect(Collectors.toMap(TUser::getId, user -> user)); + Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) + .stream() + .collect(Collectors.toMap(TDriver::getId, user -> user)); + Map<Integer, UserActivity> userActivityMap = userActivityService.selectList(new EntityWrapper<UserActivity>()) + .stream() + .collect(Collectors.toMap(UserActivity::getId, user -> user)); + Map<Integer, UserActivityDiscount1> userActivityDiscountMap = userActivityDiscount1Service.selectList(new EntityWrapper<UserActivityDiscount1>()) + .stream() + .collect(Collectors.toMap(UserActivityDiscount1::getId, user -> user)); + Map<Integer, UserActivityRedenvelope> userActivityRedenvelopeMap = userActivityRedenvelopeService.selectList(new EntityWrapper<UserActivityRedenvelope>()) + .stream() + .collect(Collectors.toMap(UserActivityRedenvelope::getId, user -> user)); + Map<Integer, SysCouponActivity> sysCouponActivityMap = sysCouponActivityService.selectList(new EntityWrapper<SysCouponActivity>()) + .stream() + .collect(Collectors.toMap(SysCouponActivity::getId, user -> user)); // 查询已使用折扣总额 for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { - if (tOrderPrivateCar.getDiscountMoney()== null){ - continue; - } - if (tOrderPrivateCar.getState() != 9 &&tOrderPrivateCar.getState() != 8){ + if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ continue; } discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); @@ -1389,13 +1493,13 @@ grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); grantVO.setType("折扣"); grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); - TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + TUser tUser = userMap.get(tOrderPrivateCar.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); if (userActivityDiscount1!=null){ - UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); if (userActivity!=null){ grantVO.setRemark(userActivity.getName()); } @@ -1403,24 +1507,23 @@ res.add(grantVO); } for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { - if (tOrderPrivateCar.getDiscountMoney()== null){ + if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ continue; } - if (tOrderPrivateCar.getState() != 9 &&tOrderPrivateCar.getState() != 8){ - continue; - } + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); - TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + TUser tUser = userMap.get(tOrderPrivateCar.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); if (userActivityDiscount1!=null){ - UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); if (userActivity!=null){ grantVO.setRemark(userActivity.getName()); } @@ -1433,14 +1536,20 @@ grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); grantVO.setType("红包"); grantVO.setAmount(userRedPacketRecord.getMoney().toString()); - TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - UserActivityRedenvelope userActivityRedenvelope = - userActivityRedenvelopeService.selectById(userRedPacketRecord.getRedPacketActivityId()); + if (userRedPacketRecord.getIsGrant() == 1){ + // 后台发放的红包 + grantVO.setRemark("指定发放"); + } + + + UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeMap.get(userRedPacketRecord.getRedPacketActivityId()); + if (userActivityRedenvelope!=null){ - UserActivity userActivity = userActivityService.selectById(userActivityRedenvelope.getUserActivityId()); + UserActivity userActivity = userActivityMap.get(userActivityRedenvelope.getUserActivityId()); if (userActivity!=null){ grantVO.setRemark(userActivity.getName()); } @@ -1454,14 +1563,14 @@ grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); grantVO.setType("优惠券"); grantVO.setAmount(userCouponRecord.getMoney().toString()); - TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - SysCouponRecord sysCouponRecord = - sysCouponRecordService.selectById(userCouponRecord.getCouponId()); - if (sysCouponRecord!=null){ - grantVO.setRemark(sysCouponRecord.getName()); + SysCouponActivity sysCouponActivity = sysCouponActivityMap.get(userCouponRecord.getCouponActivityId()); + + if (sysCouponActivity!=null){ + grantVO.setRemark(sysCouponActivity.getName()); } coupon = coupon.add(new BigDecimal(userCouponRecord.getMoney().toString())); res.add(grantVO); @@ -1472,7 +1581,7 @@ grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime())); grantVO.setType("司机奖励"); grantVO.setAmount(driverActivityHistory.getMoney().toString()); - TDriver tDriver = driverService.selectById(driverActivityHistory.getDriverId()); + TDriver tDriver = driverMap.get(driverActivityHistory.getDriverId()); if (tDriver!=null){ grantVO.setName(tDriver.getFirstName()+tDriver.getLastName()); } -- Gitblit v1.7.1