From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 16 五月 2025 10:27:41 +0800 Subject: [PATCH] 修改文档bug --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java | 1929 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 1,160 insertions(+), 769 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 b369640..d38d967 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 @@ -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.*; @@ -15,16 +13,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.util.StringUtils; 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; @@ -45,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) { // 获取今天的日期 @@ -96,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"; + } /** * @@ -125,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 @@ -169,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 && insertTime==null){ - 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); @@ -215,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); @@ -261,131 +261,103 @@ } // 小件物流 // 查询订单信息 - 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 && insertTime==null){ - - }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){ - if (state!=null && state!=1){ - continue; + SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId()); + if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){ + if (state!=null && state!=1){ + continue; + } + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementRecord.getPayTime())); + }else{ + // 未结算 + if (state!=null && state!=2){ + continue; + } + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } - // 已结算 - platformVO.setState(1); - SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); - balance = balance.add(new BigDecimal(settlementDetail.getPrice())); - platformVO.setEndTime(format.format(settlementRecord.getDay())); }else{ + // 未结算 if (state!=null && state!=2){ continue; } - // 未结算 - platformVO.setState(2); 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){ - if (state!=null && state!=1){ - continue; + SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId()); + if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){ + if (state!=null && state!=1){ + continue; + } + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementRecord.getDay())); + }else{ + // 未结算 + if (state!=null && state!=2){ + continue; + } + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementRecord.getDay())); } - // 已结算 - platformVO.setState(1); - SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); - balance = balance.add(new BigDecimal(settlementDetail.getPrice())); - platformVO.setEndTime(format.format(settlementRecord.getDay())); }else{ + // 未结算 if (state!=null && state!=2){ continue; } - // 未结算 - platformVO.setState(2); unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } res.add(platformVO); @@ -413,7 +385,17 @@ */ @RequestMapping(value = "/water/getCount") @ResponseBody - public Object getCount1(Integer time,String insertTime,Integer payType,Integer type) { + public Object getCount1(Integer time,String insertTime,Integer payType,Integer type,String code) { + if (payType!=null){ + switch (payType){ + case 1: + payType = 2; + break; + case 2: + payType = 1; + break; + } + } if (time == null){ time = 1; } @@ -475,508 +457,8 @@ // 用户小件物流订单记录 List<TOrderPrivateCar> tOrderPrivateCars = new ArrayList<>(); List<TOrderLogistics> tOrderLogistics = new ArrayList<>(); - // 用户充值 - List<TPubTransactionDetails> tPubTransactionDetails = new ArrayList<>(); - // 司机结算总额 - List<SettlementDetail> settlementDetails1 = new ArrayList<>(); - // 司机提现 - List<TPubWithdrawal> driver = new ArrayList<>(); - // 用户提现 - List<TPubWithdrawal> user = new ArrayList<>(); - // 余额充值wrapper - Wrapper<TPubTransactionDetails> orderType = new EntityWrapper<TPubTransactionDetails>(); - // 用户提现wrapper - Wrapper<TPubWithdrawal> userWrapper = new EntityWrapper<TPubWithdrawal>(); - // 司机提现wrapper - Wrapper<TPubWithdrawal> between = new EntityWrapper<TPubWithdrawal>(); - // 用户专车订单wrapper - EntityWrapper<TOrderPrivateCar> tOrderPrivateCarEntityWrapper = new EntityWrapper<>(); - // 用户小件物流订单wrapper - EntityWrapper<TOrderLogistics> tOrderLogisticsEntityWrapper = new EntityWrapper<>(); - // 司机手动结算金额 - Wrapper<SettlementDetail> orderType1 = new EntityWrapper<SettlementDetail>(); - if (time == 5 && insertTime==null){ - // 余额充值wrapper - 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>() - .eq("state", 2) - .eq("userType", 2); - // 用户专车订单wrapper - tOrderPrivateCarEntityWrapper - .isNotNull("payMoney") - .in("payType",Arrays.asList(1, 2)); - // 用户小件物流订单wrapper - tOrderLogisticsEntityWrapper - .isNotNull("payMoney") - .in("payType",Arrays.asList(1, 2)); - // 司机手动结算金额 - orderType1 = new EntityWrapper<SettlementDetail>() - .in("orderType", Arrays.asList(1, 4)); - }else{ - orderType = new EntityWrapper<TPubTransactionDetails>() - .eq("orderType", 5) - .eq("userType",1) - .between("insertTime",start,end); - // 用户提现wrapper - userWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 1) - .between("handleTime", start, end); - // 司机提现wrapper - between = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 2) - .between("handleTime", start, end); - // 司机手动结算金额 - orderType1 = new EntityWrapper<SettlementDetail>() - .in("orderType", Arrays.asList(1, 4)) - .between("createTime", start, end); - // 用户专车订单wrapper - tOrderPrivateCarEntityWrapper - .isNotNull("payMoney") - .in("payType",Arrays.asList(1, 2)) - .between("insertTime", start, end); - // 用户小件物流订单wrapper - tOrderLogisticsEntityWrapper - .isNotNull("payMoney") - .in("payType",Arrays.asList(1, 2)) - .between("insertTime", start, end); - } - - - if (type != null){ - switch (type){ - case 1: - // 只查询用户订单 - tOrderPrivateCars = orderPrivateCarService.selectList(tOrderPrivateCarEntityWrapper); - tOrderLogistics = orderLogisticsService.selectList(tOrderLogisticsEntityWrapper); - - break; - case 2: - // 只查询用户充值 - tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); - break; - case 3: - // 只查询司机手动结算的 - settlementDetails1 = settlementDetailService.selectList(orderType1); - break; - case 4: - driver = pubWithdrawalService.selectList(between); - // 只查询司机提现 - break; - case 5: - // 只查询用户提现 - user = pubWithdrawalService.selectList(userWrapper); - break; - } - }else{ - // 只查询用户订单 - tOrderPrivateCars = orderPrivateCarService.selectList(tOrderPrivateCarEntityWrapper); - tOrderLogistics = orderLogisticsService.selectList(tOrderLogisticsEntityWrapper); - tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); - // 只查询司机手动结算的 - settlementDetails1 = settlementDetailService.selectList(orderType1); - driver = pubWithdrawalService.selectList(between); - user = pubWithdrawalService.selectList(userWrapper); - } - List<WaterVO> res = new ArrayList<>(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - // 司机结算金额 - BigDecimal balance = new BigDecimal("0"); - // 用户消费金额 - BigDecimal userConsume = new BigDecimal("0"); - // 用户充值金额 - BigDecimal userRecharge = new BigDecimal("0"); - // 司机提现金额 - BigDecimal driverWithdrawal = new BigDecimal("0"); - // 用户提现金额 - BigDecimal userWithdrawal = new BigDecimal("0"); - // 用户订单消费 - for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { - if (payType!=null){ - if (tOrderPrivateCar.getPayType()!=payType){ - continue; - } - } - - WaterVO waterVO = new WaterVO(); - waterVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); - waterVO.setType("用户订单消费"); - switch (tOrderPrivateCar.getPayType()){ - case 1: - waterVO.setPayType("手机支付"); - break; - case 2: - waterVO.setPayType("银行卡支付"); - break; - } - // 专车 - if (tOrderPrivateCar != null){ - waterVO.setCode(tOrderPrivateCar.getOrderNum()); - String string = tOrderPrivateCar.getPayMoney().toString(); - waterVO.setMoney(new BigDecimal(string)); - }else{ - waterVO.setMoney(new BigDecimal("0")); - } - TUser user1 = appUserService.selectById(tOrderPrivateCar.getUserId()); - if (user1!=null){ - waterVO.setName(user1.getNickName()); - waterVO.setPhone(user1.getPhone()); - } - - if (tOrderPrivateCar != null){ - waterVO.setRemark(tOrderPrivateCar.getRemark()); - } - res.add(waterVO); - userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getPayMoney().toString())); - } - for (TOrderLogistics tOrderLogistic : tOrderLogistics) { - if (payType!=null){ - if (tOrderLogistic.getPayType()!=payType){ - continue; - } - } - WaterVO waterVO = new WaterVO(); - waterVO.setInsertTime(format.format(tOrderLogistic.getInsertTime())); - waterVO.setType("用户订单消费"); - // 小件物流 - waterVO.setCode(tOrderLogistic.getOrderNum()); - String string = tOrderLogistic.getPayMoney().toString(); - waterVO.setMoney(new BigDecimal(string)); - waterVO.setMoney(new BigDecimal("0")); - TUser user2 = appUserService.selectById(tOrderLogistic.getUserId()); - if (user2!=null){ - waterVO.setName(user2.getNickName()); - waterVO.setPhone(user2.getPhone()); - } - waterVO.setType("用户订单消费"); - switch (tOrderLogistic.getPayType()){ - case 1: - waterVO.setPayType("手机支付"); - break; - case 2: - waterVO.setPayType("银行卡支付"); - break; - } - if (tOrderLogistics != null){ - waterVO.setRemark(tOrderLogistic.getRemark()); - } - res.add(waterVO); - userConsume = userConsume.add(new BigDecimal(tOrderLogistic.getPayMoney().toString())); - break; - } - - - - // 司机提现 - for (TPubWithdrawal tPubWithdrawal : driver) { - if(payType!=null && payType == 2){ - break; - } - WaterVO waterVO = new WaterVO(); - waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime())); - waterVO.setCode(tPubWithdrawal.getCode()); - TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId()); - if (tDriver!=null){ - waterVO.setName(tDriver.getFirstName()+tDriver.getLastName()); - waterVO.setPhone(tDriver.getPhone()); - } - - waterVO.setMoney(tPubWithdrawal.getMoney()); - waterVO.setPayType("银行卡支付"); - waterVO.setType("司机提现"); - waterVO.setRemark(tPubWithdrawal.getRemark()); - res.add(waterVO); - driverWithdrawal = driverWithdrawal.add(tPubWithdrawal.getMoney()); - } - // 用户提现 - for (TPubWithdrawal tPubWithdrawal : user) { - if(payType!=null && payType == 2){ - break; - } - WaterVO waterVO = new WaterVO(); - waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime())); - waterVO.setCode(tPubWithdrawal.getCode()); - TUser user2 = appUserService.selectById(tPubWithdrawal.getUserId()); - if (user2!=null){ - waterVO.setName(user2.getNickName()); - waterVO.setPhone(user2.getPhone()); - } - waterVO.setMoney(tPubWithdrawal.getMoney()); - waterVO.setPayType("银行卡支付"); - waterVO.setType("用户提现"); - waterVO.setRemark(tPubWithdrawal.getRemark()); - res.add(waterVO); - userWithdrawal = userWithdrawal.add(tPubWithdrawal.getMoney()); - } - // 查询用户充值 - for (TPubTransactionDetails tPubTransactionDetail : tPubTransactionDetails) { - WaterVO waterVO = new WaterVO(); - Integer orderId = tPubTransactionDetail.getOrderId(); - PaymentRecord paymentRecord = paymentRecordService.selectById(orderId); - if (paymentRecord!=null){ - waterVO.setInsertTime(format.format(paymentRecord.getInsertTime())); - waterVO.setCode(paymentRecord.getCode()); - if (paymentRecord.getPayType()!=null){ - switch (paymentRecord.getPayType()){ - case 1: - if (payType!=null){ - if (payType != 1){ - continue; - } - } - waterVO.setPayType("手机支付"); - break; - case 2: - if (payType!=null){ - if (payType != 2){ - continue; - } - } - waterVO.setPayType("银行卡支付"); - break; - } - } - - waterVO.setMoney(new BigDecimal(paymentRecord.getAmount().toString())); - }else{ - continue; - } - if (paymentRecord.getUserId()!=null){ - TUser user2 = appUserService.selectById(paymentRecord.getUserId()); - if (user2!=null){ - waterVO.setName(user2.getNickName()); - waterVO.setPhone(user2.getPhone()); - } - } - - waterVO.setType("用户充值"); - waterVO.setRemark(tPubTransactionDetail.getRemark()); - res.add(waterVO); - userRecharge = userRecharge.add(new BigDecimal(paymentRecord.getAmount().toString())); - } - // 查询所有已结算的订单 - for (SettlementDetail income : settlementDetails1) { - WaterVO platformVO = new WaterVO(); - platformVO.setType("司机结算"); - switch (income.getOrderType()){ - case 1: - SettlementRecord settlementRecord = settlementRecordService.selectById(income.getSettlementRecordId()); - if (settlementRecord!=null){ - if (settlementRecord.getPayType()!=null){ - switch (settlementRecord.getPayType()){ - case 1: - if (payType!=null){ - if (payType == 1){ - continue; - } - } - platformVO.setPayType("手机支付"); - break; - case 2: - if (payType!=null){ - if (payType == 2){ - continue; - } - } - platformVO.setPayType("银行卡支付"); - break; - case 3: - case 4: - continue; - } - - } - }else{ - continue; - } - // 查询订单信息 - TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(income.getOrderId()); - if (tOrderPrivateCar==null){ - continue; - } - platformVO.setCode(tOrderPrivateCar.getOrderNum()); - TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId()); - if (tDriver != null){ - platformVO.setName(tDriver.getFirstName()+tDriver.getLastName()); - platformVO.setPhone(tDriver.getPhone()); - } - platformVO.setRemark(tOrderPrivateCar.getRemark()); - if (income.getCreateTime()!=null){ - platformVO.setInsertTime(format.format(income.getCreateTime())); - } - platformVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); - if (income.getOrderMoney() != null){ - String string = income.getPrice().toString(); - BigDecimal bigDecimal1 = new BigDecimal(string); - platformVO.setMoney(bigDecimal1); - }else{ - continue; - } - - if (tOrderPrivateCar.getPayType() == null){ - continue; - } - - - // 专车订单 - String string4 = income.getPrice().toString(); - balance = balance.add(new BigDecimal(string4)); - res.add(platformVO); - break; - case 4: - SettlementRecord settlementRecord1 = settlementRecordService.selectById(income.getSettlementRecordId()); - if (settlementRecord1==null){ - if (settlementRecord1.getPayType()!=null){ - switch (settlementRecord1.getPayType()){ - case 1: - if (payType!=null){ - if (payType == 1){ - continue; - } - } - platformVO.setPayType("手机支付"); - break; - case 2: - if (payType!=null){ - if (payType == 2){ - continue; - } - } - platformVO.setPayType("银行卡支付"); - break; - case 3: - case 4: - continue; - } - - } - } - // 小件物流 - // 查询订单信息 - TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(income.getOrderId()); - if (tOrderLogistics1==null){ - continue; - } - platformVO.setCode(tOrderLogistics1.getOrderNum()); - TDriver tDriver1 = driverService.selectById(tOrderLogistics1.getDriverId()); - if (tDriver1!=null){ - platformVO.setName(tDriver1.getFirstName()+tDriver1.getLastName()); - platformVO.setPhone(tDriver1.getPhone()); - } - platformVO.setRemark(tOrderLogistics1.getRemark()); - platformVO.setMoney(new BigDecimal(income.getPrice())); - if (income.getCreateTime()!=null){ - platformVO.setInsertTime(format.format(income.getCreateTime())); - } - platformVO.setInsertTime(format.format(tOrderLogistics1.getInsertTime())); - if (tOrderLogistics1.getPayType() == null){ - continue; - } - - String string1 = income.getPrice().toString(); - // 小件物流订单 - balance = balance.add(new BigDecimal(string1)); - res.add(platformVO); - break; - } - } - Collections.sort(res, Comparator.comparing(WaterVO::getInsertTime).reversed()); - WaterMoneyVO waterMoneyVO = new WaterMoneyVO(); - BigDecimal add = userRecharge.add(userConsume).add(balance).subtract(driverWithdrawal).subtract(userWithdrawal); - waterMoneyVO.setTotal(add); - waterMoneyVO.setUserOrder(userConsume); - waterMoneyVO.setUserCharge(userRecharge); - waterMoneyVO.setBalance(balance); - waterMoneyVO.setDriverWithdrawal(driverWithdrawal); - waterMoneyVO.setUserWithdrawal(userWithdrawal); - return waterMoneyVO; - } - /** - * 第三方流水统计获取列表 - */ - - @Autowired - private ITPubTransactionDetailsService pubTransactionDetailsService; - @Autowired - private ITPubWithdrawalService pubWithdrawalService; - @Autowired - private IPaymentRecordService paymentRecordService; - @Autowired - private ITUserService appUserService; - @RequestMapping(value = "/water/list") - @ResponseBody - public Object list1(Integer time,String insertTime,Integer payType,Integer type) { - if (time == null){ - time = 1; - } - String beginTime = null; - String endTime = null; - LocalDateTime start =null; - LocalDateTime end =null; - // 获取当前日期 - LocalDate today = LocalDate.now(); - if (ToolUtil.isNotEmpty(insertTime)){ - beginTime = insertTime.split(" - ")[0]; - endTime = insertTime.split(" - ")[1]; - LocalDate s = LocalDate.parse(beginTime); - LocalDate e = LocalDate.parse(endTime); - start = s.atStartOfDay(); - end = e.atTime(LocalTime.MAX); - }else if (time!=null) { - switch (time) { - case 1: - // 获取当天的 00:00:00 和 23:59:59 - LocalDateTime startOfDay = today.atStartOfDay(); - LocalDateTime endOfDay = today.atTime(LocalTime.MAX); - start = startOfDay; - end = endOfDay; - break; - case 2: - // 获取本周第一天的日期和时间 - LocalDate firstDayOfWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); - LocalDateTime startOfWeek = firstDayOfWeek.atStartOfDay(); - - // 获取本周最后一天的日期和时间 - LocalDate lastDayOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); - LocalDateTime endOfWeek = lastDayOfWeek.atTime(LocalTime.MAX); - start = startOfWeek; - end = endOfWeek; - break; - case 3: - LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth()); - LocalDateTime startOfMonth = firstDayOfMonth.atStartOfDay(); - - // 获取本月最后一天的日期和时间 - LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth()); - LocalDateTime endOfMonth = lastDayOfMonth.atTime(LocalTime.MAX); - start = startOfMonth; - end = endOfMonth; - break; - case 4: - // 获取本年第一天的日期和时间 - LocalDate firstDayOfYear = LocalDate.of(today.getYear(), Month.JANUARY, 1); - LocalDateTime startOfYear = firstDayOfYear.atStartOfDay(); - // 获取本年最后一天的日期和时间 - LocalDate lastDayOfYear = LocalDate.of(today.getYear(), Month.DECEMBER, 31); - LocalDateTime endOfYear = lastDayOfYear.atTime(LocalTime.MAX); - start = startOfYear; - end = endOfYear; - break; - } - } - // 用户小件物流订单记录 - List<TOrderPrivateCar> tOrderPrivateCars = new ArrayList<>(); - List<TOrderLogistics> tOrderLogistics = new ArrayList<>(); + // 用户取消订单记录 + List<OrderCancel> orderCancels = new ArrayList<>(); // 用户充值 List<TPubTransactionDetails> tPubTransactionDetails = new ArrayList<>(); // 司机结算总额 @@ -995,9 +477,14 @@ EntityWrapper<TOrderPrivateCar> tOrderPrivateCarEntityWrapper = new EntityWrapper<>(); // 用户小件物流订单wrapper EntityWrapper<TOrderLogistics> tOrderLogisticsEntityWrapper = new EntityWrapper<>(); + // 用户取消订单wrapper + Wrapper<OrderCancel> orderCancelEntityWrapper = new EntityWrapper<>(); // 司机手动结算金额 Wrapper<SettlementDetail> orderType1 = new EntityWrapper<SettlementDetail>(); - if (time == 5 && insertTime==null){ + List<Integer> integers = new ArrayList<>(); + integers.add(1); + integers.add(2); + if (time == 5 && !StringUtils.hasLength(insertTime)){ // 余额充值wrapper orderType = new EntityWrapper<TPubTransactionDetails>() .eq("userType",1) @@ -1024,6 +511,10 @@ orderType1 = new EntityWrapper<SettlementDetail>() .isNotNull("settlementRecordId") .in("orderType", Arrays.asList(1, 4)); + // 用户取消订单费用 + orderCancelEntityWrapper.eq("state", 2) + .in("payType",integers) + .eq("userType", 1); }else{ orderType = new EntityWrapper<TPubTransactionDetails>() .eq("orderType", 5) @@ -1054,6 +545,11 @@ .isNotNull("payMoney") .in("payType",Arrays.asList(1, 2)) .between("insertTime", start, end); + // 用户取消订单费用 + orderCancelEntityWrapper.eq("state", 2) + .eq("userType", 1) + .in("payType",integers) + .between("insertTime", start, end); } @@ -1063,7 +559,7 @@ // 只查询用户订单 tOrderPrivateCars = orderPrivateCarService.selectList(tOrderPrivateCarEntityWrapper); tOrderLogistics = orderLogisticsService.selectList(tOrderLogisticsEntityWrapper); - + orderCancels = orderCancelService.selectList(orderCancelEntityWrapper); break; case 2: // 只查询用户充值 @@ -1083,9 +579,18 @@ break; } }else{ + if(ToolUtil.isNotEmpty(code)){ + tOrderPrivateCarEntityWrapper.like("orderNum", code); + tOrderLogisticsEntityWrapper.like("orderNum", code); + orderType.like("", code); + } + + // 只查询用户订单 tOrderPrivateCars = orderPrivateCarService.selectList(tOrderPrivateCarEntityWrapper); tOrderLogistics = orderLogisticsService.selectList(tOrderLogisticsEntityWrapper); + orderCancels = orderCancelService.selectList(orderCancelEntityWrapper); + tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); // 只查询司机手动结算的 settlementDetails1 = settlementDetailService.selectList(orderType1); @@ -1105,7 +610,19 @@ // 用户提现金额 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){ if (tOrderPrivateCar.getPayType()!=payType){ @@ -1125,14 +642,10 @@ break; } // 专车 - if (tOrderPrivateCar != null){ - waterVO.setCode(tOrderPrivateCar.getOrderNum()); - String string = tOrderPrivateCar.getPayMoney().toString(); - waterVO.setMoney(new BigDecimal(string)); - }else{ - waterVO.setMoney(new BigDecimal("0")); - } - TUser user1 = appUserService.selectById(tOrderPrivateCar.getUserId()); + waterVO.setCode(tOrderPrivateCar.getOrderNum()); + String string = tOrderPrivateCar.getPayMoney().toString(); + waterVO.setMoney(new BigDecimal(string)+""); + TUser user1 = userMap.get(tOrderPrivateCar.getUserId()); if (user1!=null){ waterVO.setName(user1.getNickName()); waterVO.setPhone(user1.getPhone()); @@ -1142,7 +655,7 @@ waterVO.setRemark(tOrderPrivateCar.getRemark()); } res.add(waterVO); - userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getPayMoney().toString())); + userConsume = userConsume.add(new BigDecimal(waterVO.getMoney())); } for (TOrderLogistics tOrderLogistic : tOrderLogistics) { if (payType!=null){ @@ -1156,9 +669,8 @@ // 小件物流 waterVO.setCode(tOrderLogistic.getOrderNum()); String string = tOrderLogistic.getPayMoney().toString(); - waterVO.setMoney(new BigDecimal(string)); - waterVO.setMoney(new BigDecimal("0")); - TUser user2 = appUserService.selectById(tOrderLogistic.getUserId()); + waterVO.setMoney(new BigDecimal(string)+""); + TUser user2 = userMap.get(tOrderLogistic.getUserId()); if (user2!=null){ waterVO.setName(user2.getNickName()); waterVO.setPhone(user2.getPhone()); @@ -1176,25 +688,105 @@ waterVO.setRemark(tOrderLogistic.getRemark()); } res.add(waterVO); - userConsume = userConsume.add(new BigDecimal(tOrderLogistic.getPayMoney().toString())); - break; + userConsume = userConsume.add(new BigDecimal(waterVO.getMoney())); + } + for (OrderCancel orderCancel : orderCancels) { + WaterVO waterVO = new WaterVO(); + switch (orderCancel.getOrderType()){ + case 1: + TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(orderCancel.getOrderId()); + if (tOrderPrivateCar == null){ + continue; + } + waterVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + waterVO.setType("用户订单消费"); + if (payType!=null){ + if (!Objects.equals(tOrderPrivateCar.getPayType(), payType)){ + continue; + } + } + switch (orderCancel.getPayType()){ + case 1: + waterVO.setPayType("手机支付"); + break; + case 2: + waterVO.setPayType("银行卡支付"); + break; + case 3: + waterVO.setPayType("余额支付"); + break; + } + // 专车 + waterVO.setCode(tOrderPrivateCar.getOrderNum()); + String string = orderCancel.getMoney().toString(); + waterVO.setMoney(new BigDecimal(string)+""); + TUser user1 = userMap.get(tOrderPrivateCar.getUserId()); + if (user1!=null){ + waterVO.setName(user1.getNickName()); + waterVO.setPhone(user1.getPhone()); + } + waterVO.setRemark(tOrderPrivateCar.getRemark()); + res.add(waterVO); + userConsume = userConsume.add(new BigDecimal(waterVO.getMoney())); + break; + case 4: + TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(orderCancel.getOrderId()); + if (payType!=null){ + if (!Objects.equals(tOrderLogistics1.getPayType(), payType)){ + continue; + } + } + WaterVO waterVO1 = new WaterVO(); + waterVO1.setInsertTime(format.format(tOrderLogistics1.getInsertTime())); + waterVO1.setType("用户订单消费"); + // 小件物流 + waterVO1.setCode(tOrderLogistics1.getOrderNum()); + String string1 = orderCancel.getMoney().toString(); + waterVO1.setMoney(new BigDecimal(string1)+""); + TUser user2 = userMap.get(tOrderLogistics1.getUserId()); + if (user2!=null){ + waterVO1.setName(user2.getNickName()); + waterVO1.setPhone(user2.getPhone()); + } + waterVO1.setType("用户订单消费"); + switch (orderCancel.getPayType()){ + case 1: + waterVO1.setPayType("手机支付"); + break; + case 2: + waterVO1.setPayType("银行卡支付"); + break; + case 3: + waterVO1.setPayType("余额支付"); + break; + } + waterVO1.setRemark(tOrderLogistics1.getRemark()); + + res.add(waterVO1); + userConsume = userConsume.add(new BigDecimal(waterVO1.getMoney())); + break; + } } // 司机提现 for (TPubWithdrawal tPubWithdrawal : driver) { if(payType!=null && payType == 2){ break; } + String code1 = tPubWithdrawal.getCode(); + if(ToolUtil.isNotEmpty(code) && !code1.contains(code)){ + continue; + } 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()); } - waterVO.setMoney(tPubWithdrawal.getMoney()); - waterVO.setPayType("银行卡支付"); + waterVO.setMoney("-"+tPubWithdrawal.getMoney()); + waterVO.setPayType("手机支付"); waterVO.setType("司机提现"); waterVO.setRemark(tPubWithdrawal.getRemark()); res.add(waterVO); @@ -1205,16 +797,20 @@ if(payType!=null && payType == 2){ break; } + String code1 = tPubWithdrawal.getCode(); + if(ToolUtil.isNotEmpty(code) && !code1.contains(code)){ + continue; + } 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()); } - waterVO.setMoney(tPubWithdrawal.getMoney()); - waterVO.setPayType("银行卡支付"); + waterVO.setMoney("-"+tPubWithdrawal.getMoney()); + waterVO.setPayType("手机支付"); waterVO.setType("用户提现"); waterVO.setRemark(tPubWithdrawal.getRemark()); res.add(waterVO); @@ -1224,8 +820,17 @@ 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){ + // 临时数据 + continue; + } + String code1 = paymentRecord.getCode(); + if(ToolUtil.isNotEmpty(code) && !code1.contains(code)){ + continue; + } waterVO.setInsertTime(format.format(paymentRecord.getInsertTime())); waterVO.setCode(paymentRecord.getCode()); if (paymentRecord.getPayType()!=null){ @@ -1253,12 +858,12 @@ } } - waterVO.setMoney(new BigDecimal(paymentRecord.getAmount().toString())); + waterVO.setMoney(new BigDecimal(paymentRecord.getAmount().toString())+""); }else{ 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()); @@ -1271,19 +876,18 @@ userRecharge = userRecharge.add(new BigDecimal(paymentRecord.getAmount().toString())); } // 查询所有已结算的订单 - // 查询所有已结算的订单 for (SettlementDetail income : settlementDetails1) { WaterVO platformVO = new WaterVO(); platformVO.setType("司机结算"); switch (income.getOrderType()){ case 1: - SettlementRecord settlementRecord = settlementRecordService.selectById(income.getSettlementRecordId()); - if (settlementRecord!=null){ + SettlementRecord settlementRecord = settlementRecordMap.get(income.getSettlementRecordId()); + if (settlementRecord!=null && settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus() == 2){ if (settlementRecord.getPayType()!=null){ switch (settlementRecord.getPayType()){ case 1: if (payType!=null){ - if (payType == 1){ + if (payType != 1){ continue; } } @@ -1291,7 +895,7 @@ break; case 2: if (payType!=null){ - if (payType == 2){ + if (payType != 2){ continue; } } @@ -1311,8 +915,12 @@ if (tOrderPrivateCar==null){ continue; } + String code1 = tOrderPrivateCar.getOrderNum(); + if(ToolUtil.isNotEmpty(code) && !code1.contains(code)){ + 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()); @@ -1325,7 +933,7 @@ if (income.getPrice() != null){ String string = income.getPrice().toString(); BigDecimal bigDecimal1 = new BigDecimal(string); - platformVO.setMoney(bigDecimal1); + platformVO.setMoney(bigDecimal1+""); }else{ continue; } @@ -1342,13 +950,13 @@ case 4: // 小件物流 // 查询订单信息 - SettlementRecord settlementRecord1 = settlementRecordService.selectById(income.getSettlementRecordId()); - if (settlementRecord1==null){ - if (settlementRecord1.getPayType()!=null){ + SettlementRecord settlementRecord1 = settlementRecordMap.get(income.getSettlementRecordId()); + if (settlementRecord1!=null){ + if (settlementRecord1.getPaymentStatus()!=null && settlementRecord1.getPaymentStatus() == 2){ switch (settlementRecord1.getPayType()){ case 1: if (payType!=null){ - if (payType == 1){ + if (payType != 1){ continue; } } @@ -1356,7 +964,7 @@ break; case 2: if (payType!=null){ - if (payType == 2){ + if (payType != 2){ continue; } } @@ -1367,7 +975,11 @@ continue; } + }else{ + continue; } + }else{ + continue; } TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(income.getOrderId()); if (tOrderLogistics1==null){ @@ -1395,15 +1007,689 @@ 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()); } platformVO.setRemark(tOrderLogistics1.getRemark()); - platformVO.setMoney(BigDecimal.valueOf(income.getPrice())); + platformVO.setMoney(BigDecimal.valueOf(income.getPrice())+""); + if (income.getCreateTime()!=null){ + platformVO.setInsertTime(format.format(income.getCreateTime())); + } + platformVO.setInsertTime(format.format(tOrderLogistics1.getInsertTime())); + if (tOrderLogistics1.getPayType() == null){ + continue; + } + + String string1 = tOrderLogistics1.getOrderMoney().toString(); + // 小件物流订单 + balance = balance.add(new BigDecimal(string1)); + res.add(platformVO); + break; + } + } + // 过滤掉res中insertTime未空的数据 + res.removeIf(waterVO -> waterVO.getInsertTime() == null); + Collections.sort(res, Comparator.comparing(WaterVO::getInsertTime).reversed()); + WaterMoneyVO waterMoneyVO = new WaterMoneyVO(); + BigDecimal add = userRecharge.add(userConsume).add(balance).subtract(driverWithdrawal).subtract(userWithdrawal); + waterMoneyVO.setTotal(add); + waterMoneyVO.setUserOrder(userConsume); + waterMoneyVO.setUserCharge(userRecharge); + waterMoneyVO.setBalance(balance); + waterMoneyVO.setDriverWithdrawal(driverWithdrawal); + waterMoneyVO.setUserWithdrawal(userWithdrawal); + return waterMoneyVO; + } + + @RequestMapping(value = "/water/list") + @ResponseBody + public Object list1(Integer time,String insertTime,Integer payType,Integer type, String code) { + if (payType!=null){ + switch (payType){ + case 1: + payType = 2; + break; + case 2: + payType = 1; + break; + } + } + if (time == null){ + time = 1; + } + String beginTime = null; + String endTime = null; + LocalDateTime start =null; + LocalDateTime end =null; + // 获取当前日期 + LocalDate today = LocalDate.now(); + if (ToolUtil.isNotEmpty(insertTime)){ + beginTime = insertTime.split(" - ")[0]; + endTime = insertTime.split(" - ")[1]; + LocalDate s = LocalDate.parse(beginTime); + LocalDate e = LocalDate.parse(endTime); + start = s.atStartOfDay(); + end = e.atTime(LocalTime.MAX); + }else if (time!=null) { + switch (time) { + case 1: + // 获取当天的 00:00:00 和 23:59:59 + LocalDateTime startOfDay = today.atStartOfDay(); + LocalDateTime endOfDay = today.atTime(LocalTime.MAX); + start = startOfDay; + end = endOfDay; + break; + case 2: + // 获取本周第一天的日期和时间 + LocalDate firstDayOfWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); + LocalDateTime startOfWeek = firstDayOfWeek.atStartOfDay(); + + // 获取本周最后一天的日期和时间 + LocalDate lastDayOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); + LocalDateTime endOfWeek = lastDayOfWeek.atTime(LocalTime.MAX); + start = startOfWeek; + end = endOfWeek; + break; + case 3: + LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth()); + LocalDateTime startOfMonth = firstDayOfMonth.atStartOfDay(); + + // 获取本月最后一天的日期和时间 + LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth()); + LocalDateTime endOfMonth = lastDayOfMonth.atTime(LocalTime.MAX); + start = startOfMonth; + end = endOfMonth; + break; + case 4: + // 获取本年第一天的日期和时间 + LocalDate firstDayOfYear = LocalDate.of(today.getYear(), Month.JANUARY, 1); + LocalDateTime startOfYear = firstDayOfYear.atStartOfDay(); + // 获取本年最后一天的日期和时间 + LocalDate lastDayOfYear = LocalDate.of(today.getYear(), Month.DECEMBER, 31); + LocalDateTime endOfYear = lastDayOfYear.atTime(LocalTime.MAX); + start = startOfYear; + end = endOfYear; + break; + } + } + // 用户小件物流订单记录 + List<TOrderPrivateCar> tOrderPrivateCars = new ArrayList<>(); + List<TOrderLogistics> tOrderLogistics = new ArrayList<>(); + // 用户取消订单记录 + List<OrderCancel> orderCancels = new ArrayList<>(); + // 用户充值 + List<TPubTransactionDetails> tPubTransactionDetails = new ArrayList<>(); + // 司机结算总额 + List<SettlementDetail> settlementDetails1 = new ArrayList<>(); + // 司机提现 + List<TPubWithdrawal> driver = new ArrayList<>(); + // 用户提现 + List<TPubWithdrawal> user = new ArrayList<>(); + // 余额充值wrapper + Wrapper<TPubTransactionDetails> orderType = new EntityWrapper<TPubTransactionDetails>(); + // 用户提现wrapper + Wrapper<TPubWithdrawal> userWrapper = new EntityWrapper<TPubWithdrawal>(); + // 司机提现wrapper + Wrapper<TPubWithdrawal> between = new EntityWrapper<TPubWithdrawal>(); + // 用户专车订单wrapper + EntityWrapper<TOrderPrivateCar> tOrderPrivateCarEntityWrapper = new EntityWrapper<>(); + // 用户小件物流订单wrapper + EntityWrapper<TOrderLogistics> tOrderLogisticsEntityWrapper = new EntityWrapper<>(); + // 用户取消订单wrapper + Wrapper<OrderCancel> orderCancelEntityWrapper = new EntityWrapper<>(); + // 司机手动结算金额 + Wrapper<SettlementDetail> orderType1 = new EntityWrapper<SettlementDetail>(); + List<Integer> integers = new ArrayList<>(); + integers.add(1); + integers.add(2); + if (time == 5 && !StringUtils.hasLength(insertTime)){ + // 余额充值wrapper + 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>() + .eq("state", 2) + .eq("userType", 2); + // 用户专车订单wrapper + tOrderPrivateCarEntityWrapper + .isNotNull("payMoney") + .in("payType",Arrays.asList(1, 2)); + // 用户小件物流订单wrapper + tOrderLogisticsEntityWrapper + .isNotNull("payMoney") + .in("payType",Arrays.asList(1, 2)); + // 司机手动结算金额 + orderType1 = new EntityWrapper<SettlementDetail>() + .isNotNull("settlementRecordId") + .in("orderType", Arrays.asList(1, 4)); + // 用户取消订单费用 + orderCancelEntityWrapper.eq("state", 2) + + .in("payType",integers) + + .eq("userType", 1) + ; + }else{ + orderType = new EntityWrapper<TPubTransactionDetails>() + .eq("orderType", 5) + .eq("userType",1) + .between("insertTime",start,end); + // 用户提现wrapper + userWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("userType", 1) + .between("handleTime", start, end); + // 司机提现wrapper + between = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("userType", 2) + .between("handleTime", start, end); + // 司机手动结算金额 + orderType1 = new EntityWrapper<SettlementDetail>() + .isNotNull("settlementRecordId") + .in("orderType", Arrays.asList(1, 4)) + .between("createTime", start, end); + // 用户专车订单wrapper + tOrderPrivateCarEntityWrapper + .isNotNull("payMoney") + .in("payType",Arrays.asList(1, 2)) + .between("insertTime", start, end); + // 用户小件物流订单wrapper + tOrderLogisticsEntityWrapper + .isNotNull("payMoney") + .in("payType",Arrays.asList(1, 2)) + .between("insertTime", start, end); + // 用户取消订单费用 + orderCancelEntityWrapper.eq("state", 2) + .eq("userType", 1) + .in("payType",integers) + .between("insertTime", start, end); + } + + + if (type != null){ + switch (type){ + case 1: + // 只查询用户订单 + tOrderPrivateCars = orderPrivateCarService.selectList(tOrderPrivateCarEntityWrapper); + tOrderLogistics = orderLogisticsService.selectList(tOrderLogisticsEntityWrapper); + orderCancels = orderCancelService.selectList(orderCancelEntityWrapper); + break; + case 2: + // 只查询用户充值 + tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); + break; + case 3: + // 只查询司机手动结算的 + settlementDetails1 = settlementDetailService.selectList(orderType1); + break; + case 4: + driver = pubWithdrawalService.selectList(between); + // 只查询司机提现 + break; + case 5: + // 只查询用户提现 + user = pubWithdrawalService.selectList(userWrapper); + break; + } + }else{ + if(ToolUtil.isNotEmpty(code)){ + tOrderPrivateCarEntityWrapper.like("orderNum", code); + tOrderLogisticsEntityWrapper.like("orderNum", code); + orderType.like("", code); + } + + + // 只查询用户订单 + tOrderPrivateCars = orderPrivateCarService.selectList(tOrderPrivateCarEntityWrapper); + tOrderLogistics = orderLogisticsService.selectList(tOrderLogisticsEntityWrapper); + orderCancels = orderCancelService.selectList(orderCancelEntityWrapper); + + tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); + // 只查询司机手动结算的 + settlementDetails1 = settlementDetailService.selectList(orderType1); + driver = pubWithdrawalService.selectList(between); + user = pubWithdrawalService.selectList(userWrapper); + } + List<WaterVO> res = new ArrayList<>(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 司机结算金额 + BigDecimal balance = new BigDecimal("0"); + // 用户消费金额 + BigDecimal userConsume = new BigDecimal("0"); + // 用户充值金额 + BigDecimal userRecharge = new BigDecimal("0"); + // 司机提现金额 + BigDecimal driverWithdrawal = new BigDecimal("0"); + // 用户提现金额 + 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){ + if (tOrderPrivateCar.getPayType()!=payType){ + continue; + } + } + + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + waterVO.setType("用户订单消费"); + switch (tOrderPrivateCar.getPayType()){ + case 1: + waterVO.setPayType("手机支付"); + break; + case 2: + waterVO.setPayType("银行卡支付"); + break; + } + // 专车 + waterVO.setCode(tOrderPrivateCar.getOrderNum()); + String string = tOrderPrivateCar.getPayMoney().toString(); + waterVO.setMoney(new BigDecimal(string)+""); + TUser user1 = userMap.get(tOrderPrivateCar.getUserId()); + if (user1!=null){ + waterVO.setName(user1.getNickName()); + waterVO.setPhone(user1.getPhone()); + } + + if (tOrderPrivateCar != null){ + waterVO.setRemark(tOrderPrivateCar.getRemark()); + } + res.add(waterVO); + userConsume = userConsume.add(new BigDecimal(waterVO.getMoney())); + } + for (TOrderLogistics tOrderLogistic : tOrderLogistics) { + if (payType!=null){ + if (tOrderLogistic.getPayType()!=payType){ + continue; + } + } + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tOrderLogistic.getInsertTime())); + waterVO.setType("用户订单消费"); + // 小件物流 + waterVO.setCode(tOrderLogistic.getOrderNum()); + String string = tOrderLogistic.getPayMoney().toString(); + waterVO.setMoney(new BigDecimal(string)+""); + TUser user2 = userMap.get(tOrderLogistic.getUserId()); + if (user2!=null){ + waterVO.setName(user2.getNickName()); + waterVO.setPhone(user2.getPhone()); + } + waterVO.setType("用户订单消费"); + switch (tOrderLogistic.getPayType()){ + case 1: + waterVO.setPayType("手机支付"); + break; + case 2: + waterVO.setPayType("银行卡支付"); + break; + } + if (tOrderLogistics != null){ + waterVO.setRemark(tOrderLogistic.getRemark()); + } + res.add(waterVO); + userConsume = userConsume.add(new BigDecimal(waterVO.getMoney())); + } + for (OrderCancel orderCancel : orderCancels) { + WaterVO waterVO = new WaterVO(); + switch (orderCancel.getOrderType()){ + case 1: + TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(orderCancel.getOrderId()); + if (tOrderPrivateCar == null){ + continue; + } + waterVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + waterVO.setType("用户订单消费"); + if (payType!=null){ + if (!Objects.equals(tOrderPrivateCar.getPayType(), payType)){ + continue; + } + } + switch (orderCancel.getPayType()){ + case 1: + waterVO.setPayType("手机支付"); + break; + case 2: + waterVO.setPayType("银行卡支付"); + break; + case 3: + waterVO.setPayType("余额支付"); + break; + } + // 专车 + waterVO.setCode(tOrderPrivateCar.getOrderNum()); + String string = orderCancel.getMoney().toString(); + waterVO.setMoney(new BigDecimal(string)+""); + TUser user1 = userMap.get(orderCancel.getUserId()); + if (user1!=null){ + waterVO.setName(user1.getNickName()); + waterVO.setPhone(user1.getPhone()); + } + waterVO.setRemark(tOrderPrivateCar.getRemark()); + res.add(waterVO); + userConsume = userConsume.add(new BigDecimal(waterVO.getMoney())); + break; + case 4: + TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(orderCancel.getOrderId()); + if (payType!=null){ + if (!Objects.equals(tOrderLogistics1.getPayType(), payType)){ + continue; + } + } + WaterVO waterVO1 = new WaterVO(); + waterVO1.setInsertTime(format.format(tOrderLogistics1.getInsertTime())); + waterVO1.setType("用户订单消费"); + // 小件物流 + waterVO1.setCode(tOrderLogistics1.getOrderNum()); + String string1 = orderCancel.getMoney().toString(); + waterVO1.setMoney(new BigDecimal(string1)+""); + TUser user2 = userMap.get(tOrderLogistics1.getUserId()); + if (user2!=null){ + waterVO1.setName(user2.getNickName()); + waterVO1.setPhone(user2.getPhone()); + } + waterVO1.setType("用户订单消费"); + switch (orderCancel.getPayType()){ + case 1: + waterVO1.setPayType("手机支付"); + break; + case 2: + waterVO1.setPayType("银行卡支付"); + break; + case 3: + waterVO1.setPayType("余额支付"); + break; + } + waterVO1.setRemark(tOrderLogistics1.getRemark()); + + res.add(waterVO1); + userConsume = userConsume.add(new BigDecimal(waterVO1.getMoney())); + break; + } + } + // 司机提现 + for (TPubWithdrawal tPubWithdrawal : driver) { + if(payType!=null && payType == 2){ + break; + } + String code1 = tPubWithdrawal.getCode(); + if(ToolUtil.isNotEmpty(code) && !code1.contains(code)){ + continue; + } + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime())); + waterVO.setCode(tPubWithdrawal.getCode()); + TDriver tDriver = driverMap.get(tPubWithdrawal.getUserId()); + if (tDriver!=null){ + waterVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + waterVO.setPhone(tDriver.getPhone()); + } + + waterVO.setMoney("-"+tPubWithdrawal.getMoney()); + waterVO.setPayType("手机支付"); + waterVO.setType("司机提现"); + waterVO.setRemark(tPubWithdrawal.getRemark()); + res.add(waterVO); + driverWithdrawal = driverWithdrawal.add(tPubWithdrawal.getMoney()); + } + // 用户提现 + for (TPubWithdrawal tPubWithdrawal : user) { + if(payType!=null && payType == 2){ + break; + } + String code1 = tPubWithdrawal.getCode(); + if(ToolUtil.isNotEmpty(code) && !code1.contains(code)){ + continue; + } + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime())); + waterVO.setCode(tPubWithdrawal.getCode()); + TUser user2 = userMap.get(tPubWithdrawal.getUserId()); + if (user2!=null){ + waterVO.setName(user2.getNickName()); + waterVO.setPhone(user2.getPhone()); + } + waterVO.setMoney("-"+tPubWithdrawal.getMoney()); + waterVO.setPayType("手机支付"); + waterVO.setType("用户提现"); + waterVO.setRemark(tPubWithdrawal.getRemark()); + res.add(waterVO); + userWithdrawal = userWithdrawal.add(tPubWithdrawal.getMoney()); + } + // 查询用户充值 + for (TPubTransactionDetails tPubTransactionDetail : tPubTransactionDetails) { + WaterVO waterVO = new WaterVO(); + Integer orderId = tPubTransactionDetail.getOrderId(); + PaymentRecord paymentRecord = paymentRecordMap.get(orderId); + if (paymentRecord!=null){ + if (paymentRecord.getState() == 1){ + // 临时数据 + continue; + } + String code1 = paymentRecord.getCode(); + if(ToolUtil.isNotEmpty(code) && !code1.contains(code)){ + continue; + } + waterVO.setInsertTime(format.format(paymentRecord.getInsertTime())); + waterVO.setCode(paymentRecord.getCode()); + if (paymentRecord.getPayType()!=null){ + switch (paymentRecord.getPayType()){ + case 1: + if (payType!=null){ + if (payType != 1){ + continue; + } + } + waterVO.setPayType("手机支付"); + break; + case 2: + if (payType!=null){ + if (payType != 2){ + continue; + } + } + + waterVO.setPayType("银行卡支付"); + break; + case 3: + case 4: + continue; + } + } + + waterVO.setMoney(new BigDecimal(paymentRecord.getAmount().toString())+""); + }else{ + continue; + } + if (paymentRecord.getUserId()!=null){ + TUser user2 = userMap.get(paymentRecord.getUserId()); + if (user2!=null){ + waterVO.setName(user2.getNickName()); + waterVO.setPhone(user2.getPhone()); + } + } + + waterVO.setType("用户充值"); + waterVO.setRemark(tPubTransactionDetail.getRemark()); + res.add(waterVO); + userRecharge = userRecharge.add(new BigDecimal(paymentRecord.getAmount().toString())); + } + // 查询所有已结算的订单 + for (SettlementDetail income : settlementDetails1) { + WaterVO platformVO = new WaterVO(); + platformVO.setType("司机结算"); + switch (income.getOrderType()){ + case 1: + SettlementRecord settlementRecord = settlementRecordMap.get(income.getSettlementRecordId()); + if (settlementRecord!=null && settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus() == 2){ + if (settlementRecord.getPayType()!=null){ + switch (settlementRecord.getPayType()){ + case 1: + if (payType!=null){ + if (payType != 1){ + continue; + } + } + platformVO.setPayType("手机支付"); + break; + case 2: + if (payType!=null){ + if (payType != 2){ + continue; + } + } + platformVO.setPayType("银行卡支付"); + break; + case 3: + case 4: + continue; + } + + } + }else{ + continue; + } + // 查询订单信息 + TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(income.getOrderId()); + if (tOrderPrivateCar==null){ + continue; + } + String code1 = tOrderPrivateCar.getOrderNum(); + if(ToolUtil.isNotEmpty(code) && !code1.contains(code)){ + continue; + } + platformVO.setCode(tOrderPrivateCar.getOrderNum()); + TDriver tDriver = driverMap.get(tOrderPrivateCar.getDriverId()); + if (tDriver != null){ + platformVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + platformVO.setPhone(tDriver.getPhone()); + } + platformVO.setRemark(tOrderPrivateCar.getRemark()); + if (income.getCreateTime()!=null){ + platformVO.setInsertTime(format.format(income.getCreateTime())); + } + platformVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + if (income.getPrice() != null){ + String string = income.getPrice().toString(); + BigDecimal bigDecimal1 = new BigDecimal(string); + platformVO.setMoney(bigDecimal1+""); + }else{ + continue; + } + + if (tOrderPrivateCar.getPayType() == null){ + continue; + } + + // 专车订单 + String string4 = tOrderPrivateCar.getOrderMoney().toString(); + balance = balance.add(new BigDecimal(string4)); + res.add(platformVO); + break; + case 4: + // 小件物流 + // 查询订单信息 + SettlementRecord settlementRecord1 = settlementRecordMap.get(income.getSettlementRecordId()); + if (settlementRecord1!=null){ + if (settlementRecord1.getPaymentStatus()!=null && settlementRecord1.getPaymentStatus() == 2){ + switch (settlementRecord1.getPayType()){ + case 1: + if (payType!=null){ + if (payType != 1){ + continue; + } + } + platformVO.setPayType("手机支付"); + break; + case 2: + if (payType!=null){ + if (payType != 2){ + continue; + } + } + platformVO.setPayType("银行卡支付"); + break; + case 3: + case 4: + continue; + } + + }else{ + continue; + } + }else{ + continue; + } + TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(income.getOrderId()); + if (tOrderLogistics1==null){ + continue; + } + switch (tOrderLogistics1.getPayType()){ + case 1: + if (payType!=null){ + if (payType != 1){ + continue; + } + } + platformVO.setPayType("手机支付"); + break; + case 2: + if (payType!=null){ + if (payType != 2){ + continue; + } + } + platformVO.setPayType("银行卡支付"); + break; + case 3: + + case 4: + ; + } + String code2 = tOrderLogistics1.getOrderNum(); + if(ToolUtil.isNotEmpty(code) && !code2.contains(code)){ + continue; + } + platformVO.setCode(tOrderLogistics1.getOrderNum()); + TDriver tDriver1 = driverMap.get(tOrderLogistics1.getDriverId()); + if (tDriver1!=null){ + platformVO.setName(tDriver1.getFirstName()+tDriver1.getLastName()); + platformVO.setPhone(tDriver1.getPhone()); + } + + platformVO.setRemark(tOrderLogistics1.getRemark()); + platformVO.setMoney(BigDecimal.valueOf(income.getPrice())+""); if (income.getCreateTime()!=null){ platformVO.setInsertTime(format.format(income.getCreateTime())); } @@ -1490,41 +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 && insertTime==null){ - 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 && insertTime==null){ + 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"); // 未结算金额 @@ -1539,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()); @@ -1555,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())); @@ -1583,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()); @@ -1599,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; + } + } } // 专车订单 @@ -1623,61 +2001,65 @@ break; } } - // 查询所有现金支付的订单 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()); + TDriver tDriver = driverMap.get(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){ - if (state!=null && state!=1){ - continue; + SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId()); + if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){ + if (state!=null && state!=1){ + continue; + } + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementDetail.getCreateTime())); + }else{ + // 未结算 + if (state!=null && state!=2){ + continue; + } + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } - // 已结算 - platformVO.setState(1); - SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); - balance = balance.add(new BigDecimal(settlementDetail.getPrice())); - platformVO.setEndTime(format.format(settlementRecord.getDay())); }else{ + // 未结算 if (state!=null && state!=2){ continue; } - // 未结算 - platformVO.setState(2); 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()); + TDriver tDriver1 = driverMap.get(tOrderLogistics.getDriverId()); if (tDriver1!=null){ platformVO.setDriverName(tDriver1.getFirstName()+tDriver1.getLastName()); platformVO.setDriverPhone(tDriver1.getPhone()); @@ -1689,20 +2071,29 @@ platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime())); platformVO.setPayType("现金支付"); if (settlementDetail.getSettlementRecordId()!=null){ - if (state!=null && state!=1){ - continue; + SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId()); + if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){ + if (state!=null && state!=1){ + continue; + } + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementDetail.getCreateTime())); + }else{ + // 未结算 + if (state!=null && state!=2){ + continue; + } + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementRecord.getDay())); } - // 已结算 - platformVO.setState(1); - SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); - balance = balance.add(new BigDecimal(settlementDetail.getPrice())); - platformVO.setEndTime(format.format(settlementRecord.getDay())); }else{ + // 未结算 if (state!=null && state!=2){ continue; } - // 未结算 - platformVO.setState(2); unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } res.add(platformVO); -- Gitblit v1.7.1