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 | 1957 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 1,091 insertions(+), 866 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 1539fac..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,18 +13,17 @@ 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; /** * 控制器 @@ -44,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) { // 获取今天的日期 @@ -95,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"; + } /** * @@ -109,7 +119,7 @@ @ResponseBody public Object getCount(Integer time,String insertTime,Integer state) { if (time == null){ - time = 1; + time =1; } String beginTime = null; String endTime = null; @@ -124,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 @@ -168,36 +178,55 @@ } List<Income> incomes = new ArrayList<>(); List<SettlementDetail> settlementDetails = new ArrayList<>(); - if (state!=null){ - switch (state){ - case 1: - // 已结算 - // 查询已结算的 - incomes = tIncomeService.selectList(new EntityWrapper<Income>() - .eq("userType", 2) - .ne("type", 1) - .isNotNull("orderType") - .between("insertTime", start, end)); - - - break; - case 2: - // 未结算 - - break; - } + 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", 2) + .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"); // 未结算金额 @@ -208,83 +237,42 @@ platformVO.setState(1); switch (income.getOrderType()){ case 1: + if (state!=null && state==2){ + 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); break; case 4: + if (state!=null && state==2){ + continue; + } // 小件物流 // 查询订单信息 - 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())); @@ -292,60 +280,45 @@ break; } } - EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>(); - 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("现金支付"); - - // 查询是否结算 - SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); - if (state!=null){ - if (state == 1){ - // 查询已结算的 - if (settlementRecord!=null &&settlementRecord.getPaymentStatus() == 1){ + if (settlementDetail.getSettlementRecordId()!=null){ + SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId()); + if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){ + if (state!=null && state!=1){ continue; } - } - if (state == 2){ - // 查询未结算的 - if (settlementRecord!=null &&settlementRecord.getPaymentStatus() == 2){ + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementRecord.getPayTime())); + }else{ + // 未结算 + if (state!=null && state!=2){ continue; } - } - } - if (settlementRecord!=null && settlementRecord.getPaymentStatus() == 2){ - // 已结算 - platformVO.setState(1); - balance = balance.add(new BigDecimal(settlementDetail.getPrice())); - if (settlementRecord.getDay()!=null){ - platformVO.setEndTime(format.format(settlementRecord.getDay())); + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } }else{ // 未结算 - platformVO.setState(2); + if (state!=null && state!=2){ + continue; + } unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } res.add(platformVO); @@ -353,48 +326,38 @@ 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("现金支付"); - // 查询是否结算 - SettlementRecord settlementRecord1 = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); - if (state!=null){ - if (state == 1){ - // 查询已结算的 - if (settlementRecord1!=null && settlementRecord1.getPaymentStatus() == 1){ + if (settlementDetail.getSettlementRecordId()!=null){ + SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId()); + if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){ + if (state!=null && state!=1){ continue; } - } - if (state == 2){ - // 查询未结算的 - if (settlementRecord1!=null && settlementRecord1.getPaymentStatus() == 2){ + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementRecord.getDay())); + }else{ + // 未结算 + if (state!=null && state!=2){ continue; } - } - } - if (settlementRecord1!=null && settlementRecord1.getPaymentStatus() == 2){ - // 已结算 - platformVO.setState(1); - balance = balance.add(new BigDecimal(settlementDetail.getPrice())); - if (settlementRecord1.getDay()!=null){ - platformVO.setEndTime(format.format(settlementRecord1.getDay())); + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementRecord.getDay())); } }else{ // 未结算 - platformVO.setState(2); + if (state!=null && state!=2){ + continue; + } unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } res.add(platformVO); @@ -422,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; } @@ -481,90 +454,150 @@ break; } } - List<Income> incomes = new ArrayList<>(); - List<SettlementDetail> settlementDetails = new ArrayList<>(); - // 用户订单记录 - List<TPubTransactionDetails> tOrderPrivateCars = new ArrayList<>(); + // 用户小件物流订单记录 + 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>() - .eq("orderType", 5) - .between("insertTime",start,end); + Wrapper<TPubTransactionDetails> orderType = new EntityWrapper<TPubTransactionDetails>(); // 用户提现wrapper - Wrapper<TPubWithdrawal> userWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 1) - .between("handleTime", start, end); + Wrapper<TPubWithdrawal> userWrapper = new EntityWrapper<TPubWithdrawal>(); // 司机提现wrapper - Wrapper<TPubWithdrawal> between = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 2) - .between("handleTime", start, end); - // 用户订单wrapper -// Wrapper<PaymentRecord> between1 = new EntityWrapper<PaymentRecord>() -// .eq("type", 1) -// .eq("category", 1) -// .ne("orderType", 3) -// .ne("orderType", 5) -// .ne("orderType", 6) -// .between("insertTime", start, end); - // 用户订单wrapper - Wrapper<TPubTransactionDetails> between1 = new EntityWrapper<TPubTransactionDetails>() - .in("orderType", Arrays.asList(1, 4)) - .between("insertTime", start, end); + 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 = pubTransactionDetailsService.selectList(between1); + tOrderPrivateCars = orderPrivateCarService.selectList(tOrderPrivateCarEntityWrapper); + tOrderLogistics = orderLogisticsService.selectList(tOrderLogisticsEntityWrapper); + orderCancels = orderCancelService.selectList(orderCancelEntityWrapper); break; case 2: // 只查询用户充值 tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); break; case 3: - // 只查询司机已结算的 - incomes = tIncomeService.selectList(new EntityWrapper<Income>() - .eq("userType", 2) - .ne("type", 1) - .isNotNull("orderType") - .between("insertTime", start, end)); - + // 只查询司机手动结算的 + settlementDetails1 = settlementDetailService.selectList(orderType1); break; case 4: - if(payType!=null && payType == 2){ - break; - } driver = pubWithdrawalService.selectList(between); // 只查询司机提现 break; case 5: - if(payType!=null && payType == 2){ - break; - } // 只查询用户提现 user = pubWithdrawalService.selectList(userWrapper); break; } }else{ - tOrderPrivateCars = pubTransactionDetailsService.selectList(between1); + 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); - incomes = tIncomeService.selectList(new EntityWrapper<Income>() - .eq("userType", 2) - .ne("type", 1) - .isNotNull("orderType") - .between("insertTime", start, end)); + // 只查询司机手动结算的 + settlementDetails1 = settlementDetailService.selectList(orderType1); driver = pubWithdrawalService.selectList(between); user = pubWithdrawalService.selectList(userWrapper); } List<WaterVO> res = new ArrayList<>(); -// List<PlatformVO> res = new ArrayList<>(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 司机结算金额 BigDecimal balance = new BigDecimal("0"); @@ -577,115 +610,160 @@ // 用户提现金额 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; + } + } - for (TPubTransactionDetails tOrderPrivateCar : tOrderPrivateCars) { WaterVO waterVO = new WaterVO(); waterVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); waterVO.setType("用户订单消费"); - switch (tOrderPrivateCar.getOrderType()){ + switch (tOrderPrivateCar.getPayType()){ case 1: - // 专车 - TOrderPrivateCar tOrderPrivateCar1 = orderPrivateCarService.selectById(tOrderPrivateCar.getOrderId()); - if (tOrderPrivateCar1 != null){ - waterVO.setCode(tOrderPrivateCar1.getOrderNum()); - String string = tOrderPrivateCar.getMoney().toString(); - waterVO.setMoney(new BigDecimal(string)); - }else{ - waterVO.setMoney(new BigDecimal("0")); + 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; } - TUser user1 = appUserService.selectById(tOrderPrivateCar.getUserId()); + 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()); } - - if (tOrderPrivateCar1 != null){ - if (tOrderPrivateCar1.getPayType()!=null){ - switch (tOrderPrivateCar1.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; - } - }else{ - continue; - } - }else{ - continue; - } - if (tOrderPrivateCar1 != null){ - waterVO.setRemark(tOrderPrivateCar1.getRemark()); - } + waterVO.setRemark(tOrderPrivateCar.getRemark()); res.add(waterVO); - userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getMoney().toString())); + userConsume = userConsume.add(new BigDecimal(waterVO.getMoney())); break; case 4: - // 小件物流 - TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(tOrderPrivateCar.getOrderId()); - if (tOrderLogistics != null){ - waterVO.setCode(tOrderLogistics.getOrderNum()); - String string = tOrderPrivateCar.getMoney().toString(); - waterVO.setMoney(new BigDecimal(string)); - }else{ - waterVO.setMoney(new BigDecimal("0")); - } - TUser user2 = appUserService.selectById(tOrderPrivateCar.getUserId()); - if (user2!=null){ - waterVO.setName(user2.getNickName()); - waterVO.setPhone(user2.getPhone()); - } - waterVO.setType("用户订单消费"); - if (tOrderLogistics != null){ - if (tOrderLogistics.getPayType()!=null){ - switch (tOrderLogistics.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; - } - }else{ + TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(orderCancel.getOrderId()); + if (payType!=null){ + if (!Objects.equals(tOrderLogistics1.getPayType(), payType)){ continue; } - }else{ - continue; } - if (tOrderLogistics != null){ - waterVO.setRemark(tOrderLogistics.getRemark()); + 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()); } - res.add(waterVO); - userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getMoney().toString())); + 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; } } @@ -694,17 +772,21 @@ 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); @@ -715,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); @@ -734,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){ @@ -754,17 +849,21 @@ continue; } } + waterVO.setPayType("银行卡支付"); break; + case 3: + case 4: + continue; } } - 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()); @@ -777,59 +876,70 @@ userRecharge = userRecharge.add(new BigDecimal(paymentRecord.getAmount().toString())); } // 查询所有已结算的订单 - for (Income income : incomes) { + 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.getIncomeId()); + 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 = driverService.selectById(tOrderPrivateCar.getDriverId()); + 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.getInsertTime()!=null){ - platformVO.setInsertTime(format.format(income.getInsertTime())); + if (income.getCreateTime()!=null){ + platformVO.setInsertTime(format.format(income.getCreateTime())); } platformVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); - if (tOrderPrivateCar.getOrderMoney() != null){ - String string = tOrderPrivateCar.getOrderMoney().toString(); + if (income.getPrice() != null){ + String string = income.getPrice().toString(); BigDecimal bigDecimal1 = new BigDecimal(string); - platformVO.setMoney(bigDecimal1); + platformVO.setMoney(bigDecimal1+""); }else{ continue; } if (tOrderPrivateCar.getPayType() == null){ continue; - } - switch (tOrderPrivateCar.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; } // 专车订单 @@ -840,27 +950,42 @@ case 4: // 小件物流 // 查询订单信息 - TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(income.getIncomeId()); - if (tOrderLogistics==null){ - continue; - } - platformVO.setCode(tOrderLogistics.getOrderNum()); - TDriver tDriver1 = driverService.selectById(tOrderLogistics.getDriverId()); - if (tDriver1!=null){ - platformVO.setName(tDriver1.getFirstName()+tDriver1.getLastName()); - platformVO.setPhone(tDriver1.getPhone()); - } + 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; + } - platformVO.setRemark(tOrderLogistics.getRemark()); - platformVO.setMoney(new BigDecimal(income.getMoney())); - if (income.getInsertTime()!=null){ - platformVO.setInsertTime(format.format(income.getInsertTime())); - } - platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime())); - if (tOrderLogistics.getPayType() == null){ + }else{ + continue; + } + }else{ continue; } - switch (tOrderLogistics.getPayType()){ + TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(income.getOrderId()); + if (tOrderLogistics1==null){ + continue; + } + switch (tOrderLogistics1.getPayType()){ case 1: if (payType!=null){ if (payType != 1){ @@ -882,107 +1007,36 @@ case 4: continue; } - String string1 = tOrderLogistics.getOrderMoney().toString(); + 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())); + } + 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; } } -// EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>(); -// settlementDetailEntityWrapper.between("createTime", start, end); -// settlementDetails = settlementDetailService.selectList(settlementDetailEntityWrapper); -// // 查询所有现金支付的订单 -// for (SettlementDetail settlementDetail : settlementDetails) { -// WaterVO platformVO = new WaterVO(); -// switch (settlementDetail.getOrderType()){ -// case 1: -// // 专车订单 -// TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(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("现金支付"); -// // 查询是否结算 -// SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); -// -// if (settlementRecord.getPaymentStatus() == 1){ -// continue; -// } -// -// // 已结算 -// platformVO.setState(1); -// balance = balance.add(new BigDecimal(settlementDetail.getPrice())); -// if (settlementRecord.getDay()!=null){ -// platformVO.setInsertTime(format.format(settlementRecord.getDay())); -// } -// -// res.add(platformVO); -// break; -// case 4: -// // 小件物流 -// // 查询订单信息 -// TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(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("现金支付"); -// // 查询是否结算 -// SettlementRecord settlementRecord1 = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); -// if (payType!=null){ -// if (payType == 1){ -// // 查询已结算的 -// if (settlementRecord1.getPaymentStatus() == 1){ -// continue; -// } -// } -// if (payType == 2){ -// // 查询未结算的 -// if (settlementRecord1.getPaymentStatus() == 2){ -// continue; -// } -// } -// } -// if (settlementRecord1.getPaymentStatus() == 2){ -// // 已结算 -// platformVO.setState(1); -// balance = balance.add(new BigDecimal(settlementDetail.getPrice())); -// if (settlementRecord1.getDay()!=null){ -// platformVO.setInsertTime(format.format(settlementRecord1.getDay())); -// } -// }else{ -// // 未结算 -// platformVO.setState(2); -// unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); -// } -// res.add(platformVO); -// break; -// } -// } - // 计算佣金总额 -// BigDecimal add = unBalance.add(balance); + // 过滤掉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); @@ -994,21 +1048,20 @@ 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) { + 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; } @@ -1067,90 +1120,155 @@ break; } } - List<Income> incomes = new ArrayList<>(); - List<SettlementDetail> settlementDetails = new ArrayList<>(); - // 用户订单记录 - List<TPubTransactionDetails> tOrderPrivateCars = new ArrayList<>(); + // 用户小件物流订单记录 + 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>() - .eq("orderType", 5) - .between("insertTime",start,end); + Wrapper<TPubTransactionDetails> orderType = new EntityWrapper<TPubTransactionDetails>(); // 用户提现wrapper - Wrapper<TPubWithdrawal> userWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 1) - .between("handleTime", start, end); + Wrapper<TPubWithdrawal> userWrapper = new EntityWrapper<TPubWithdrawal>(); // 司机提现wrapper - Wrapper<TPubWithdrawal> between = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("userType", 2) - .between("handleTime", start, end); - // 用户订单wrapper -// Wrapper<PaymentRecord> between1 = new EntityWrapper<PaymentRecord>() -// .eq("type", 1) -// .eq("category", 1) -// .ne("orderType", 3) -// .ne("orderType", 5) -// .ne("orderType", 6) -// .between("insertTime", start, end); - // 用户订单wrapper - Wrapper<TPubTransactionDetails> between1 = new EntityWrapper<TPubTransactionDetails>() - .eq("userType",1) - .in("orderType", Arrays.asList(1, 4)) - .between("insertTime", start, end); + 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 = pubTransactionDetailsService.selectList(between1); + tOrderPrivateCars = orderPrivateCarService.selectList(tOrderPrivateCarEntityWrapper); + tOrderLogistics = orderLogisticsService.selectList(tOrderLogisticsEntityWrapper); + orderCancels = orderCancelService.selectList(orderCancelEntityWrapper); break; case 2: // 只查询用户充值 tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); break; case 3: - // 只查询司机已结算的 - incomes = tIncomeService.selectList(new EntityWrapper<Income>() - .eq("userType", 2) - .ne("type", 1) - .isNotNull("orderType") - .between("insertTime", start, end)); + // 只查询司机手动结算的 + settlementDetails1 = settlementDetailService.selectList(orderType1); break; case 4: - if(payType!=null && payType == 2){ - break; - } driver = pubWithdrawalService.selectList(between); // 只查询司机提现 break; case 5: - if(payType!=null && payType == 2){ - break; - } // 只查询用户提现 user = pubWithdrawalService.selectList(userWrapper); break; } }else{ - tOrderPrivateCars = pubTransactionDetailsService.selectList(between1); + 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); - incomes = tIncomeService.selectList(new EntityWrapper<Income>() - .eq("userType", 2) - .ne("type", 1) - .isNotNull("orderType") - .between("insertTime", start, end)); + // 只查询司机手动结算的 + settlementDetails1 = settlementDetailService.selectList(orderType1); driver = pubWithdrawalService.selectList(between); user = pubWithdrawalService.selectList(userWrapper); } List<WaterVO> res = new ArrayList<>(); -// List<PlatformVO> res = new ArrayList<>(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 司机结算金额 BigDecimal balance = new BigDecimal("0"); @@ -1163,115 +1281,160 @@ // 用户提现金额 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; + } + } - for (TPubTransactionDetails tOrderPrivateCar : tOrderPrivateCars) { WaterVO waterVO = new WaterVO(); waterVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); waterVO.setType("用户订单消费"); - switch (tOrderPrivateCar.getOrderType()){ + switch (tOrderPrivateCar.getPayType()){ case 1: - // 专车 - TOrderPrivateCar tOrderPrivateCar1 = orderPrivateCarService.selectById(tOrderPrivateCar.getOrderId()); - if (tOrderPrivateCar1 != null){ - waterVO.setCode(tOrderPrivateCar1.getOrderNum()); - String string = tOrderPrivateCar.getMoney().toString(); - waterVO.setMoney(new BigDecimal(string)); - }else{ - waterVO.setMoney(new BigDecimal("0")); + 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; } - TUser user1 = appUserService.selectById(tOrderPrivateCar.getUserId()); + 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()); } - - if (tOrderPrivateCar1 != null){ - if (tOrderPrivateCar1.getPayType()!=null){ - switch (tOrderPrivateCar1.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; - } - }else{ - continue; - } - }else{ - continue; - } - if (tOrderPrivateCar1 != null){ - waterVO.setRemark(tOrderPrivateCar1.getRemark()); - } + waterVO.setRemark(tOrderPrivateCar.getRemark()); res.add(waterVO); - userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getMoney().toString())); + userConsume = userConsume.add(new BigDecimal(waterVO.getMoney())); break; case 4: - // 小件物流 - TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(tOrderPrivateCar.getOrderId()); - if (tOrderLogistics != null){ - waterVO.setCode(tOrderLogistics.getOrderNum()); - String string = tOrderPrivateCar.getMoney().toString(); - waterVO.setMoney(new BigDecimal(string)); - }else{ - waterVO.setMoney(new BigDecimal("0")); - } - TUser user2 = appUserService.selectById(tOrderPrivateCar.getUserId()); - if (user2!=null){ - waterVO.setName(user2.getNickName()); - waterVO.setPhone(user2.getPhone()); - } - waterVO.setType("用户订单消费"); - if (tOrderLogistics != null){ - if (tOrderLogistics.getPayType()!=null){ - switch (tOrderLogistics.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; - } - }else{ + TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(orderCancel.getOrderId()); + if (payType!=null){ + if (!Objects.equals(tOrderLogistics1.getPayType(), payType)){ continue; } - }else{ - continue; } - if (tOrderLogistics != null){ - waterVO.setRemark(tOrderLogistics.getRemark()); + 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()); } - res.add(waterVO); - userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getMoney().toString())); + 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; } } @@ -1280,17 +1443,21 @@ 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); @@ -1301,16 +1468,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); @@ -1320,8 +1491,16 @@ 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){ @@ -1340,17 +1519,21 @@ continue; } } + waterVO.setPayType("银行卡支付"); break; + case 3: + case 4: + continue; } } - 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()); @@ -1363,59 +1546,70 @@ userRecharge = userRecharge.add(new BigDecimal(paymentRecord.getAmount().toString())); } // 查询所有已结算的订单 - for (Income income : incomes) { + 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.getIncomeId()); + 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 = driverService.selectById(tOrderPrivateCar.getDriverId()); + 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.getInsertTime()!=null){ - platformVO.setInsertTime(format.format(income.getInsertTime())); + if (income.getCreateTime()!=null){ + platformVO.setInsertTime(format.format(income.getCreateTime())); } platformVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); - if (tOrderPrivateCar.getOrderMoney() != null){ - String string = tOrderPrivateCar.getOrderMoney().toString(); + if (income.getPrice() != null){ + String string = income.getPrice().toString(); BigDecimal bigDecimal1 = new BigDecimal(string); - platformVO.setMoney(bigDecimal1); + platformVO.setMoney(bigDecimal1+""); }else{ continue; } if (tOrderPrivateCar.getPayType() == null){ continue; - } - switch (tOrderPrivateCar.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; } // 专车订单 @@ -1426,27 +1620,42 @@ case 4: // 小件物流 // 查询订单信息 - TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(income.getIncomeId()); - if (tOrderLogistics==null){ - continue; - } - platformVO.setCode(tOrderLogistics.getOrderNum()); - TDriver tDriver1 = driverService.selectById(tOrderLogistics.getDriverId()); - if (tDriver1!=null){ - platformVO.setName(tDriver1.getFirstName()+tDriver1.getLastName()); - platformVO.setPhone(tDriver1.getPhone()); - } + 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; + } - platformVO.setRemark(tOrderLogistics.getRemark()); - platformVO.setMoney(new BigDecimal(income.getMoney())); - if (income.getInsertTime()!=null){ - platformVO.setInsertTime(format.format(income.getInsertTime())); - } - platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime())); - if (tOrderLogistics.getPayType() == null){ + }else{ + continue; + } + }else{ continue; } - switch (tOrderLogistics.getPayType()){ + TOrderLogistics tOrderLogistics1 = orderLogisticsService.selectById(income.getOrderId()); + if (tOrderLogistics1==null){ + continue; + } + switch (tOrderLogistics1.getPayType()){ case 1: if (payType!=null){ if (payType != 1){ @@ -1466,107 +1675,36 @@ case 3: case 4: - continue; + ; } - String string1 = tOrderLogistics.getOrderMoney().toString(); + 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())); + } + 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; } } -// EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>(); -// settlementDetailEntityWrapper.between("createTime", start, end); -// settlementDetails = settlementDetailService.selectList(settlementDetailEntityWrapper); -// // 查询所有现金支付的订单 -// for (SettlementDetail settlementDetail : settlementDetails) { -// WaterVO platformVO = new WaterVO(); -// switch (settlementDetail.getOrderType()){ -// case 1: -// // 专车订单 -// TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(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("现金支付"); -// // 查询是否结算 -// SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); -// -// if (settlementRecord.getPaymentStatus() == 1){ -// continue; -// } -// -// // 已结算 -// platformVO.setState(1); -// balance = balance.add(new BigDecimal(settlementDetail.getPrice())); -// if (settlementRecord.getDay()!=null){ -// platformVO.setInsertTime(format.format(settlementRecord.getDay())); -// } -// -// res.add(platformVO); -// break; -// case 4: -// // 小件物流 -// // 查询订单信息 -// TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(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("现金支付"); -// // 查询是否结算 -// SettlementRecord settlementRecord1 = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); -// if (payType!=null){ -// if (payType == 1){ -// // 查询已结算的 -// if (settlementRecord1.getPaymentStatus() == 1){ -// continue; -// } -// } -// if (payType == 2){ -// // 查询未结算的 -// if (settlementRecord1.getPaymentStatus() == 2){ -// continue; -// } -// } -// } -// if (settlementRecord1.getPaymentStatus() == 2){ -// // 已结算 -// platformVO.setState(1); -// balance = balance.add(new BigDecimal(settlementDetail.getPrice())); -// if (settlementRecord1.getDay()!=null){ -// platformVO.setInsertTime(format.format(settlementRecord1.getDay())); -// } -// }else{ -// // 未结算 -// platformVO.setState(2); -// unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); -// } -// res.add(platformVO); -// break; -// } -// } // 计算佣金总额 // BigDecimal add = unBalance.add(balance); Collections.sort(res, Comparator.comparing(WaterVO::getInsertTime).reversed()); @@ -1579,8 +1717,9 @@ @RequestMapping(value = "/commission/list") @ResponseBody public Object list(Integer time,String insertTime,Integer state) { + if (time == null){ - time = 1; + time =1; } String beginTime = null; String endTime = null; @@ -1595,7 +1734,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 @@ -1637,37 +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 (state!=null){ - switch (state){ - case 1: - // 已结算 - // 查询已结算的 - incomes = tIncomeService.selectList(new EntityWrapper<Income>() - .eq("userType", 2) - .ne("type", 1) - .isNotNull("orderType") - .between("insertTime", start, end)); - break; - case 2: - // 未结算 - - break; - } + 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", 2) + .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"); // 未结算金额 @@ -1678,148 +1864,189 @@ platformVO.setState(1); switch (income.getOrderType()){ case 1: + if (state!=null && state==2){ + 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()); } - platformVO.setRemark(tOrderPrivateCar.getRemark()); if (income.getInsertTime()!=null){ platformVO.setEndTime(format.format(income.getInsertTime())); } - platformVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); - if (tOrderPrivateCar.getOrderMoney() != null){ - String string = tOrderPrivateCar.getOrderMoney().toString(); - BigDecimal bigDecimal1 = new BigDecimal(string); - platformVO.setMoney(bigDecimal1); + platformVO.setMoney(new BigDecimal(income.getMoney())); + platformVO.setInsertTime(format.format(income.getInsertTime())); + if (tOrderPrivateCar.getState()!=10 && tOrderPrivateCar.getPayType() == null){ + continue; + } + 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{ - continue; + 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; + } + } } - if (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); break; case 4: + if (state!=null && state==2){ + continue; + } // 小件物流 // 查询订单信息 - 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()); } - 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; + 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; + } + } } + // 专车订单 balance = balance.add(new BigDecimal(income.getMoney())); res.add(platformVO); break; } } - EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>(); - 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()); + 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("现金支付"); - - // 查询是否结算 - SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); - if (state!=null){ - if (state == 1){ - // 查询已结算的 - if (settlementRecord!=null&&settlementRecord.getPaymentStatus() == 1){ + if (settlementDetail.getSettlementRecordId()!=null){ + SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId()); + if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){ + if (state!=null && state!=1){ continue; } - } - if (state == 2){ - // 查询未结算的 - if (settlementRecord!=null&&settlementRecord.getPaymentStatus() == 2){ + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementDetail.getCreateTime())); + }else{ + // 未结算 + if (state!=null && state!=2){ continue; } - } - } - if (settlementRecord!=null&&settlementRecord.getPaymentStatus() == 2){ - // 已结算 - platformVO.setState(1); - balance = balance.add(new BigDecimal(settlementDetail.getPrice())); - if (settlementRecord.getDay()!=null){ - platformVO.setEndTime(format.format(settlementRecord.getDay())); + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } }else{ // 未结算 - platformVO.setState(2); + if (state!=null && state!=2){ + continue; + } unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } res.add(platformVO); @@ -1827,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()); @@ -1843,32 +2070,30 @@ platformVO.setMoney(bigDecimal2); platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime())); platformVO.setPayType("现金支付"); - // 查询是否结算 - SettlementRecord settlementRecord1 = settlementRecordService.selectById(settlementDetail.getSettlementRecordId()); - if (state!=null){ - if (state == 1){ - // 查询已结算的 - if (settlementRecord1.getPaymentStatus() == 1){ + if (settlementDetail.getSettlementRecordId()!=null){ + SettlementRecord settlementRecord = settlementRecordMap.get(settlementDetail.getSettlementRecordId()); + if (settlementRecord.getPaymentStatus()!=null && settlementRecord.getPaymentStatus()==2){ + if (state!=null && state!=1){ continue; } - } - if (state == 2){ - // 查询未结算的 - if (settlementRecord1.getPaymentStatus() == 2){ + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementDetail.getCreateTime())); + }else{ + // 未结算 + if (state!=null && state!=2){ continue; } - } - } - if (settlementRecord1.getPaymentStatus() == 2){ - // 已结算 - platformVO.setState(1); - balance = balance.add(new BigDecimal(settlementDetail.getPrice())); - if (settlementRecord1.getDay()!=null){ - platformVO.setEndTime(format.format(settlementRecord1.getDay())); + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); + platformVO.setEndTime(format.format(settlementRecord.getDay())); } }else{ // 未结算 - platformVO.setState(2); + if (state!=null && state!=2){ + continue; + } unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); } res.add(platformVO); -- Gitblit v1.7.1