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 |  468 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 265 insertions(+), 203 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 64bd2dd..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,43 +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)
                     .isNotNull("orderType"));
         }else{
-            if (time == 5 && !StringUtils.hasLength(insertTime)){
-                incomes = tIncomeService.selectList(new EntityWrapper<Income>()
-                        .eq("userType", 1)
-                        .eq("objectId",1)
-                        .ne("type", 1)
-                        .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);
@@ -218,42 +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);
-                    if (tOrderPrivateCar.getPayType() == null){
+
+                    platformVO.setMoney(new BigDecimal(income.getMoney()));
+                    if (tOrderPrivateCar.getState()!=10 && tOrderPrivateCar.getPayType() == null){
                         continue;
                     }
-                    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);
@@ -264,80 +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.getPayType() == null){
+
+                    if (tOrderLogistics.getState()!=10 && tOrderLogistics.getPayType() == null){
                         continue;
                     }
-                    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 (time == 5 && !StringUtils.hasLength(insertTime)){
-
-        }else{
-            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;
@@ -345,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){
@@ -353,7 +308,6 @@
                             }
                             platformVO.setState(2);
                             unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice()));
-                            platformVO.setEndTime(format.format(settlementRecord.getDay()));
                         }
                     }else{
                         // 未结算
@@ -362,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;
@@ -660,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){
@@ -684,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());
@@ -709,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());
@@ -728,7 +684,6 @@
             }
             res.add(waterVO);
             userConsume = userConsume.add(new BigDecimal(waterVO.getMoney()));
-            break;
         }
         for (OrderCancel orderCancel : orderCancels) {
             WaterVO waterVO = new WaterVO();
@@ -760,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());
@@ -783,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());
@@ -819,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());
@@ -844,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());
@@ -860,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){
                     // 临时数据
@@ -902,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());
@@ -920,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()){
@@ -959,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());
@@ -989,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()){
@@ -1051,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());
@@ -1207,11 +1163,13 @@
             orderType = new EntityWrapper<TPubTransactionDetails>()
                     .eq("userType",1)
                     .eq("orderType", 5)
+
             ;
             // 用户提现wrapper
             userWrapper = new EntityWrapper<TPubWithdrawal>()
                     .eq("state", 2)
                     .eq("userType", 1)
+
             ;
             // 司机提现wrapper
             between = new EntityWrapper<TPubWithdrawal>()
@@ -1231,8 +1189,11 @@
                     .in("orderType", Arrays.asList(1, 4));
             // 用户取消订单费用
              orderCancelEntityWrapper.eq("state", 2)
+
                      .in("payType",integers)
-                    .eq("userType", 1);
+
+                    .eq("userType", 1)
+                     ;
         }else{
             orderType = new EntityWrapper<TPubTransactionDetails>()
                     .eq("orderType", 5)
@@ -1328,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){
@@ -1352,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());
@@ -1377,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());
@@ -1396,7 +1368,6 @@
             }
             res.add(waterVO);
             userConsume = userConsume.add(new BigDecimal(waterVO.getMoney()));
-            break;
         }
         for (OrderCancel orderCancel : orderCancels) {
             WaterVO waterVO = new WaterVO();
@@ -1428,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());
@@ -1451,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());
@@ -1487,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());
@@ -1512,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());
@@ -1528,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){
                     // 临时数据
@@ -1570,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());
@@ -1588,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()){
@@ -1627,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());
@@ -1657,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()){
@@ -1712,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());
@@ -1816,30 +1787,38 @@
         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)
                     .isNotNull("orderType"));
         }else{
+            incomes = tIncomeService.selectList(new EntityWrapper<Income>()
+                    .eq("userType", 1)
+                    .eq("objectId",1)
+                    .ne("type", 1)
+                    .isNotNull("orderType")
+                    .between("insertTime", start, end));
+        }
 
-            if (time == 5 && !StringUtils.hasLength(insertTime)){
-                incomes = tIncomeService.selectList(new EntityWrapper<Income>()
-                        .eq("userType", 1)
-                        .eq("objectId",1)
-                        .ne("type", 1)
-                        .isNotNull("orderType"));
+        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{
-                incomes = tIncomeService.selectList(new EntityWrapper<Income>()
-                        .eq("userType", 1)
-                        .eq("objectId",1)
-                        .ne("type", 1)
-                        .isNotNull("orderType")
-                        .between("insertTime", start, end));
+                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);
             }
         }
-        EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>();
         if (time == 5 && !StringUtils.hasLength(insertTime)){
 
         }else{
@@ -1848,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");
         // 未结算金额
@@ -1863,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());
@@ -1879,23 +1894,45 @@
                     }
                     platformVO.setMoney(new BigDecimal(income.getMoney()));
                     platformVO.setInsertTime(format.format(income.getInsertTime()));
-                    if (tOrderPrivateCar.getPayType() == null){
+                    if (tOrderPrivateCar.getState()!=10 && tOrderPrivateCar.getPayType() == null){
                         continue;
                     }
-                    switch (tOrderPrivateCar.getPayType()){
-                        case 1:
-                            platformVO.setPayType("手机支付");
-                            break;
-                        case 2:
-                            platformVO.setPayType("银行卡支付");
-                            break;
-                        case 3:
-                            platformVO.setPayType("余额支付");
-                            break;
-                        case 4:
-                            platformVO.setPayType("现金支付");
-                            break;
+                    if (tOrderPrivateCar.getState() == 10){
+                        // 查询取消订单 用户支付方式
+                        OrderCancel orderCancel = orderCancelRecordMap1.get(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()));
@@ -1907,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());
@@ -1923,22 +1962,44 @@
                         platformVO.setEndTime(format.format(income.getInsertTime()));
                     }
                     platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime()));
-                    if (tOrderLogistics.getPayType() == null){
+                    if (tOrderLogistics.getState()!=10 && tOrderLogistics.getPayType() == null){
                         continue;
                     }
-                    switch (tOrderLogistics.getPayType()){
-                        case 1:
-                            platformVO.setPayType("手机支付");
-                            break;
-                        case 2:
-                            platformVO.setPayType("银行卡支付");
-                            break;
-                        case 3:
-                            platformVO.setPayType("余额支付");
-                            break;
-                        case 4:
-                            platformVO.setPayType("现金支付");
-                            break;
+                    if (tOrderLogistics.getState() == 10){
+                        // 查询取消订单 用户支付方式
+
+                        OrderCancel orderCancel = orderCancelRecordMap2.get(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;
+                            }
+                        }
                     }
 
                     // 专车订单
@@ -1953,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());
@@ -1970,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;
@@ -1978,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){
@@ -1999,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());
@@ -2016,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;
@@ -2024,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