From f3839fff3c7da7f1942cfad520cfe393def35a04 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 12 三月 2025 18:28:00 +0800
Subject: [PATCH] 修改bug

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java |  432 ++++++++++++++++++++++++-----------------------------
 1 files changed, 195 insertions(+), 237 deletions(-)

diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java
index 27ba38b..8afc55f 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java
@@ -128,7 +128,7 @@
             LocalDate e = LocalDate.parse(endTime);
             start = s.atStartOfDay();
             end = e.atTime(LocalTime.MAX);
-        }else if (time!=null) {
+        }else{
             switch (time) {
                 case 1:
                     // 获取当天的 00:00:00 和 23:59:59
@@ -172,46 +172,61 @@
         }
         List<Income> incomes = new ArrayList<>();
         List<SettlementDetail> settlementDetails = new ArrayList<>();
-        if (time == null){
+        if (time == 5 && !StringUtils.hasLength(insertTime)){
             incomes = tIncomeService.selectList(new EntityWrapper<Income>()
                     .eq("userType", 1)
                     .eq("objectId",1)
                     .ne("type", 1)
-                    .between("insertTime", start, end)
                     .isNotNull("orderType"));
         }else{
-            if (time == 5 && !StringUtils.hasLength(insertTime)){
-                incomes = tIncomeService.selectList(new EntityWrapper<Income>()
-                        .eq("userType", 1)
-                        .eq("objectId",1)
-                        .ne("type", 1)
-                        .between("insertTime", start, end)
-                        .isNotNull("orderType"));
-            }else{
-                incomes = tIncomeService.selectList(new EntityWrapper<Income>()
-                        .eq("userType", 1)
-                        .eq("objectId",1)
-                        .ne("type", 1)
-                        .isNotNull("orderType")
-
-                        .between("insertTime", start, end));
-            }
-
+            incomes = tIncomeService.selectList(new EntityWrapper<Income>()
+                    .eq("userType", 1)
+                    .eq("objectId",1)
+                    .ne("type", 1)
+                    .isNotNull("orderType")
+                    .between("insertTime", start, end));
         }
+
+        EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>();
+        settlementDetailEntityWrapper.between("createTime", start, end);
+        if (state!=null && state == 2){
+            List<SettlementRecord> paymentStatus = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>().eq("paymentStatus", 1));
+            if(paymentStatus.size() > 0){
+                settlementDetailEntityWrapper.in("settlementRecordId", paymentStatus.stream().map(SettlementRecord::getId).collect(Collectors.toList()));
+            }else{
+                settlementDetailEntityWrapper.eq("settlementRecordId", 0);
+            }
+        }else if (state!=null && state == 1){
+            List<SettlementRecord> paymentStatus = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>().eq("paymentStatus", 2));
+            if(paymentStatus.size() > 0){
+                settlementDetailEntityWrapper.in("settlementRecordId", paymentStatus.stream().map(SettlementRecord::getId).collect(Collectors.toList()));
+            }else{
+                settlementDetailEntityWrapper.eq("settlementRecordId", 0);
+            }
+        }
+        if (time == 5 && !StringUtils.hasLength(insertTime)){
+
+        }else{
+            settlementDetailEntityWrapper.between("createTime", start, end);
+        }
+        settlementDetails = settlementDetailService.selectList(settlementDetailEntityWrapper);
         List<PlatformVO> res = new ArrayList<>();
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        Map<Integer, SettlementRecord> settlementRecordMap = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>())
+                .stream()
+                .collect(Collectors.toMap(SettlementRecord::getId, user -> user));
+        Map<Integer, TOrderPrivateCar> orderPrivateCarMap = orderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>())
+                .stream()
+                .collect(Collectors.toMap(TOrderPrivateCar::getId, user -> user));
+        Map<Integer, TOrderLogistics> orderLogisticsRecordMap = orderLogisticsService.selectList(new EntityWrapper<TOrderLogistics>())
+                .stream()
+                .collect(Collectors.toMap(TOrderLogistics::getId, user -> user));
         // 已结算金额
         BigDecimal balance = new BigDecimal("0");
         // 未结算金额
         BigDecimal unBalance = new BigDecimal("0");
-        // 查询订单是否已结算
-
-        // 专车订单结算明细
-        List<SettlementDetail> privateCar = settlementDetails.stream().filter(t -> t.getOrderType() == 1).collect(Collectors.toList());
-        // 小件物流结算明细
-        List<SettlementDetail> xjwl = settlementDetails.stream().filter(t -> t.getOrderType() == 4).collect(Collectors.toList());
-
-        // 查询已结算的订单
+        // 查询所有已结算的订单
         for (Income income : incomes) {
             PlatformVO platformVO = new PlatformVO();
             platformVO.setState(1);
@@ -221,64 +236,16 @@
                         continue;
                     }
                     // 查询订单信息
-                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(income.getIncomeId());
+//                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(income.getIncomeId());
+                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarMap.get(income.getIncomeId());
                     if (tOrderPrivateCar==null){
                         continue;
                     }
-                    platformVO.setCode(tOrderPrivateCar.getOrderNum());
-                    TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId());
-                    if (tDriver != null){
-                        platformVO.setDriverName(tDriver.getFirstName()+tDriver.getLastName());
-                        platformVO.setDriverPhone(tDriver.getPhone());
-                    }
-                    platformVO.setRemark(tOrderPrivateCar.getRemark());
-                    if (income.getInsertTime()!=null){
-                        platformVO.setEndTime(format.format(income.getInsertTime()));
-                    }
-                    platformVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime()));
-                    String string = income.getMoney().toString();
-                    BigDecimal bigDecimal1 = new BigDecimal(string);
-                    platformVO.setMoney(bigDecimal1);
+
+                    platformVO.setMoney(new BigDecimal(income.getMoney()));
                     if (tOrderPrivateCar.getState()!=10 && tOrderPrivateCar.getPayType() == null){
                         continue;
                     }
-                    if (tOrderPrivateCar.getState() == 10){
-                        // 查询取消订单 用户支付方式
-                        OrderCancel orderCancel = orderCancelService.selectOne(new EntityWrapper<OrderCancel>()
-                                .eq("orderType", 4)
-                                .eq("orderId", tOrderPrivateCar.getId()));
-                        if (orderCancel!=null &&orderCancel.getPayType()!=null){
-                            switch (orderCancel.getPayType()){
-                                case 1:
-                                    platformVO.setPayType("手机支付");
-                                    break;
-                                case 2:
-                                    platformVO.setPayType("银行卡支付");
-                                    break;
-                                case 3:
-                                    platformVO.setPayType("余额支付");
-                                    break;
-                            }
-                        }
-                    }else{
-                        if (tOrderPrivateCar.getPayType()!=null){
-                            switch (tOrderPrivateCar.getPayType()){
-                                case 1:
-                                    platformVO.setPayType("手机支付");
-                                    break;
-                                case 2:
-                                    platformVO.setPayType("银行卡支付");
-                                    break;
-                                case 3:
-                                    platformVO.setPayType("余额支付");
-                                    break;
-                                case 4:
-                                    platformVO.setPayType("现金支付");
-                                    break;
-                            }
-                        }
-                    }
-
                     // 专车订单
                     balance = balance.add(new BigDecimal(income.getMoney()));
                     res.add(platformVO);
@@ -289,102 +256,43 @@
                     }
                     // 小件物流
                     // 查询订单信息
-                    TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(income.getIncomeId());
+//                    TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(income.getIncomeId());
+
+                    TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(income.getIncomeId());
+
                     if (tOrderLogistics==null){
                         continue;
                     }
-                    platformVO.setCode(tOrderLogistics.getOrderNum());
-                    TDriver tDriver1 = driverService.selectById(tOrderLogistics.getDriverId());
-                    if (tDriver1!=null){
-                        platformVO.setDriverName(tDriver1.getFirstName()+tDriver1.getLastName());
-                        platformVO.setDriverPhone(tDriver1.getPhone());
-                    }
 
-                    platformVO.setRemark(tOrderLogistics.getRemark());
                     platformVO.setMoney(new BigDecimal(income.getMoney()));
-                    if (income.getInsertTime()!=null){
-                        platformVO.setEndTime(format.format(income.getInsertTime()));
-                    }
-                    platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime()));
+
                     if (tOrderLogistics.getState()!=10 && tOrderLogistics.getPayType() == null){
                         continue;
                     }
-                    if (tOrderLogistics.getState() == 10){
-                        // 查询取消订单 用户支付方式
-                        OrderCancel orderCancel = orderCancelService.selectOne(new EntityWrapper<OrderCancel>()
-                                .eq("orderType", 4)
-                                .eq("orderId", tOrderLogistics.getId()));
-                        if (orderCancel!=null &&orderCancel.getPayType()!=null){
-                            switch (orderCancel.getPayType()){
-                                case 1:
-                                    platformVO.setPayType("手机支付");
-                                    break;
-                                case 2:
-                                    platformVO.setPayType("银行卡支付");
-                                    break;
-                                case 3:
-                                    platformVO.setPayType("余额支付");
-                                    break;
-                            }
-                        }
-                    }else{
-                        if (tOrderLogistics.getPayType()!=null){
-                            switch (tOrderLogistics.getPayType()){
-                                case 1:
-                                    platformVO.setPayType("手机支付");
-                                    break;
-                                case 2:
-                                    platformVO.setPayType("银行卡支付");
-                                    break;
-                                case 3:
-                                    platformVO.setPayType("余额支付");
-                                    break;
-                                case 4:
-                                    platformVO.setPayType("现金支付");
-                                    break;
-                            }
-                        }
-                    }
-
                     // 专车订单
                     balance = balance.add(new BigDecimal(income.getMoney()));
                     res.add(platformVO);
                     break;
             }
         }
-
-        EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>();
-        if (state!=null && state == 2){
-            settlementDetailEntityWrapper.eq("paymentStatus", 2);
-        }
-        settlementDetailEntityWrapper.between("createTime", start, end);
-
-        settlementDetails = settlementDetailService.selectList(settlementDetailEntityWrapper);
-        // 查询所有现金支付的订单 再根据结算主表判断是否已结算
+        // 查询所有现金支付的订单
         for (SettlementDetail settlementDetail : settlementDetails) {
             PlatformVO platformVO = new PlatformVO();
             switch (settlementDetail.getOrderType()){
                 case 1:
-
                     // 专车订单
-                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(settlementDetail.getOrderId());
+                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarMap.get(settlementDetail.getOrderId());
+
                     if (tOrderPrivateCar==null){
                         continue;
                     }
                     platformVO.setCode(tOrderPrivateCar.getOrderNum());
-                    TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId());
-                    if (tDriver!=null){
-                        platformVO.setDriverName(tDriver.getFirstName()+tDriver.getLastName());
-                        platformVO.setDriverPhone(tDriver.getPhone());
-                    }
-                    platformVO.setRemark(tOrderPrivateCar.getRemark());
-                    platformVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime()));
+
                     String string = settlementDetail.getPrice().toString();
                     BigDecimal bigDecimal1 = new BigDecimal(string);
                     platformVO.setMoney(bigDecimal1);
-                    platformVO.setPayType("现金支付");
                     if (settlementDetail.getSettlementRecordId()!=null){
-                        SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId());
+                        SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId());
                         if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){
                             if (state!=null && state!=1){
                                 continue;
@@ -392,7 +300,7 @@
                             // 已结算
                             platformVO.setState(1);
                             balance = balance.add(new BigDecimal(settlementDetail.getPrice()));
-                            platformVO.setEndTime(format.format(settlementRecord.getDay()));
+                            platformVO.setEndTime(format.format(settlementRecord.getPayTime()));
                         }else{
                             // 未结算
                             if (state!=null && state!=2){
@@ -400,7 +308,6 @@
                             }
                             platformVO.setState(2);
                             unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice()));
-                            platformVO.setEndTime(format.format(settlementRecord.getDay()));
                         }
                     }else{
                         // 未结算
@@ -409,30 +316,21 @@
                         }
                         unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice()));
                     }
-
                     res.add(platformVO);
                     break;
                 case 4:
                     // 小件物流
                     // 查询订单信息
-                    TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(settlementDetail.getOrderId());
+                    TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(settlementDetail.getOrderId());
+
                     if (tOrderLogistics==null){
                         continue;
                     }
-                    platformVO.setCode(tOrderLogistics.getOrderNum());
-                    TDriver tDriver1 = driverService.selectById(tOrderLogistics.getDriverId());
-                    if (tDriver1!=null){
-                        platformVO.setDriverName(tDriver1.getFirstName()+tDriver1.getLastName());
-                        platformVO.setDriverPhone(tDriver1.getPhone());
-                    }
-                    platformVO.setRemark(tOrderLogistics.getRemark());
                     String string1 = settlementDetail.getPrice().toString();
                     BigDecimal bigDecimal2 = new BigDecimal(string1);
                     platformVO.setMoney(bigDecimal2);
-                    platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime()));
-                    platformVO.setPayType("现金支付");
                     if (settlementDetail.getSettlementRecordId()!=null){
-                        SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId());
+                        SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId());
                         if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){
                             if (state!=null && state!=1){
                                 continue;
@@ -707,7 +605,18 @@
         // 用户提现金额
         BigDecimal userWithdrawal = new BigDecimal("0");
         // 用户订单消费
-
+        Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>())
+                .stream()
+                .collect(Collectors.toMap(TUser::getId, user1 -> user1));
+        Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>())
+                .stream()
+                .collect(Collectors.toMap(TDriver::getId, user1 -> user1));
+        Map<Integer, PaymentRecord> paymentRecordMap = paymentRecordService.selectList(new EntityWrapper<PaymentRecord>())
+                .stream()
+                .collect(Collectors.toMap(PaymentRecord::getId, user1 -> user1));
+        Map<Integer, SettlementRecord> settlementRecordMap = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>())
+                .stream()
+                .collect(Collectors.toMap(SettlementRecord::getId, user1 -> user1));
         // 用户订单消费
         for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) {
             if (payType!=null){
@@ -731,7 +640,7 @@
             waterVO.setCode(tOrderPrivateCar.getOrderNum());
             String string = tOrderPrivateCar.getPayMoney().toString();
             waterVO.setMoney(new BigDecimal(string)+"");
-            TUser user1 = appUserService.selectById(tOrderPrivateCar.getUserId());
+            TUser user1 = userMap.get(tOrderPrivateCar.getUserId());
             if (user1!=null){
                 waterVO.setName(user1.getNickName());
                 waterVO.setPhone(user1.getPhone());
@@ -756,7 +665,7 @@
             waterVO.setCode(tOrderLogistic.getOrderNum());
             String string = tOrderLogistic.getPayMoney().toString();
             waterVO.setMoney(new BigDecimal(string)+"");
-            TUser user2 = appUserService.selectById(tOrderLogistic.getUserId());
+            TUser user2 = userMap.get(tOrderLogistic.getUserId());
             if (user2!=null){
                 waterVO.setName(user2.getNickName());
                 waterVO.setPhone(user2.getPhone());
@@ -806,7 +715,7 @@
                     waterVO.setCode(tOrderPrivateCar.getOrderNum());
                     String string = orderCancel.getMoney().toString();
                     waterVO.setMoney(new BigDecimal(string)+"");
-                    TUser user1 = appUserService.selectById(tOrderPrivateCar.getUserId());
+                    TUser user1 = userMap.get(tOrderPrivateCar.getUserId());
                     if (user1!=null){
                         waterVO.setName(user1.getNickName());
                         waterVO.setPhone(user1.getPhone());
@@ -829,7 +738,7 @@
                     waterVO1.setCode(tOrderLogistics1.getOrderNum());
                     String string1 = orderCancel.getMoney().toString();
                     waterVO1.setMoney(new BigDecimal(string1)+"");
-                    TUser user2 = appUserService.selectById(tOrderLogistics1.getUserId());
+                    TUser user2 = userMap.get(tOrderLogistics1.getUserId());
                     if (user2!=null){
                         waterVO1.setName(user2.getNickName());
                         waterVO1.setPhone(user2.getPhone());
@@ -865,7 +774,7 @@
             WaterVO waterVO = new WaterVO();
             waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime()));
             waterVO.setCode(tPubWithdrawal.getCode());
-            TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId());
+            TDriver tDriver = driverMap.get(tPubWithdrawal.getUserId());
             if (tDriver!=null){
                 waterVO.setName(tDriver.getFirstName()+tDriver.getLastName());
                 waterVO.setPhone(tDriver.getPhone());
@@ -890,7 +799,7 @@
             WaterVO waterVO = new WaterVO();
             waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime()));
             waterVO.setCode(tPubWithdrawal.getCode());
-            TUser user2 = appUserService.selectById(tPubWithdrawal.getUserId());
+            TUser user2 = userMap.get(tPubWithdrawal.getUserId());
             if (user2!=null){
                 waterVO.setName(user2.getNickName());
                 waterVO.setPhone(user2.getPhone());
@@ -906,7 +815,8 @@
         for (TPubTransactionDetails tPubTransactionDetail : tPubTransactionDetails) {
             WaterVO waterVO = new WaterVO();
             Integer orderId = tPubTransactionDetail.getOrderId();
-            PaymentRecord paymentRecord = paymentRecordService.selectById(orderId);
+            PaymentRecord paymentRecord = paymentRecordMap.get(orderId);
+
             if (paymentRecord!=null){
                 if (paymentRecord.getState() == 1){
                     // 临时数据
@@ -948,7 +858,7 @@
                 continue;
             }
             if (paymentRecord.getUserId()!=null){
-                TUser user2 = appUserService.selectById(paymentRecord.getUserId());
+                TUser user2 = userMap.get(paymentRecord.getUserId());
                 if (user2!=null){
                     waterVO.setName(user2.getNickName());
                     waterVO.setPhone(user2.getPhone());
@@ -966,7 +876,7 @@
             platformVO.setType("司机结算");
             switch (income.getOrderType()){
                 case 1:
-                    SettlementRecord settlementRecord = settlementRecordService.selectById(income.getSettlementRecordId());
+                    SettlementRecord settlementRecord = settlementRecordMap.get(income.getSettlementRecordId());
                     if (settlementRecord!=null && settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus() == 2){
                         if (settlementRecord.getPayType()!=null){
                             switch (settlementRecord.getPayType()){
@@ -1005,7 +915,7 @@
                         continue;
                     }
                     platformVO.setCode(tOrderPrivateCar.getOrderNum());
-                    TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId());
+                    TDriver tDriver = driverMap.get(tOrderPrivateCar.getDriverId());
                     if (tDriver != null){
                         platformVO.setName(tDriver.getFirstName()+tDriver.getLastName());
                         platformVO.setPhone(tDriver.getPhone());
@@ -1035,7 +945,7 @@
                 case 4:
                     // 小件物流
                     // 查询订单信息
-                    SettlementRecord settlementRecord1 = settlementRecordService.selectById(income.getSettlementRecordId());
+                    SettlementRecord settlementRecord1 = settlementRecordMap.get(income.getSettlementRecordId());
                     if (settlementRecord1!=null){
                         if (settlementRecord1.getPaymentStatus()!=null && settlementRecord1.getPaymentStatus() == 2){
                             switch (settlementRecord1.getPayType()){
@@ -1097,7 +1007,7 @@
                         continue;
                     }
                     platformVO.setCode(tOrderLogistics1.getOrderNum());
-                    TDriver tDriver1 = driverService.selectById(tOrderLogistics1.getDriverId());
+                    TDriver tDriver1 = driverMap.get(tOrderLogistics1.getDriverId());
                     if (tDriver1!=null){
                         platformVO.setName(tDriver1.getFirstName()+tDriver1.getLastName());
                         platformVO.setPhone(tDriver1.getPhone());
@@ -1253,37 +1163,37 @@
             orderType = new EntityWrapper<TPubTransactionDetails>()
                     .eq("userType",1)
                     .eq("orderType", 5)
-                    .between("insertTime",start,end)
+
             ;
             // 用户提现wrapper
             userWrapper = new EntityWrapper<TPubWithdrawal>()
                     .eq("state", 2)
                     .eq("userType", 1)
-                    .between("insertTime",start,end)
+
             ;
             // 司机提现wrapper
             between = new EntityWrapper<TPubWithdrawal>()
                     .eq("state", 2)
-                    .eq("userType", 2).between("insertTime",start,end);
+                    .eq("userType", 2);
             // 用户专车订单wrapper
             tOrderPrivateCarEntityWrapper
                     .isNotNull("payMoney")
-                    .in("payType",Arrays.asList(1, 2)).between("insertTime",start,end);
+                    .in("payType",Arrays.asList(1, 2));
             // 用户小件物流订单wrapper
             tOrderLogisticsEntityWrapper
                     .isNotNull("payMoney")
-                    .in("payType",Arrays.asList(1, 2)).between("insertTime",start,end);
+                    .in("payType",Arrays.asList(1, 2));
             // 司机手动结算金额
             orderType1 = new EntityWrapper<SettlementDetail>()
                     .isNotNull("settlementRecordId")
-                    .in("orderType", Arrays.asList(1, 4)).between("insertTime",start,end);
+                    .in("orderType", Arrays.asList(1, 4));
             // 用户取消订单费用
              orderCancelEntityWrapper.eq("state", 2)
 
                      .in("payType",integers)
 
                     .eq("userType", 1)
-                     .between("insertTime",start,end);
+                     ;
         }else{
             orderType = new EntityWrapper<TPubTransactionDetails>()
                     .eq("orderType", 5)
@@ -1379,7 +1289,18 @@
         // 用户提现金额
         BigDecimal userWithdrawal = new BigDecimal("0");
         // 用户订单消费
-
+        Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>())
+                .stream()
+                .collect(Collectors.toMap(TUser::getId, user1 -> user1));
+        Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>())
+                .stream()
+                .collect(Collectors.toMap(TDriver::getId, user1 -> user1));
+        Map<Integer, PaymentRecord> paymentRecordMap = paymentRecordService.selectList(new EntityWrapper<PaymentRecord>())
+                .stream()
+                .collect(Collectors.toMap(PaymentRecord::getId, user1 -> user1));
+        Map<Integer, SettlementRecord> settlementRecordMap = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>())
+                .stream()
+                .collect(Collectors.toMap(SettlementRecord::getId, user1 -> user1));
         // 用户订单消费
         for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) {
             if (payType!=null){
@@ -1403,7 +1324,7 @@
             waterVO.setCode(tOrderPrivateCar.getOrderNum());
             String string = tOrderPrivateCar.getPayMoney().toString();
             waterVO.setMoney(new BigDecimal(string)+"");
-            TUser user1 = appUserService.selectById(tOrderPrivateCar.getUserId());
+            TUser user1 = userMap.get(tOrderPrivateCar.getUserId());
             if (user1!=null){
                 waterVO.setName(user1.getNickName());
                 waterVO.setPhone(user1.getPhone());
@@ -1428,7 +1349,7 @@
             waterVO.setCode(tOrderLogistic.getOrderNum());
             String string = tOrderLogistic.getPayMoney().toString();
             waterVO.setMoney(new BigDecimal(string)+"");
-            TUser user2 = appUserService.selectById(tOrderLogistic.getUserId());
+            TUser user2 = userMap.get(tOrderLogistic.getUserId());
             if (user2!=null){
                 waterVO.setName(user2.getNickName());
                 waterVO.setPhone(user2.getPhone());
@@ -1478,7 +1399,7 @@
                     waterVO.setCode(tOrderPrivateCar.getOrderNum());
                     String string = orderCancel.getMoney().toString();
                     waterVO.setMoney(new BigDecimal(string)+"");
-                    TUser user1 = appUserService.selectById(tOrderPrivateCar.getUserId());
+                    TUser user1 = userMap.get(orderCancel.getUserId());
                     if (user1!=null){
                         waterVO.setName(user1.getNickName());
                         waterVO.setPhone(user1.getPhone());
@@ -1501,7 +1422,7 @@
                     waterVO1.setCode(tOrderLogistics1.getOrderNum());
                     String string1 = orderCancel.getMoney().toString();
                     waterVO1.setMoney(new BigDecimal(string1)+"");
-                    TUser user2 = appUserService.selectById(tOrderLogistics1.getUserId());
+                    TUser user2 = userMap.get(tOrderLogistics1.getUserId());
                     if (user2!=null){
                         waterVO1.setName(user2.getNickName());
                         waterVO1.setPhone(user2.getPhone());
@@ -1537,7 +1458,7 @@
             WaterVO waterVO = new WaterVO();
             waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime()));
             waterVO.setCode(tPubWithdrawal.getCode());
-            TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId());
+            TDriver tDriver = driverMap.get(tPubWithdrawal.getUserId());
             if (tDriver!=null){
                 waterVO.setName(tDriver.getFirstName()+tDriver.getLastName());
                 waterVO.setPhone(tDriver.getPhone());
@@ -1562,7 +1483,7 @@
             WaterVO waterVO = new WaterVO();
             waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime()));
             waterVO.setCode(tPubWithdrawal.getCode());
-            TUser user2 = appUserService.selectById(tPubWithdrawal.getUserId());
+            TUser user2 = userMap.get(tPubWithdrawal.getUserId());
             if (user2!=null){
                 waterVO.setName(user2.getNickName());
                 waterVO.setPhone(user2.getPhone());
@@ -1578,7 +1499,7 @@
         for (TPubTransactionDetails tPubTransactionDetail : tPubTransactionDetails) {
             WaterVO waterVO = new WaterVO();
             Integer orderId = tPubTransactionDetail.getOrderId();
-            PaymentRecord paymentRecord = paymentRecordService.selectById(orderId);
+            PaymentRecord paymentRecord = paymentRecordMap.get(orderId);
             if (paymentRecord!=null){
                 if (paymentRecord.getState() == 1){
                     // 临时数据
@@ -1620,7 +1541,7 @@
                 continue;
             }
             if (paymentRecord.getUserId()!=null){
-                TUser user2 = appUserService.selectById(paymentRecord.getUserId());
+                TUser user2 = userMap.get(paymentRecord.getUserId());
                 if (user2!=null){
                     waterVO.setName(user2.getNickName());
                     waterVO.setPhone(user2.getPhone());
@@ -1638,7 +1559,7 @@
             platformVO.setType("司机结算");
             switch (income.getOrderType()){
                 case 1:
-                    SettlementRecord settlementRecord = settlementRecordService.selectById(income.getSettlementRecordId());
+                    SettlementRecord settlementRecord = settlementRecordMap.get(income.getSettlementRecordId());
                     if (settlementRecord!=null && settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus() == 2){
                         if (settlementRecord.getPayType()!=null){
                             switch (settlementRecord.getPayType()){
@@ -1677,7 +1598,7 @@
                         continue;
                     }
                     platformVO.setCode(tOrderPrivateCar.getOrderNum());
-                    TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId());
+                    TDriver tDriver = driverMap.get(tOrderPrivateCar.getDriverId());
                     if (tDriver != null){
                         platformVO.setName(tDriver.getFirstName()+tDriver.getLastName());
                         platformVO.setPhone(tDriver.getPhone());
@@ -1707,7 +1628,7 @@
                 case 4:
                     // 小件物流
                     // 查询订单信息
-                    SettlementRecord settlementRecord1 = settlementRecordService.selectById(income.getSettlementRecordId());
+                    SettlementRecord settlementRecord1 = settlementRecordMap.get(income.getSettlementRecordId());
                     if (settlementRecord1!=null){
                         if (settlementRecord1.getPaymentStatus()!=null && settlementRecord1.getPaymentStatus() == 2){
                             switch (settlementRecord1.getPayType()){
@@ -1762,14 +1683,14 @@
                         case 3:
 
                         case 4:
-                            continue;
+                            ;
                     }
                     String code2 = tOrderLogistics1.getOrderNum();
                     if(ToolUtil.isNotEmpty(code) && !code2.contains(code)){
                         continue;
                     }
                     platformVO.setCode(tOrderLogistics1.getOrderNum());
-                    TDriver tDriver1 = driverService.selectById(tOrderLogistics1.getDriverId());
+                    TDriver tDriver1 = driverMap.get(tOrderLogistics1.getDriverId());
                     if (tDriver1!=null){
                         platformVO.setName(tDriver1.getFirstName()+tDriver1.getLastName());
                         platformVO.setPhone(tDriver1.getPhone());
@@ -1866,37 +1787,37 @@
         Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
         List<Income> incomes = new ArrayList<>();
         List<SettlementDetail> settlementDetails = new ArrayList<>();
-        if (time == null){
+        if (time == 5 && !StringUtils.hasLength(insertTime)){
             incomes = tIncomeService.selectList(new EntityWrapper<Income>()
                     .eq("userType", 1)
                     .eq("objectId",1)
                     .ne("type", 1)
-                    .between("insertTime", start, end)
-
                     .isNotNull("orderType"));
         }else{
-
-            if (time == 5 && !StringUtils.hasLength(insertTime)){
-                incomes = tIncomeService.selectList(new EntityWrapper<Income>()
-                        .eq("userType", 1)
-                        .eq("objectId",1)
-                        .ne("type", 1)
-                        .between("insertTime", start, end)
-
-                        .isNotNull("orderType"));
-            }else{
-                incomes = tIncomeService.selectList(new EntityWrapper<Income>()
-                        .eq("userType", 1)
-                        .eq("objectId",1)
-                        .ne("type", 1)
-                        .isNotNull("orderType")
-                        .between("insertTime", start, end));
-            }
+            incomes = tIncomeService.selectList(new EntityWrapper<Income>()
+                    .eq("userType", 1)
+                    .eq("objectId",1)
+                    .ne("type", 1)
+                    .isNotNull("orderType")
+                    .between("insertTime", start, end));
         }
+
         EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>();
         settlementDetailEntityWrapper.between("createTime", start, end);
         if (state!=null && state == 2){
-            settlementDetailEntityWrapper.eq("paymentStatus", 2);
+            List<SettlementRecord> paymentStatus = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>().eq("paymentStatus", 1));
+            if(paymentStatus.size() > 0){
+                settlementDetailEntityWrapper.in("settlementRecordId", paymentStatus.stream().map(SettlementRecord::getId).collect(Collectors.toList()));
+            }else{
+                settlementDetailEntityWrapper.eq("settlementRecordId", 0);
+            }
+        }else if (state!=null && state == 1){
+            List<SettlementRecord> paymentStatus = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>().eq("paymentStatus", 2));
+            if(paymentStatus.size() > 0){
+                settlementDetailEntityWrapper.in("settlementRecordId", paymentStatus.stream().map(SettlementRecord::getId).collect(Collectors.toList()));
+            }else{
+                settlementDetailEntityWrapper.eq("settlementRecordId", 0);
+            }
         }
         if (time == 5 && !StringUtils.hasLength(insertTime)){
 
@@ -1906,7 +1827,42 @@
         settlementDetails = settlementDetailService.selectList(settlementDetailEntityWrapper);
         List<PlatformVO> res = new ArrayList<>();
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
+        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, SettlementRecord> settlementRecordMap = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>())
+                .stream()
+                .collect(Collectors.toMap(SettlementRecord::getId, user -> user));
+        Map<Integer, SettlementDetail> settlementDetailMap = settlementDetailService.selectList(new EntityWrapper<SettlementDetail>())
+                .stream()
+                .collect(Collectors.toMap(SettlementDetail::getId, user -> user));
+        Map<Integer, TOrderPrivateCar> orderPrivateCarMap = orderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>())
+                .stream()
+                .collect(Collectors.toMap(TOrderPrivateCar::getId, user -> user));
+        Map<Integer, TOrderLogistics> orderLogisticsRecordMap = orderLogisticsService.selectList(new EntityWrapper<TOrderLogistics>())
+                .stream()
+                .collect(Collectors.toMap(TOrderLogistics::getId, user -> user));
+        // 专车取消订单
+        Map<Integer, OrderCancel> orderCancelRecordMap1 = orderCancelService.selectList(new EntityWrapper<OrderCancel>()
+                        .eq("orderType",1)
+                        .eq("state",2)
+                        .isNotNull("payType")
+                        .isNotNull("money")
+                )
+                .stream()
+                .collect(Collectors.toMap(OrderCancel::getOrderId, user -> user));
+        // 小件物流取消
+        Map<Integer, OrderCancel> orderCancelRecordMap2 = orderCancelService.selectList(new EntityWrapper<OrderCancel>()
+                        .eq("state",2)
+                        .isNotNull("payType")
+                        .isNotNull("money")
+                        .eq("orderType",4)
+                )
+                .stream()
+                .collect(Collectors.toMap(OrderCancel::getOrderId, user -> user));
         // 已结算金额
         BigDecimal balance = new BigDecimal("0");
         // 未结算金额
@@ -1921,12 +1877,13 @@
                         continue;
                     }
                     // 查询订单信息
-                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(income.getIncomeId());
+                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarMap.get(income.getIncomeId());
+
                     if (tOrderPrivateCar==null){
                         continue;
                     }
                     platformVO.setCode(tOrderPrivateCar.getOrderNum());
-                    TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId());
+                    TDriver tDriver = driverMap.get(tOrderPrivateCar.getDriverId());
                     if (tDriver != null){
                         platformVO.setDriverName(tDriver.getFirstName()+tDriver.getLastName());
                         platformVO.setDriverPhone(tDriver.getPhone());
@@ -1942,9 +1899,7 @@
                     }
                     if (tOrderPrivateCar.getState() == 10){
                         // 查询取消订单 用户支付方式
-                        OrderCancel orderCancel = orderCancelService.selectOne(new EntityWrapper<OrderCancel>()
-                                .eq("orderType", 1)
-                                .eq("orderId", tOrderPrivateCar.getId()));
+                        OrderCancel orderCancel = orderCancelRecordMap1.get(tOrderPrivateCar.getId());
                         if (orderCancel!=null &&orderCancel.getPayType()!=null){
                             switch (orderCancel.getPayType()){
                                 case 1:
@@ -1989,12 +1944,14 @@
                     }
                     // 小件物流
                     // 查询订单信息
-                    TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(income.getIncomeId());
+//
+                    TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(income.getIncomeId());
+
                     if (tOrderLogistics==null){
                         continue;
                     }
                     platformVO.setCode(tOrderLogistics.getOrderNum());
-                    TDriver tDriver1 = driverService.selectById(tOrderLogistics.getDriverId());
+                    TDriver tDriver1 = driverMap.get(tOrderLogistics.getDriverId());
                     if (tDriver1!=null){
                         platformVO.setDriverName(tDriver1.getFirstName()+tDriver1.getLastName());
                         platformVO.setDriverPhone(tDriver1.getPhone());
@@ -2010,9 +1967,9 @@
                     }
                     if (tOrderLogistics.getState() == 10){
                         // 查询取消订单 用户支付方式
-                        OrderCancel orderCancel = orderCancelService.selectOne(new EntityWrapper<OrderCancel>()
-                                .eq("orderType", 4)
-                                .eq("orderId", tOrderLogistics.getId()));
+
+                        OrderCancel orderCancel = orderCancelRecordMap2.get(tOrderLogistics.getId());
+
                         if (orderCancel!=null &&orderCancel.getPayType()!=null){
                             switch (orderCancel.getPayType()){
                                 case 1:
@@ -2057,12 +2014,13 @@
             switch (settlementDetail.getOrderType()){
                 case 1:
                     // 专车订单
-                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(settlementDetail.getOrderId());
+                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarMap.get(settlementDetail.getOrderId());
+
                     if (tOrderPrivateCar==null){
                         continue;
                     }
                     platformVO.setCode(tOrderPrivateCar.getOrderNum());
-                    TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId());
+                    TDriver tDriver = driverMap.get(tOrderPrivateCar.getDriverId());
                     if (tDriver!=null){
                         platformVO.setDriverName(tDriver.getFirstName()+tDriver.getLastName());
                         platformVO.setDriverPhone(tDriver.getPhone());
@@ -2074,7 +2032,7 @@
                     platformVO.setMoney(bigDecimal1);
                     platformVO.setPayType("现金支付");
                     if (settlementDetail.getSettlementRecordId()!=null){
-                        SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId());
+                        SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId());
                         if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){
                             if (state!=null && state!=1){
                                 continue;
@@ -2082,7 +2040,7 @@
                             // 已结算
                             platformVO.setState(1);
                             balance = balance.add(new BigDecimal(settlementDetail.getPrice()));
-                            platformVO.setEndTime(format.format(settlementRecord.getPayTime()));
+                            platformVO.setEndTime(format.format(settlementDetail.getCreateTime()));
                         }else{
                             // 未结算
                             if (state!=null && state!=2){
@@ -2103,12 +2061,12 @@
                 case 4:
                     // 小件物流
                     // 查询订单信息
-                    TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(settlementDetail.getOrderId());
+                    TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(settlementDetail.getOrderId());
                     if (tOrderLogistics==null){
                         continue;
                     }
                     platformVO.setCode(tOrderLogistics.getOrderNum());
-                    TDriver tDriver1 = driverService.selectById(tOrderLogistics.getDriverId());
+                    TDriver tDriver1 = driverMap.get(tOrderLogistics.getDriverId());
                     if (tDriver1!=null){
                         platformVO.setDriverName(tDriver1.getFirstName()+tDriver1.getLastName());
                         platformVO.setDriverPhone(tDriver1.getPhone());
@@ -2120,7 +2078,7 @@
                     platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime()));
                     platformVO.setPayType("现金支付");
                     if (settlementDetail.getSettlementRecordId()!=null){
-                        SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId());
+                        SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId());
                         if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){
                             if (state!=null && state!=1){
                                 continue;
@@ -2128,7 +2086,7 @@
                             // 已结算
                             platformVO.setState(1);
                             balance = balance.add(new BigDecimal(settlementDetail.getPrice()));
-                            platformVO.setEndTime(format.format(settlementRecord.getDay()));
+                            platformVO.setEndTime(format.format(settlementDetail.getCreateTime()));
                         }else{
                             // 未结算
                             if (state!=null && state!=2){

--
Gitblit v1.7.1