From 009f795a6e93cbb94e4a316e0efa8cb7124743f5 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 22 十月 2024 19:13:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0 --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java | 207 ++++++++++++++++++++++++++------------------------- 1 files changed, 104 insertions(+), 103 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 da058c3..16814ff 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; /** * 控制器 @@ -181,7 +184,7 @@ // 司机消费 List<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>(); // 司机提现 - List<BalanceUsageRecord> driverWithdrawal = new ArrayList<>(); + List<TPubWithdrawal> driverWithdrawal = new ArrayList<>(); Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>() ; @@ -204,14 +207,7 @@ // 司机已消费金额 Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>() ; - // 司机提现 - Wrapper<BalanceUsageRecord> between44 = new EntityWrapper<BalanceUsageRecord>() - ; - if (time!=null && time == 5){ - driverWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 2) - ; + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("activityId") @@ -236,15 +232,20 @@ .isNotNull("redPacketMoney"); // 司机已消费金额 between4 = new EntityWrapper<BalanceUsageRecord>() + .eq("type",1) .ne("purpose", 6); // 司机提现 - between44 = new EntityWrapper<BalanceUsageRecord>() - .eq("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("handleTime", start, end); + .between("insertTime", start, end); // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("activityId") @@ -276,11 +277,10 @@ // 司机已消费金额 between4 = new EntityWrapper<BalanceUsageRecord>() .ne("purpose", 6) + .eq("type",1) .between("createTime", start, end); - // 司机提现 - between44 = new EntityWrapper<BalanceUsageRecord>() - .eq("purpose", 6) - .between("createTime", start, end); + + } // 司机提现wrapper if (type!=null){ @@ -298,8 +298,7 @@ case 3: // 司机消费记录 balanceUsageRecords = balanceUsageRecordService.selectList(between4); - - driverWithdrawal = balanceUsageRecordService.selectList(between44); + driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); break; case 4: // 专车订单 @@ -322,7 +321,7 @@ // 消费 balanceUsageRecords = balanceUsageRecordService.selectList(between4); // 提现 - driverWithdrawal = balanceUsageRecordService.selectList(between44); + driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); } // 已发放补贴总额 @@ -371,13 +370,19 @@ 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)); +// 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()); + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); @@ -410,7 +415,7 @@ GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); grantVO.setType("优惠券"); - grantVO.setAmount(userCouponRecord.getPayMoney().toString()); + grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); @@ -423,7 +428,7 @@ GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); grantVO.setType("优惠券"); - grantVO.setAmount(userCouponRecord.getPayMoney().toString()); + grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); @@ -468,30 +473,35 @@ res.add(grantVO); } // 司机提现 - for (BalanceUsageRecord balanceUsageRecord : driverWithdrawal) { + for (TPubWithdrawal balanceUsageRecord : driverWithdrawal) { GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); + grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime())); grantVO.setType("司机奖励"); grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverService.selectById(balanceUsageRecord.getDriverId()); + TDriver tUser = driverService.selectById(balanceUsageRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getFirstName()+tUser.getLastName()); } - switch (balanceUsageRecord.getPurpose()){ - case 6: - grantVO.setRemark("司机提现"); - break; - } + grantVO.setRemark("司机提现"); driverWithdrawal1 = driverWithdrawal1.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); 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) { @@ -570,7 +580,8 @@ // 司机消费 List<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>(); // 司机提现 - List<BalanceUsageRecord> driverWithdrawal = new ArrayList<>(); + List<TPubWithdrawal> driverWithdrawal = new ArrayList<>(); + Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>() ; // 专车wrapper @@ -592,14 +603,7 @@ // 司机已消费金额 Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>() ; - // 司机提现 - Wrapper<BalanceUsageRecord> between44 = new EntityWrapper<BalanceUsageRecord>() - ; - if (time!=null && time == 5){ - driverWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 2) - ; + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("activityId") @@ -624,15 +628,20 @@ .isNotNull("redPacketMoney"); // 司机已消费金额 between4 = new EntityWrapper<BalanceUsageRecord>() + .eq("type",1) .ne("purpose", 6); // 司机提现 - between44 = new EntityWrapper<BalanceUsageRecord>() - .eq("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("handleTime", start, end); + .between("insertTime", start, end); // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("activityId") @@ -664,13 +673,12 @@ // 司机已消费金额 between4 = new EntityWrapper<BalanceUsageRecord>() .ne("purpose", 6) + .eq("type",1) .between("createTime", start, end); - // 司机提现 - between44 = new EntityWrapper<BalanceUsageRecord>() - .eq("purpose", 6) - .between("createTime", start, end); - } + + } + // 司机提现wrapper if (type!=null){ switch (type){ case 1: @@ -686,8 +694,7 @@ case 3: // 司机消费记录 balanceUsageRecords = balanceUsageRecordService.selectList(between4); - - driverWithdrawal = balanceUsageRecordService.selectList(between44); + driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); break; case 4: // 专车订单 @@ -710,7 +717,7 @@ // 消费 balanceUsageRecords = balanceUsageRecordService.selectList(between4); // 提现 - driverWithdrawal = balanceUsageRecordService.selectList(between44); + driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); } // 已发放补贴总额 @@ -729,9 +736,6 @@ BigDecimal driverWithdrawal1 = new BigDecimal("0"); // 查询已使用折扣总额 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())); @@ -745,9 +749,6 @@ 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())); @@ -760,21 +761,24 @@ 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)); +// 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()); + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); @@ -784,9 +788,6 @@ redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString())); } for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) { - if (userRedPacketRecord.getState() != 9 &&userRedPacketRecord.getState() != 8){ - continue; - } GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); grantVO.setType("红包"); @@ -807,13 +808,10 @@ } // 查询已领取优惠券总额 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.getPayMoney().toString()); + grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); @@ -823,13 +821,10 @@ 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.getPayMoney().toString()); + grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getNickName()); @@ -840,7 +835,6 @@ } // 司机消费奖励 for (BalanceUsageRecord balanceUsageRecord : balanceUsageRecords) { - GrantVO grantVO = new GrantVO(); grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); grantVO.setType("司机奖励"); @@ -875,40 +869,36 @@ res.add(grantVO); } // 司机提现 - for (BalanceUsageRecord balanceUsageRecord : driverWithdrawal) { + for (TPubWithdrawal balanceUsageRecord : driverWithdrawal) { GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); + grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime())); grantVO.setType("司机奖励"); grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverService.selectById(balanceUsageRecord.getDriverId()); + TDriver tUser = driverService.selectById(balanceUsageRecord.getUserId()); if (tUser!=null){ grantVO.setName(tUser.getFirstName()+tUser.getLastName()); } - switch (balanceUsageRecord.getPurpose()){ - case 6: - grantVO.setRemark("司机提现"); - break; - } + grantVO.setRemark("司机提现"); driverWithdrawal1 = driverWithdrawal1.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); res.add(grantVO); } - // 总额 total = total.add(redPackage).add(coupon).add(discount).add(driverConsume).add(driverWithdrawal1); // 已使用司机奖励合计 driver = driverConsume.add(driverWithdrawal1); UseMoneyVO useMoneyVO = new UseMoneyVO(); - useMoneyVO.setTotal(total); + useMoneyVO.setTotal(total.add(driver)); useMoneyVO.setDiscount(discount); useMoneyVO.setRedPackage(redPackage); useMoneyVO.setCoupon(coupon); useMoneyVO.setDriver(driver); useMoneyVO.setDriverWithdrawal(driverWithdrawal1); useMoneyVO.setDriverConsume(driverConsume); - return useMoneyVO; } + @Autowired + private ISysRedPacketRecordService sysRedPacketRecordService; /** * 发放补贴统计 */ @@ -1005,7 +995,7 @@ // 司机奖励 Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() ; - if (time == 5){ + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("discountMoney") @@ -1023,6 +1013,7 @@ ; // 红包领取记录wrapper between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state",0) ; // 司机奖励 between4 = new EntityWrapper<DriverActivityHistory>() @@ -1046,6 +1037,7 @@ .between("insertTime", start, end); // 红包领取记录wrapper between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state",0) .between("insertTime", start, end); // 司机奖励 between4 = new EntityWrapper<DriverActivityHistory>() @@ -1098,7 +1090,7 @@ BigDecimal driver = new BigDecimal("0"); // 查询已使用折扣总额 for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { - if (tOrderPrivateCar.getDiscountMoney()==null){ + if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ continue; } discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); @@ -1120,7 +1112,7 @@ res.add(grantVO); } for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { - if (tOrderPrivateCar.getDiscountMoney()==null){ + if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ continue; } @@ -1153,6 +1145,11 @@ if (tUser!=null){ grantVO.setName(tUser.getNickName()); } + if (userRedPacketRecord.getIsGrant() == 1){ + // 后台发放的红包 + grantVO.setRemark("指定发放"); + } + UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectById(userRedPacketRecord.getRedPacketActivityId()); if (userActivityRedenvelope!=null){ @@ -1174,10 +1171,9 @@ if (tUser!=null){ grantVO.setName(tUser.getNickName()); } - SysCouponRecord sysCouponRecord = - sysCouponRecordService.selectById(userCouponRecord.getCouponId()); - if (sysCouponRecord!=null){ - grantVO.setRemark(sysCouponRecord.getName()); + SysCouponActivity sysCouponActivity = sysCouponActivityService.selectById(userCouponRecord.getCouponActivityId()); + if (sysCouponActivity!=null){ + grantVO.setRemark(sysCouponActivity.getName()); } coupon = coupon.add(new BigDecimal(userCouponRecord.getMoney().toString())); res.add(grantVO); @@ -1210,8 +1206,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 @@ -1306,7 +1305,7 @@ // 司机奖励 Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() ; - if (time == 5){ + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 专车wrapper between = new EntityWrapper<TOrderPrivateCar>() .isNotNull("discountMoney") @@ -1324,6 +1323,7 @@ ; // 红包领取记录wrapper between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state",0) ; // 司机奖励 between4 = new EntityWrapper<DriverActivityHistory>() @@ -1347,6 +1347,7 @@ .between("insertTime", start, end); // 红包领取记录wrapper between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state",0) .between("insertTime", start, end); // 司机奖励 between4 = new EntityWrapper<DriverActivityHistory>() -- Gitblit v1.7.1