package com.stylefeng.guns.modular.system.controller;
|
|
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.*;
|
import com.stylefeng.guns.modular.system.vo.PlatformMoneyVO;
|
import com.stylefeng.guns.modular.system.vo.PlatformVO;
|
import com.stylefeng.guns.modular.system.vo.WaterMoneyVO;
|
import com.stylefeng.guns.modular.system.vo.WaterVO;
|
import io.swagger.models.auth.In;
|
import org.checkerframework.checker.units.qual.A;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
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;
|
|
/**
|
* 控制器
|
*
|
* @author fengshuonan
|
* @Date 2021-04-22 10:53:34
|
*/
|
@Controller
|
@RequestMapping("/platform")
|
public class PlatformController extends BaseController {
|
private String PREFIX = "/system/platform/";
|
@Autowired
|
private IIncomeService tIncomeService;
|
@Autowired
|
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;
|
|
public static void main(String[] args) {
|
// 获取今天的日期
|
LocalDate today = LocalDate.now();
|
// 获取本周第一天的日期和时间
|
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);
|
|
// 获取本月第一天的日期和时间
|
LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
|
LocalDateTime startOfMonth = firstDayOfMonth.atStartOfDay();
|
|
// 获取本月最后一天的日期和时间
|
LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());
|
LocalDateTime endOfMonth = lastDayOfMonth.atTime(LocalTime.MAX);
|
|
// 获取本年第一天的日期和时间
|
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);
|
|
|
}
|
|
|
|
/**
|
*
|
* 计算金额
|
* @param time
|
* @param insertTime
|
* @param state
|
* @return
|
*/
|
@RequestMapping(value = "/commission/getCount")
|
@ResponseBody
|
public Object getCount(Integer time,String insertTime,Integer state) {
|
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{
|
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<Income> incomes = new ArrayList<>();
|
List<SettlementDetail> settlementDetails = new ArrayList<>();
|
if (time == 5 && !StringUtils.hasLength(insertTime)){
|
incomes = tIncomeService.selectList(new EntityWrapper<Income>()
|
.eq("userType", 1)
|
.eq("objectId",1)
|
.ne("type", 1)
|
.isNotNull("orderType"));
|
}else{
|
incomes = tIncomeService.selectList(new EntityWrapper<Income>()
|
.eq("userType", 1)
|
.eq("objectId",1)
|
.ne("type", 1)
|
.isNotNull("orderType")
|
.between("insertTime", start, end));
|
}
|
|
EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>();
|
settlementDetailEntityWrapper.between("createTime", start, end);
|
if (state!=null && state == 2){
|
settlementDetailEntityWrapper.eq("paymentStatus", 2);
|
}
|
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");
|
// 查询所有已结算的订单
|
for (Income income : incomes) {
|
PlatformVO platformVO = new PlatformVO();
|
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.setMoney(new BigDecimal(income.getMoney()));
|
if (tOrderPrivateCar.getState()!=10 && tOrderPrivateCar.getPayType() == null){
|
continue;
|
}
|
// 专车订单
|
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.setMoney(new BigDecimal(income.getMoney()));
|
|
if (tOrderLogistics.getState()!=10 && tOrderLogistics.getPayType() == null){
|
continue;
|
}
|
// 专车订单
|
balance = balance.add(new BigDecimal(income.getMoney()));
|
res.add(platformVO);
|
break;
|
}
|
}
|
// 查询所有现金支付的订单
|
for (SettlementDetail settlementDetail : settlementDetails) {
|
PlatformVO platformVO = new PlatformVO();
|
switch (settlementDetail.getOrderType()){
|
case 1:
|
// 专车订单
|
TOrderPrivateCar tOrderPrivateCar = orderPrivateCarMap.get(settlementDetail.getOrderId());
|
|
if (tOrderPrivateCar==null){
|
continue;
|
}
|
platformVO.setCode(tOrderPrivateCar.getOrderNum());
|
|
String string = settlementDetail.getPrice().toString();
|
BigDecimal bigDecimal1 = new BigDecimal(string);
|
platformVO.setMoney(bigDecimal1);
|
if (settlementDetail.getSettlementRecordId()!=null){
|
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()));
|
}
|
}else{
|
// 未结算
|
if (state!=null && state!=2){
|
continue;
|
}
|
unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice()));
|
}
|
res.add(platformVO);
|
break;
|
case 4:
|
// 小件物流
|
// 查询订单信息
|
TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(settlementDetail.getOrderId());
|
|
if (tOrderLogistics==null){
|
continue;
|
}
|
String string1 = settlementDetail.getPrice().toString();
|
BigDecimal bigDecimal2 = new BigDecimal(string1);
|
platformVO.setMoney(bigDecimal2);
|
if (settlementDetail.getSettlementRecordId()!=null){
|
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()));
|
}
|
}else{
|
// 未结算
|
if (state!=null && state!=2){
|
continue;
|
}
|
unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice()));
|
}
|
res.add(platformVO);
|
break;
|
}
|
}
|
PlatformMoneyVO platformMoneyVO = new PlatformMoneyVO();
|
// 计算佣金总额
|
BigDecimal add = unBalance.add(balance);
|
BigDecimal bigDecimal = add.setScale(2, RoundingMode.HALF_UP);
|
BigDecimal bigDecimal1 = unBalance.setScale(2, RoundingMode.HALF_UP);
|
BigDecimal bigDecimal2 = balance.setScale(2, RoundingMode.HALF_UP);
|
platformMoneyVO.setTotal(bigDecimal);
|
platformMoneyVO.setBalance(bigDecimal2);
|
platformMoneyVO.setUnBalance(bigDecimal1);
|
return platformMoneyVO;
|
}
|
|
/**
|
* 第三方流水统计 获取金额
|
* @param time
|
* @param insertTime
|
* @param
|
* @return
|
*/
|
@RequestMapping(value = "/water/getCount")
|
@ResponseBody
|
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;
|
}
|
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(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 = 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:
|
continue;
|
}
|
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;
|
}
|
}
|
// 过滤掉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;
|
}
|
/**
|
* 第三方流水统计获取列表
|
*/
|
|
@Autowired
|
private ITPubTransactionDetailsService pubTransactionDetailsService;
|
@Autowired
|
private ITPubWithdrawalService pubWithdrawalService;
|
@Autowired
|
private IPaymentRecordService paymentRecordService;
|
@Autowired
|
private ITUserService appUserService;
|
@Autowired
|
private IOrderCancelService orderCancelService;
|
@RequestMapping(value = "/water/list")
|
@ResponseBody
|
public Object list1(Integer time,String insertTime,Integer payType,Integer type, String code) {
|
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()));
|
}
|
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;
|
}
|
}
|
// 计算佣金总额
|
// BigDecimal add = unBalance.add(balance);
|
Collections.sort(res, Comparator.comparing(WaterVO::getInsertTime).reversed());
|
|
return res;
|
}
|
/**
|
* 获取列表
|
*/
|
@RequestMapping(value = "/commission/list")
|
@ResponseBody
|
public Object list(Integer time,String insertTime,Integer state) {
|
|
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{
|
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;
|
}
|
}
|
Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
|
List<Income> incomes = new ArrayList<>();
|
List<SettlementDetail> settlementDetails = new ArrayList<>();
|
if (time == 5 && !StringUtils.hasLength(insertTime)){
|
incomes = tIncomeService.selectList(new EntityWrapper<Income>()
|
.eq("userType", 1)
|
.eq("objectId",1)
|
.ne("type", 1)
|
.isNotNull("orderType"));
|
}else{
|
incomes = tIncomeService.selectList(new EntityWrapper<Income>()
|
.eq("userType", 1)
|
.eq("objectId",1)
|
.ne("type", 1)
|
.isNotNull("orderType")
|
.between("insertTime", start, end));
|
}
|
|
EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>();
|
settlementDetailEntityWrapper.between("createTime", start, end);
|
if (state!=null && state == 2){
|
settlementDetailEntityWrapper.eq("paymentStatus", 2);
|
}
|
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, 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> orderCancelRecordMap = orderCancelService.selectList(new EntityWrapper<OrderCancel>()
|
)
|
.stream()
|
.collect(Collectors.toMap(OrderCancel::getId, user -> user));
|
// 已结算金额
|
BigDecimal balance = new BigDecimal("0");
|
// 未结算金额
|
BigDecimal unBalance = new BigDecimal("0");
|
// 查询所有已结算的订单
|
for (Income income : incomes) {
|
PlatformVO platformVO = new PlatformVO();
|
platformVO.setState(1);
|
switch (income.getOrderType()){
|
case 1:
|
if (state!=null && state==2){
|
continue;
|
}
|
// 查询订单信息
|
TOrderPrivateCar tOrderPrivateCar = orderPrivateCarMap.get(income.getIncomeId());
|
|
if (tOrderPrivateCar==null){
|
continue;
|
}
|
platformVO.setCode(tOrderPrivateCar.getOrderNum());
|
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.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 = orderCancelRecordMap.get(tOrderPrivateCar.getId());
|
if (orderCancel!=null &&orderCancel.getPayType()!=null){
|
switch (orderCancel.getPayType()){
|
case 1:
|
platformVO.setPayType("手机支付");
|
break;
|
case 2:
|
platformVO.setPayType("银行卡支付");
|
break;
|
case 3:
|
platformVO.setPayType("余额支付");
|
break;
|
}
|
}
|
}else{
|
if (tOrderPrivateCar.getPayType()!=null){
|
switch (tOrderPrivateCar.getPayType()){
|
case 1:
|
platformVO.setPayType("手机支付");
|
break;
|
case 2:
|
platformVO.setPayType("银行卡支付");
|
break;
|
case 3:
|
platformVO.setPayType("余额支付");
|
break;
|
case 4:
|
platformVO.setPayType("现金支付");
|
break;
|
}
|
}
|
}
|
|
|
|
// 专车订单
|
balance = balance.add(new BigDecimal(income.getMoney()));
|
res.add(platformVO);
|
break;
|
case 4:
|
if (state!=null && state==2){
|
continue;
|
}
|
// 小件物流
|
// 查询订单信息
|
//
|
TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(income.getIncomeId());
|
|
if (tOrderLogistics==null){
|
continue;
|
}
|
platformVO.setCode(tOrderLogistics.getOrderNum());
|
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.getState()!=10 && tOrderLogistics.getPayType() == null){
|
continue;
|
}
|
if (tOrderLogistics.getState() == 10){
|
// 查询取消订单 用户支付方式
|
|
OrderCancel orderCancel = orderCancelRecordMap.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;
|
}
|
}
|
// 查询所有现金支付的订单
|
for (SettlementDetail settlementDetail : settlementDetails) {
|
PlatformVO platformVO = new PlatformVO();
|
switch (settlementDetail.getOrderType()){
|
case 1:
|
// 专车订单
|
TOrderPrivateCar tOrderPrivateCar = orderPrivateCarMap.get(settlementDetail.getOrderId());
|
|
if (tOrderPrivateCar==null){
|
continue;
|
}
|
platformVO.setCode(tOrderPrivateCar.getOrderNum());
|
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){
|
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()));
|
}
|
}else{
|
// 未结算
|
if (state!=null && state!=2){
|
continue;
|
}
|
unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice()));
|
}
|
res.add(platformVO);
|
break;
|
case 4:
|
// 小件物流
|
// 查询订单信息
|
TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(settlementDetail.getOrderId());
|
if (tOrderLogistics==null){
|
continue;
|
}
|
platformVO.setCode(tOrderLogistics.getOrderNum());
|
TDriver tDriver1 = driverMap.get(tOrderLogistics.getDriverId());
|
if (tDriver1!=null){
|
platformVO.setDriverName(tDriver1.getFirstName()+tDriver1.getLastName());
|
platformVO.setDriverPhone(tDriver1.getPhone());
|
}
|
platformVO.setRemark(tOrderLogistics.getRemark());
|
String string1 = settlementDetail.getPrice().toString();
|
BigDecimal bigDecimal2 = new BigDecimal(string1);
|
platformVO.setMoney(bigDecimal2);
|
platformVO.setInsertTime(format.format(tOrderLogistics.getInsertTime()));
|
platformVO.setPayType("现金支付");
|
if (settlementDetail.getSettlementRecordId()!=null){
|
SettlementRecord settlementRecord = 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()));
|
}
|
}else{
|
// 未结算
|
if (state!=null && state!=2){
|
continue;
|
}
|
unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice()));
|
}
|
res.add(platformVO);
|
break;
|
}
|
}
|
Collections.sort(res, Comparator.comparing(PlatformVO::getInsertTime).reversed());
|
// 计算佣金总额
|
BigDecimal add = unBalance.add(balance);
|
|
return res;
|
}
|
|
}
|