Pu Zhibing
10 天以前 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java
@@ -2,9 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
@@ -12,8 +10,6 @@
import com.stylefeng.guns.modular.system.vo.PlatformVO;
import com.stylefeng.guns.modular.system.vo.WaterMoneyVO;
import com.stylefeng.guns.modular.system.vo.WaterVO;
import io.swagger.models.auth.In;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -21,13 +17,10 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import java.util.stream.Collectors;
@@ -48,26 +41,28 @@
    private ITOrderPrivateCarService orderPrivateCarService;
    @Autowired
    private ITOrderLogisticsService orderLogisticsService;
    /**
     * 跳转到首页
     */
    @RequestMapping("/commission")
    public String index( Model model) {
        return PREFIX + "commission.html";
    }
    @RequestMapping("/water")
    public String watter( Model model) {
        return PREFIX + "watter.html";
    }
    @Autowired
    private IIncomeService incomeService;
    @Autowired
    private ISettlementRecordService settlementRecordService;
    @Autowired
    private ISettlementDetailService settlementDetailService;
    @Autowired
    private ITDriverService driverService;
    /**
     * 第三方流水统计获取列表
     */
    @Autowired
    private ITPubTransactionDetailsService pubTransactionDetailsService;
    @Autowired
    private ITPubWithdrawalService pubWithdrawalService;
    @Autowired
    private IPaymentRecordService paymentRecordService;
    @Autowired
    private ITUserService appUserService;
    @Autowired
    private IOrderCancelService orderCancelService;
    public static void main(String[] args) {
        // 获取今天的日期
@@ -99,7 +94,18 @@
    }
    /**
     * 跳转到首页
     */
    @RequestMapping("/commission")
    public String index( Model model) {
        return PREFIX + "commission.html";
    }
    @RequestMapping("/water")
    public String watter( Model model) {
        return PREFIX + "watter.html";
    }
    /**
     *
@@ -128,7 +134,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 +178,60 @@
        }
        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<>();
        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 +241,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 +261,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 +305,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 +313,6 @@
                            }
                            platformVO.setState(2);
                            unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice()));
                            platformVO.setEndTime(format.format(settlementRecord.getDay()));
                        }
                    }else{
                        // 未结算
@@ -362,30 +321,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 +610,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 +645,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 +670,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 +689,6 @@
            }
            res.add(waterVO);
            userConsume = userConsume.add(new BigDecimal(waterVO.getMoney()));
            break;
        }
        for (OrderCancel orderCancel : orderCancels) {
            WaterVO waterVO = new WaterVO();
@@ -760,7 +720,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 +743,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 +779,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 +804,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 +820,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 +863,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 +881,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 +920,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 +950,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 +1012,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());
@@ -1087,20 +1048,7 @@
        waterMoneyVO.setUserWithdrawal(userWithdrawal);
        return waterMoneyVO;
    }
    /**
     * 第三方流水统计获取列表
     */
    @Autowired
    private ITPubTransactionDetailsService pubTransactionDetailsService;
    @Autowired
    private ITPubWithdrawalService pubWithdrawalService;
    @Autowired
    private IPaymentRecordService paymentRecordService;
    @Autowired
    private ITUserService appUserService;
    @Autowired
    private IOrderCancelService orderCancelService;
    @RequestMapping(value = "/water/list")
    @ResponseBody
    public Object list1(Integer time,String insertTime,Integer payType,Integer type, String code) {
@@ -1207,11 +1155,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 +1181,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 +1281,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 +1316,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 +1341,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 +1360,6 @@
            }
            res.add(waterVO);
            userConsume = userConsume.add(new BigDecimal(waterVO.getMoney()));
            break;
        }
        for (OrderCancel orderCancel : orderCancels) {
            WaterVO waterVO = new WaterVO();
@@ -1428,7 +1391,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 +1414,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 +1450,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 +1475,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 +1491,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 +1533,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 +1551,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 +1590,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 +1620,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 +1675,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());
@@ -1813,42 +1776,84 @@
                    break;
            }
        }
        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{
            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<>();
        if (time == 5 && !StringUtils.hasLength(insertTime)){
        }else{
            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()))
                        .or().isNull("settlementRecordId");
            }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);
            }
        }
        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 +1868,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 +1885,47 @@
                    }
                    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("现金支付");
                                case 5:
                                    platformVO.setPayType("平台支付");
                                    break;
                            }
                        }
                    }
                    // 专车订单
                    balance = balance.add(new BigDecimal(income.getMoney()));
@@ -1907,12 +1937,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 +1955,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 +2007,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 +2025,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 +2033,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 +2054,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 +2071,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 +2079,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){