Pu Zhibing
2025-06-06 b1f2f102034b4433201225b67a9fc78c08e532f0
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java
@@ -1,6 +1,5 @@
package com.stylefeng.guns.modular.system.controller;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.stylefeng.guns.core.base.controller.BaseController;
@@ -18,7 +17,6 @@
import org.springframework.web.bind.annotation.ResponseBody;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
@@ -81,25 +79,25 @@
   private IUserActivityDiscount1Service userActivityDiscount1Service;
   @Autowired
   private ISysRedPacketRecordService sysRedPacketRecordService;
   @Autowired
   private ITCompanyService companyService;
   @Autowired
   private IDriverActivityService driverActivityService;
   public static void main(String[] args) {
      String temp = "[{\"money\":14.46,\"id\":91},{\"money\":1,\"id\":90}]";
      JSONArray objects = JSONArray.parseArray(temp);
      BigDecimal temp1 = new BigDecimal(BigInteger.ZERO);
      for (int i = 0; i < objects.size(); i++) {
         String string = objects.getJSONObject(i).getString("money");
         temp1 = temp1.add(new BigDecimal(string));
      }
      System.err.println(temp1);
   }
   
   @RequestMapping("/grant")
   public String index(Model model) {
      List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
      model.addAttribute("company", tCompanies);
      return PREFIX + "grant.html";
   }
   
   @RequestMapping("/use")
   public String watter(Model model) {
      List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
      model.addAttribute("company", tCompanies);
      return PREFIX + "use.html";
   }
   
@@ -108,7 +106,7 @@
    */
   @RequestMapping(value = "/use/list")
   @ResponseBody
   public Object list1(Integer time, String insertTime, Integer type) {
   public Object list1(Integer time, String insertTime, Integer type, Integer company) {
      if (time == null) {
         time = 1;
      }
@@ -199,51 +197,65 @@
      Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>();
      // 司机已消费金额
      Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>();
      List<Integer> collect = new ArrayList<>();
      if(null != company){
         List<TDriver> driverActivities = driverService.selectList(new EntityWrapper<TDriver>().eq("companyId", company));
         collect = driverActivities.stream().map(TDriver::getId).collect(Collectors.toList());
         collect.add(0);
      }
      if (time == 5 && !StringUtils.hasLength(insertTime)) {
         // 专车wrapper
         between = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("activityId")
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
         ;
         
         // 小件物流wrapper
         between1 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("activityId")
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
         ;
         
         // 已使用优惠券记录wrapper
         between2 = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("couponId")
               .isNotNull("couponMoney")
               .eq(null != company, "companyId", company)
         ;
         
         between22 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("couponId")
               .isNotNull("couponMoney")
               .eq(null != company, "companyId", company)
         ;
         
         // 已使用红包记录wrapper
         between3 = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("redPacketId")
               .isNotNull("redPacketMoney")
               .eq(null != company, "companyId", company)
         ;
         
         between33 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("redPacketId")
               .isNotNull("redPacketMoney")
               .eq(null != company, "companyId", company)
         ;
         
         // 司机已消费金额
         between4 = new EntityWrapper<BalanceUsageRecord>()
               .eq("type", 1)
               .ne("purpose", 6)
               .in(!collect.isEmpty(), "driverId", collect)
         ;
         
         // 司机提现
         driverWrapper = new EntityWrapper<TPubWithdrawal>()
               .eq("state", 2)
               .eq("type", 1)
               .in(!collect.isEmpty(), "userId", collect)
               .eq("userType", 2)
         ;
         
@@ -253,39 +265,47 @@
               .eq("state", 2)
               .eq("type", 1)
               .eq("userType", 2)
               .in(!collect.isEmpty(), "userId", collect)
               .between("insertTime", start, end);
         // 专车wrapper
         between = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("activityId")
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 小件物流wrapper
         between1 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("activityId")
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 已使用优惠券记录wrapper
         between2 = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("couponId")
               .isNotNull("couponMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         between22 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("couponId")
               .isNotNull("couponMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 已使用红包记录wrapper
         between3 = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("redPacketId")
               .isNotNull("redPacketMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         between33 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("redPacketId")
               .isNotNull("redPacketMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 司机已消费金额
         between4 = new EntityWrapper<BalanceUsageRecord>()
               .ne("purpose", 6)
               .eq("type", 1)
               .in(!collect.isEmpty(), "driverId", collect)
               .between("createTime", start, end);
         
         
@@ -540,7 +560,7 @@
   
   @RequestMapping(value = "/use/getCount")
   @ResponseBody
   public Object getCount1(Integer time, String insertTime, Integer type) {
   public Object getCount1(Integer time, String insertTime, Integer type, Integer company) {
      if (time == null) {
         time = 1;
      }
@@ -631,11 +651,18 @@
      Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>();
      // 司机已消费金额
      Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>();
      List<Integer> collect = new ArrayList<>();
      if(null != company){
         List<TDriver> driverActivities = driverService.selectList(new EntityWrapper<TDriver>().eq("companyId", company));
         collect = driverActivities.stream().map(TDriver::getId).collect(Collectors.toList());
         collect.add(0);
      }
      if (time == 5 && !StringUtils.hasLength(insertTime)) {
         // 专车wrapper
         between = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("activityId")
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
         ;
         
@@ -643,6 +670,7 @@
         between1 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("activityId")
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
         ;
         
@@ -650,12 +678,14 @@
         between2 = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("couponId")
               .isNotNull("couponMoney")
               .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
         ;
         
         between22 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("couponId")
               .isNotNull("couponMoney")
               .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
         ;
         
@@ -663,12 +693,14 @@
         between3 = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("redPacketId")
               .isNotNull("redPacketMoney")
               .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
         ;
         
         between33 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("redPacketId")
               .isNotNull("redPacketMoney")
               .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
         ;
         
@@ -676,6 +708,7 @@
         between4 = new EntityWrapper<BalanceUsageRecord>()
               .eq("type", 1)
               .ne("purpose", 6)
               .in(!collect.isEmpty(), "driverId", collect)
//                    .between("createTime", start, end)
         ;
         
@@ -684,6 +717,7 @@
               .eq("state", 2)
               .eq("type", 1)
               .eq("userType", 2)
               .in(!collect.isEmpty(), "userId", collect)
//                    .between("insertTime", start, end)
         ;
         
@@ -692,39 +726,47 @@
               .eq("state", 2)
               .eq("type", 1)
               .eq("userType", 2)
               .in(!collect.isEmpty(), "userId", collect)
               .between("insertTime", start, end);
         // 专车wrapper
         between = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("activityId")
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 小件物流wrapper
         between1 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("activityId")
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 已使用优惠券记录wrapper
         between2 = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("couponId")
               .isNotNull("couponMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         between22 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("couponId")
               .isNotNull("couponMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 已使用红包记录wrapper
         between3 = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("redPacketId")
               .isNotNull("redPacketMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         between33 = new EntityWrapper<TOrderLogistics>()
               .isNotNull("redPacketId")
               .isNotNull("redPacketMoney")
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 司机已消费金额
         between4 = new EntityWrapper<BalanceUsageRecord>()
               .ne("purpose", 6)
               .eq("type", 1)
               .in(!collect.isEmpty(), "driverId", collect)
               .between("createTime", start, end);
         
         
@@ -957,7 +999,7 @@
    */
   @RequestMapping(value = "/grant/list")
   @ResponseBody
   public Object list(Integer time, String insertTime, Integer type) {
   public Object list(Integer time, String insertTime, Integer type, Integer company) {
      if (time == null) {
         time = 1;
      }
@@ -1041,53 +1083,66 @@
      Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>();
      // 司机奖励
      Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>();
      List<Integer> collect = new ArrayList<>();
      if(null != company){
         List<DriverActivity> driverActivities = driverActivityService.selectList(new EntityWrapper<DriverActivity>().eq("companyId", company).eq("status", 3));
         collect = driverActivities.stream().map(DriverActivity::getId).collect(Collectors.toList());
         collect.add(0);
      }
      if (time == 5 && !StringUtils.hasLength(insertTime)) {
         // 专车wrapper
         between = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("discountMoney")
               .isNotNull("discountMoney").eq(null != company, "companyId", company)
         
         ;
         // 小件物流wrapper
         between1 = new EntityWrapper<TOrderLogistics>()
               
               .isNotNull("discountMoney")
               .isNotNull("discountMoney").eq(null != company, "companyId", company)
         ;
         // 优惠券领取记录wrapper
         between2 = new EntityWrapper<UserCouponRecord>()
               .ne("couponUseType", 2)
               .ne("couponUseType", 3)
               .eq(null != company, "companyId", company)
         ;
         // 红包领取记录wrapper
         between3 = new EntityWrapper<UserRedPacketRecord>()
               .ne("state", 0)
               .eq(null != company, "companyId", company)
         ;
         // 司机奖励
         between4 = new EntityWrapper<DriverActivityHistory>()
               .eq("carryOut", 2)
               .in(!collect.isEmpty(), "activityId", collect)
         ;
      } else {
         // 专车wrapper
         between = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("discountMoney")
               .isNotNull("discountMoney").eq(null != company, "companyId", company)
               .between("insertTime", start, end)
         ;
         // 小件物流wrapper
         between1 = new EntityWrapper<TOrderLogistics>()
               .between("insertTime", start, end)
               .between("insertTime", start, end).eq(null != company, "companyId", company)
               .isNotNull("discountMoney")
         ;
         // 优惠券领取记录wrapper
         between2 = new EntityWrapper<UserCouponRecord>()
               .ne("couponUseType", 2)
               .ne("couponUseType", 3)
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 红包领取记录wrapper
         between3 = new EntityWrapper<UserRedPacketRecord>()
               .ne("state", 0)
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 司机奖励
         between4 = new EntityWrapper<DriverActivityHistory>()
               .eq("carryOut", 2)
               .in(!collect.isEmpty(), "activityId", collect)
               .between("insertTime", start, end);
      }
      
@@ -1291,7 +1346,7 @@
   
   @RequestMapping(value = "/grant/getCount")
   @ResponseBody
   public Object getCount(Integer time, String insertTime, Integer type) {
   public Object getCount(Integer time, String insertTime, Integer type, Integer company) {
      GrantMoneyVO result = new GrantMoneyVO();
      if (time == null) {
         time = 1;
@@ -1376,53 +1431,69 @@
      Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>();
      // 司机奖励
      Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>();
      List<Integer> collect = new ArrayList<>();
      if(null != company){
         List<DriverActivity> driverActivities = driverActivityService.selectList(new EntityWrapper<DriverActivity>().eq("companyId", company).eq("status", 3));
         collect = driverActivities.stream().map(DriverActivity::getId).collect(Collectors.toList());
         collect.add(0);
      }
      if (time == 5 && !StringUtils.hasLength(insertTime)) {
         // 专车wrapper
         between = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
         
         ;
         // 小件物流wrapper
         between1 = new EntityWrapper<TOrderLogistics>()
               
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
         ;
         // 优惠券领取记录wrapper
         between2 = new EntityWrapper<UserCouponRecord>()
               .ne("couponUseType", 2)
               .ne("couponUseType", 3)
               .eq(null != company, "companyId", company)
         ;
         // 红包领取记录wrapper
         between3 = new EntityWrapper<UserRedPacketRecord>()
               .ne("state", 0)
               .eq(null != company, "companyId", company)
         ;
         // 司机奖励
         between4 = new EntityWrapper<DriverActivityHistory>()
               .eq("carryOut", 2)
               .in(!collect.isEmpty(), "activityId", collect)
         ;
      } else {
         // 专车wrapper
         between = new EntityWrapper<TOrderPrivateCar>()
               .isNotNull("discountMoney")
               .between("insertTime", start, end)
               .eq(null != company, "companyId", company)
         ;
         // 小件物流wrapper
         between1 = new EntityWrapper<TOrderLogistics>()
               .between("insertTime", start, end)
               .isNotNull("discountMoney")
               .eq(null != company, "companyId", company)
         ;
         // 优惠券领取记录wrapper
         between2 = new EntityWrapper<UserCouponRecord>()
               .ne("couponUseType", 2)
               .ne("couponUseType", 3)
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 红包领取记录wrapper
         between3 = new EntityWrapper<UserRedPacketRecord>()
               .ne("state", 0)
               .eq(null != company, "companyId", company)
               .between("insertTime", start, end);
         // 司机奖励
         between4 = new EntityWrapper<DriverActivityHistory>()
               .eq("carryOut", 2)
               .in(!collect.isEmpty(), "activityId", collect)
               .between("insertTime", start, end);
      }