From a606bc5b0af6bc85b8ce2bca66a1d74fac3751b7 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 22 七月 2024 17:19:09 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java |  774 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 558 insertions(+), 216 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 f6986e1..337033c 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
@@ -1,5 +1,7 @@
 package com.stylefeng.guns.modular.system.controller;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
@@ -11,6 +13,7 @@
 import com.stylefeng.guns.modular.system.vo.GrantMoneyVO;
 import com.stylefeng.guns.modular.system.vo.GrantVO;
 import com.stylefeng.guns.modular.system.vo.PlatformVO;
+import com.stylefeng.guns.modular.system.vo.UseMoneyVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -20,6 +23,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.text.SimpleDateFormat;
 import java.time.*;
 import java.time.temporal.TemporalAdjusters;
@@ -55,7 +59,8 @@
     private IIncomeService incomeService;
     @Autowired
     private ISettlementRecordService settlementRecordService;
-
+    @Autowired
+    private IBalanceUsageRecordService balanceUsageRecordService;
     @Autowired
     private ISettlementDetailService settlementDetailService;
     @Autowired
@@ -84,6 +89,17 @@
     private ISysCouponRecordService sysCouponRecordService;
     @Autowired
     private IUserActivityDiscount1Service userActivityDiscount1Service;
+
+    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);
+    }
     /**
      * 使用补贴统计
      */
@@ -148,7 +164,6 @@
                     break;
             }
         }
-        Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         // 列表res
         List<GrantVO> res = new ArrayList<>();
@@ -162,63 +177,109 @@
         // 红包领取记录
         List<TOrderPrivateCar> userRedPacketRecords = new ArrayList<>();
         List<TOrderLogistics> userRedPacketRecords1 = new ArrayList<>();
+
         // 司机消费
-        List<TPubTransactionDetails> driverActivityHistories = new ArrayList<>();
+        List<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>();
         // 司机提现
         List<TPubWithdrawal> driverWithdrawal = new ArrayList<>();
-        // 司机提现wrapper
+
         Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>()
-                .eq("state", 2)
-                .eq("userType", 2)
-                .between("handleTime", start, end);
+                ;
         // 专车wrapper
         Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("activityId")
-                .isNotNull("discountMoney")
-                .between("insertTime", start, end);
+                ;
         // 小件物流wrapper
         Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("activityId")
-                .isNotNull("discountMoney")
-                .between("insertTime", start, end);
+                ;
         // 已使用优惠券记录wrapper
         Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("couponId")
-                .isNotNull("couponMoney")
-                .between("insertTime", start, end);
+                ;
         Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("couponId")
-                .isNotNull("couponMoney")
-                .between("insertTime", start, end);
+                ;
         // 已使用红包记录wrapper
         Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("redPacketId")
-                .isNotNull("redPacketMoney")
-                .between("insertTime", start, end);
+                ;
         Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("redPacketId")
-                .isNotNull("redPacketMoney")
-                .between("insertTime", start, end);
+                ;
         // 司机已消费金额
-        Wrapper<TPubTransactionDetails> between4 = new EntityWrapper<TPubTransactionDetails>()
-                .eq("state", 2)
-                .eq("type", 1)
-                .eq("userType", 2)
-                .ne("orderType", 2)
-                .ne("orderType", 3)
-                .between("insertTime", start, end);
+        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>()
+                ;
+        if (time == 5 && insertTime==null){
+            driverWrapper = new EntityWrapper<TPubWithdrawal>()
+                    .eq("state", 2)
+                    .eq("userType", 2)
+                    ;
+            // 专车wrapper
+            between = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("activityId")
+                    .isNotNull("discountMoney");
+            // 小件物流wrapper
+            between1 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("activityId")
+                    .isNotNull("discountMoney");
+            // 已使用优惠券记录wrapper
+           between2 = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("couponId")
+                    .isNotNull("couponMoney");
+            between22 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("couponId")
+                    .isNotNull("couponMoney");
+            // 已使用红包记录wrapper
+            between3 = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("redPacketId")
+                    .isNotNull("redPacketMoney");
+            between33 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("redPacketId")
+                    .isNotNull("redPacketMoney");
+            // 司机已消费金额
+            between4 = new EntityWrapper<BalanceUsageRecord>()
+                    .ne("purpose", 6);
+            // 司机提现
+            driverWrapper = new EntityWrapper<TPubWithdrawal>()
+                    .eq("state", 2)
+                    .eq("userType", 2)
+                    ;
+        }else{
+            driverWrapper = new EntityWrapper<TPubWithdrawal>()
+                    .eq("state", 2)
+                    .eq("userType", 2)
+                    .between("insertTime", start, end);
+            // 专车wrapper
+            between = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("activityId")
+                    .isNotNull("discountMoney")
+                    .between("insertTime", start, end);
+            // 小件物流wrapper
+             between1 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("activityId")
+                    .isNotNull("discountMoney")
+                    .between("insertTime", start, end);
+            // 已使用优惠券记录wrapper
+            between2 = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("couponId")
+                    .isNotNull("couponMoney")
+                    .between("insertTime", start, end);
+            between22 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("couponId")
+                    .isNotNull("couponMoney")
+                    .between("insertTime", start, end);
+            // 已使用红包记录wrapper
+            between3 = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("redPacketId")
+                    .isNotNull("redPacketMoney")
+                    .between("insertTime", start, end);
+            between33 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("redPacketId")
+                    .isNotNull("redPacketMoney")
+                    .between("insertTime", start, end);
+            // 司机已消费金额
+            between4 = new EntityWrapper<BalanceUsageRecord>()
+                    .ne("purpose", 6)
+                    .between("createTime", start, end);
+            // 司机提现
+
+        }
+        // 司机提现wrapper
         if (type!=null){
             switch (type){
                 case 1:
@@ -233,8 +294,7 @@
                     break;
                 case 3:
                     // 司机消费记录
-                    driverActivityHistories = pubTransactionDetailsService.selectList(between4);
-
+                    balanceUsageRecords = balanceUsageRecordService.selectList(between4);
                     driverWithdrawal = pubWithdrawalService.selectList(driverWrapper);
                     break;
                 case 4:
@@ -256,7 +316,8 @@
             // 小件物流订单
             tOrderLogistics = orderLogisticsService.selectList(between1);
             // 消费
-            driverActivityHistories = pubTransactionDetailsService.selectList(between4);
+            balanceUsageRecords = balanceUsageRecordService.selectList(between4);
+            // 提现
             driverWithdrawal = pubWithdrawalService.selectList(driverWrapper);
         }
 
@@ -286,7 +347,7 @@
                 grantVO.setName(tUser.getNickName());
             }
             grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
-
+            res.add(grantVO);
         }
         for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) {
             discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString()));
@@ -299,13 +360,20 @@
                 grantVO.setName(tUser.getNickName());
             }
             grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
+            res.add(grantVO);
         }
-        // 查询已领取红包总额
+        // 查询已使用红包总额
         for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) {
             GrantVO grantVO = new GrantVO();
             grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
             grantVO.setType("红包");
-            grantVO.setAmount(userRedPacketRecord.getPayMoney().toString());
+            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));
+            }
+            grantVO.setAmount(temp.toString());
             TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
             if (tUser!=null){
                 grantVO.setName(tUser.getNickName());
@@ -318,7 +386,13 @@
             GrantVO grantVO = new GrantVO();
             grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
             grantVO.setType("红包");
-            grantVO.setAmount(userRedPacketRecord.getPayMoney().toString());
+            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));
+            }
+            grantVO.setAmount(temp.toString());
             TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
             if (tUser!=null){
                 grantVO.setName(tUser.getNickName());
@@ -332,7 +406,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());
@@ -345,7 +419,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());
@@ -354,41 +428,65 @@
             coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString()));
             res.add(grantVO);
         }
-        // 已领取司机奖励
-//        for (DriverActivityHistory driverActivityHistory : driverActivityHistories) {
-//            GrantVO grantVO = new GrantVO();
-//            grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime()));
-//            grantVO.setType("司机奖励");
-//            grantVO.setAmount(driverActivityHistory.getMoney().toString());
-//            TDriver tDriver = driverService.selectById(driverActivityHistory.getDriverId());
-//            if (tDriver!=null){
-//                grantVO.setName(tDriver.getFirstName()+tDriver.getLastName());
-//            }
-//            Integer type1 = driverActivityHistory.getType();
-//            switch (type1){
-//                case 1:
-//                    grantVO.setRemark("邀请司机注册");
-//                    break;
-//                case 2:
-//                    grantVO.setRemark("邀请用户注册");
-//                    break;
-//                case 3:
-//                    grantVO.setRemark("累计在线");
-//                    break;
-//                case 4:
-//                    grantVO.setRemark("订单量");
-//                    break;
-//            }
-//            driver = driver.add(new BigDecimal(driverActivityHistory.getMoney().toString()));
-//            res.add(grantVO);
-//        }
-        total = total.add(redPackage).add(coupon).add(discount).add(driver);
+        // 司机消费奖励
+        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());
+            if (tUser!=null){
+                grantVO.setName(tUser.getFirstName()+tUser.getLastName());
+            }
+            switch (balanceUsageRecord.getPurpose()){
+                case 1:
+                    //打车支付
+                    grantVO.setRemark("余额支付"+"【打车支付】");
+                    break;
+                case 2:
+                    grantVO.setRemark("余额支付"+"【包裹支付】");
+                    // 包裹支付
+                    break;
+                case 3:
+                    grantVO.setRemark("余额支付"+"【日结算】");
+                    // 日结算
+                    break;
+                case 4:
+                    grantVO.setRemark("余额支付"+"【周结算】");
+                    // 周结算
+                    break;
+                case 5:
+                    grantVO.setRemark("余额支付"+"【月结算】");
+                    // 月结算
+                    break;
+            }
+            driverConsume = driverConsume.add(new BigDecimal(balanceUsageRecord.getMoney().toString()));
+            res.add(grantVO);
+        }
+        // 司机提现
+        for (TPubWithdrawal balanceUsageRecord : driverWithdrawal) {
+            GrantVO grantVO = new GrantVO();
+            grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime()));
+            grantVO.setType("司机奖励");
+            grantVO.setAmount(balanceUsageRecord.getMoney().toString());
+            TDriver tUser = driverService.selectById(balanceUsageRecord.getUserId());
+            if (tUser!=null){
+                grantVO.setName(tUser.getFirstName()+tUser.getLastName());
+            }
+            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);
         return res;
     }
     @RequestMapping(value = "/use/getCount")
     @ResponseBody
     public Object getCount1(Integer time,String insertTime,Integer type) {
-        GrantMoneyVO result = new GrantMoneyVO();
         if (time == null){
             time = 1;
         }
@@ -455,54 +553,127 @@
         // 小件物流
         List<TOrderLogistics> tOrderLogistics = new ArrayList<>();
         // 优惠券领取记录
-        List<UserCouponRecord> userCouponRecords = new ArrayList<>();
+        List<TOrderPrivateCar> userCouponRecords = new ArrayList<>();
+        List<TOrderLogistics> userCouponRecords1 = new ArrayList<>();
         // 红包领取记录
-        List<UserRedPacketRecord> userRedPacketRecords = new ArrayList<>();
-        // 司机奖励
-        List<DriverActivityHistory> driverActivityHistories = new ArrayList<>();
+        List<TOrderPrivateCar> userRedPacketRecords = new ArrayList<>();
+        List<TOrderLogistics> userRedPacketRecords1 = new ArrayList<>();
 
+        // 司机消费
+        List<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>();
+        // 司机提现
+        List<TPubWithdrawal> driverWithdrawal = new ArrayList<>();
+        Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>()
+                ;
         // 专车wrapper
         Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("activityId")
-                .isNotNull("discountMoney")
-                .between("insertTime", start, end);
+                ;
         // 小件物流wrapper
         Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("activityId")
-                .isNotNull("discountMoney")
-                .between("insertTime", start, end);
-        // 优惠券领取记录wrapper
-        Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>()
-                .ne("couponUseType", 2)
-                .ne("couponUseType", 3)
-                .between("insertTime", start, end);
-        // 红包领取记录wrapper
-        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>()
-                .ne("orderType", 2)
-                .ne("orderType", 3)
-                .between("insertTime", start, end);
-        // 司机奖励
-        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>()
-                .eq("carryOut", 2)
-                .between("insertTime", start, end);
-        if (type!=null){
+                ;
+        // 已使用优惠券记录wrapper
+        Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>()
+                ;
+        Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>()
+                ;
+        // 已使用红包记录wrapper
+        Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>()
+                ;
+        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>()
+                ;
+        // 司机已消费金额
+        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)
+            ;
+            // 专车wrapper
+            between = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("activityId")
+                    .isNotNull("discountMoney");
+            // 小件物流wrapper
+            between1 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("activityId")
+                    .isNotNull("discountMoney");
+            // 已使用优惠券记录wrapper
+            between2 = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("couponId")
+                    .isNotNull("couponMoney");
+            between22 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("couponId")
+                    .isNotNull("couponMoney");
+            // 已使用红包记录wrapper
+            between3 = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("redPacketId")
+                    .isNotNull("redPacketMoney");
+            between33 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("redPacketId")
+                    .isNotNull("redPacketMoney");
+            // 司机已消费金额
+            between4 = new EntityWrapper<BalanceUsageRecord>()
+                    .ne("purpose", 6);
 
+        }else{
+            driverWrapper = new EntityWrapper<TPubWithdrawal>()
+                    .eq("state", 2)
+                    .eq("userType", 2)
+                    .between("insertTime", start, end);
+            // 专车wrapper
+            between = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("activityId")
+                    .isNotNull("discountMoney")
+                    .between("insertTime", start, end);
+            // 小件物流wrapper
+            between1 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("activityId")
+                    .isNotNull("discountMoney")
+                    .between("insertTime", start, end);
+            // 已使用优惠券记录wrapper
+            between2 = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("couponId")
+                    .isNotNull("couponMoney")
+                    .between("insertTime", start, end);
+            between22 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("couponId")
+                    .isNotNull("couponMoney")
+                    .between("insertTime", start, end);
+            // 已使用红包记录wrapper
+            between3 = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("redPacketId")
+                    .isNotNull("redPacketMoney")
+                    .between("insertTime", start, end);
+            between33 = new EntityWrapper<TOrderLogistics>()
+                    .isNotNull("redPacketId")
+                    .isNotNull("redPacketMoney")
+                    .between("insertTime", start, end);
+            // 司机已消费金额
+            between4 = new EntityWrapper<BalanceUsageRecord>()
+                    .ne("purpose", 6)
+                    .between("createTime", start, end);
+        }
+
+        if (type!=null){
             switch (type){
                 case 1:
                     // 红包
-                    userRedPacketRecords = userRedPacketRecordService.selectList(between3);
+                    userRedPacketRecords = orderPrivateCarService.selectList(between3);
+                    userRedPacketRecords1 = orderLogisticsService.selectList(between33);
                     break;
                 case 2:
-                    userCouponRecords = userCouponRecordService.selectList(between2);
+                    userCouponRecords = orderPrivateCarService.selectList(between2);
+                    userCouponRecords1 = orderLogisticsService.selectList(between22);
                     // 优惠券
                     break;
                 case 3:
-                    // 司机奖励
-                    driverActivityHistories = driverActivityHistoryService.selectList(between4);
+                    // 司机消费记录
+                    balanceUsageRecords = balanceUsageRecordService.selectList(between4);
+
+                    driverWithdrawal = pubWithdrawalService.selectList(driverWrapper);
                     break;
                 case 4:
                     // 专车订单
@@ -512,28 +683,41 @@
                     break;
             }
         }else{
+            // 红包
+            userRedPacketRecords = orderPrivateCarService.selectList(between3);
+            userRedPacketRecords1 = orderLogisticsService.selectList(between33);
+            // 优惠券
+            userCouponRecords = orderPrivateCarService.selectList(between2);
+            userCouponRecords1 = orderLogisticsService.selectList(between22);
             // 专车订单
             tOrderPrivateCars = orderPrivateCarService.selectList(between);
             // 小件物流订单
             tOrderLogistics = orderLogisticsService.selectList(between1);
-            // 司机奖励
-            driverActivityHistories = driverActivityHistoryService.selectList(between4);
-            userCouponRecords = userCouponRecordService.selectList(between2);
-            userRedPacketRecords = userRedPacketRecordService.selectList(between3);
+            // 消费
+            balanceUsageRecords = balanceUsageRecordService.selectList(between4);
+            // 提现
+            driverWithdrawal = pubWithdrawalService.selectList(between44);
         }
 
         // 已发放补贴总额
         BigDecimal total = new BigDecimal("0");
         // 已使用折扣总额(用户端)
         BigDecimal discount = new BigDecimal("0");
-        // 已领取红包总额(用户端)
+        // 已使用红包总额(用户端)
         BigDecimal redPackage = new BigDecimal("0");
-        // 已领取优惠券总额(用户端)
+        // 已使用优惠券总额(用户端)
         BigDecimal coupon = new BigDecimal("0");
-        // 已领取司机奖励总额(司机端)
+        // 已使用司机奖励总额(司机端)
         BigDecimal driver = new BigDecimal("0");
+        // 司机已消费
+        BigDecimal driverConsume = new BigDecimal("0");
+        // 司机已提现
+        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()));
@@ -543,15 +727,13 @@
             if (tUser!=null){
                 grantVO.setName(tUser.getNickName());
             }
-            UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId());
-            if (userActivityDiscount1!=null){
-                UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId());
-                if (userActivity!=null){
-                    grantVO.setRemark(userActivity.getName());
-                }
-            }
+            grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
+            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()));
@@ -561,89 +743,152 @@
             if (tUser!=null){
                 grantVO.setName(tUser.getNickName());
             }
-            UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId());
-            if (userActivityDiscount1!=null){
-                UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId());
-                if (userActivity!=null){
-                    grantVO.setRemark(userActivity.getName());
-                }
-            }
+            grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
+            res.add(grantVO);
         }
         // 查询已领取红包总额
-        for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) {
+        for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) {
+            if (userRedPacketRecord.getState() != 9 &&userRedPacketRecord.getState() != 8){
+                continue;
+            }
             GrantVO grantVO = new GrantVO();
             grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
             grantVO.setType("红包");
-            grantVO.setAmount(userRedPacketRecord.getMoney().toString());
+            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));
+            }
+            grantVO.setAmount(temp.toString());
             TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
             if (tUser!=null){
                 grantVO.setName(tUser.getNickName());
             }
-            UserActivityRedenvelope userActivityRedenvelope =
-                    userActivityRedenvelopeService.selectById(userRedPacketRecord.getRedPacketActivityId());
-            if (userActivityRedenvelope!=null){
-                UserActivity userActivity = userActivityService.selectById(userActivityRedenvelope.getUserActivityId());
-                if (userActivity!=null){
-                    grantVO.setRemark(userActivity.getName());
-                }
-            }
+            grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum());
             res.add(grantVO);
-            redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getMoney().toString()));
+            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("红包");
+            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));
+            }
+            grantVO.setAmount(temp.toString());
+            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
+            if (tUser!=null){
+                grantVO.setName(tUser.getNickName());
+            }
+            grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum());
+            res.add(grantVO);
+            redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString()));
         }
         // 查询已领取优惠券总额
-        for (UserCouponRecord userCouponRecord : userCouponRecords) {
+        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.getMoney().toString());
+            grantVO.setAmount(userCouponRecord.getCouponMoney().toString());
             TUser tUser = appUserService.selectById(userCouponRecord.getUserId());
             if (tUser!=null){
                 grantVO.setName(tUser.getNickName());
             }
-            SysCouponRecord sysCouponRecord =
-                    sysCouponRecordService.selectById(userCouponRecord.getCouponId());
-            if (sysCouponRecord!=null){
-                grantVO.setRemark(sysCouponRecord.getName());
-            }
-            coupon = coupon.add(new BigDecimal(userCouponRecord.getMoney().toString()));
+            grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum());
+            coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString()));
             res.add(grantVO);
         }
-        // 已领取司机奖励
-        for (DriverActivityHistory driverActivityHistory : driverActivityHistories) {
-            GrantVO grantVO = new GrantVO();
-            grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime()));
-            grantVO.setType("司机奖励");
-            grantVO.setAmount(driverActivityHistory.getMoney().toString());
-            TDriver tDriver = driverService.selectById(driverActivityHistory.getDriverId());
-            if (tDriver!=null){
-                grantVO.setName(tDriver.getFirstName()+tDriver.getLastName());
+        for (TOrderLogistics userCouponRecord : userCouponRecords1) {
+            if (userCouponRecord.getState() != 9 &&userCouponRecord.getState() != 8){
+                continue;
             }
-            Integer type1 = driverActivityHistory.getType();
-            switch (type1){
+            GrantVO grantVO = new GrantVO();
+            grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime()));
+            grantVO.setType("优惠券");
+            grantVO.setAmount(userCouponRecord.getCouponMoney().toString());
+            TUser tUser = appUserService.selectById(userCouponRecord.getUserId());
+            if (tUser!=null){
+                grantVO.setName(tUser.getNickName());
+            }
+            grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum());
+            coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().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());
+            if (tUser!=null){
+                grantVO.setName(tUser.getFirstName()+tUser.getLastName());
+            }
+            switch (balanceUsageRecord.getPurpose()){
                 case 1:
-                    grantVO.setRemark("邀请司机注册");
+                    //打车支付
+                    grantVO.setRemark("余额支付"+"【打车支付】");
                     break;
                 case 2:
-                    grantVO.setRemark("邀请用户注册");
+                    grantVO.setRemark("余额支付"+"【包裹支付】");
+                    // 包裹支付
                     break;
                 case 3:
-                    grantVO.setRemark("累计在线");
+                    grantVO.setRemark("余额支付"+"【日结算】");
+                    // 日结算
                     break;
                 case 4:
-                    grantVO.setRemark("订单量");
+                    grantVO.setRemark("余额支付"+"【周结算】");
+                    // 周结算
+                    break;
+                case 5:
+                    grantVO.setRemark("余额支付"+"【月结算】");
+                    // 月结算
                     break;
             }
-            driver = driver.add(new BigDecimal(driverActivityHistory.getMoney().toString()));
+            driverConsume = driverConsume.add(new BigDecimal(balanceUsageRecord.getMoney().toString()));
             res.add(grantVO);
         }
-        total = total.add(redPackage).add(coupon).add(discount).add(driver);
-        result.setTotal(total);
-        result.setDiscount(discount);
-        result.setCoupon(coupon);
-        result.setDriver(driver);
-        result.setRedPackage(redPackage);
-        return result;
+        // 司机提现
+        for (TPubWithdrawal balanceUsageRecord : driverWithdrawal) {
+            GrantVO grantVO = new GrantVO();
+            grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime()));
+            grantVO.setType("司机奖励");
+            grantVO.setAmount(balanceUsageRecord.getMoney().toString());
+            TDriver tUser = driverService.selectById(balanceUsageRecord.getUserId());
+            if (tUser!=null){
+                grantVO.setName(tUser.getFirstName()+tUser.getLastName());
+            }
+            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.setDiscount(discount);
+        useMoneyVO.setRedPackage(redPackage);
+        useMoneyVO.setCoupon(coupon);
+        useMoneyVO.setDriver(driver);
+        useMoneyVO.setDriverWithdrawal(driverWithdrawal1);
+        useMoneyVO.setDriverConsume(driverConsume);
+        return useMoneyVO;
     }
+
     /**
      * 发放补贴统计
      */
@@ -708,7 +953,7 @@
                     break;
             }
         }
-        Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
+
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         // 列表res
         List<GrantVO> res = new ArrayList<>();
@@ -725,32 +970,69 @@
 
         // 专车wrapper
         Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("activityId")
-                .isNotNull("discountMoney")
-                .between("insertTime", start, end);
+
+                ;
         // 小件物流wrapper
         Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("activityId")
-                .isNotNull("discountMoney")
-                .between("insertTime", start, end);
+
+                ;
         // 优惠券领取记录wrapper
         Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>()
-                .ne("couponUseType", 2)
-                .ne("couponUseType", 3)
-                .between("insertTime", start, end);
+                ;
         // 红包领取记录wrapper
         Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>()
-                .ne("orderType", 2)
-                .ne("orderType", 3)
-                .between("insertTime", start, end);
+                ;
         // 司机奖励
         Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>()
-                .eq("carryOut", 2)
-                .between("insertTime", start, end);
+                ;
+        if (time == 5 && insertTime==null){
+            // 专车wrapper
+            between = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("discountMoney")
+
+                    ;
+            // 小件物流wrapper
+           between1 = new EntityWrapper<TOrderLogistics>()
+
+                    .isNotNull("discountMoney")
+                    ;
+            // 优惠券领取记录wrapper
+            between2 = new EntityWrapper<UserCouponRecord>()
+                    .ne("couponUseType", 2)
+                    .ne("couponUseType", 3)
+                    ;
+            // 红包领取记录wrapper
+            between3 = new EntityWrapper<UserRedPacketRecord>()
+                    ;
+            // 司机奖励
+            between4 = new EntityWrapper<DriverActivityHistory>()
+                    .eq("carryOut", 2)
+                    ;
+        }else{
+            // 专车wrapper
+            between = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("discountMoney")
+                    .between("insertTime", start, end)
+            ;
+            // 小件物流wrapper
+            between1 = new EntityWrapper<TOrderLogistics>()
+                    .between("insertTime", start, end)
+                    .isNotNull("discountMoney")
+            ;
+            // 优惠券领取记录wrapper
+            between2 = new EntityWrapper<UserCouponRecord>()
+                    .ne("couponUseType", 2)
+                    .ne("couponUseType", 3)
+                    .between("insertTime", start, end);
+            // 红包领取记录wrapper
+            between3 = new EntityWrapper<UserRedPacketRecord>()
+                    .between("insertTime", start, end);
+            // 司机奖励
+            between4 = new EntityWrapper<DriverActivityHistory>()
+                    .eq("carryOut", 2)
+                    .between("insertTime", start, end);
+        }
+
         if (type!=null){
 
             switch (type){
@@ -796,6 +1078,9 @@
         BigDecimal driver = new BigDecimal("0");
         // 查询已使用折扣总额
         for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) {
+            if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){
+                continue;
+            }
             discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString()));
             GrantVO grantVO = new GrantVO();
             grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime()));
@@ -812,12 +1097,18 @@
                     grantVO.setRemark(userActivity.getName());
                 }
             }
+            res.add(grantVO);
         }
         for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) {
+            if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){
+                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());
             if (tUser!=null){
@@ -830,6 +1121,7 @@
                     grantVO.setRemark(userActivity.getName());
                 }
             }
+            res.add(grantVO);
         }
         // 查询已领取红包总额
         for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) {
@@ -979,32 +1271,68 @@
 
         // 专车wrapper
         Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("activityId")
-                .isNotNull("discountMoney")
-                .between("insertTime", start, end);
+
+                ;
         // 小件物流wrapper
         Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
-                .eq("state", 8)
-                .eq("state", 9)
-                .isNotNull("activityId")
-                .isNotNull("discountMoney")
-                .between("insertTime", start, end);
+
+                ;
         // 优惠券领取记录wrapper
         Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>()
-                .ne("couponUseType", 2)
-                .ne("couponUseType", 3)
-                .between("insertTime", start, end);
+                ;
         // 红包领取记录wrapper
         Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>()
-                .ne("orderType", 2)
-                .ne("orderType", 3)
-                .between("insertTime", start, end);
+                ;
         // 司机奖励
         Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>()
-                .eq("carryOut", 2)
-                .between("insertTime", start, end);
+                ;
+        if (time == 5 && insertTime==null){
+            // 专车wrapper
+            between = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("discountMoney")
+
+            ;
+            // 小件物流wrapper
+            between1 = new EntityWrapper<TOrderLogistics>()
+
+                    .isNotNull("discountMoney")
+            ;
+            // 优惠券领取记录wrapper
+            between2 = new EntityWrapper<UserCouponRecord>()
+                    .ne("couponUseType", 2)
+                    .ne("couponUseType", 3)
+            ;
+            // 红包领取记录wrapper
+            between3 = new EntityWrapper<UserRedPacketRecord>()
+            ;
+            // 司机奖励
+            between4 = new EntityWrapper<DriverActivityHistory>()
+                    .eq("carryOut", 2)
+            ;
+        }else{
+            // 专车wrapper
+            between = new EntityWrapper<TOrderPrivateCar>()
+                    .isNotNull("discountMoney")
+                    .between("insertTime", start, end)
+            ;
+            // 小件物流wrapper
+            between1 = new EntityWrapper<TOrderLogistics>()
+                    .between("insertTime", start, end)
+                    .isNotNull("discountMoney")
+            ;
+            // 优惠券领取记录wrapper
+            between2 = new EntityWrapper<UserCouponRecord>()
+                    .ne("couponUseType", 2)
+                    .ne("couponUseType", 3)
+                    .between("insertTime", start, end);
+            // 红包领取记录wrapper
+            between3 = new EntityWrapper<UserRedPacketRecord>()
+                    .between("insertTime", start, end);
+            // 司机奖励
+            between4 = new EntityWrapper<DriverActivityHistory>()
+                    .eq("carryOut", 2)
+                    .between("insertTime", start, end);
+        }
         if (type!=null){
 
             switch (type){
@@ -1050,6 +1378,12 @@
         BigDecimal driver = new BigDecimal("0");
         // 查询已使用折扣总额
         for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) {
+            if (tOrderPrivateCar.getDiscountMoney()== null){
+                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()));
@@ -1066,8 +1400,15 @@
                     grantVO.setRemark(userActivity.getName());
                 }
             }
+            res.add(grantVO);
         }
         for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) {
+            if (tOrderPrivateCar.getDiscountMoney()== null){
+                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()));
@@ -1084,6 +1425,7 @@
                     grantVO.setRemark(userActivity.getName());
                 }
             }
+            res.add(grantVO);
         }
         // 查询已领取红包总额
         for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) {

--
Gitblit v1.7.1