From 4a4e6780ce6e930beb067323c7c3f232d36e75cb Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期五, 17 五月 2024 17:40:44 +0800 Subject: [PATCH] 车型、司机活动、平台佣金统计 --- ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/watter.html | 147 + ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/grant.html | 134 + ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSysOverTimeMapper.xml | 7 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISettlementDetailService.java | 20 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/GrantMoneyVO.java | 24 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysRedSetService.java | 25 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSysOverTimeService.java | 17 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/use.js | 256 ++ ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSysOverTimeMapper.java | 16 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysRedSet.java | 62 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementDetailServiceImpl.java | 28 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java | 203 ++ ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SettlementDetailMapper.java | 21 ManagementIGOTravel/guns-admin/src/main/webapp/static/img/-.png | 0 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/grant.js | 258 ++ ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSysReformist/tRedSetInfo.js | 66 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java | 3 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/GrantVO.java | 22 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/commission.html | 5 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java | 5 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SettlementDetailMapper.xml | 22 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html | 151 + ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java | 3 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserRedPacketRecord.java | 26 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/IncomeMapper.java | 4 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysOverTime.java | 57 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSetEdit.html | 40 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/WaterMoneyVO.java | 26 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/WaterVO.java | 28 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSysRedSetServiceImpl.java | 34 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/use.html | 146 + ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java | 1860 +++++++++++++++++++ ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/PlatformVO.java | 34 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSetAdd.html | 42 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/platform.js | 87 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSysRedSetMapper.xml | 12 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/PlatformMoneyVO.java | 22 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/UseMoneyVO.java | 27 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSysOverTimeServiceImpl.java | 23 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSysRedSetMapper.java | 23 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java | 1166 ++++++++++++ ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml | 1 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/water.js | 271 ++ ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSysReformist/tRedSet.js | 125 + ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SettlementDetail.java | 58 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysCancleOrder.java | 19 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSet.html | 36 47 files changed, 5,573 insertions(+), 89 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 2d976f0..68cf310 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 @@ -1,12 +1,20 @@ 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.DateUtil; import com.stylefeng.guns.core.util.ExcelExportUtil; import com.stylefeng.guns.core.util.SinataUtil; -import com.stylefeng.guns.modular.system.service.IIncomeService; +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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -15,10 +23,13 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +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.*; /** * 控制器 @@ -27,40 +38,1847 @@ * @Date 2021-04-22 10:53:34 */ @Controller -@RequestMapping("/platform/commission") +@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("") + @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 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<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; + } + }else{ + incomes = tIncomeService.selectList(new EntityWrapper<Income>() + .eq("userType", 2) + .ne("type", 1) + .isNotNull("orderType") + .between("insertTime", start, end)); + } + + + List<PlatformVO> res = new ArrayList<>(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + // 已结算金额 + 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: + // 查询订单信息 + TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(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){ + 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: + // 小件物流 + // 查询订单信息 + TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(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){ + continue; + } + switch (tOrderLogistics.getPayType()){ + case 1: + platformVO.setPayType("手机支付"); + break; + case 2: + platformVO.setPayType("银行卡支付"); + break; + case 3: + platformVO.setPayType("余额支付"); + break; + case 4: + platformVO.setPayType("现金支付"); + break; + } + // 专车订单 + balance = balance.add(new BigDecimal(income.getMoney())); + res.add(platformVO); + break; + } + } + EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>(); + 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()); + 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.getPaymentStatus() == 1){ + continue; + } + } + if (state == 2){ + // 查询未结算的 + if (settlementRecord.getPaymentStatus() == 2){ + continue; + } + } + } + if (settlementRecord.getPaymentStatus() == 2){ + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + if (settlementRecord.getDay()!=null){ + platformVO.setEndTime(format.format(settlementRecord.getDay())); + } + }else{ + // 未结算 + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); + } + 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 (state!=null){ + if (state == 1){ + // 查询已结算的 + if (settlementRecord1.getPaymentStatus() == 1){ + continue; + } + } + if (state == 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.setEndTime(format.format(settlementRecord1.getDay())); + } + }else{ + // 未结算 + platformVO.setState(2); + 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) { + 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<Income> incomes = new ArrayList<>(); + List<SettlementDetail> settlementDetails = new ArrayList<>(); + // 用户订单记录 + List<TPubTransactionDetails> tOrderPrivateCars = new ArrayList<>(); + // 用户充值 + List<TPubTransactionDetails> tPubTransactionDetails = 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 + Wrapper<TPubWithdrawal> userWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("userType", 1) + .between("handleTime", start, end); + // 司机提现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); + + if (type != null){ + switch (type){ + case 1: + // 只查询用户订单 + tOrderPrivateCars = pubTransactionDetailsService.selectList(between1); + 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)); + 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); + tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); + incomes = tIncomeService.selectList(new EntityWrapper<Income>() + .eq("userType", 2) + .ne("type", 1) + .isNotNull("orderType") + .between("insertTime", start, end)); + 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"); + // 用户消费金额 + BigDecimal userConsume = new BigDecimal("0"); + // 用户充值金额 + BigDecimal userRecharge = new BigDecimal("0"); + // 司机提现金额 + BigDecimal driverWithdrawal = new BigDecimal("0"); + // 用户提现金额 + BigDecimal userWithdrawal = new BigDecimal("0"); + // 用户订单消费 + + for (TPubTransactionDetails tOrderPrivateCar : tOrderPrivateCars) { + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + waterVO.setType("用户订单消费"); + switch (tOrderPrivateCar.getOrderType()){ + 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")); + } + TUser user1 = appUserService.selectById(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()); + } + res.add(waterVO); + userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getMoney().toString())); + 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{ + continue; + } + }else{ + continue; + } + if (tOrderLogistics != null){ + waterVO.setRemark(tOrderLogistics.getRemark()); + } + res.add(waterVO); + userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getMoney().toString())); + break; + } + } + // 司机提现 + for (TPubWithdrawal tPubWithdrawal : driver) { + if(payType!=null && payType == 2){ + break; + } + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime())); + waterVO.setCode(tPubWithdrawal.getCode()); + TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId()); + if (tDriver!=null){ + waterVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + waterVO.setPhone(tDriver.getPhone()); + } + + waterVO.setMoney(tPubWithdrawal.getMoney()); + waterVO.setPayType("银行卡支付"); + waterVO.setType("司机提现"); + waterVO.setRemark(tPubWithdrawal.getRemark()); + res.add(waterVO); + driverWithdrawal = driverWithdrawal.add(tPubWithdrawal.getMoney()); + } + // 用户提现 + for (TPubWithdrawal tPubWithdrawal : user) { + if(payType!=null && payType == 2){ + break; + } + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime())); + waterVO.setCode(tPubWithdrawal.getCode()); + TUser user2 = appUserService.selectById(tPubWithdrawal.getUserId()); + if (user2!=null){ + waterVO.setName(user2.getNickName()); + waterVO.setPhone(user2.getPhone()); + } + waterVO.setMoney(tPubWithdrawal.getMoney()); + waterVO.setPayType("银行卡支付"); + waterVO.setType("用户提现"); + waterVO.setRemark(tPubWithdrawal.getRemark()); + res.add(waterVO); + userWithdrawal = userWithdrawal.add(tPubWithdrawal.getMoney()); + } + // 查询用户充值 + for (TPubTransactionDetails tPubTransactionDetail : tPubTransactionDetails) { + WaterVO waterVO = new WaterVO(); + Integer orderId = tPubTransactionDetail.getOrderId(); + PaymentRecord paymentRecord = paymentRecordService.selectById(orderId); + if (paymentRecord!=null){ + waterVO.setInsertTime(format.format(paymentRecord.getInsertTime())); + waterVO.setCode(paymentRecord.getCode()); + if (paymentRecord.getPayType()!=null){ + switch (paymentRecord.getPayType()){ + case 1: + if (payType!=null){ + if (payType == 1){ + continue; + } + } + waterVO.setPayType("手机支付"); + break; + case 2: + if (payType!=null){ + if (payType == 2){ + continue; + } + } + waterVO.setPayType("银行卡支付"); + break; + } + } + + waterVO.setMoney(new BigDecimal(paymentRecord.getAmount().toString())); + }else{ + continue; + } + if (paymentRecord.getUserId()!=null){ + TUser user2 = appUserService.selectById(paymentRecord.getUserId()); + if (user2!=null){ + waterVO.setName(user2.getNickName()); + waterVO.setPhone(user2.getPhone()); + } + } + + waterVO.setType("用户充值"); + waterVO.setRemark(tPubTransactionDetail.getRemark()); + res.add(waterVO); + userRecharge = userRecharge.add(new BigDecimal(paymentRecord.getAmount().toString())); + } + // 查询所有已结算的订单 + for (Income income : incomes) { + WaterVO platformVO = new WaterVO(); + platformVO.setType("司机结算"); + switch (income.getOrderType()){ + case 1: + // 查询订单信息 + TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(income.getIncomeId()); + if (tOrderPrivateCar==null){ + continue; + } + platformVO.setCode(tOrderPrivateCar.getOrderNum()); + TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId()); + if (tDriver != null){ + platformVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + platformVO.setPhone(tDriver.getPhone()); + } + + platformVO.setRemark(tOrderPrivateCar.getRemark()); + if (income.getInsertTime()!=null){ + platformVO.setInsertTime(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); + }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; + } + + // 专车订单 + String string4 = tOrderPrivateCar.getOrderMoney().toString(); + balance = balance.add(new BigDecimal(string4)); + res.add(platformVO); + break; + 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()); + } + + 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){ + continue; + } + switch (tOrderLogistics.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 string1 = tOrderLogistics.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()); + WaterMoneyVO waterMoneyVO = new WaterMoneyVO(); + BigDecimal add = userRecharge.add(userConsume).add(balance).subtract(driverWithdrawal).subtract(userWithdrawal); + waterMoneyVO.setTotal(add); + waterMoneyVO.setUserOrder(userConsume); + waterMoneyVO.setUserCharge(userRecharge); + waterMoneyVO.setBalance(balance); + waterMoneyVO.setDriverWithdrawal(driverWithdrawal); + waterMoneyVO.setUserWithdrawal(userWithdrawal); + return waterMoneyVO; + } + /** + * 第三方流水统计获取列表 + */ + + @Autowired + private ITPubTransactionDetailsService pubTransactionDetailsService; + @Autowired + private ITPubWithdrawalService pubWithdrawalService; + @Autowired + private IPaymentRecordService paymentRecordService; + @Autowired + private ITUserService appUserService; + @RequestMapping(value = "/water/list") + @ResponseBody + public Object list1(Integer time,String insertTime,Integer payType,Integer type) { + if (time == null){ + time = 1; + } + String beginTime = null; + String endTime = null; + LocalDateTime start =null; + LocalDateTime end =null; + // 获取当前日期 + LocalDate today = LocalDate.now(); + if (ToolUtil.isNotEmpty(insertTime)){ + beginTime = insertTime.split(" - ")[0]; + endTime = insertTime.split(" - ")[1]; + LocalDate s = LocalDate.parse(beginTime); + LocalDate e = LocalDate.parse(endTime); + start = s.atStartOfDay(); + end = e.atTime(LocalTime.MAX); + }else if (time!=null) { + switch (time) { + case 1: + // 获取当天的 00:00:00 和 23:59:59 + LocalDateTime startOfDay = today.atStartOfDay(); + LocalDateTime endOfDay = today.atTime(LocalTime.MAX); + start = startOfDay; + end = endOfDay; + break; + case 2: + // 获取本周第一天的日期和时间 + LocalDate firstDayOfWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); + LocalDateTime startOfWeek = firstDayOfWeek.atStartOfDay(); + + // 获取本周最后一天的日期和时间 + LocalDate lastDayOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); + LocalDateTime endOfWeek = lastDayOfWeek.atTime(LocalTime.MAX); + start = startOfWeek; + end = endOfWeek; + break; + case 3: + LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth()); + LocalDateTime startOfMonth = firstDayOfMonth.atStartOfDay(); + + // 获取本月最后一天的日期和时间 + LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth()); + LocalDateTime endOfMonth = lastDayOfMonth.atTime(LocalTime.MAX); + start = startOfMonth; + end = endOfMonth; + break; + case 4: + // 获取本年第一天的日期和时间 + LocalDate firstDayOfYear = LocalDate.of(today.getYear(), Month.JANUARY, 1); + LocalDateTime startOfYear = firstDayOfYear.atStartOfDay(); + // 获取本年最后一天的日期和时间 + LocalDate lastDayOfYear = LocalDate.of(today.getYear(), Month.DECEMBER, 31); + LocalDateTime endOfYear = lastDayOfYear.atTime(LocalTime.MAX); + start = startOfYear; + end = endOfYear; + break; + } + } + List<Income> incomes = new ArrayList<>(); + List<SettlementDetail> settlementDetails = new ArrayList<>(); + // 用户订单记录 + List<TPubTransactionDetails> tOrderPrivateCars = new ArrayList<>(); + // 用户充值 + List<TPubTransactionDetails> tPubTransactionDetails = 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 + Wrapper<TPubWithdrawal> userWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("userType", 1) + .between("handleTime", start, end); + // 司机提现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); + + if (type != null){ + switch (type){ + case 1: + // 只查询用户订单 + tOrderPrivateCars = pubTransactionDetailsService.selectList(between1); + 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)); + 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); + tPubTransactionDetails = pubTransactionDetailsService.selectList(orderType); + incomes = tIncomeService.selectList(new EntityWrapper<Income>() + .eq("userType", 2) + .ne("type", 1) + .isNotNull("orderType") + .between("insertTime", start, end)); + 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"); + // 用户消费金额 + BigDecimal userConsume = new BigDecimal("0"); + // 用户充值金额 + BigDecimal userRecharge = new BigDecimal("0"); + // 司机提现金额 + BigDecimal driverWithdrawal = new BigDecimal("0"); + // 用户提现金额 + BigDecimal userWithdrawal = new BigDecimal("0"); + // 用户订单消费 + + for (TPubTransactionDetails tOrderPrivateCar : tOrderPrivateCars) { + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + waterVO.setType("用户订单消费"); + switch (tOrderPrivateCar.getOrderType()){ + 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")); + } + TUser user1 = appUserService.selectById(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()); + } + res.add(waterVO); + userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getMoney().toString())); + 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{ + continue; + } + }else{ + continue; + } + if (tOrderLogistics != null){ + waterVO.setRemark(tOrderLogistics.getRemark()); + } + res.add(waterVO); + userConsume = userConsume.add(new BigDecimal(tOrderPrivateCar.getMoney().toString())); + break; + } + } + // 司机提现 + for (TPubWithdrawal tPubWithdrawal : driver) { + if(payType!=null && payType == 2){ + break; + } + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime())); + waterVO.setCode(tPubWithdrawal.getCode()); + TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId()); + if (tDriver!=null){ + waterVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + waterVO.setPhone(tDriver.getPhone()); + } + + waterVO.setMoney(tPubWithdrawal.getMoney()); + waterVO.setPayType("银行卡支付"); + waterVO.setType("司机提现"); + waterVO.setRemark(tPubWithdrawal.getRemark()); + res.add(waterVO); + driverWithdrawal = driverWithdrawal.add(tPubWithdrawal.getMoney()); + } + // 用户提现 + for (TPubWithdrawal tPubWithdrawal : user) { + if(payType!=null && payType == 2){ + break; + } + WaterVO waterVO = new WaterVO(); + waterVO.setInsertTime(format.format(tPubWithdrawal.getHandleTime())); + waterVO.setCode(tPubWithdrawal.getCode()); + TUser user2 = appUserService.selectById(tPubWithdrawal.getUserId()); + if (user2!=null){ + waterVO.setName(user2.getNickName()); + waterVO.setPhone(user2.getPhone()); + } + waterVO.setMoney(tPubWithdrawal.getMoney()); + waterVO.setPayType("银行卡支付"); + waterVO.setType("用户提现"); + waterVO.setRemark(tPubWithdrawal.getRemark()); + res.add(waterVO); + userWithdrawal = userWithdrawal.add(tPubWithdrawal.getMoney()); + } + // 查询用户充值 + for (TPubTransactionDetails tPubTransactionDetail : tPubTransactionDetails) { + WaterVO waterVO = new WaterVO(); + Integer orderId = tPubTransactionDetail.getOrderId(); + PaymentRecord paymentRecord = paymentRecordService.selectById(orderId); + if (paymentRecord!=null){ + waterVO.setInsertTime(format.format(paymentRecord.getInsertTime())); + waterVO.setCode(paymentRecord.getCode()); + if (paymentRecord.getPayType()!=null){ + switch (paymentRecord.getPayType()){ + case 1: + if (payType!=null){ + if (payType == 1){ + continue; + } + } + waterVO.setPayType("手机支付"); + break; + case 2: + if (payType!=null){ + if (payType == 2){ + continue; + } + } + waterVO.setPayType("银行卡支付"); + break; + } + } + + waterVO.setMoney(new BigDecimal(paymentRecord.getAmount().toString())); + }else{ + continue; + } + if (paymentRecord.getUserId()!=null){ + TUser user2 = appUserService.selectById(paymentRecord.getUserId()); + if (user2!=null){ + waterVO.setName(user2.getNickName()); + waterVO.setPhone(user2.getPhone()); + } + } + + waterVO.setType("用户充值"); + waterVO.setRemark(tPubTransactionDetail.getRemark()); + res.add(waterVO); + userRecharge = userRecharge.add(new BigDecimal(paymentRecord.getAmount().toString())); + } + // 查询所有已结算的订单 + for (Income income : incomes) { + WaterVO platformVO = new WaterVO(); + platformVO.setType("司机结算"); + switch (income.getOrderType()){ + case 1: + // 查询订单信息 + TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(income.getIncomeId()); + if (tOrderPrivateCar==null){ + continue; + } + platformVO.setCode(tOrderPrivateCar.getOrderNum()); + TDriver tDriver = driverService.selectById(tOrderPrivateCar.getDriverId()); + if (tDriver != null){ + platformVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + platformVO.setPhone(tDriver.getPhone()); + } + + platformVO.setRemark(tOrderPrivateCar.getRemark()); + if (income.getInsertTime()!=null){ + platformVO.setInsertTime(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); + }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; + } + + // 专车订单 + String string4 = tOrderPrivateCar.getOrderMoney().toString(); + balance = balance.add(new BigDecimal(string4)); + res.add(platformVO); + break; + 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()); + } + + 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){ + continue; + } + switch (tOrderLogistics.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 string1 = tOrderLogistics.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()); + + return res; } /** * 获取列表 */ - @RequestMapping(value = "/list") + @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; - if (SinataUtil.isNotEmpty(insertTime)){ - // 如果筛选了时间 将time设置为null - time = null; - String[] timeArray = insertTime.split(" - "); - beginTime = timeArray[0]; - endTime = timeArray[1]; + 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; + } } - return null; -// Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage(); -// page.setRecords(tIncomeService.getList(page,id)); -// return super.packForBT(page); + 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; + } + }else{ + incomes = tIncomeService.selectList(new EntityWrapper<Income>() + .eq("userType", 2) + .ne("type", 1) + .isNotNull("orderType") + .between("insertTime", start, end)); + } + + + List<PlatformVO> res = new ArrayList<>(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + // 已结算金额 + 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: + // 查询订单信息 + TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(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){ + 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: + // 小件物流 + // 查询订单信息 + TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(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){ + continue; + } + switch (tOrderLogistics.getPayType()){ + case 1: + platformVO.setPayType("手机支付"); + break; + case 2: + platformVO.setPayType("银行卡支付"); + break; + case 3: + platformVO.setPayType("余额支付"); + break; + case 4: + platformVO.setPayType("现金支付"); + break; + } + // 专车订单 + balance = balance.add(new BigDecimal(income.getMoney())); + res.add(platformVO); + break; + } + } + EntityWrapper<SettlementDetail> settlementDetailEntityWrapper = new EntityWrapper<>(); + 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()); + 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.getPaymentStatus() == 1){ + continue; + } + } + if (state == 2){ + // 查询未结算的 + if (settlementRecord.getPaymentStatus() == 2){ + continue; + } + } + } + if (settlementRecord.getPaymentStatus() == 2){ + // 已结算 + platformVO.setState(1); + balance = balance.add(new BigDecimal(settlementDetail.getPrice())); + if (settlementRecord.getDay()!=null){ + platformVO.setEndTime(format.format(settlementRecord.getDay())); + } + }else{ + // 未结算 + platformVO.setState(2); + unBalance = unBalance.add(new BigDecimal(settlementDetail.getPrice())); + } + 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 (state!=null){ + if (state == 1){ + // 查询已结算的 + if (settlementRecord1.getPaymentStatus() == 1){ + continue; + } + } + if (state == 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.setEndTime(format.format(settlementRecord1.getDay())); + } + }else{ + // 未结算 + platformVO.setState(2); + 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; } } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java new file mode 100644 index 0000000..63159ad --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java @@ -0,0 +1,1166 @@ +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.DateUtil; +import com.stylefeng.guns.core.util.ExcelExportUtil; +import com.stylefeng.guns.core.util.SinataUtil; +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.GrantMoneyVO; +import com.stylefeng.guns.modular.system.vo.GrantVO; +import com.stylefeng.guns.modular.system.vo.PlatformVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +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.text.SimpleDateFormat; +import java.time.*; +import java.time.temporal.TemporalAdjusters; +import java.util.*; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2021-04-22 10:53:34 + */ +@Controller +@RequestMapping("/subsidy") +public class TSubsidyController extends BaseController { + + private String PREFIX = "/system/subsidy/"; + + @RequestMapping("/grant") + public String index( Model model) { + return PREFIX + "grant.html"; + } + @RequestMapping("/use") + public String watter( Model model) { + return PREFIX + "use.html"; + } + @Autowired + private IIncomeService tIncomeService; + @Autowired + private ITOrderPrivateCarService orderPrivateCarService; + @Autowired + private ITOrderLogisticsService orderLogisticsService; + @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 IUserCouponRecordService userCouponRecordService; + @Autowired + private IUserRedPacketRecordService userRedPacketRecordService; + @Autowired + private IDriverActivityHistoryService driverActivityHistoryService; + @Autowired + private IUserActivityRedenvelopeService userActivityRedenvelopeService; + @Autowired + private IUserActivityService userActivityService; + @Autowired + private ISysCouponActivityService sysCouponActivityService; + @Autowired + private ISysCouponRecordService sysCouponRecordService; + @Autowired + private IUserActivityDiscount1Service userActivityDiscount1Service; + /** + * 使用补贴统计 + */ + @RequestMapping(value = "/use/list") + @ResponseBody + public Object list1(Integer time,String insertTime,Integer type) { + if (time == null){ + time = 1; + } + String beginTime = null; + String endTime = null; + LocalDateTime start =null; + LocalDateTime end =null; + // 获取当前日期 + LocalDate today = LocalDate.now(); + if (ToolUtil.isNotEmpty(insertTime)){ + beginTime = insertTime.split(" - ")[0]; + endTime = insertTime.split(" - ")[1]; + LocalDate s = LocalDate.parse(beginTime); + LocalDate e = LocalDate.parse(endTime); + start = s.atStartOfDay(); + end = e.atTime(LocalTime.MAX); + }else if (time!=null) { + switch (time) { + case 1: + // 获取当天的 00:00:00 和 23:59:59 + LocalDateTime startOfDay = today.atStartOfDay(); + LocalDateTime endOfDay = today.atTime(LocalTime.MAX); + start = startOfDay; + end = endOfDay; + break; + case 2: + // 获取本周第一天的日期和时间 + LocalDate firstDayOfWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); + LocalDateTime startOfWeek = firstDayOfWeek.atStartOfDay(); + + // 获取本周最后一天的日期和时间 + LocalDate lastDayOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); + LocalDateTime endOfWeek = lastDayOfWeek.atTime(LocalTime.MAX); + start = startOfWeek; + end = endOfWeek; + break; + case 3: + LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth()); + LocalDateTime startOfMonth = firstDayOfMonth.atStartOfDay(); + + // 获取本月最后一天的日期和时间 + LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth()); + LocalDateTime endOfMonth = lastDayOfMonth.atTime(LocalTime.MAX); + start = startOfMonth; + end = endOfMonth; + break; + case 4: + // 获取本年第一天的日期和时间 + LocalDate firstDayOfYear = LocalDate.of(today.getYear(), Month.JANUARY, 1); + LocalDateTime startOfYear = firstDayOfYear.atStartOfDay(); + // 获取本年最后一天的日期和时间 + LocalDate lastDayOfYear = LocalDate.of(today.getYear(), Month.DECEMBER, 31); + LocalDateTime endOfYear = lastDayOfYear.atTime(LocalTime.MAX); + start = startOfYear; + end = endOfYear; + break; + } + } + Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 列表res + List<GrantVO> res = new ArrayList<>(); + // 专车订单 + List<TOrderPrivateCar> tOrderPrivateCars = new ArrayList<>(); + // 小件物流 + List<TOrderLogistics> tOrderLogistics = new ArrayList<>(); + // 优惠券领取记录 + List<TOrderPrivateCar> userCouponRecords = new ArrayList<>(); + List<TOrderLogistics> userCouponRecords1 = new ArrayList<>(); + // 红包领取记录 + List<TOrderPrivateCar> userRedPacketRecords = new ArrayList<>(); + List<TOrderLogistics> userRedPacketRecords1 = new ArrayList<>(); + // 司机消费 + List<TPubTransactionDetails> driverActivityHistories = new ArrayList<>(); + // 司机提现 + List<TPubWithdrawal> driverWithdrawal = new ArrayList<>(); + // 司机提现wrapper + Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("userType", 2) + .between("handleTime", start, end); + // 专车wrapper + Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 小件物流wrapper + Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 已使用优惠券记录wrapper + Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("couponId") + .isNotNull("couponMoney") + .between("insertTime", start, end); + Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("couponId") + .isNotNull("couponMoney") + .between("insertTime", start, end); + // 已使用红包记录wrapper + Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") + .between("insertTime", start, end); + Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") + .between("insertTime", start, end); + // 司机已消费金额 + Wrapper<TPubTransactionDetails> between4 = new EntityWrapper<TPubTransactionDetails>() + .eq("state", 2) + .eq("type", 1) + .eq("userType", 2) + .ne("orderType", 2) + .ne("orderType", 3) + .between("insertTime", start, end); + if (type!=null){ + switch (type){ + case 1: + // 红包 + userRedPacketRecords = orderPrivateCarService.selectList(between3); + userRedPacketRecords1 = orderLogisticsService.selectList(between33); + break; + case 2: + userCouponRecords = orderPrivateCarService.selectList(between2); + userCouponRecords1 = orderLogisticsService.selectList(between22); + // 优惠券 + break; + case 3: + // 司机消费记录 + driverActivityHistories = pubTransactionDetailsService.selectList(between4); + + driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); + break; + case 4: + // 专车订单 + tOrderPrivateCars = orderPrivateCarService.selectList(between); + // 小件物流订单 + tOrderLogistics = orderLogisticsService.selectList(between1); + break; + } + }else{ + // 红包 + userRedPacketRecords = orderPrivateCarService.selectList(between3); + userRedPacketRecords1 = orderLogisticsService.selectList(between33); + // 优惠券 + userCouponRecords = orderPrivateCarService.selectList(between2); + userCouponRecords1 = orderLogisticsService.selectList(between22); + // 专车订单 + tOrderPrivateCars = orderPrivateCarService.selectList(between); + // 小件物流订单 + tOrderLogistics = orderLogisticsService.selectList(between1); + // 消费 + driverActivityHistories = pubTransactionDetailsService.selectList(between4); + driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); + } + + // 已发放补贴总额 + BigDecimal total = new BigDecimal("0"); + // 已使用折扣总额(用户端) + BigDecimal discount = new BigDecimal("0"); + // 已使用红包总额(用户端) + BigDecimal redPackage = new BigDecimal("0"); + // 已使用优惠券总额(用户端) + BigDecimal coupon = new BigDecimal("0"); + // 已使用司机奖励总额(司机端) + BigDecimal driver = new BigDecimal("0"); + // 司机已消费 + BigDecimal driverConsume = new BigDecimal("0"); + // 司机已提现 + BigDecimal driverWithdrawal1 = new BigDecimal("0"); + // 查询已使用折扣总额 + for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); + TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); + + } + for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); + TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); + } + // 查询已领取红包总额 + for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + grantVO.setAmount(userRedPacketRecord.getPayMoney().toString()); + TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); + res.add(grantVO); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString())); + } + for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + grantVO.setAmount(userRedPacketRecord.getPayMoney().toString()); + TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); + res.add(grantVO); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString())); + } + // 查询已领取优惠券总额 + for (TOrderPrivateCar userCouponRecord : userCouponRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + grantVO.setType("优惠券"); + grantVO.setAmount(userCouponRecord.getPayMoney().toString()); + TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); + coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString())); + res.add(grantVO); + } + for (TOrderLogistics userCouponRecord : userCouponRecords1) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + grantVO.setType("优惠券"); + grantVO.setAmount(userCouponRecord.getPayMoney().toString()); + TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); + coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString())); + res.add(grantVO); + } + // 已领取司机奖励 + for (DriverActivityHistory driverActivityHistory : driverActivityHistories) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime())); + grantVO.setType("司机奖励"); + grantVO.setAmount(driverActivityHistory.getMoney().toString()); + TDriver tDriver = driverService.selectById(driverActivityHistory.getDriverId()); + if (tDriver!=null){ + grantVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + } + Integer type1 = driverActivityHistory.getType(); + switch (type1){ + case 1: + grantVO.setRemark("邀请司机注册"); + break; + case 2: + grantVO.setRemark("邀请用户注册"); + break; + case 3: + grantVO.setRemark("累计在线"); + break; + case 4: + grantVO.setRemark("订单量"); + break; + } + driver = driver.add(new BigDecimal(driverActivityHistory.getMoney().toString())); + res.add(grantVO); + } + total = total.add(redPackage).add(coupon).add(discount).add(driver); + return res; + } + @RequestMapping(value = "/use/getCount") + @ResponseBody + public Object getCount1(Integer time,String insertTime,Integer type) { + GrantMoneyVO result = new GrantMoneyVO(); + 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; + } + } + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 列表res + List<GrantVO> res = new ArrayList<>(); + // 专车订单 + List<TOrderPrivateCar> tOrderPrivateCars = new ArrayList<>(); + // 小件物流 + List<TOrderLogistics> tOrderLogistics = new ArrayList<>(); + // 优惠券领取记录 + List<UserCouponRecord> userCouponRecords = new ArrayList<>(); + // 红包领取记录 + List<UserRedPacketRecord> userRedPacketRecords = new ArrayList<>(); + // 司机奖励 + List<DriverActivityHistory> driverActivityHistories = new ArrayList<>(); + + // 专车wrapper + Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 小件物流wrapper + Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 优惠券领取记录wrapper + Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>() + .ne("couponUseType", 2) + .ne("couponUseType", 3) + .between("insertTime", start, end); + // 红包领取记录wrapper + Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("orderType", 2) + .ne("orderType", 3) + .between("insertTime", start, end); + // 司机奖励 + Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() + .eq("carryOut", 2) + .between("insertTime", start, end); + if (type!=null){ + + switch (type){ + case 1: + // 红包 + userRedPacketRecords = userRedPacketRecordService.selectList(between3); + break; + case 2: + userCouponRecords = userCouponRecordService.selectList(between2); + // 优惠券 + break; + case 3: + // 司机奖励 + driverActivityHistories = driverActivityHistoryService.selectList(between4); + break; + case 4: + // 专车订单 + tOrderPrivateCars = orderPrivateCarService.selectList(between); + // 小件物流订单 + tOrderLogistics = orderLogisticsService.selectList(between1); + break; + } + }else{ + // 专车订单 + tOrderPrivateCars = orderPrivateCarService.selectList(between); + // 小件物流订单 + tOrderLogistics = orderLogisticsService.selectList(between1); + // 司机奖励 + driverActivityHistories = driverActivityHistoryService.selectList(between4); + userCouponRecords = userCouponRecordService.selectList(between2); + userRedPacketRecords = userRedPacketRecordService.selectList(between3); + } + + // 已发放补贴总额 + BigDecimal total = new BigDecimal("0"); + // 已使用折扣总额(用户端) + BigDecimal discount = new BigDecimal("0"); + // 已领取红包总额(用户端) + BigDecimal redPackage = new BigDecimal("0"); + // 已领取优惠券总额(用户端) + BigDecimal coupon = new BigDecimal("0"); + // 已领取司机奖励总额(司机端) + BigDecimal driver = new BigDecimal("0"); + // 查询已使用折扣总额 + for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); + TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + } + for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); + TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + } + // 查询已领取红包总额 + for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + grantVO.setAmount(userRedPacketRecord.getMoney().toString()); + TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityRedenvelope userActivityRedenvelope = + userActivityRedenvelopeService.selectById(userRedPacketRecord.getRedPacketActivityId()); + if (userActivityRedenvelope!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityRedenvelope.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + res.add(grantVO); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getMoney().toString())); + } + // 查询已领取优惠券总额 + for (UserCouponRecord userCouponRecord : userCouponRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + grantVO.setType("优惠券"); + grantVO.setAmount(userCouponRecord.getMoney().toString()); + TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + SysCouponRecord sysCouponRecord = + sysCouponRecordService.selectById(userCouponRecord.getCouponId()); + if (sysCouponRecord!=null){ + grantVO.setRemark(sysCouponRecord.getName()); + } + coupon = coupon.add(new BigDecimal(userCouponRecord.getMoney().toString())); + res.add(grantVO); + } + // 已领取司机奖励 + for (DriverActivityHistory driverActivityHistory : driverActivityHistories) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime())); + grantVO.setType("司机奖励"); + grantVO.setAmount(driverActivityHistory.getMoney().toString()); + TDriver tDriver = driverService.selectById(driverActivityHistory.getDriverId()); + if (tDriver!=null){ + grantVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + } + Integer type1 = driverActivityHistory.getType(); + switch (type1){ + case 1: + grantVO.setRemark("邀请司机注册"); + break; + case 2: + grantVO.setRemark("邀请用户注册"); + break; + case 3: + grantVO.setRemark("累计在线"); + break; + case 4: + grantVO.setRemark("订单量"); + break; + } + driver = driver.add(new BigDecimal(driverActivityHistory.getMoney().toString())); + res.add(grantVO); + } + total = total.add(redPackage).add(coupon).add(discount).add(driver); + result.setTotal(total); + result.setDiscount(discount); + result.setCoupon(coupon); + result.setDriver(driver); + result.setRedPackage(redPackage); + return result; + } + /** + * 发放补贴统计 + */ + @RequestMapping(value = "/grant/list") + @ResponseBody + public Object list(Integer time,String insertTime,Integer type) { + if (time == null){ + time = 1; + } + String beginTime = null; + String endTime = null; + LocalDateTime start =null; + LocalDateTime end =null; + // 获取当前日期 + LocalDate today = LocalDate.now(); + if (ToolUtil.isNotEmpty(insertTime)){ + beginTime = insertTime.split(" - ")[0]; + endTime = insertTime.split(" - ")[1]; + LocalDate s = LocalDate.parse(beginTime); + LocalDate e = LocalDate.parse(endTime); + start = s.atStartOfDay(); + end = e.atTime(LocalTime.MAX); + }else if (time!=null) { + switch (time) { + case 1: + // 获取当天的 00:00:00 和 23:59:59 + LocalDateTime startOfDay = today.atStartOfDay(); + LocalDateTime endOfDay = today.atTime(LocalTime.MAX); + start = startOfDay; + end = endOfDay; + break; + case 2: + // 获取本周第一天的日期和时间 + LocalDate firstDayOfWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); + LocalDateTime startOfWeek = firstDayOfWeek.atStartOfDay(); + + // 获取本周最后一天的日期和时间 + LocalDate lastDayOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); + LocalDateTime endOfWeek = lastDayOfWeek.atTime(LocalTime.MAX); + start = startOfWeek; + end = endOfWeek; + break; + case 3: + LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth()); + LocalDateTime startOfMonth = firstDayOfMonth.atStartOfDay(); + + // 获取本月最后一天的日期和时间 + LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth()); + LocalDateTime endOfMonth = lastDayOfMonth.atTime(LocalTime.MAX); + start = startOfMonth; + end = endOfMonth; + break; + case 4: + // 获取本年第一天的日期和时间 + LocalDate firstDayOfYear = LocalDate.of(today.getYear(), Month.JANUARY, 1); + LocalDateTime startOfYear = firstDayOfYear.atStartOfDay(); + // 获取本年最后一天的日期和时间 + LocalDate lastDayOfYear = LocalDate.of(today.getYear(), Month.DECEMBER, 31); + LocalDateTime endOfYear = lastDayOfYear.atTime(LocalTime.MAX); + start = startOfYear; + end = endOfYear; + break; + } + } + Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 列表res + List<GrantVO> res = new ArrayList<>(); + // 专车订单 + List<TOrderPrivateCar> tOrderPrivateCars = new ArrayList<>(); + // 小件物流 + List<TOrderLogistics> tOrderLogistics = new ArrayList<>(); + // 优惠券领取记录 + List<UserCouponRecord> userCouponRecords = new ArrayList<>(); + // 红包领取记录 + List<UserRedPacketRecord> userRedPacketRecords = new ArrayList<>(); + // 司机奖励 + List<DriverActivityHistory> driverActivityHistories = new ArrayList<>(); + + // 专车wrapper + Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 小件物流wrapper + Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 优惠券领取记录wrapper + Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>() + .ne("couponUseType", 2) + .ne("couponUseType", 3) + .between("insertTime", start, end); + // 红包领取记录wrapper + Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("orderType", 2) + .ne("orderType", 3) + .between("insertTime", start, end); + // 司机奖励 + Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() + .eq("carryOut", 2) + .between("insertTime", start, end); + if (type!=null){ + + switch (type){ + case 1: + // 红包 + userRedPacketRecords = userRedPacketRecordService.selectList(between3); + break; + case 2: + userCouponRecords = userCouponRecordService.selectList(between2); + // 优惠券 + break; + case 3: + // 司机奖励 + driverActivityHistories = driverActivityHistoryService.selectList(between4); + break; + case 4: + // 专车订单 + tOrderPrivateCars = orderPrivateCarService.selectList(between); + // 小件物流订单 + tOrderLogistics = orderLogisticsService.selectList(between1); + break; + } + }else{ + // 专车订单 + tOrderPrivateCars = orderPrivateCarService.selectList(between); + // 小件物流订单 + tOrderLogistics = orderLogisticsService.selectList(between1); + // 司机奖励 + driverActivityHistories = driverActivityHistoryService.selectList(between4); + userCouponRecords = userCouponRecordService.selectList(between2); + userRedPacketRecords = userRedPacketRecordService.selectList(between3); + } + + // 已发放补贴总额 + BigDecimal total = new BigDecimal("0"); + // 已使用折扣总额(用户端) + BigDecimal discount = new BigDecimal("0"); + // 已领取红包总额(用户端) + BigDecimal redPackage = new BigDecimal("0"); + // 已领取优惠券总额(用户端) + BigDecimal coupon = new BigDecimal("0"); + // 已领取司机奖励总额(司机端) + BigDecimal driver = new BigDecimal("0"); + // 查询已使用折扣总额 + for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); + TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + } + for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); + TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + } + // 查询已领取红包总额 + for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + grantVO.setAmount(userRedPacketRecord.getMoney().toString()); + TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityRedenvelope userActivityRedenvelope = + userActivityRedenvelopeService.selectById(userRedPacketRecord.getRedPacketActivityId()); + if (userActivityRedenvelope!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityRedenvelope.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + res.add(grantVO); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getMoney().toString())); + } + // 查询已领取优惠券总额 + for (UserCouponRecord userCouponRecord : userCouponRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + grantVO.setType("优惠券"); + grantVO.setAmount(userCouponRecord.getMoney().toString()); + TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + SysCouponRecord sysCouponRecord = + sysCouponRecordService.selectById(userCouponRecord.getCouponId()); + if (sysCouponRecord!=null){ + grantVO.setRemark(sysCouponRecord.getName()); + } + coupon = coupon.add(new BigDecimal(userCouponRecord.getMoney().toString())); + res.add(grantVO); + } + // 已领取司机奖励 + for (DriverActivityHistory driverActivityHistory : driverActivityHistories) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime())); + grantVO.setType("司机奖励"); + grantVO.setAmount(driverActivityHistory.getMoney().toString()); + TDriver tDriver = driverService.selectById(driverActivityHistory.getDriverId()); + if (tDriver!=null){ + grantVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + } + Integer type1 = driverActivityHistory.getType(); + switch (type1){ + case 1: + grantVO.setRemark("邀请司机注册"); + break; + case 2: + grantVO.setRemark("邀请用户注册"); + break; + case 3: + grantVO.setRemark("累计在线"); + break; + case 4: + grantVO.setRemark("订单量"); + break; + } + driver = driver.add(new BigDecimal(driverActivityHistory.getMoney().toString())); + res.add(grantVO); + } + total = total.add(redPackage).add(coupon).add(discount).add(driver); + return res; + } + @RequestMapping(value = "/grant/getCount") + @ResponseBody + public Object getCount(Integer time,String insertTime,Integer type) { + GrantMoneyVO result = new GrantMoneyVO(); + 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; + } + } + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 列表res + List<GrantVO> res = new ArrayList<>(); + // 专车订单 + List<TOrderPrivateCar> tOrderPrivateCars = new ArrayList<>(); + // 小件物流 + List<TOrderLogistics> tOrderLogistics = new ArrayList<>(); + // 优惠券领取记录 + List<UserCouponRecord> userCouponRecords = new ArrayList<>(); + // 红包领取记录 + List<UserRedPacketRecord> userRedPacketRecords = new ArrayList<>(); + // 司机奖励 + List<DriverActivityHistory> driverActivityHistories = new ArrayList<>(); + + // 专车wrapper + Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 小件物流wrapper + Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>() + .eq("state", 8) + .eq("state", 9) + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 优惠券领取记录wrapper + Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>() + .ne("couponUseType", 2) + .ne("couponUseType", 3) + .between("insertTime", start, end); + // 红包领取记录wrapper + Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("orderType", 2) + .ne("orderType", 3) + .between("insertTime", start, end); + // 司机奖励 + Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() + .eq("carryOut", 2) + .between("insertTime", start, end); + if (type!=null){ + + switch (type){ + case 1: + // 红包 + userRedPacketRecords = userRedPacketRecordService.selectList(between3); + break; + case 2: + userCouponRecords = userCouponRecordService.selectList(between2); + // 优惠券 + break; + case 3: + // 司机奖励 + driverActivityHistories = driverActivityHistoryService.selectList(between4); + break; + case 4: + // 专车订单 + tOrderPrivateCars = orderPrivateCarService.selectList(between); + // 小件物流订单 + tOrderLogistics = orderLogisticsService.selectList(between1); + break; + } + }else{ + // 专车订单 + tOrderPrivateCars = orderPrivateCarService.selectList(between); + // 小件物流订单 + tOrderLogistics = orderLogisticsService.selectList(between1); + // 司机奖励 + driverActivityHistories = driverActivityHistoryService.selectList(between4); + userCouponRecords = userCouponRecordService.selectList(between2); + userRedPacketRecords = userRedPacketRecordService.selectList(between3); + } + + // 已发放补贴总额 + BigDecimal total = new BigDecimal("0"); + // 已使用折扣总额(用户端) + BigDecimal discount = new BigDecimal("0"); + // 已领取红包总额(用户端) + BigDecimal redPackage = new BigDecimal("0"); + // 已领取优惠券总额(用户端) + BigDecimal coupon = new BigDecimal("0"); + // 已领取司机奖励总额(司机端) + BigDecimal driver = new BigDecimal("0"); + // 查询已使用折扣总额 + for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); + TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + } + for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { + discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString())); + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime())); + grantVO.setType("折扣"); + grantVO.setAmount(tOrderPrivateCar.getDiscountMoney().toString()); + TUser tUser = appUserService.selectById(tOrderPrivateCar.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectById(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityDiscount1.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + } + // 查询已领取红包总额 + for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + grantVO.setAmount(userRedPacketRecord.getMoney().toString()); + TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + UserActivityRedenvelope userActivityRedenvelope = + userActivityRedenvelopeService.selectById(userRedPacketRecord.getRedPacketActivityId()); + if (userActivityRedenvelope!=null){ + UserActivity userActivity = userActivityService.selectById(userActivityRedenvelope.getUserActivityId()); + if (userActivity!=null){ + grantVO.setRemark(userActivity.getName()); + } + } + res.add(grantVO); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getMoney().toString())); + } + // 查询已领取优惠券总额 + for (UserCouponRecord userCouponRecord : userCouponRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + grantVO.setType("优惠券"); + grantVO.setAmount(userCouponRecord.getMoney().toString()); + TUser tUser = appUserService.selectById(userCouponRecord.getUserId()); + if (tUser!=null){ + grantVO.setName(tUser.getNickName()); + } + SysCouponRecord sysCouponRecord = + sysCouponRecordService.selectById(userCouponRecord.getCouponId()); + if (sysCouponRecord!=null){ + grantVO.setRemark(sysCouponRecord.getName()); + } + coupon = coupon.add(new BigDecimal(userCouponRecord.getMoney().toString())); + res.add(grantVO); + } + // 已领取司机奖励 + for (DriverActivityHistory driverActivityHistory : driverActivityHistories) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime())); + grantVO.setType("司机奖励"); + grantVO.setAmount(driverActivityHistory.getMoney().toString()); + TDriver tDriver = driverService.selectById(driverActivityHistory.getDriverId()); + if (tDriver!=null){ + grantVO.setName(tDriver.getFirstName()+tDriver.getLastName()); + } + Integer type1 = driverActivityHistory.getType(); + switch (type1){ + case 1: + grantVO.setRemark("邀请司机注册"); + break; + case 2: + grantVO.setRemark("邀请用户注册"); + break; + case 3: + grantVO.setRemark("累计在线"); + break; + case 4: + grantVO.setRemark("订单量"); + break; + } + driver = driver.add(new BigDecimal(driverActivityHistory.getMoney().toString())); + res.add(grantVO); + } + total = total.add(redPackage).add(coupon).add(discount).add(driver); + result.setTotal(total); + result.setDiscount(discount); + result.setCoupon(coupon); + result.setDriver(driver); + result.setRedPackage(redPackage); + return result; + } +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java index b3835c2..81f6980 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java @@ -1,7 +1,9 @@ package com.stylefeng.guns.modular.system.controller.general; import com.baomidou.mybatisplus.mapper.EntityWrapper; +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.shiro.ShiroKit; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.modular.system.model.*; @@ -16,7 +18,12 @@ import org.springframework.web.bind.annotation.RequestParam; import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; +import java.util.List; +import java.util.Map; /** * 系统设置控制器 @@ -53,8 +60,115 @@ @Autowired private IDriverAssessmentService driverAssessmentService; + @Autowired + private ITSysOverTimeService sysOverTimeService; + /** + * 2.0新增红包支付设置 + * @return + */ + @RequestMapping("/redSet") + public String redPackageSet() { + return PREFIX + "tRedSet.html"; + } + @RequestMapping("/redSet/addHtml") + public String addHtml(Model model) { + List<String> strings = new ArrayList<>(); + strings.add("updateTime"); + // 查询生效的红包折扣比例 + List<TSysRedSet> isDelete = sysRedSetService.selectList(new EntityWrapper<TSysRedSet>() + .eq("isDelete", 0) + .orderDesc(strings)); + if (isDelete.size()>0){ + model.addAttribute("new",isDelete.get(0).getProportion()); + }else{ + model.addAttribute("new","_"); + } + return PREFIX + "tRedSetAdd.html"; + } + @RequestMapping("/redSet/updateHtml/{id}") + public String updateHtml(@PathVariable("id") Integer id,Model model) { + TSysRedSet tSysRedSet = sysRedSetService.selectById(id); + List<String> strings = new ArrayList<>(); + strings.add("updateTime"); + // 查询生效的红包折扣比例 + List<TSysRedSet> isDelete = sysRedSetService.selectList(new EntityWrapper<TSysRedSet>() + .eq("isDelete", 0) + .orderDesc(strings)); + if (isDelete.size()>0){ + model.addAttribute("new",isDelete.get(0).getProportion()); + }else{ + model.addAttribute("new","_"); + } + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); + String format = simpleDateFormat.format(tSysRedSet.getStartTime()); + model.addAttribute("time",format); + model.addAttribute("data",tSysRedSet); + return PREFIX + "tRedSetEdit.html"; + } + + @Autowired + private ISysRedSetService sysRedSetService; + /** + * 红包支付设置记录 + */ + @RequestMapping(value = "/redSet/list") + @ResponseBody + public Object redSetList() { + + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + if (ShiroKit.getUser().getRoleType() != 1){ + page.setRecords(null); + }else{ + page.setRecords(sysRedSetService.getList(page)); + } + return super.packForBT(page); + } + @RequestMapping(value = "/redSet/add") + @ResponseBody + public Object redSetAdd(String proportion, String startTime) throws ParseException { + // 新增红包设置 + TSysRedSet tSysRedSet = new TSysRedSet(); + String name = ShiroKit.getUser().getName(); + tSysRedSet.setHandle(name); + tSysRedSet.setProportion(proportion); + String replace = startTime.replace("T", " "); + String s = replace + ":00"; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = dateFormat.parse(s); + tSysRedSet.setStartTime(date); + sysRedSetService.insert(tSysRedSet); + return SUCCESS_TIP; + } + + @RequestMapping(value = "/redSet/update") + @ResponseBody + public Object redSetUpdate(Integer id,String proportion, String startTime) throws ParseException { + // 修改红包设置 + TSysRedSet tSysRedSet = sysRedSetService.selectById(id); + String name = ShiroKit.getUser().getName(); + tSysRedSet.setHandle(name); + tSysRedSet.setProportion(proportion); + String replace = startTime.replace("T", " "); + String s = replace + ":00"; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = dateFormat.parse(s); + tSysRedSet.setStartTime(date); + tSysRedSet.setUpdateTime(new Date()); + sysRedSetService.updateById(tSysRedSet); + return SUCCESS_TIP; + } + + @RequestMapping(value = "/redSet/delete") + @ResponseBody + public Object redSetDelete(Integer id) { + // 删除红包设置 + TSysRedSet tSysRedSet = sysRedSetService.selectById(id); + tSysRedSet.setIsDelete(1); + sysRedSetService.updateById(tSysRedSet); + return SUCCESS_TIP; + } /** * 跳转到系统设置首页 */ @@ -98,10 +212,12 @@ model.addAttribute("czcAssignOrder", czcAssignOrder); //普通取消设置(专车) - TSysCancleOrder ptCancel1 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>().eq("companyId", ShiroKit.getUser().getObjectId()).eq("type", 1).eq("orderType", 1)); + TSysCancleOrder ptCancel1 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>() + .eq("companyId", ShiroKit.getUser().getObjectId()).eq("type", 1).eq("orderType", 1)); model.addAttribute("ptCancel1",ptCancel1); //普通取消设置(出租车) - TSysCancleOrder ptCancel2 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>().eq("companyId", ShiroKit.getUser().getObjectId()).eq("type", 1).eq("orderType", 2)); + TSysCancleOrder ptCancel2 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>() + .eq("companyId", ShiroKit.getUser().getObjectId()).eq("type", 1).eq("orderType", 2)); model.addAttribute("ptCancel2",ptCancel2); //普通取消设置(跨城出行) TSysCancleOrder ptCancel3 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>().eq("companyId", ShiroKit.getUser().getObjectId()).eq("type", 1).eq("orderType", 3)); @@ -126,6 +242,11 @@ //司机考勤 DriverAssessment driverAssessment = driverAssessmentService.selectOne(new EntityWrapper<DriverAssessment>().eq("companyId", ShiroKit.getUser().getObjectId())); model.addAttribute("assessment", driverAssessment == null ? "" : driverAssessment.getAssessment()); + // 超时设置 + TSysOverTime overTime = sysOverTimeService.selectOne(new EntityWrapper<TSysOverTime>() + .eq("companyId", ShiroKit.getUser().getObjectId())); + model.addAttribute("overTime", overTime); + return PREFIX + "tSysReformist.html"; } @@ -147,7 +268,14 @@ @RequestParam Integer zcPeople,@RequestParam Integer czcPeople, @RequestParam Integer ptCancel1,@RequestParam BigDecimal ptCancel2,@RequestParam Integer ptCancel3,@RequestParam BigDecimal ptCancel4,@RequestParam Integer ptCancel5,@RequestParam BigDecimal ptCancel6, @RequestParam Integer yyCancel1,@RequestParam BigDecimal yyCancel2,@RequestParam Integer yyCancel3,@RequestParam BigDecimal yyCancel4, - @RequestParam String phone1,@RequestParam String phone2,@RequestParam String phone3, @RequestParam String assessment) { + @RequestParam String phone1,@RequestParam String phone2,@RequestParam String phone3,@RequestParam String assessment, + + @RequestParam String km,@RequestParam Integer kmMinute,@RequestParam String km2, + @RequestParam Integer kmMinute2, + @RequestParam Integer overtime,@RequestParam Integer overtime1,@RequestParam Integer packageTime, + @RequestParam Integer reserveTime, + @RequestParam Integer reserveNext,@RequestParam String reserveMoney + ) { //改派设置 TSysReformist reformist = tSysReformistService.selectOne(new EntityWrapper<TSysReformist>().eq("companyId", ShiroKit.getUser().getObjectId())); if (SinataUtil.isNotEmpty(reformist)){ @@ -327,6 +455,11 @@ if (SinataUtil.isNotEmpty(ptCancelOne)){ ptCancelOne.setMinuteNum(ptCancel1); ptCancelOne.setMoney(ptCancel2); + + ptCancelOne.setKm(Integer.valueOf(km)); + ptCancelOne.setKmMinute(kmMinute); + ptCancelOne.setOvertime(overtime); + tSysCancleOrderService.updateById(ptCancelOne); }else{ ptCancelOne = new TSysCancleOrder(); @@ -335,6 +468,10 @@ ptCancelOne.setCompanyId(ShiroKit.getUser().getObjectId()); ptCancelOne.setType(1); ptCancelOne.setOrderType(1); + ptCancelOne.setKm(Integer.valueOf(km)); + ptCancelOne.setKmMinute(kmMinute); + ptCancelOne.setOvertime(overtime); + tSysCancleOrderService.insert(ptCancelOne); } @@ -343,12 +480,20 @@ if (SinataUtil.isNotEmpty(ptCancelTwo)){ ptCancelTwo.setMinuteNum(ptCancel3); ptCancelTwo.setMoney(ptCancel4); + + ptCancelTwo.setKm(Integer.valueOf(km)); + ptCancelTwo.setKmMinute(kmMinute); + ptCancelTwo.setOvertime(overtime); tSysCancleOrderService.updateById(ptCancelTwo); }else{ ptCancelTwo = new TSysCancleOrder(); ptCancelTwo.setMinuteNum(ptCancel3); ptCancelTwo.setMoney(ptCancel4); ptCancelTwo.setCompanyId(ShiroKit.getUser().getObjectId()); + + ptCancelTwo.setKm(Integer.valueOf(km)); + ptCancelTwo.setKmMinute(kmMinute); + ptCancelTwo.setOvertime(overtime); ptCancelTwo.setType(1); ptCancelTwo.setOrderType(2); tSysCancleOrderService.insert(ptCancelTwo); @@ -359,6 +504,12 @@ if (SinataUtil.isNotEmpty(ptCancelThree)){ ptCancelThree.setMinuteNum(ptCancel5); ptCancelThree.setMoney(ptCancel6); + + BigDecimal bigDecimal1 = new BigDecimal(reserveMoney); + ptCancelThree.setKm(Integer.valueOf(km)); + ptCancelThree.setKmMinute(kmMinute); + ptCancelThree.setOvertime(overtime); + ptCancelThree.setReserveMoney(bigDecimal1); tSysCancleOrderService.updateById(ptCancelThree); }else{ ptCancelThree = new TSysCancleOrder(); @@ -367,6 +518,12 @@ ptCancelThree.setCompanyId(ShiroKit.getUser().getObjectId()); ptCancelThree.setType(1); ptCancelThree.setOrderType(3); + + BigDecimal bigDecimal1 = new BigDecimal(reserveMoney); + ptCancelThree.setKm(Integer.valueOf(km)); + ptCancelThree.setKmMinute(kmMinute); + ptCancelThree.setOvertime(overtime); + ptCancelThree.setReserveMoney(bigDecimal1); tSysCancleOrderService.insert(ptCancelThree); } @@ -375,6 +532,12 @@ if (SinataUtil.isNotEmpty(yyCancelOne)){ yyCancelOne.setMinuteNum(yyCancel1); yyCancelOne.setMoney(yyCancel2); + + BigDecimal bigDecimal1 = new BigDecimal(reserveMoney); + yyCancelOne.setKm(Integer.valueOf(km2)); + yyCancelOne.setKmMinute(kmMinute2); + yyCancelOne.setOvertime(overtime); + yyCancelOne.setReserveMoney(bigDecimal1); tSysCancleOrderService.updateById(yyCancelOne); }else{ yyCancelOne = new TSysCancleOrder(); @@ -383,6 +546,12 @@ yyCancelOne.setCompanyId(ShiroKit.getUser().getObjectId()); yyCancelOne.setType(2); yyCancelOne.setOrderType(1); + + BigDecimal bigDecimal1 = new BigDecimal(reserveMoney); + yyCancelOne.setKm(Integer.valueOf(km2)); + yyCancelOne.setKmMinute(kmMinute2); + yyCancelOne.setOvertime(overtime); + yyCancelOne.setReserveMoney(bigDecimal1); tSysCancleOrderService.insert(yyCancelOne); } //预约取消设置(出租车) @@ -390,6 +559,11 @@ if (SinataUtil.isNotEmpty(yyCancelTwo)){ yyCancelTwo.setMinuteNum(yyCancel3); yyCancelTwo.setMoney(yyCancel4); + BigDecimal bigDecimal1 = new BigDecimal(reserveMoney); + yyCancelTwo.setKm(Integer.valueOf(km2)); + yyCancelTwo.setKmMinute(kmMinute2); + yyCancelTwo.setOvertime(overtime); + yyCancelTwo.setReserveMoney(bigDecimal1); tSysCancleOrderService.updateById(yyCancelTwo); }else{ yyCancelTwo = new TSysCancleOrder(); @@ -398,6 +572,12 @@ yyCancelTwo.setCompanyId(ShiroKit.getUser().getObjectId()); yyCancelTwo.setType(2); yyCancelTwo.setOrderType(2); + + BigDecimal bigDecimal1 = new BigDecimal(reserveMoney); + yyCancelTwo.setKm(Integer.valueOf(km2)); + yyCancelTwo.setKmMinute(kmMinute2); + yyCancelTwo.setOvertime(overtime); + yyCancelTwo.setReserveMoney(bigDecimal1); tSysCancleOrderService.insert(yyCancelTwo); } @@ -466,6 +646,23 @@ driverAssessment.setInsertTime(new Date()); driverAssessmentService.insert(driverAssessment); } + // 超时设置 + TSysOverTime overTime = sysOverTimeService.selectOne(new EntityWrapper<TSysOverTime>().eq("companyId", ShiroKit.getUser().getObjectId())); + if (overTime!=null){ + overTime.setCar(overtime1); + overTime.setPackageTime(packageTime); + overTime.setReserveTime(reserveTime); + overTime.setReserveNext(reserveNext); + sysOverTimeService.updateById(overTime); + }else{ + TSysOverTime tSysOverTime = new TSysOverTime(); + tSysOverTime.setCompanyId(ShiroKit.getUser().getObjectId()); + tSysOverTime.setCar(overtime1); + tSysOverTime.setPackageTime(packageTime); + tSysOverTime.setReserveTime(reserveTime); + tSysOverTime.setReserveNext(reserveNext); + sysOverTimeService.insert(tSysOverTime); + } return SUCCESS_TIP; } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/IncomeMapper.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/IncomeMapper.java index 5c1d4f5..1c221d9 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/IncomeMapper.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/IncomeMapper.java @@ -5,6 +5,7 @@ import com.stylefeng.guns.modular.system.model.Income; import org.apache.ibatis.annotations.Param; +import java.time.LocalDateTime; import java.util.List; import java.util.Map; @@ -21,4 +22,7 @@ @Param("times") String times); List<Map<String,Object>> getTotal(@Param("times") String times); + + + } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SettlementDetailMapper.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SettlementDetailMapper.java new file mode 100644 index 0000000..98a6da2 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SettlementDetailMapper.java @@ -0,0 +1,21 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.stylefeng.guns.modular.system.model.SettlementDetail; + +import java.util.List; +import java.util.Map; + +/** + * @author zhibing.pu + * @Date 2023/8/17 9:28 + */ +public interface SettlementDetailMapper extends BaseMapper<SettlementDetail> { + + + /** + * 获取汇总分组数据 + * @return + */ + List<Map<String, Object>> queryGroupDriver(); +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSysOverTimeMapper.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSysOverTimeMapper.java new file mode 100644 index 0000000..8543df6 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSysOverTimeMapper.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.stylefeng.guns.modular.system.model.TSysOverTime; + +/** + * <p> + * 系统设置-取消订单 Mapper 接口 + * </p> + * + * @author 吕雪 + * @since 2020-06-09 + */ +public interface TSysOverTimeMapper extends BaseMapper<TSysOverTime> { + +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSysRedSetMapper.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSysRedSetMapper.java new file mode 100644 index 0000000..fee9b0b --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSysRedSetMapper.java @@ -0,0 +1,23 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.stylefeng.guns.modular.system.model.AppOpenInfo; +import com.stylefeng.guns.modular.system.model.TSysRedSet; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author stylefeng + * @since 2021-04-15 + */ +public interface TSysRedSetMapper extends BaseMapper<TSysRedSet> { + + List<Map<String, Object>> getList(@Param("page")Page<Map<String, Object>> page); +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml index 6f200b8..aae0867 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml @@ -125,4 +125,5 @@ GROUP BY w.driverId) o </select> + </mapper> \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SettlementDetailMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SettlementDetailMapper.xml new file mode 100644 index 0000000..cdeebef --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SettlementDetailMapper.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.SettlementDetailMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.SettlementDetail"> + <id column="id" property="id"/> + <result column="orderId" property="orderId"/> + <result column="orderType" property="orderType"/> + <result column="driverId" property="driverId"/> + <result column="price" property="price"/> + <result column="createTime" property="createTime"/> + </resultMap> + + + <select id="queryGroupDriver" resultType="map"> + select + driverId, + sum(price) as price + from t_settlement_detail where settlementRecordId is null group by driverId + </select> +</mapper> \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSysOverTimeMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSysOverTimeMapper.xml new file mode 100644 index 0000000..7e6b633 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSysOverTimeMapper.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.TSysOverTimeMapper"> + + + +</mapper> diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSysRedSetMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSysRedSetMapper.xml new file mode 100644 index 0000000..3abadcd --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSysRedSetMapper.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.TSysRedSetMapper"> + + + <select id="getList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> + select * + from t_red_set + where t_red_set.isDelete = 0 + order by updateTime desc + </select> +</mapper> diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SettlementDetail.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SettlementDetail.java new file mode 100644 index 0000000..05b0067 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SettlementDetail.java @@ -0,0 +1,58 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + +import java.util.Date; + +/** + * @author zhibing.pu + * @Date 2023/8/17 9:23 + */ +@Data +@TableName("t_settlement_detail") +public class SettlementDetail { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 结算主表id + */ + @TableField("settlementRecordId") + private Integer settlementRecordId; + /** + * 订单id + */ + @TableField("orderId") + private Integer orderId; + /** + * 订单类型(1=专车,4=同城小件) + */ + @TableField("orderType") + private Integer orderType; + /** + * 司机id + */ + @TableField("driverId") + private Integer driverId; + /** + * 订单金额 + */ + @TableField("orderMoney") + private Double orderMoney; + /** + * 结算金额 + */ + @TableField("price") + private Double price; + /** + * 添加日期 + */ + @TableField("createTime") + private Date createTime; +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java index 380e941..516169e 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import lombok.Data; + import java.io.Serializable; /** @@ -16,6 +18,7 @@ * @author 吕雪 * @since 2020-09-02 */ +@Data @TableName("t_order_private_car") public class TOrderPrivateCar extends Model<TOrderPrivateCar> { @@ -30,6 +33,8 @@ * 类型(1=普通订单,2=摆渡订单) */ private Integer type; + private String remark; + /** * 用户id */ diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysCancleOrder.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysCancleOrder.java index ddf12d4..fbd260f 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysCancleOrder.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysCancleOrder.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import lombok.Data; + import java.io.Serializable; /** @@ -16,6 +18,7 @@ * @since 2020-06-09 */ @TableName("t_sys_cancle_order") +@Data public class TSysCancleOrder extends Model<TSysCancleOrder> { private static final long serialVersionUID = 1L; @@ -38,6 +41,22 @@ */ private BigDecimal money; /** + *预定费用 + */ + private BigDecimal reserveMoney; + /** + *取消里程费 + */ + private Integer km; + /** + * 司机超时xx分钟 未到达指定地点 用户取消订单 不收取费用 + */ + private Integer overtime; + /** + * 取消时长费 + */ + private Integer kmMinute; + /** * 1=普通单取消,2=预约单取消 */ private Integer type; diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysOverTime.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysOverTime.java new file mode 100644 index 0000000..8b18d06 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysOverTime.java @@ -0,0 +1,57 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * <p> + * 系统设置-超时设置 + * </p> + * + * @author 吕雪 + * @since 2020-06-09 + */ +@TableName("t_sys_overtime") +@Data +public class TSysOverTime extends Model<TSysOverTime> { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 企业id + */ + private Integer companyId; + + /** + * 打车订单每隔xx分钟提醒一次 + */ + private Integer car; + /** + * 包裹订单每隔xx分钟提醒一次 + */ + private Integer packageTime; + /** + * 预约订单 在预定时间前x分钟首次提醒 + */ + private Integer reserveTime; + /** + * 预约订单每隔xx分钟提醒一次 + */ + private Integer reserveNext; + + @Override + protected Serializable pkVal() { + return null; + } +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysRedSet.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysRedSet.java new file mode 100644 index 0000000..6057561 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSysRedSet.java @@ -0,0 +1,62 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * <p> + * 2.0新增红包支付设置 + * </p> + * + * @author 吕雪 + * @since 2020-06-09 + */ +@TableName("t_red_set") +@Data +public class TSysRedSet extends Model<TSysRedSet> { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 操作热 + */ + private String handle; + /** + * 比例 + */ + private String proportion; + /** + * 生效时间 + */ + @JsonFormat(timezone = "GMT+8") + private Date startTime; + /** + * 修改时间 + */ + private Date updateTime; + /** + * 是否删除 0否1是 + */ + private Integer isDelete; + + + @Override + protected Serializable pkVal() { + return this.id; + } + + +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserRedPacketRecord.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserRedPacketRecord.java index 5f2fa60..c76f88b 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserRedPacketRecord.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserRedPacketRecord.java @@ -23,11 +23,11 @@ */ @TableField("money") private Double money; - /** - * 过期时间 - */ - @TableField("expirationTime") - private Date expirationTime; +// /** +// * 过期时间 +// */ +// @TableField("expirationTime") +// private Date expirationTime; /** * 添加时间 */ @@ -85,13 +85,13 @@ this.money = money; } - public Date getExpirationTime() { - return expirationTime; - } - - public void setExpirationTime(Date expirationTime) { - this.expirationTime = expirationTime; - } +// public Date getExpirationTime() { +// return expirationTime; +// } +// +// public void setExpirationTime(Date expirationTime) { +// this.expirationTime = expirationTime; +// } public Date getInsertTime() { return insertTime; @@ -162,7 +162,7 @@ return "UserRedPacketRecord{" + "id=" + id + ", money=" + money + - ", expirationTime=" + expirationTime + +// ", expirationTime=" + expirationTime + ", insertTime=" + insertTime + ", companyId=" + companyId + ", state=" + state + diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java index 2d49c0c..7d54d74 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java @@ -5,6 +5,7 @@ import com.stylefeng.guns.modular.system.model.Income; import org.apache.ibatis.annotations.Param; +import java.time.LocalDateTime; import java.util.List; import java.util.Map; @@ -35,4 +36,6 @@ List<Map<String,Object>> getTotal( @Param("times") String times); + + } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISettlementDetailService.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISettlementDetailService.java new file mode 100644 index 0000000..c529fbd --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISettlementDetailService.java @@ -0,0 +1,20 @@ +package com.stylefeng.guns.modular.system.service; + +import com.baomidou.mybatisplus.service.IService; +import com.stylefeng.guns.modular.system.model.SettlementDetail; + +import java.util.List; +import java.util.Map; + +/** + * @author zhibing.pu + * @Date 2023/8/17 9:36 + */ +public interface ISettlementDetailService extends IService<SettlementDetail>{ + + /** + * 获取汇总分组数据 + * @return + */ + List<Map<String, Object>> queryGroupDriver(); +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysRedSetService.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysRedSetService.java new file mode 100644 index 0000000..9a43999 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysRedSetService.java @@ -0,0 +1,25 @@ +package com.stylefeng.guns.modular.system.service; + +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.IService; +import com.stylefeng.guns.modular.system.model.TCar; +import com.stylefeng.guns.modular.system.model.TSysRedSet; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * 2.0新增 红包支付设置 + * </p> + * + * @author 吕雪 + * @since 2020-06-05 + */ +public interface ISysRedSetService extends IService<TSysRedSet> { + + + List<Map<String, Object>> getList(Page<Map<String, Object>> page); + +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSysOverTimeService.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSysOverTimeService.java new file mode 100644 index 0000000..b76b214 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSysOverTimeService.java @@ -0,0 +1,17 @@ +package com.stylefeng.guns.modular.system.service; + +import com.baomidou.mybatisplus.service.IService; +import com.stylefeng.guns.modular.system.model.TSysCancleOrder; +import com.stylefeng.guns.modular.system.model.TSysOverTime; + +/** + * <p> + * 系统设置-取消订单 服务类 + * </p> + * + * @author 吕雪 + * @since 2020-06-09 + */ +public interface ITSysOverTimeService extends IService<TSysOverTime> { + +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java index 1eaabcd..b2b2ffc 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java @@ -7,6 +7,7 @@ import com.stylefeng.guns.modular.system.service.IIncomeService; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.Map; @@ -61,4 +62,6 @@ public List<Map<String, Object>> getTotal(String times) { return this.baseMapper.getTotal(times); } + + } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementDetailServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementDetailServiceImpl.java new file mode 100644 index 0000000..2bc618c --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementDetailServiceImpl.java @@ -0,0 +1,28 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.modular.system.dao.SettlementDetailMapper; +import com.stylefeng.guns.modular.system.model.SettlementDetail; +import com.stylefeng.guns.modular.system.service.ISettlementDetailService; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * @author zhibing.pu + * @Date 2023/8/17 9:37 + */ +@Service +public class SettlementDetailServiceImpl extends ServiceImpl<SettlementDetailMapper, SettlementDetail> implements ISettlementDetailService { + + + /** + * 获取汇总分组数据 + * @return + */ + @Override + public List<Map<String, Object>> queryGroupDriver() { + return this.baseMapper.queryGroupDriver(); + } +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSysOverTimeServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSysOverTimeServiceImpl.java new file mode 100644 index 0000000..c11825c --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSysOverTimeServiceImpl.java @@ -0,0 +1,23 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.modular.system.dao.TSysCancleOrderMapper; +import com.stylefeng.guns.modular.system.dao.TSysOverTimeMapper; +import com.stylefeng.guns.modular.system.model.TSysCancleOrder; +import com.stylefeng.guns.modular.system.model.TSysOverTime; +import com.stylefeng.guns.modular.system.service.ITSysCancleOrderService; +import com.stylefeng.guns.modular.system.service.ITSysOverTimeService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 系统设置-取消订单 服务实现类 + * </p> + * + * @author 吕雪 + * @since 2020-06-09 + */ +@Service +public class TSysOverTimeServiceImpl extends ServiceImpl<TSysOverTimeMapper, TSysOverTime> implements ITSysOverTimeService { + +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSysRedSetServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSysRedSetServiceImpl.java new file mode 100644 index 0000000..c2db711 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSysRedSetServiceImpl.java @@ -0,0 +1,34 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.modular.system.dao.TAgreementMapper; +import com.stylefeng.guns.modular.system.dao.TSysRedSetMapper; +import com.stylefeng.guns.modular.system.model.TAgreement; +import com.stylefeng.guns.modular.system.model.TSysRedSet; +import com.stylefeng.guns.modular.system.service.ISysRedSetService; +import com.stylefeng.guns.modular.system.service.ITAgreementService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * 2.0新增 红包支付设置 + * </p> + * + * @author 吕雪 + * @since 2020-06-01 + */ +@Service +public class TSysRedSetServiceImpl extends ServiceImpl<TSysRedSetMapper, TSysRedSet> implements ISysRedSetService { + + @Autowired + private TSysRedSetMapper tSysRedSetMapper; + @Override + public List<Map<String, Object>> getList(Page<Map<String, Object>> page) { + return tSysRedSetMapper.getList(page); + } +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/GrantMoneyVO.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/GrantMoneyVO.java new file mode 100644 index 0000000..d8959ef --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/GrantMoneyVO.java @@ -0,0 +1,24 @@ +package com.stylefeng.guns.modular.system.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel +public class GrantMoneyVO { + @ApiModelProperty(value = "已发放补贴总额") + private BigDecimal total; + @ApiModelProperty(value = "已使用折扣总额(用户端)") + private BigDecimal discount; + @ApiModelProperty(value = "已领取红包总额(用户端)") + private BigDecimal redPackage; + @ApiModelProperty(value = "已领取优惠券总额(用户端)") + private BigDecimal coupon; + @ApiModelProperty(value = "已领取司机奖励总额(司机端)") + private BigDecimal driver; + + +} \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/GrantVO.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/GrantVO.java new file mode 100644 index 0000000..bbc250f --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/GrantVO.java @@ -0,0 +1,22 @@ +package com.stylefeng.guns.modular.system.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel +public class GrantVO { + @ApiModelProperty(value = "使用时间") + private String insertTime; + @ApiModelProperty(value = "补贴类型") + private String type; + @ApiModelProperty(value = "金额") + private String amount; + @ApiModelProperty(value = "领取用户id") + private String name; + @ApiModelProperty(value = "备注") + private String remark; +} \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/PlatformMoneyVO.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/PlatformMoneyVO.java new file mode 100644 index 0000000..3d5c5b3 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/PlatformMoneyVO.java @@ -0,0 +1,22 @@ +package com.stylefeng.guns.modular.system.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel +public class PlatformMoneyVO { + + @ApiModelProperty(value = "佣金金额") + private BigDecimal total; + @ApiModelProperty(value = "司机已结算") + private BigDecimal balance; + @ApiModelProperty(value = "司机未结算") + private BigDecimal unBalance; + + + +} \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/PlatformVO.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/PlatformVO.java new file mode 100644 index 0000000..61f63f7 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/PlatformVO.java @@ -0,0 +1,34 @@ +package com.stylefeng.guns.modular.system.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@ApiModel +public class PlatformVO { + @ApiModelProperty(value = "下单时间") + private String insertTime; + @ApiModelProperty(value = "订单号") + private String code; + @ApiModelProperty(value = "司机姓名") + private String driverName; + @ApiModelProperty(value = "司机手机号") + private String driverPhone; + @ApiModelProperty(value = "佣金金额") + private BigDecimal money; + @ApiModelProperty(value = "支付方式") + private String payType; + @ApiModelProperty(value = "备注") + private String remark; + @ApiModelProperty(value = "状态 1结算 2未结算") + private Integer state; + @ApiModelProperty(value = "结算时间") + private String endTime; + + +} \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/UseMoneyVO.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/UseMoneyVO.java new file mode 100644 index 0000000..941eadd --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/UseMoneyVO.java @@ -0,0 +1,27 @@ +package com.stylefeng.guns.modular.system.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel +public class UseMoneyVO { + @ApiModelProperty(value = "已使用补贴总额") + private BigDecimal total; + @ApiModelProperty(value = "已使用折扣总额(用户端)") + private BigDecimal discount; + @ApiModelProperty(value = "已使用红包总额(用户端)") + private BigDecimal redPackage; + @ApiModelProperty(value = "已使用优惠券总额(用户端)") + private BigDecimal coupon; + @ApiModelProperty(value = "已使用司机奖励合计(司机端)") + private BigDecimal driver; + @ApiModelProperty(value = "已提现") + private BigDecimal driverWithdrawal; + @ApiModelProperty(value = "已消费") + private BigDecimal driverConsume; + +} \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/WaterMoneyVO.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/WaterMoneyVO.java new file mode 100644 index 0000000..831ac08 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/WaterMoneyVO.java @@ -0,0 +1,26 @@ +package com.stylefeng.guns.modular.system.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel +public class WaterMoneyVO { + + @ApiModelProperty(value = "第三方流水余额合计") + private BigDecimal total; + @ApiModelProperty(value = "用户订单消费") + private BigDecimal userOrder; + @ApiModelProperty(value = "用户充值总额") + private BigDecimal userCharge; + @ApiModelProperty(value = "司机结算总额") + private BigDecimal balance; + @ApiModelProperty(value = "司机提现总额") + private BigDecimal driverWithdrawal; + @ApiModelProperty(value = "用户提现总额") + private BigDecimal userWithdrawal; + +} \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/WaterVO.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/WaterVO.java new file mode 100644 index 0000000..db7af90 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/vo/WaterVO.java @@ -0,0 +1,28 @@ +package com.stylefeng.guns.modular.system.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel +public class WaterVO { + @ApiModelProperty(value = "付款时间") + private String insertTime; + @ApiModelProperty(value = "订单号") + private String code; + @ApiModelProperty(value = "支付方") + private String name; + @ApiModelProperty(value = "支付方手机号") + private String phone; + @ApiModelProperty(value = "支付金额") + private BigDecimal money; + @ApiModelProperty(value = "支付方式") + private String payType; + @ApiModelProperty(value = "流水项目") + private String type; + @ApiModelProperty(value = "备注") + private String remark; +} \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/commission.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/commission.html index 0052c29..353e3b3 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/commission.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/commission.html @@ -59,6 +59,7 @@ <div class="row"> <div class="col-sm-3"> <#SelectCon id="time" name="时间" > + <option value="">今日</option> <option value="1">今日</option> <option value="2">本周</option> <option value="3">本月</option> @@ -89,14 +90,14 @@ </div> <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/=.png."> <div class="rectangle2"> - <h1 id="num2">1</h1> + <h1 id="num2">0</h1> <br> <h2 id="text2">司机已结算</h2> </div> <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/+.png."> <div class="rectangle3"> - <h1 id="num3">2</h1> + <h1 id="num3">0</h1> <br> <h2 id="text3">司机未结算</h2> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/watter.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/watter.html new file mode 100644 index 0000000..b86fb6f --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/watter.html @@ -0,0 +1,147 @@ +@layout("/common/_container.html"){ +<style> + .container { + display: flex; /* 使用 Flex 布局 */ + margin-left: 50px; + margin-top: 30px; + width: 2200px; + } + .rectangle1 { + width: 250px; /* 设置框的宽度 */ + height: 160px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + } + .rectangle2 { + width: 200px; /* 设置框的宽度 */ + height: 130px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + margin-left: 40px; /* 设置矩形框之间的间距 */ + margin-top: 15px; + } + .rectangle3 { + width: 200px; /* 设置框的宽度 */ + height: 130px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + margin-left: 40px; /* 设置矩形框之间的间距 */ + margin-top: 15px; + } + h1, h2 { + margin: 0; /* 去除默认的外边距 */ + } + +</style> +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>三方流水统计</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#SelectCon id="time" name="时间" > + <option value="">今日</option> + <option value="1">今日</option> + <option value="2">本周</option> + <option value="3">本月</option> + <option value="4">全年</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#TimeCon id="insertTime" name="时间" isTime="false"/> + </div> + <div class="col-sm-3"> + <#SelectCon id="type" name="流水项目" > + <option value="">全部</option> + <option value="1">用户订单消费</option> + <option value="2">用户充值</option> + <option value="3">司机结算</option> + <option value="4">司机提现</option> + <option value="5">用户提现</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#SelectCon id="payType" name="支付方式" > + <option value="">全部</option> + <option value="1">银行卡支付</option> + <option value="2">手机支付</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#button name="查询" icon="fa-search" clickFun="TUser.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TUser.resetSearch()" space="true"/> + </div> + </div> + <div class="container"> + <div class="rectangle1"> + <h1 id="num1">0</h1> + <br> + <h2 id="text1">第三方流水余额合计</h2> + + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/=.png."> + <div class="rectangle2"> + <h1 id="num2">0</h1> + <br> + <h2 id="text2">用户订单消费</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/+.png."> + <div class="rectangle3"> + <h1 id="num3">0</h1> + <br> + <h2 id="text3">用户充值总额</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/+.png."> + <div class="rectangle3"> + <h1 id="num4">0</h1> + <br> + <h2 id="text4">司机结算总额</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/-.png."> + <div class="rectangle3"> + <h1 id="num5">0</h1> + <br> + <h2 id="text5">司机提现总额</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/-.png."> + <div class="rectangle3"> + <h1 id="num6">0</h1> + <br> + <h2 id="text6">用户提现总额</h2> + </div> + </div> + <#table id="TUserTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/platform/water.js"></script> +<script> + laydate.render({ + elem: '#insertTime' + ,range: true + }); +</script> +@} diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/grant.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/grant.html new file mode 100644 index 0000000..04d62cc --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/grant.html @@ -0,0 +1,134 @@ +@layout("/common/_container.html"){ +<style> + .container { + display: flex; /* 使用 Flex 布局 */ + margin-left: 50px; + margin-top: 30px; + width: 2200px; + } + .rectangle1 { + width: 250px; /* 设置框的宽度 */ + height: 160px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + } + .rectangle2 { + width: 200px; /* 设置框的宽度 */ + height: 130px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + margin-left: 40px; /* 设置矩形框之间的间距 */ + margin-top: 15px; + } + .rectangle3 { + width: 200px; /* 设置框的宽度 */ + height: 130px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + margin-left: 40px; /* 设置矩形框之间的间距 */ + margin-top: 15px; + } + h1, h2 { + margin: 0; /* 去除默认的外边距 */ + } + +</style> +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>发放补贴统计</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#SelectCon id="time" name="时间" > + <option value="">今日</option> + <option value="1">今日</option> + <option value="2">本周</option> + <option value="3">本月</option> + <option value="4">全年</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#TimeCon id="insertTime" name="时间" isTime="false"/> + </div> + <div class="col-sm-3"> + <#SelectCon id="type" name="补贴类型" > + <option value="">全部</option> + <option value="1">红包</option> + <option value="2">优惠券</option> + <option value="3">司机奖励</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#button name="查询" icon="fa-search" clickFun="TUser.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TUser.resetSearch()" space="true"/> + </div> + </div> + <div class="container"> + <div class="rectangle1"> + <h1 id="num1">0</h1> + <br> + <h2 id="text1">已发放补贴总额</h2> + + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/=.png."> + <div class="rectangle2"> + <h1 id="num2">0</h1> + <br> + <h2 id="text2">已使用折扣总额(用户端)</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/+.png."> + <div class="rectangle3"> + <h1 id="num3">0</h1> + <br> + <h2 id="text3">已领取红包总额(用户端)</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/+.png."> + <div class="rectangle3"> + <h1 id="num4">0</h1> + <br> + <h2 id="text4">已领取优惠券总额(用户端)</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/+.png."> + <div class="rectangle3"> + <h1 id="num5">0</h1> + <br> + <h2 id="text5">已领取司机奖励(司机端)</h2> + </div> + + </div> + + <#table id="TUserTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/subsidy/grant.js"></script> +<script> + laydate.render({ + elem: '#insertTime' + ,range: true + }); +</script> +@} diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/use.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/use.html new file mode 100644 index 0000000..1d668ca --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/use.html @@ -0,0 +1,146 @@ +@layout("/common/_container.html"){ +<style> + .container { + display: flex; /* 使用 Flex 布局 */ + margin-left: 50px; + margin-top: 30px; + width: 2200px; + } + .rectangle1 { + width: 250px; /* 设置框的宽度 */ + height: 160px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + } + .rectangle2 { + width: 200px; /* 设置框的宽度 */ + height: 130px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + margin-left: 40px; /* 设置矩形框之间的间距 */ + margin-top: 15px; + } + .rectangle3 { + width: 200px; /* 设置框的宽度 */ + height: 130px; /* 自适应高度 */ + background-color: #cecece; /* 设置底色为灰色 */ + border-radius: 30px; /* 设置圆角半径为10px */ + display: flex; /* 使用 Flex 布局 */ + flex-direction: column; /* 设置主轴方向为垂直 */ + justify-content: center; /* 垂直居中 */ + align-items: center; /* 水平居中 */ + margin-right: 40px; /* 设置矩形框之间的间距 */ + margin-left: 40px; /* 设置矩形框之间的间距 */ + margin-top: 15px; + } + h1, h2 { + margin: 0; /* 去除默认的外边距 */ + } + +</style> +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>三方流水统计</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#SelectCon id="time" name="时间" > + <option value="1">今日</option> + <option value="2">本周</option> + <option value="3">本月</option> + <option value="4">全年</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#TimeCon id="insertTime" name="时间" isTime="false"/> + </div> + <div class="col-sm-3"> + <#SelectCon id="type" name="流水项目" > + <option value="">全部</option> + <option value="1">用户订单消费</option> + <option value="2">用户充值</option> + <option value="3">司机结算</option> + <option value="4">司机提现</option> + <option value="5">用户提现</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#SelectCon id="payType" name="支付方式" > + <option value="">全部</option> + <option value="1">银行卡支付</option> + <option value="2">手机支付</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#button name="查询" icon="fa-search" clickFun="TUser.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TUser.resetSearch()" space="true"/> + </div> + </div> + <div class="container"> + <div class="rectangle1"> + <h1 id="num1">0</h1> + <br> + <h2 id="text1">第三方流水余额合计</h2> + + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/=.png."> + <div class="rectangle2"> + <h1 id="num2">0</h1> + <br> + <h2 id="text2">用户订单消费</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/+.png."> + <div class="rectangle3"> + <h1 id="num3">0</h1> + <br> + <h2 id="text3">用户充值总额</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/+.png."> + <div class="rectangle3"> + <h1 id="num4">0</h1> + <br> + <h2 id="text4">司机结算总额</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/-.png."> + <div class="rectangle3"> + <h1 id="num5">0</h1> + <br> + <h2 id="text5">司机提现总额</h2> + </div> + <img style="margin-top: 70px" width="25px" height="25px" src="${ctxPath}/static/img/-.png."> + <div class="rectangle3"> + <h1 id="num6">0</h1> + <br> + <h2 id="text6">用户提现总额</h2> + </div> + </div> + <#table id="TUserTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/platform/water.js"></script> +<script> + laydate.render({ + elem: '#insertTime' + ,range: true + }); +</script> +@} diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSet.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSet.html new file mode 100644 index 0000000..06b61f7 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSet.html @@ -0,0 +1,36 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>红包支付设置</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="hidden-xs" id="TSiteTableToolbar" role="group"> + @if(shiro.hasPermission("/tSysReformist/redSet/add")){ + <#button name="添加" icon="fa-plus" clickFun="TSite.addRedSet()"/> + @} + @if(shiro.hasPermission("/tSysReformist/redSet/update")){ + <#button name="编辑" icon="fa-edit" clickFun="TSite.update()" space="true"/> + @} + @if(shiro.hasPermission("/tSysReformist/redSet/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TSite.delete()" space="true"/> + @} + </div> + <#table id="TSiteTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tSysReformist/tRedSet.js"></script> +<script> + laydate.render({ + elem: '#insertTime' + ,range: true + }); +</script> +@} diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSetAdd.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSetAdd.html new file mode 100644 index 0000000..761c71f --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSetAdd.html @@ -0,0 +1,42 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal" id="siteInfoForm"> + <div class="row"> + <div class="col-sm-12"> + <div class=""> + <h2 style="margin-left: 200px;">红包支付设置</h2> + </div> + <h3 style="color: red;margin-left: 200px;">【当前已生效折扣比例:${new}%】</h3> + <br> + <br> + <div class="form-group" > + <label class="col-sm-3 control-label">红包可抵扣比例:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="proportion" name="proportion" placeholder="请输入红包可抵扣比例" type="text"> + <span id="priceLabel1" style="margin-left: 5px;margin-top: 5px">%</span> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">生效时间:</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="startTime" name="startTime" type="datetime-local"> + </div> + </div> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5"> + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TSiteInfo.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSiteInfo.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="https://webapi.amap.com/maps?v=1.4.15&key=c59c0ec8058a8305009eb315584e07d1&plugin=AMap.MouseTool,AMap.DistrictSearch,AMap.PolyEditor,AMap.RectangleEditor,AMap.CircleEditor"></script> +<script src="${ctxPath}/static/modular/system/tSite/electricFence.js"></script> +<script src="${ctxPath}/static/modular/system/tSysReformist/tRedSetInfo.js"></script> +@} diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSetEdit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSetEdit.html new file mode 100644 index 0000000..9a67828 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tRedSetEdit.html @@ -0,0 +1,40 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal" id="siteInfoForm"> + <div class="row"> + <input type="hidden" id="id" name="id" value="${id}"> + <div class="col-sm-12"> + <div class=""> + <h2 style="margin-left: 200px;">红包支付设置</h2> + </div> + <h3 style="color: red;margin-left: 200px;">【当前已生效折扣比例:${new}%】</h3> + <br> + <br> + <div class="form-group" > + <label class="col-sm-3 control-label">红包可抵扣比例:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="proportion" value="${data.proportion}" name="proportion" placeholder="请输入红包可抵扣比例" type="text"> + <span id="priceLabel1" style="margin-left: 5px;margin-top: 5px">%</span> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">生效时间:</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="startTime" value="${time}" name="startTime" type="datetime-local"> + </div> + </div> + </div> + </div> + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSiteInfo.updateSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSiteInfo.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tSysReformist/tRedSetInfo.js"></script> +@} diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html index a140f5d..d6a98a5 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html @@ -116,7 +116,7 @@ <h3>推单设置:</h3> </div> <div class="form-group"> - <label class="col-sm-2 control-label">专车推单:</label> + <label class="col-sm-2 control-label">打车/包裹推单:</label> <div class="col-sm-10"> 第一轮推单:推单距离为 <input type="text" oninput="checkIsDouble(this)" @if(isNotEmpty(zcOne)){ @@ -189,7 +189,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-2 control-label">专车指派:</label> + <label class="col-sm-2 control-label">打车/包裹指派:</label> <div class="col-sm-10"> 指派距离为 <input type="text" oninput="checkIsDouble(this)" @if(isNotEmpty(zcAssignOrder)){ @@ -302,9 +302,9 @@ </div> </div> <div class="form-group"> - <label class="col-sm-2 control-label">取消设置:</label> + <label class="col-sm-2 control-label">打车/包裹订单取消设置:</label> <div class="col-sm-10"> - 专车订单取消规则:专车订单在司机接单 <input type="text" oninput="checkIsInt(this)" + 订单取消规则:订单在司机接单 <input type="text" oninput="checkIsInt(this)" @if(isNotEmpty(ptCancel1)){ value="${ptCancel1.minuteNum}" @}else{ @@ -317,7 +317,21 @@ @}else{ value="" @} - name="ptCancel2" id="ptCancel2" class="form-control newWidth" /> 元取消费用; + name="ptCancel2" id="ptCancel2" class="form-control newWidth" /> GHS取消费用 + 里程费 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(ptCancel1)){ + value="${ptCancel1.km}" + @}else{ + value="" + @} + name="km" id="km" class="form-control newWidth" /> GHS/km + 时长费 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(ptCancel1)){ + value="${ptCancel1.kmMinute}" + @}else{ + value="" + @} + name="kmMinute" id="kmMinute" class="form-control newWidth" /> GHS/分钟 <br/> <br/> <div class="col-sm-10" hidden> @@ -340,9 +354,9 @@ </div> </div> <div class="form-group"> - <label class="col-sm-2 control-label">预约单取消设置:</label> + <label class="col-sm-2 control-label">预约订单取消规则:</label> <div class="col-sm-10"> - 专车订单取消规则:专车订单在司机接单 <input type="text" oninput="checkIsInt(this)" + 订单在司机接单 <input type="text" oninput="checkIsInt(this)" @if(isNotEmpty(yyCancel1)){ value="${yyCancel1.minuteNum}" @}else{ @@ -355,7 +369,30 @@ @}else{ value="" @} - name="yyCancel2" id="yyCancel2" class="form-control newWidth" /> 元取消费用; + name="yyCancel2" id="yyCancel2" class="form-control newWidth" /> 元取消费用; + 里程费 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(yyCancel1)){ + value="${yyCancel1.km}" + @}else{ + value="" + @} + name="km2" id="km2" class="form-control newWidth" /> GHS/km + 时长费 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(yyCancel1)){ + value="${yyCancel1.kmMinute}" + @}else{ + value="" + @} + name="kmMinute2" id="kmMinute2" class="form-control newWidth" /> GHS/分钟 + </br> + </br> + 预定费用 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(yyCancel1)){ + value="${yyCancel1.reserveMoney}" + @}else{ + value="" + @} + name="reserveMoney" id="reserveMoney" class="form-control newWidth" /> GHS <br/> <br/> <div class="col-sm-10" hidden> @@ -372,9 +409,66 @@ @}else{ value="" @} - name="yyCancel4" id="yyCancel4" class="form-control newWidth" /> 元取消费用; + name="yyCancel4" id="yyCancel4" class="form-control newWidth" /> 元取消费用 <br/> </div> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">司机超时(地图计算时间或者预定时间):</label> + <div class="col-sm-10"> + <input type="text" oninput="checkIsInt(this)" + @if(isNotEmpty(ptCancel2)){ + value="${ptCancel2.overtime}" + @}else{ + value="" + @} + name="overtime" id="overtime" class="form-control newWidth" /> 分钟未到达接人点或取件点,用户取消订单不收费 + <br/> + <br/> + + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">打车/包裹订单超时提醒设置:</label> + <div class="col-sm-10"> + 超时后,打车订单每隔 <input type="text" oninput="checkIsInt(this)" + @if(isNotEmpty(overTime)){ + value="${overTime.car}" + @}else{ + value="" + @} + name="overtime1" id="overtime1" class="form-control newWidth" /> 分钟提醒司机一次, + 包裹订单每隔 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(overTime)){ + value="${overTime.packageTime}" + @}else{ + value="" + @} + name="packageTime" id="packageTime" class="form-control newWidth" /> 分钟提醒司机一次; + <br/> + <br/> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">预约单提醒设置:</label> + <div class="col-sm-10"> + 预约订单,在预定时间前 <input type="text" oninput="checkIsInt(this)" + @if(isNotEmpty(overTime)){ + value="${overTime.reserveTime}" + @}else{ + value="" + @} + name="reserveTime" id="reserveTime" class="form-control newWidth" /> 分钟, + 首次提醒司机 ;然后每隔<input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(overTime)){ + value="${overTime.reserveNext}" + @}else{ + value="" + @} + name="reserveNext" id="reserveNext" class="form-control newWidth" /> 分钟提醒司机一次; + <br/> + <br/> </div> </div> <div class="form-group"> @@ -492,7 +586,7 @@ } else { isTaxiCar = 1; } - + var assessment = $("#assessment").val(); var zc1 = $("#zc1").val().trim(); var zc2 = $("#zc2").val().trim(); var zc3 = $("#zc3").val().trim(); @@ -532,13 +626,25 @@ var phone1 = $("#phone1").val().trim(); var phone2 = $("#phone2").val().trim(); var phone3 = $("#phone3").val().trim(); - var assessment = $('#assessment').val().trim(); + var kmMinute = $('#kmMinute').val().trim(); + var km2 = $('#km2').val().trim(); + var km = $('#km').val().trim(); + var kmMinute2 = $('#kmMinute2').val().trim(); + var reserveMoney = $('#reserveMoney').val().trim(); + var overtime = $('#overtime').val().trim(); + var overtime1 = $('#overtime1').val().trim(); + var packageTime = $('#packageTime').val().trim(); + var reserveTime = $('#reserveTime').val().trim(); + var reserveNext = $('#reserveNext').val().trim(); if ("" == one || "" == two || "" == three - || "" == zc1 || "" == zc2 || "" == zc3 || "" == zc4 || "" == zc5 || "" == zc6 || "" == zc7 || "" == zc8 || "" == zc9 || '' == zcAssignOrder || '' == zcPeople + || "" == zc1 || "" == zc2 || "" == zc3 || "" == zc4 || "" == zc5 || "" == zc6 || "" == zc7 || "" == zc8 || "" == zc9 + || '' == zcAssignOrder || '' == zcPeople || "" == czc1 || "" == czc2 || "" == czc3 || "" == czc4 || "" == czc5 || "" == czc6 || "" == czc7 || "" == czc8 || "" == czc9 /*|| '' == czcAssignOrder || '' == czcPeople */ - || "" == ptCancel1 || "" == ptCancel2 || "" == ptCancel3 || "" == ptCancel4 /*|| "" == ptCancel5 || "" == ptCancel6*/ - || "" == yyCancel1 || "" == yyCancel2 || "" == yyCancel3 || "" == yyCancel4 || "" == assessment + || "" == ptCancel1 || "" == ptCancel2 /* || "" == ptCancel3 || "" == ptCancel4*/ /*|| "" == ptCancel5 || "" == ptCancel6*/ + || "" == yyCancel1 || "" == yyCancel2 /* || "" == yyCancel3 || "" == yyCancel4*/ + || "" == assessment || "" == km || "" == kmMinute|| "" == kmMinute2|| "" == reserveMoney|| "" == km2 + || "" == overtime|| "" == overtime1|| "" == packageTime|| "" == reserveTime|| "" == reserveNext || "" == phone1 || "" == phone2 ) { Feng.info("输入框不能为空!"); return; @@ -560,8 +666,10 @@ || !regDouble.test(czc4) || !regInt.test(czc5) || !regDouble.test(czc6) || !regDouble.test(czc7) || !regInt.test(czc8) || !regDouble.test(czc9)/* || !regDouble.test(czcAssignOrder) || !regInt.test(czcPeople)*/ - || !regInt.test(ptCancel1) || !regDouble.test(ptCancel2) || !regInt.test(ptCancel3) || !regDouble.test(ptCancel4) /*|| !regInt.test(ptCancel5) || !regDouble.test(ptCancel6)*/ - || !regInt.test(yyCancel1) || !regDouble.test(yyCancel2) || !regInt.test(yyCancel3) || !regDouble.test(yyCancel4)) { + || !regInt.test(ptCancel1) || !regDouble.test(ptCancel2) /*|| !regInt.test(ptCancel3) || !regDouble.test(ptCancel4)|| !regInt.test(ptCancel5) || !regDouble.test(ptCancel6)*/ + || !regInt.test(km) || !regInt.test(km2) + || !regDouble.test(reserveMoney) + /*|| !regInt.test(yyCancel3) || !regDouble.test(yyCancel4)*/) { Feng.info("格式不正确!"); return ; } @@ -625,6 +733,17 @@ ajax.set("phone2", phone2); ajax.set("phone3", phone3); ajax.set("assessment", assessment); + + ajax.set("kmMinute", kmMinute); + ajax.set("km", km); + ajax.set("km2", km2); + ajax.set("kmMinute2", kmMinute2); + ajax.set("reserveMoney", reserveMoney); + ajax.set("overtime", overtime); + ajax.set("overtime1", overtime1); + ajax.set("packageTime", packageTime); + ajax.set("reserveTime", reserveTime); + ajax.set("reserveNext", reserveNext); ajax.start(); } diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/-.png b/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/-.png new file mode 100644 index 0000000..5d7f955 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/-.png Binary files differ diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/platform.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/platform.js index 2b0a113..34c54e6 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/platform.js +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/platform.js @@ -22,53 +22,37 @@ return [ {field: 'selectItem', radio: true}, {title: '下单时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, - {title: '订单号', field: 'orderNumber', visible: true, align: 'center', valign: 'middle'}, + {title: '订单号', field: 'code', visible: true, align: 'center', valign: 'middle'}, {title: '司机姓名', field: 'driverName', visible: false, align: 'center', valign: 'middle'}, {title: '司机手机号', field: 'driverPhone', visible: true, align: 'center', valign: 'middle', }, - {title: '佣金金额', field: 'commission', visible: true, align: 'center', valign: 'middle', + {title: '佣金金额', field: 'money', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { - var commission = row.commission; + var money = row.money; var btn = ""; - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: orange;" title="待审核" onfocus="TUser.tooltip()">'+commission+'</p>'] + btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: orange;" title="待审核" onfocus="TUser.tooltip()">'+money+'</p>'] return btn; } }, {title: '支付方式', field: 'payType', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.payType != '' && row.payType != null) { - if (row.payType == 1) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="手机支付" >手机支付</p>'] - } - else if (row.payType == 2){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="银行卡支付">银行卡支付</p>'] - } - else if (row.payType == 3){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="余额支付">余额支付</p>'] - } - - } - return btn; - } }, {title: '备注', field: 'remark', visible: true, align: 'center', valign: 'middle',}, {title: '状态', field: 'paymentStatus', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { - var btn = ""; - if(row.payType != '' && row.payType != null) { - if (row.payType == 1) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="未结算" >未结算</p>'] - } - else if (row.payType == 2){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已结算">已结算</p>'] - } + var state = row.state; + if (state == 1){ + var btn = ""; + btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: #68e02c;" title="待审核" onfocus="TUser.tooltip()">已结算</p>'] + }else{ + var btn = ""; + btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: #e31452;" title="待审核" onfocus="TUser.tooltip()">未结算</p>'] } return btn; + } }, - {title: '结算时间', field: 'payTime', visible: true, align: 'center', valign: 'middle',}, + {title: '结算时间', field: 'endTime', visible: true, align: 'center', valign: 'middle',}, ]; }; @@ -207,31 +191,66 @@ } } }; +// 首次 +TUser.getCount1 = function() { + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/platform/commission/getCount", function(data){ + document.getElementById("num1").innerHTML = data.total; + document.getElementById("num2").innerHTML = data.balance; + document.getElementById("num3").innerHTML = data.unBalance; + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("time",1); + ajax.set("insertTime",null); + ajax.set("state",null); + ajax.start(); +} +// 点击搜索 +TUser.getCount = function() { + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/platform/commission/getCount", function(data){ + console.log(data); + console.log(data); + console.log(data); + document.getElementById("num1").innerHTML = data.total; + document.getElementById("num2").innerHTML = data.balance; + document.getElementById("num3").innerHTML = data.unBalance; + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("time",$("#time").val()); + ajax.set("insertTime",$("#insertTime").val()); + ajax.set("state",$("#state").val()); + ajax.start(); +} /** * 查询用户管理列表 */ TUser.search = function () { var queryData = {}; queryData['time'] = $("#time").val(); - queryData['insertTime'] = $("#id").val(); + queryData['insertTime'] = $("#insertTime").val(); queryData['state'] = $("#state").val(); TUser.table.refresh({query: queryData}); + TUser.getCount(); }; TUser.resetSearch = function () { - $("#time").val("今日"); + $("#time").val(""); $("#insertTime").val(""); $("#state").val(""); TUser.search(); }; + $(function () { + TUser.getCount1(); var defaultColunms = TUser.initColumn(); - var table = new BSTable(TUser.id, "/tUser/list", defaultColunms); + var table = new BSTable(TUser.id, "/platform/commission/list", defaultColunms); // 设置物理分页server(逻辑分页client) - table.setPaginationType("server"); + table.setPaginationType("client"); TUser.table = table.init(); }); - TUser.sendAjaxRequest = function(url,type,data){ $.ajax({ diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/water.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/water.js new file mode 100644 index 0000000..57d4ab6 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/water.js @@ -0,0 +1,271 @@ +/** + * 用户管理管理初始化 + */ +var TUser = { + id: "TUserTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 鼠标悬停提示框 class .toolTip 为无效样式,作用于个别选择器使用 + */ +TUser.tooltip = function(){ + $(".toolTip").tooltip(); +}; + +/** + * 初始化表格的列 + */ +TUser.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '付款时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, + {title: '订单号', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '支付方', field: 'name', visible: true, align: 'center', valign: 'middle'}, + {title: '支付方手机号', field: 'phone', visible: true, align: 'center', valign: 'middle', + }, + {title: '支付金额', field: 'money', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + var money = row.money; + var btn = ""; + btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: orange;" title="待审核" onfocus="TUser.tooltip()">'+money+'</p>'] + return btn; + } + }, + {title: '支付方式', field: 'payType', visible: true, align: 'center', valign: 'middle', + }, + {title: '流水项目', field: 'type', visible: true, align: 'center', valign: 'middle',}, + {title: '备注', field: 'remark', visible: true, align: 'center', valign: 'middle', + }, + ]; +}; + +/** + * 检查是否选中 + */ +TUser.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TUser.seItem = selected[0]; + return true; + } +}; + +/** + * 修改余额 + */ +TUser.updateBalance = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '修改余额', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_updateBalance/'+ TUser.seItem.id + }); + this.layerIndex = index; + } +}; +/** + * 修改密码 + */ +TUser.updatePassword = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '修改密码', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_updatePassword/'+ TUser.seItem.id + }); + this.layerIndex = index; + } +}; +/** + * 查看分享信息 + */ +TUser.inviteInfo=function(){ + if (this.check()) { + var index = layer.open({ + type: 2, + title: '邀请信息', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/inviteInfo/'+ TUser.seItem.id + }); + this.layerIndex = index; + + } +}; + +/** + * 打开查看用户管理详情 + */ +TUser.userDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '用户详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_userDetail/' + TUser.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 冻结用户 + */ +TUser.freezeUser = function () { + if (this.check()) { + var nickname = TUser.seItem.nickName; + if (nickname == "" || nickname == null || nickname == undefined) { + nickname = "该用户"; + } else { + nickname = "【" + nickname + "】"; + } + if (TUser.seItem.state != 1) { + swal("冻结失败", "【正常】状态下才能执行此操作", "warning"); + return; + } else { + var index = layer.open({ + type: 2, + title: '冻结用户', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_optUser/' + TUser.seItem.id +"/"+1 + }); + this.layerIndex = index; + } + } +}; +/** + * 解冻用户 + */ +TUser.trawUser = function () { + if (this.check()) { + var nickname = TUser.seItem.nickName; + if (nickname == "" || nickname == null || nickname == undefined) { + nickname = "该用户"; + } else { + nickname = "【" + nickname + "】"; + } + if (TUser.seItem.state != 2) { + swal("启用失败", "【冻结】状态下才能执行此操作", "warning"); + return; + } else { + var index = layer.open({ + type: 2, + title: '解冻用户', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_optUser/' + TUser.seItem.id +"/"+2 + }); + this.layerIndex = index; + } + } +}; +// 首次 +TUser.getCount1 = function() { + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/platform/water/getCount", function(data){ + + document.getElementById("num1").innerHTML = data.total; + document.getElementById("num2").innerHTML = data.balance; + document.getElementById("num3").innerHTML = data.unBalance; + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("time",1); + ajax.set("insertTime",null); + ajax.set("state",null); + ajax.start(); +} +// 点击搜索 +TUser.getCount = function() { + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/platform/water/getCount", function(data){ + + document.getElementById("num1").innerHTML = data.total; + document.getElementById("num2").innerHTML = data.userOrder; + document.getElementById("num3").innerHTML = data.userCharge; + document.getElementById("num4").innerHTML = data.balance; + document.getElementById("num5").innerHTML = data.driverWithdrawal; + document.getElementById("num6").innerHTML = data.userWithdrawal; + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("time",$("#time").val()); + ajax.set("insertTime",$("#insertTime").val()); + ajax.set("type",$("#type").val()); + ajax.set("payType",$("#payType").val()); + ajax.start(); +} +/** + * 查询用户管理列表 + */ +TUser.search = function () { + var queryData = {}; + queryData['time'] = $("#time").val(); + queryData['insertTime'] = $("#insertTime").val(); + queryData['type'] = $("#type").val(); + queryData['payType'] = $("#payType").val(); + TUser.table.refresh({query: queryData}); + TUser.getCount(); +}; +TUser.resetSearch = function () { + $("#time").val(""); + $("#insertTime").val(""); + $("#state").val(""); + TUser.search(); +}; + +$(function () { + TUser.getCount1(); + var defaultColunms = TUser.initColumn(); + var table = new BSTable(TUser.id, "/platform/water/list", defaultColunms); + // 设置物理分页server(逻辑分页client) + table.setPaginationType("client"); + TUser.table = table.init(); +}); + +TUser.sendAjaxRequest = function(url,type,data){ + $.ajax({ + url : url, + type : type, + data : data, + success : function(result) { + if(result.code==500) { + Feng.info(result.message); + }else { + Feng.success("导入成功!"); + } + TUser.table.refresh(); + }, + error : function() { + Feng.error("excel上传失败!"); + }, + cache : false, + contentType : false, + processData : false + }); +}; + +var agreement; +$(function(){ + agreement = new agreement(); + agreement.init(); +}); + diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/grant.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/grant.js new file mode 100644 index 0000000..4ff9f88 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/grant.js @@ -0,0 +1,258 @@ +/** + * 用户管理管理初始化 + */ +var TUser = { + id: "TUserTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 鼠标悬停提示框 class .toolTip 为无效样式,作用于个别选择器使用 + */ +TUser.tooltip = function(){ + $(".toolTip").tooltip(); +}; + +/** + * 初始化表格的列 + */ +TUser.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '领取时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, + {title: '补贴类型', field: 'type', visible: true, align: 'center', valign: 'middle'}, + {title: '金额', field: 'amount', visible: true, align: 'center', valign: 'middle'}, + {title: '领取用户id', field: 'name', visible: true, align: 'center', valign: 'middle',}, + {title: '备注', field: 'remark', visible: true, align: 'center', valign: 'middle',}, + ]; +}; + +/** + * 检查是否选中 + */ +TUser.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TUser.seItem = selected[0]; + return true; + } +}; + +/** + * 修改余额 + */ +TUser.updateBalance = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '修改余额', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_updateBalance/'+ TUser.seItem.id + }); + this.layerIndex = index; + } +}; +/** + * 修改密码 + */ +TUser.updatePassword = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '修改密码', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_updatePassword/'+ TUser.seItem.id + }); + this.layerIndex = index; + } +}; +/** + * 查看分享信息 + */ +TUser.inviteInfo=function(){ + if (this.check()) { + var index = layer.open({ + type: 2, + title: '邀请信息', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/inviteInfo/'+ TUser.seItem.id + }); + this.layerIndex = index; + + } +}; + +/** + * 打开查看用户管理详情 + */ +TUser.userDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '用户详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_userDetail/' + TUser.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 冻结用户 + */ +TUser.freezeUser = function () { + if (this.check()) { + var nickname = TUser.seItem.nickName; + if (nickname == "" || nickname == null || nickname == undefined) { + nickname = "该用户"; + } else { + nickname = "【" + nickname + "】"; + } + if (TUser.seItem.state != 1) { + swal("冻结失败", "【正常】状态下才能执行此操作", "warning"); + return; + } else { + var index = layer.open({ + type: 2, + title: '冻结用户', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_optUser/' + TUser.seItem.id +"/"+1 + }); + this.layerIndex = index; + } + } +}; +/** + * 解冻用户 + */ +TUser.trawUser = function () { + if (this.check()) { + var nickname = TUser.seItem.nickName; + if (nickname == "" || nickname == null || nickname == undefined) { + nickname = "该用户"; + } else { + nickname = "【" + nickname + "】"; + } + if (TUser.seItem.state != 2) { + swal("启用失败", "【冻结】状态下才能执行此操作", "warning"); + return; + } else { + var index = layer.open({ + type: 2, + title: '解冻用户', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_optUser/' + TUser.seItem.id +"/"+2 + }); + this.layerIndex = index; + } + } +}; +// 首次 +TUser.getCount1 = function() { + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/subsidy/grant/getCount", function(data){ + + document.getElementById("num1").innerHTML = data.total; + document.getElementById("num2").innerHTML = data.discount; + document.getElementById("num3").innerHTML = data.redPackage; + document.getElementById("num4").innerHTML = data.coupon; + document.getElementById("num5").innerHTML = data.driver; + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("time",1); + ajax.set("insertTime",null); + ajax.set("type",null); + ajax.start(); +} +// 点击搜索 +TUser.getCount = function() { + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/subsidy/grant/getCount", function(data){ + + document.getElementById("num1").innerHTML = data.total; + document.getElementById("num2").innerHTML = data.discount; + document.getElementById("num3").innerHTML = data.redPackage; + document.getElementById("num4").innerHTML = data.coupon; + document.getElementById("num5").innerHTML = data.driver; + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("time",$("#time").val()); + ajax.set("insertTime",$("#insertTime").val()); + ajax.set("type",$("#type").val()); + ajax.start(); +} +/** + * 查询用户管理列表 + */ +TUser.search = function () { + var queryData = {}; + queryData['time'] = $("#time").val(); + queryData['insertTime'] = $("#insertTime").val(); + queryData['type'] = $("#type").val(); + TUser.table.refresh({query: queryData}); + TUser.getCount(); +}; +TUser.resetSearch = function () { + $("#time").val(""); + $("#insertTime").val(""); + $("#type").val(""); + TUser.search(); + TUser.getCount1(); +}; + +$(function () { + TUser.getCount1(); + var defaultColunms = TUser.initColumn(); + var table = new BSTable(TUser.id, "/subsidy/grant/list", defaultColunms); + // 设置物理分页server(逻辑分页client) + table.setPaginationType("client"); + TUser.table = table.init(); +}); + +TUser.sendAjaxRequest = function(url,type,data){ + $.ajax({ + url : url, + type : type, + data : data, + success : function(result) { + if(result.code==500) { + Feng.info(result.message); + }else { + Feng.success("导入成功!"); + } + TUser.table.refresh(); + }, + error : function() { + Feng.error("excel上传失败!"); + }, + cache : false, + contentType : false, + processData : false + }); +}; + +var agreement; +$(function(){ + agreement = new agreement(); + agreement.init(); +}); + diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/use.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/use.js new file mode 100644 index 0000000..d6537ea --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/use.js @@ -0,0 +1,256 @@ +/** + * 用户管理管理初始化 + */ +var TUser = { + id: "TUserTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 鼠标悬停提示框 class .toolTip 为无效样式,作用于个别选择器使用 + */ +TUser.tooltip = function(){ + $(".toolTip").tooltip(); +}; + +/** + * 初始化表格的列 + */ +TUser.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '领取时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, + {title: '补贴类型', field: 'type', visible: true, align: 'center', valign: 'middle'}, + {title: '金额', field: 'amount', visible: false, align: 'center', valign: 'middle'}, + {title: '领取用户id', field: 'name', visible: true, align: 'center', valign: 'middle',}, + {title: '备注', field: 'remark', visible: true, align: 'center', valign: 'middle',}, + ]; +}; + +/** + * 检查是否选中 + */ +TUser.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TUser.seItem = selected[0]; + return true; + } +}; + +/** + * 修改余额 + */ +TUser.updateBalance = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '修改余额', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_updateBalance/'+ TUser.seItem.id + }); + this.layerIndex = index; + } +}; +/** + * 修改密码 + */ +TUser.updatePassword = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '修改密码', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_updatePassword/'+ TUser.seItem.id + }); + this.layerIndex = index; + } +}; +/** + * 查看分享信息 + */ +TUser.inviteInfo=function(){ + if (this.check()) { + var index = layer.open({ + type: 2, + title: '邀请信息', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/inviteInfo/'+ TUser.seItem.id + }); + this.layerIndex = index; + + } +}; + +/** + * 打开查看用户管理详情 + */ +TUser.userDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '用户详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_userDetail/' + TUser.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 冻结用户 + */ +TUser.freezeUser = function () { + if (this.check()) { + var nickname = TUser.seItem.nickName; + if (nickname == "" || nickname == null || nickname == undefined) { + nickname = "该用户"; + } else { + nickname = "【" + nickname + "】"; + } + if (TUser.seItem.state != 1) { + swal("冻结失败", "【正常】状态下才能执行此操作", "warning"); + return; + } else { + var index = layer.open({ + type: 2, + title: '冻结用户', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_optUser/' + TUser.seItem.id +"/"+1 + }); + this.layerIndex = index; + } + } +}; +/** + * 解冻用户 + */ +TUser.trawUser = function () { + if (this.check()) { + var nickname = TUser.seItem.nickName; + if (nickname == "" || nickname == null || nickname == undefined) { + nickname = "该用户"; + } else { + nickname = "【" + nickname + "】"; + } + if (TUser.seItem.state != 2) { + swal("启用失败", "【冻结】状态下才能执行此操作", "warning"); + return; + } else { + var index = layer.open({ + type: 2, + title: '解冻用户', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tUser/tUser_optUser/' + TUser.seItem.id +"/"+2 + }); + this.layerIndex = index; + } + } +}; +// 首次 +TUser.getCount1 = function() { + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/subsidy/use/getCount", function(data){ + + document.getElementById("num1").innerHTML = data.total; + document.getElementById("num2").innerHTML = data.balance; + document.getElementById("num3").innerHTML = data.unBalance; + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("time",1); + ajax.set("insertTime",null); + ajax.set("type",null); + ajax.start(); +} +// 点击搜索 +TUser.getCount = function() { + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/subsidy/use/getCount", function(data){ + + document.getElementById("num1").innerHTML = data.total; + document.getElementById("num2").innerHTML = data.userOrder; + document.getElementById("num3").innerHTML = data.userCharge; + document.getElementById("num4").innerHTML = data.balance; + document.getElementById("num5").innerHTML = data.driverWithdrawal; + document.getElementById("num6").innerHTML = data.userWithdrawal; + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("time",$("#time").val()); + ajax.set("insertTime",$("#insertTime").val()); + ajax.set("type",$("#type").val()); + ajax.start(); +} +/** + * 查询用户管理列表 + */ +TUser.search = function () { + var queryData = {}; + queryData['time'] = $("#time").val(); + queryData['insertTime'] = $("#insertTime").val(); + queryData['type'] = $("#type").val(); + TUser.table.refresh({query: queryData}); + TUser.getCount(); +}; +TUser.resetSearch = function () { + $("#time").val(""); + $("#insertTime").val(""); + $("#type").val(""); + TUser.search(); +}; + +$(function () { + TUser.getCount1(); + var defaultColunms = TUser.initColumn(); + var table = new BSTable(TUser.id, "/subsidy/use/list", defaultColunms); + // 设置物理分页server(逻辑分页client) + table.setPaginationType("client"); + TUser.table = table.init(); +}); + +TUser.sendAjaxRequest = function(url,type,data){ + $.ajax({ + url : url, + type : type, + data : data, + success : function(result) { + if(result.code==500) { + Feng.info(result.message); + }else { + Feng.success("导入成功!"); + } + TUser.table.refresh(); + }, + error : function() { + Feng.error("excel上传失败!"); + }, + cache : false, + contentType : false, + processData : false + }); +}; + +var agreement; +$(function(){ + agreement = new agreement(); + agreement.init(); +}); + diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSysReformist/tRedSet.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSysReformist/tRedSet.js new file mode 100644 index 0000000..a5c4f0f --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSysReformist/tRedSet.js @@ -0,0 +1,125 @@ +/** + * 跨城站点管理管理初始化 + */ +var TSite = { + id: "TSiteTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TSite.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, + {title: '修改时间', field: 'updateTime', visible: true, align: 'center', valign: 'middle',width:'20%', + }, + {title: '操作人', field: 'handle', visible: true, align: 'center', valign: 'middle', + + }, + {title: '红包可抵扣比例', field: 'proportion', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + var btn = ""; + if(row.proportion != '' && row.proportion != null) { + var time = row.proportion; + btn = time+"%" + } + return btn; + } + }, + {title: '生效时间', field: 'startTime', visible: true, align: 'center', valign: 'middle',}, + ]; +}; + +/** + * 检查是否选中 + */ +TSite.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TSite.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加跨城站点管理 + */ +TSite.addRedSet = function () { + var index = layer.open({ + type: 2, + title: '添加红包支付设置', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tSysReformist/redSet/addHtml' + }); + this.layerIndex = index; +}; + +/** + * 打开查看跨城站点管理详情 + */ +TSite.update = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '编辑跨城站点', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tSysReformist/redSet/updateHtml/' + TSite.seItem.id + }); + this.layerIndex = index; + } +}; +TSite.delete = function () { + if (this.check()) { + swal({ + title: "您是否确认删除" + "?", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "删除", + closeOnConfirm: true + }, function () { + var ajax = new $ax(Feng.ctxPath + "/tSysReformist/redSet/delete", function (data) { + Feng.success("删除成功") + swal("删除成功"); + TSite.table.refresh(); + }, function (data) { + swal("删除失败", data.responseJSON.message+"!", "warning"); + }); + ajax.set("id",TSite.seItem.id); + ajax.start(); + }); + } +}; + + +/** + * 查询跨城站点管理列表 + */ +TSite.search = function () { + var queryData = {}; + + TSite.table.refresh({query: queryData}); +}; + +TSite.resetSearch = function () { + + TSite.search(); +}; + +$(function () { + var defaultColunms = TSite.initColumn(); + var table = new BSTable(TSite.id, "/tSysReformist/redSet/list", defaultColunms); + table.setPaginationType("server"); + TSite.table = table.init(); +}); diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSysReformist/tRedSetInfo.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSysReformist/tRedSetInfo.js new file mode 100644 index 0000000..f8a962a --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSysReformist/tRedSetInfo.js @@ -0,0 +1,66 @@ +/** + * 跨城站点管理管理初始化 + */ +var TSiteInfo = { + +} +TSiteInfo.close = function() { + parent.layer.close(window.parent.TSite.layerIndex); +} + +TSiteInfo.addSubmit = function() { + var proportion = $("#proportion").val(); + if ("" == proportion){ + Feng.info("请输入可红包抵扣比例"); + return; + } + var startTime = $("#startTime").val(); + if ("" == startTime){ + Feng.info("请选择生效时间"); + return; + } + console.log("proportion:"+proportion) + console.log("startTime:"+startTime) + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tSysReformist/redSet/add", function(data){ + Feng.success("添加成功!"); + window.parent.TSite.table.refresh(); + TSiteInfo.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set("proportion",proportion); + ajax.set("startTime",startTime); + ajax.start(); +} +TSiteInfo.updateSubmit = function() { + var proportion = $("#proportion").val(); + if ("" == proportion){ + Feng.info("请输入可红包抵扣比例"); + return; + } + var startTime = $("#startTime").val(); + var id = $("#id").val(); + if ("" == startTime){ + Feng.info("请选择生效时间"); + return; + } + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tSysReformist/redSet/update", function(data){ + Feng.success("修改成功!"); + window.parent.TSite.table.refresh(); + TSiteInfo.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set("proportion",proportion); + ajax.set("id",id); + ajax.set("startTime",startTime); + ajax.start(); +} + + + + + + -- Gitblit v1.7.1