From de3858253f29abe18c76dd7dcdaa7db4c1fd372e Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 14 二月 2025 17:15:10 +0800 Subject: [PATCH] 开发新增加功能 --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml | 8 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java | 45 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html | 24 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/report/operationalData.js | 2 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html | 24 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tReportLoss/tReportLoss.js | 4 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java | 2 ManagementIGOTravel/guns-admin/src/main/resources/application.yml | 114 - ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml | 76 + ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_edit.html | 24 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReportLossMapper.xml | 8 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSmallPrice_info.js | 22 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java | 3124 ++++++++++++++++++++++++++------------------------- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml | 26 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java | 2 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html | 16 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js | 22 17 files changed, 1,818 insertions(+), 1,725 deletions(-) diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java index 7f18211..2f71674 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java @@ -155,7 +155,7 @@ tReportLoss.setDisposeInfo(info); tReportLoss.setStatus(2); tReportLoss.setHandleTime(new Date()); - tReportLoss.setHandleUserId(ShiroKit.getUser().getObjectId()); + tReportLoss.setHandleUserId(ShiroKit.getUser().getId()); boolean b = tReportLossService.updateById(tReportLoss); if(b){ try { 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 index 996c78a..81da78f 100644 --- 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 @@ -41,1574 +41,1584 @@ @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 IBalanceUsageRecordService balanceUsageRecordService; - @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; - - public static void main(String[] args) { - String temp = "[{\"money\":14.46,\"id\":91},{\"money\":1,\"id\":90}]"; - JSONArray objects = JSONArray.parseArray(temp); - BigDecimal temp1 = new BigDecimal(BigInteger.ZERO); - for (int i = 0; i < objects.size(); i++) { - String string = objects.getJSONObject(i).getString("money"); - temp1 = temp1.add(new BigDecimal(string)); - } - System.err.println(temp1); - } - /** - * 使用补贴统计 - */ - @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; - } - } - 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<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>(); - // 司机提现 - List<TPubWithdrawal> driverWithdrawal = new ArrayList<>(); - - Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>() - ; - // 专车wrapper - Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>() - ; - // 小件物流wrapper - Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>() - ; - // 已使用优惠券记录wrapper - Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>() - ; - Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>() - ; - // 已使用红包记录wrapper - Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>() - ; - Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>() - ; - // 司机已消费金额 - Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>() - ; - if (time == 5 && !StringUtils.hasLength(insertTime)){ - // 专车wrapper - between = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("activityId") - .isNotNull("discountMoney") - ; - - // 小件物流wrapper - between1 = new EntityWrapper<TOrderLogistics>() - .isNotNull("activityId") - .isNotNull("discountMoney") - ; - - // 已使用优惠券记录wrapper - between2 = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("couponId") - .isNotNull("couponMoney") - ; - - between22 = new EntityWrapper<TOrderLogistics>() - .isNotNull("couponId") - .isNotNull("couponMoney") - ; - - // 已使用红包记录wrapper - between3 = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("redPacketId") - .isNotNull("redPacketMoney") - ; - - between33 = new EntityWrapper<TOrderLogistics>() - .isNotNull("redPacketId") - .isNotNull("redPacketMoney") - ; - - // 司机已消费金额 - between4 = new EntityWrapper<BalanceUsageRecord>() - .eq("type",1) - .ne("purpose", 6) - ; - - // 司机提现 - driverWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("type",1) - .eq("userType", 2) - ; - - ; - }else{ - driverWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("type",1) - .eq("userType", 2) - .between("insertTime", start, end); - // 专车wrapper - between = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("activityId") - .isNotNull("discountMoney") - .between("insertTime", start, end); - // 小件物流wrapper - between1 = new EntityWrapper<TOrderLogistics>() - .isNotNull("activityId") - .isNotNull("discountMoney") - .between("insertTime", start, end); - // 已使用优惠券记录wrapper - between2 = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("couponId") - .isNotNull("couponMoney") - .between("insertTime", start, end); - between22 = new EntityWrapper<TOrderLogistics>() - .isNotNull("couponId") - .isNotNull("couponMoney") - .between("insertTime", start, end); - // 已使用红包记录wrapper - between3 = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("redPacketId") - .isNotNull("redPacketMoney") - .between("insertTime", start, end); - between33 = new EntityWrapper<TOrderLogistics>() - .isNotNull("redPacketId") - .isNotNull("redPacketMoney") - .between("insertTime", start, end); - // 司机已消费金额 - between4 = new EntityWrapper<BalanceUsageRecord>() - .ne("purpose", 6) - .eq("type",1) - .between("createTime", start, end); - - - } - // 司机提现wrapper - 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: - // 司机消费记录 - balanceUsageRecords = balanceUsageRecordService.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); - // 消费 - balanceUsageRecords = balanceUsageRecordService.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"); - // 一次性查询所有用户信息 - Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) - .stream() - .collect(Collectors.toMap(TUser::getId, user -> user)); - Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) - .stream() - .collect(Collectors.toMap(TDriver::getId, user -> user)); - - // 查询已使用折扣总额 - 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 = userMap.get(tOrderPrivateCar.getUserId()); - if (tUser != null) { - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); - res.add(grantVO); - } - 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 = userMap.get(tOrderPrivateCar.getUserId()); - if (tUser != null) { - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); - res.add(grantVO); - } - // 查询已使用红包总额 - for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); - grantVO.setType("红包"); - if (userRedPacketRecord.getRedPacketMoney()==null){ - continue; - } - if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ - continue; - } - grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); - TUser tUser = userMap.get(userRedPacketRecord.getUserId()); - if (tUser != null) { - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); - res.add(grantVO); - redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); - } - for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); - grantVO.setType("红包"); - if (userRedPacketRecord.getRedPacketMoney()==null){ - continue; - } - if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ - continue; - } - grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); - TUser tUser = userMap.get(userRedPacketRecord.getUserId()); - if (tUser != null) { - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); - res.add(grantVO); - redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); - } - // 查询已领取优惠券总额 - for (TOrderPrivateCar userCouponRecord : userCouponRecords) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); - grantVO.setType("优惠券"); - grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); - TUser tUser = userMap.get(userCouponRecord.getUserId()); - if (tUser != null) { - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); - coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); - res.add(grantVO); - } - for (TOrderLogistics userCouponRecord : userCouponRecords1) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); - grantVO.setType("优惠券"); - grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); - TUser tUser = userMap.get(userCouponRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); - coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); - res.add(grantVO); - } - // 司机消费奖励 - for (BalanceUsageRecord balanceUsageRecord : balanceUsageRecords) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); - grantVO.setType("司机奖励"); - grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverMap.get(balanceUsageRecord.getDriverId()); - if (tUser!=null){ - grantVO.setName(tUser.getFirstName()+tUser.getLastName()); - } - switch (balanceUsageRecord.getPurpose()){ - case 1: - //打车支付 - grantVO.setRemark("余额支付"+"【打车支付】"); - break; - case 2: - grantVO.setRemark("余额支付"+"【包裹支付】"); - // 包裹支付 - break; - case 3: - grantVO.setRemark("余额支付"+"【日结算】"); - // 日结算 - break; - case 4: - grantVO.setRemark("余额支付"+"【周结算】"); - // 周结算 - break; - case 5: - grantVO.setRemark("余额支付"+"【月结算】"); - // 月结算 - break; - } - driverConsume = driverConsume.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); - res.add(grantVO); - } - // 司机提现 - for (TPubWithdrawal balanceUsageRecord : driverWithdrawal) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime())); - grantVO.setType("司机奖励"); - grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - - TDriver tUser = driverMap.get(balanceUsageRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getFirstName()+tUser.getLastName()); - } - grantVO.setRemark("司机提现"); - driverWithdrawal1 = driverWithdrawal1.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); - res.add(grantVO); - } - - - // 总额 - total = total.add(redPackage).add(coupon).add(discount).add(driverConsume).add(driverWithdrawal1); - // 已使用司机奖励合计 - driver = driverConsume.add(driverWithdrawal1); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // 对集合进行排序 - res.sort((a, b) -> { - LocalDateTime timeA = LocalDateTime.parse(a.getInsertTime(), formatter); - LocalDateTime timeB = LocalDateTime.parse(b.getInsertTime(), formatter); - return timeA.compareTo(timeB); - }); - return res; - } - - @RequestMapping(value = "/use/getCount") - @ResponseBody - public Object getCount1(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; - } - } - 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<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>(); - // 司机提现 - List<TPubWithdrawal> driverWithdrawal = new ArrayList<>(); - - Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>() - ; - // 专车wrapper - Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>() - ; - // 小件物流wrapper - Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>() - ; - // 已使用优惠券记录wrapper - Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>() - ; - Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>() - ; - // 已使用红包记录wrapper - Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>() - ; - Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>() - ; - // 司机已消费金额 - Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>() - ; - if (time == 5 && !StringUtils.hasLength(insertTime)){ - // 专车wrapper - between = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("activityId") - .isNotNull("discountMoney") + + 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 IBalanceUsageRecordService balanceUsageRecordService; + @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; + + public static void main(String[] args) { + String temp = "[{\"money\":14.46,\"id\":91},{\"money\":1,\"id\":90}]"; + JSONArray objects = JSONArray.parseArray(temp); + BigDecimal temp1 = new BigDecimal(BigInteger.ZERO); + for (int i = 0; i < objects.size(); i++) { + String string = objects.getJSONObject(i).getString("money"); + temp1 = temp1.add(new BigDecimal(string)); + } + System.err.println(temp1); + } + + /** + * 使用补贴统计 + */ + @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; + } + } + 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<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>(); + // 司机提现 + List<TPubWithdrawal> driverWithdrawal = new ArrayList<>(); + + Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>(); + // 专车wrapper + Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>(); + // 小件物流wrapper + Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>(); + // 已使用优惠券记录wrapper + Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>(); + Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>(); + // 已使用红包记录wrapper + Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>(); + Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>(); + // 司机已消费金额 + Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>(); + if (time == 5 && !StringUtils.hasLength(insertTime)) { + // 专车wrapper + between = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("activityId") + .isNotNull("discountMoney") + ; + + // 小件物流wrapper + between1 = new EntityWrapper<TOrderLogistics>() + .isNotNull("activityId") + .isNotNull("discountMoney") + ; + + // 已使用优惠券记录wrapper + between2 = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("couponId") + .isNotNull("couponMoney") + ; + + between22 = new EntityWrapper<TOrderLogistics>() + .isNotNull("couponId") + .isNotNull("couponMoney") + ; + + // 已使用红包记录wrapper + between3 = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") + ; + + between33 = new EntityWrapper<TOrderLogistics>() + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") + ; + + // 司机已消费金额 + between4 = new EntityWrapper<BalanceUsageRecord>() + .eq("type", 1) + .ne("purpose", 6) + ; + + // 司机提现 + driverWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("type", 1) + .eq("userType", 2) + ; + + ; + } else { + driverWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("type", 1) + .eq("userType", 2) + .between("insertTime", start, end); + // 专车wrapper + between = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 小件物流wrapper + between1 = new EntityWrapper<TOrderLogistics>() + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 已使用优惠券记录wrapper + between2 = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("couponId") + .isNotNull("couponMoney") + .between("insertTime", start, end); + between22 = new EntityWrapper<TOrderLogistics>() + .isNotNull("couponId") + .isNotNull("couponMoney") + .between("insertTime", start, end); + // 已使用红包记录wrapper + between3 = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") + .between("insertTime", start, end); + between33 = new EntityWrapper<TOrderLogistics>() + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") + .between("insertTime", start, end); + // 司机已消费金额 + between4 = new EntityWrapper<BalanceUsageRecord>() + .ne("purpose", 6) + .eq("type", 1) + .between("createTime", start, end); + + + } + // 司机提现wrapper + 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: + // 司机消费记录 + balanceUsageRecords = balanceUsageRecordService.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); + // 消费 + balanceUsageRecords = balanceUsageRecordService.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"); + // 一次性查询所有用户信息 + Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) + .stream() + .collect(Collectors.toMap(TUser::getId, user -> user)); + Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) + .stream() + .collect(Collectors.toMap(TDriver::getId, user -> user)); + + // 查询已使用折扣总额 + 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 = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + tOrderPrivateCar.getOrderNum()); + res.add(grantVO); + } + 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 = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + tOrderPrivateCar.getOrderNum()); + res.add(grantVO); + } + // 查询已使用红包总额 + for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + if (userRedPacketRecord.getRedPacketMoney() == null) { + continue; + } + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0")) == 0) { + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + userRedPacketRecord.getOrderNum()); + res.add(grantVO); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); + } + for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + if (userRedPacketRecord.getRedPacketMoney() == null) { + continue; + } + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0")) == 0) { + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + userRedPacketRecord.getOrderNum()); + res.add(grantVO); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); + } + // 查询已领取优惠券总额 + for (TOrderPrivateCar userCouponRecord : userCouponRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + UserCouponRecord userCouponRecord1 = userCouponRecordService.selectById(userCouponRecord.getCouponId()); + switch (userCouponRecord1.getCouponUseType()){ + case 0: + grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "通用 抵扣券" : "通用 满减券"); + break; + case 1: + grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "打车 抵扣券" : "打车 满减券"); + break; + case 4: + grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "包裹 抵扣券" : "包裹 满减券"); + break; + } + + grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + userCouponRecord.getOrderNum()); + coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); + res.add(grantVO); + } + for (TOrderLogistics userCouponRecord : userCouponRecords1) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + + UserCouponRecord userCouponRecord1 = userCouponRecordService.selectById(userCouponRecord.getCouponId()); + switch (userCouponRecord1.getCouponUseType()){ + case 0: + grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "通用 抵扣券" : "通用 满减券"); + break; + case 1: + grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "打车 抵扣券" : "打车 满减券"); + break; + case 4: + grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "包裹 抵扣券" : "包裹 满减券"); + break; + } + + grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + userCouponRecord.getOrderNum()); + coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); + res.add(grantVO); + } + // 司机消费奖励 + for (BalanceUsageRecord balanceUsageRecord : balanceUsageRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); + grantVO.setType("司机奖励"); + grantVO.setAmount(balanceUsageRecord.getMoney().toString()); + TDriver tUser = driverMap.get(balanceUsageRecord.getDriverId()); + if (tUser != null) { + grantVO.setName(tUser.getFirstName() + tUser.getLastName()); + } + switch (balanceUsageRecord.getPurpose()) { + case 1: + //打车支付 + grantVO.setRemark("余额支付" + "【打车支付】"); + break; + case 2: + grantVO.setRemark("余额支付" + "【包裹支付】"); + // 包裹支付 + break; + case 3: + grantVO.setRemark("余额支付" + "【日结算】"); + // 日结算 + break; + case 4: + grantVO.setRemark("余额支付" + "【周结算】"); + // 周结算 + break; + case 5: + grantVO.setRemark("余额支付" + "【月结算】"); + // 月结算 + break; + } + driverConsume = driverConsume.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); + res.add(grantVO); + } + // 司机提现 + for (TPubWithdrawal balanceUsageRecord : driverWithdrawal) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime())); + grantVO.setType("司机奖励"); + grantVO.setAmount(balanceUsageRecord.getMoney().toString()); + + TDriver tUser = driverMap.get(balanceUsageRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getFirstName() + tUser.getLastName()); + } + grantVO.setRemark("司机提现"); + driverWithdrawal1 = driverWithdrawal1.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); + res.add(grantVO); + } + + + // 总额 + total = total.add(redPackage).add(coupon).add(discount).add(driverConsume).add(driverWithdrawal1); + // 已使用司机奖励合计 + driver = driverConsume.add(driverWithdrawal1); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + // 对集合进行排序 + res.sort((a, b) -> { + LocalDateTime timeA = LocalDateTime.parse(a.getInsertTime(), formatter); + LocalDateTime timeB = LocalDateTime.parse(b.getInsertTime(), formatter); + return timeA.compareTo(timeB); + }); + return res; + } + + @RequestMapping(value = "/use/getCount") + @ResponseBody + public Object getCount1(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; + } + } + 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<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>(); + // 司机提现 + List<TPubWithdrawal> driverWithdrawal = new ArrayList<>(); + + Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>(); + // 专车wrapper + Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>(); + // 小件物流wrapper + Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>(); + // 已使用优惠券记录wrapper + Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>(); + Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>(); + // 已使用红包记录wrapper + Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>(); + Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>(); + // 司机已消费金额 + Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>(); + if (time == 5 && !StringUtils.hasLength(insertTime)) { + // 专车wrapper + between = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("activityId") + .isNotNull("discountMoney") // .between("insertTime", start, end) - ; - - // 小件物流wrapper - between1 = new EntityWrapper<TOrderLogistics>() - .isNotNull("activityId") - .isNotNull("discountMoney") + ; + + // 小件物流wrapper + between1 = new EntityWrapper<TOrderLogistics>() + .isNotNull("activityId") + .isNotNull("discountMoney") // .between("insertTime", start, end) - ; - - // 已使用优惠券记录wrapper - between2 = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("couponId") - .isNotNull("couponMoney") + ; + + // 已使用优惠券记录wrapper + between2 = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("couponId") + .isNotNull("couponMoney") // .between("insertTime", start, end) - ; - - between22 = new EntityWrapper<TOrderLogistics>() - .isNotNull("couponId") - .isNotNull("couponMoney") + ; + + between22 = new EntityWrapper<TOrderLogistics>() + .isNotNull("couponId") + .isNotNull("couponMoney") // .between("insertTime", start, end) - ; - - // 已使用红包记录wrapper - between3 = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("redPacketId") - .isNotNull("redPacketMoney") + ; + + // 已使用红包记录wrapper + between3 = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") // .between("insertTime", start, end) - ; - - between33 = new EntityWrapper<TOrderLogistics>() - .isNotNull("redPacketId") - .isNotNull("redPacketMoney") + ; + + between33 = new EntityWrapper<TOrderLogistics>() + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") // .between("insertTime", start, end) - ; - - // 司机已消费金额 - between4 = new EntityWrapper<BalanceUsageRecord>() - .eq("type",1) - .ne("purpose", 6) + ; + + // 司机已消费金额 + between4 = new EntityWrapper<BalanceUsageRecord>() + .eq("type", 1) + .ne("purpose", 6) // .between("createTime", start, end) - ; - - // 司机提现 - driverWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("type",1) - .eq("userType", 2) + ; + + // 司机提现 + driverWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("type", 1) + .eq("userType", 2) // .between("insertTime", start, end) - ; - - }else{ - driverWrapper = new EntityWrapper<TPubWithdrawal>() - .eq("state", 2) - .eq("type",1) - .eq("userType", 2) - .between("insertTime", start, end); - // 专车wrapper - between = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("activityId") - .isNotNull("discountMoney") - .between("insertTime", start, end); - // 小件物流wrapper - between1 = new EntityWrapper<TOrderLogistics>() - .isNotNull("activityId") - .isNotNull("discountMoney") - .between("insertTime", start, end); - // 已使用优惠券记录wrapper - between2 = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("couponId") - .isNotNull("couponMoney") - .between("insertTime", start, end); - between22 = new EntityWrapper<TOrderLogistics>() - .isNotNull("couponId") - .isNotNull("couponMoney") - .between("insertTime", start, end); - // 已使用红包记录wrapper - between3 = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("redPacketId") - .isNotNull("redPacketMoney") - .between("insertTime", start, end); - between33 = new EntityWrapper<TOrderLogistics>() - .isNotNull("redPacketId") - .isNotNull("redPacketMoney") - .between("insertTime", start, end); - // 司机已消费金额 - between4 = new EntityWrapper<BalanceUsageRecord>() - .ne("purpose", 6) - .eq("type",1) - .between("createTime", start, end); - - - } - // 司机提现wrapper - if (type!=null){ - switch (type){ + ; + + } else { + driverWrapper = new EntityWrapper<TPubWithdrawal>() + .eq("state", 2) + .eq("type", 1) + .eq("userType", 2) + .between("insertTime", start, end); + // 专车wrapper + between = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 小件物流wrapper + between1 = new EntityWrapper<TOrderLogistics>() + .isNotNull("activityId") + .isNotNull("discountMoney") + .between("insertTime", start, end); + // 已使用优惠券记录wrapper + between2 = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("couponId") + .isNotNull("couponMoney") + .between("insertTime", start, end); + between22 = new EntityWrapper<TOrderLogistics>() + .isNotNull("couponId") + .isNotNull("couponMoney") + .between("insertTime", start, end); + // 已使用红包记录wrapper + between3 = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") + .between("insertTime", start, end); + between33 = new EntityWrapper<TOrderLogistics>() + .isNotNull("redPacketId") + .isNotNull("redPacketMoney") + .between("insertTime", start, end); + // 司机已消费金额 + between4 = new EntityWrapper<BalanceUsageRecord>() + .ne("purpose", 6) + .eq("type", 1) + .between("createTime", start, end); + + + } + // 司机提现wrapper + 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: + // 司机消费记录 + balanceUsageRecords = balanceUsageRecordService.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); + // 消费 + balanceUsageRecords = balanceUsageRecordService.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"); + // 一次性查询所有用户信息 + Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) + .stream() + .collect(Collectors.toMap(TUser::getId, user -> user)); + Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) + .stream() + .collect(Collectors.toMap(TDriver::getId, user -> user)); + // 查询已使用折扣总额 + 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 = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + tOrderPrivateCar.getOrderNum()); + res.add(grantVO); + } + 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 = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + tOrderPrivateCar.getOrderNum()); + res.add(grantVO); + } + // 查询已使用红包总额 + for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + if (userRedPacketRecord.getRedPacketMoney() == null) { + continue; + } + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0")) == 0) { + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + userRedPacketRecord.getOrderNum()); + res.add(grantVO); + redPackage = redPackage.add(userRedPacketRecord.getRedPacketMoney()); + } + for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + if (userRedPacketRecord.getRedPacketMoney() == null) { + continue; + } + if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0")) == 0) { + continue; + } + grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + userRedPacketRecord.getOrderNum()); + res.add(grantVO); + redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); + } + // 查询已领取优惠券总额 + for (TOrderPrivateCar userCouponRecord : userCouponRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + grantVO.setType("优惠券"); + grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + userCouponRecord.getOrderNum()); + coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); + res.add(grantVO); + } + for (TOrderLogistics userCouponRecord : userCouponRecords1) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); + grantVO.setType("优惠券"); + grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + grantVO.setRemark("订单号:" + userCouponRecord.getOrderNum()); + coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); + res.add(grantVO); + } + // 司机消费奖励 + for (BalanceUsageRecord balanceUsageRecord : balanceUsageRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); + grantVO.setType("司机奖励"); + grantVO.setAmount(balanceUsageRecord.getMoney().toString()); + TDriver tUser = driverMap.get(balanceUsageRecord.getDriverId()); + + if (tUser != null) { + grantVO.setName(tUser.getFirstName() + tUser.getLastName()); + } + switch (balanceUsageRecord.getPurpose()) { + case 1: + //打车支付 + grantVO.setRemark("余额支付" + "【打车支付】"); + break; + case 2: + grantVO.setRemark("余额支付" + "【包裹支付】"); + // 包裹支付 + break; + case 3: + grantVO.setRemark("余额支付" + "【日结算】"); + // 日结算 + break; + case 4: + grantVO.setRemark("余额支付" + "【周结算】"); + // 周结算 + break; + case 5: + grantVO.setRemark("余额支付" + "【月结算】"); + // 月结算 + break; + } + driverConsume = driverConsume.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); + res.add(grantVO); + } + // 司机提现 + for (TPubWithdrawal balanceUsageRecord : driverWithdrawal) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime())); + grantVO.setType("司机奖励"); + grantVO.setAmount(balanceUsageRecord.getMoney().toString()); + TDriver tUser = driverMap.get(balanceUsageRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getFirstName() + tUser.getLastName()); + } + grantVO.setRemark("司机提现"); + driverWithdrawal1 = driverWithdrawal1.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); + res.add(grantVO); + } + + + // 总额 + total = total.add(redPackage).add(coupon).add(discount).add(driverConsume).add(driverWithdrawal1); + // 已使用司机奖励合计 + driver = driverConsume.add(driverWithdrawal1); + UseMoneyVO useMoneyVO = new UseMoneyVO(); + useMoneyVO.setTotal(total); + useMoneyVO.setDiscount(discount); + useMoneyVO.setRedPackage(redPackage); + useMoneyVO.setCoupon(coupon); + useMoneyVO.setDriver(driver); + useMoneyVO.setDriverWithdrawal(driverWithdrawal1); + useMoneyVO.setDriverConsume(driverConsume); + return useMoneyVO; + } + + @Autowired + private ISysRedPacketRecordService sysRedPacketRecordService; + + /** + * 发放补贴统计 + */ + @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; + } + } + + 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>(); + // 小件物流wrapper + Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>(); + // 优惠券领取记录wrapper + Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>(); + // 红包领取记录wrapper + Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>(); + // 司机奖励 + Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>(); + if (time == 5 && !StringUtils.hasLength(insertTime)) { + // 专车wrapper + between = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("discountMoney") + + ; + // 小件物流wrapper + between1 = new EntityWrapper<TOrderLogistics>() + + .isNotNull("discountMoney") + ; + // 优惠券领取记录wrapper + between2 = new EntityWrapper<UserCouponRecord>() + .ne("couponUseType", 2) + .ne("couponUseType", 3) + ; + // 红包领取记录wrapper + between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state", 0) + ; + // 司机奖励 + between4 = new EntityWrapper<DriverActivityHistory>() + .eq("carryOut", 2) + ; + } else { + // 专车wrapper + between = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("discountMoney") + .between("insertTime", start, end) + ; + // 小件物流wrapper + between1 = new EntityWrapper<TOrderLogistics>() + .between("insertTime", start, end) + .isNotNull("discountMoney") + ; + // 优惠券领取记录wrapper + between2 = new EntityWrapper<UserCouponRecord>() + .ne("couponUseType", 2) + .ne("couponUseType", 3) + .between("insertTime", start, end); + // 红包领取记录wrapper + between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state", 0) + .between("insertTime", start, end); + // 司机奖励 + 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"); + Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) + .stream() + .collect(Collectors.toMap(TUser::getId, user -> user)); + Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) + .stream() + .collect(Collectors.toMap(TDriver::getId, user -> user)); + Map<Integer, UserActivity> userActivityMap = userActivityService.selectList(new EntityWrapper<UserActivity>()) + .stream() + .collect(Collectors.toMap(UserActivity::getId, user -> user)); + Map<Integer, UserActivityDiscount1> userActivityDiscountMap = userActivityDiscount1Service.selectList(new EntityWrapper<UserActivityDiscount1>()) + .stream() + .collect(Collectors.toMap(UserActivityDiscount1::getId, user -> user)); + Map<Integer, UserActivityRedenvelope> userActivityRedenvelopeMap = userActivityRedenvelopeService.selectList(new EntityWrapper<UserActivityRedenvelope>()) + .stream() + .collect(Collectors.toMap(UserActivityRedenvelope::getId, user -> user)); + Map<Integer, SysCouponActivity> sysCouponActivityMap = sysCouponActivityService.selectList(new EntityWrapper<SysCouponActivity>()) + .stream() + .collect(Collectors.toMap(SysCouponActivity::getId, user -> user)); + // 查询已使用折扣总额 + for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { + if (tOrderPrivateCar.getDiscountMoney() == null || tOrderPrivateCar.getDiscountMoney() == 0) { + continue; + } + 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 = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1 != null) { + UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); + if (userActivity != null) { + grantVO.setRemark(userActivity.getName()); + } + } + res.add(grantVO); + } + for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { + if (tOrderPrivateCar.getDiscountMoney() == null || tOrderPrivateCar.getDiscountMoney() == 0) { + continue; + } + + 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 = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1 != null) { + UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); + if (userActivity != null) { + grantVO.setRemark(userActivity.getName()); + } + } + res.add(grantVO); + } + // 查询已领取红包总额 + for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + grantVO.setAmount(userRedPacketRecord.getMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + if (userRedPacketRecord.getIsGrant() == 1) { + // 后台发放的红包 + grantVO.setRemark("指定发放"); + } + + + UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeMap.get(userRedPacketRecord.getRedPacketActivityId()); + + if (userActivityRedenvelope != null) { + UserActivity userActivity = userActivityMap.get(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())); + switch (userCouponRecord.getCouponUseType()){ + case 0: + grantVO.setType(userCouponRecord.getCouponType() == 1 ? "通用 抵扣券" : "通用 满减券"); + break; case 1: - // 红包 - userRedPacketRecords = orderPrivateCarService.selectList(between3); - userRedPacketRecords1 = orderLogisticsService.selectList(between33); - break; - case 2: - userCouponRecords = orderPrivateCarService.selectList(between2); - userCouponRecords1 = orderLogisticsService.selectList(between22); - // 优惠券 - break; - case 3: - // 司机消费记录 - balanceUsageRecords = balanceUsageRecordService.selectList(between4); - driverWithdrawal = pubWithdrawalService.selectList(driverWrapper); + grantVO.setType(userCouponRecord.getCouponType() == 1 ? "打车 抵扣券" : "打车 满减券"); break; case 4: - // 专车订单 - tOrderPrivateCars = orderPrivateCarService.selectList(between); - // 小件物流订单 - tOrderLogistics = orderLogisticsService.selectList(between1); + grantVO.setType(userCouponRecord.getCouponType() == 1 ? "包裹 抵扣券" : "包裹 满减券"); 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); - // 消费 - balanceUsageRecords = balanceUsageRecordService.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"); - // 一次性查询所有用户信息 - Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) - .stream() - .collect(Collectors.toMap(TUser::getId, user -> user)); - Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) - .stream() - .collect(Collectors.toMap(TDriver::getId, user -> user)); - // 查询已使用折扣总额 - 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 = userMap.get(tOrderPrivateCar.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); - res.add(grantVO); - } - 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 = userMap.get(tOrderPrivateCar.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum()); - res.add(grantVO); - } - // 查询已使用红包总额 - for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); - grantVO.setType("红包"); - if (userRedPacketRecord.getRedPacketMoney()==null){ - continue; - } - if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ - continue; - } - grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); - TUser tUser = userMap.get(userRedPacketRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); - res.add(grantVO); - redPackage = redPackage.add(userRedPacketRecord.getRedPacketMoney()); - } - for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); - grantVO.setType("红包"); - if (userRedPacketRecord.getRedPacketMoney()==null){ - continue; - } - if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){ - continue; - } - grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString()); - TUser tUser = userMap.get(userRedPacketRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum()); - res.add(grantVO); - redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getRedPacketMoney().toString())); - } - // 查询已领取优惠券总额 - for (TOrderPrivateCar userCouponRecord : userCouponRecords) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); - grantVO.setType("优惠券"); - grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); - TUser tUser = userMap.get(userCouponRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); - coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); - res.add(grantVO); - } - for (TOrderLogistics userCouponRecord : userCouponRecords1) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime())); - grantVO.setType("优惠券"); - grantVO.setAmount(userCouponRecord.getCouponMoney().toString()); - TUser tUser = userMap.get(userCouponRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum()); - coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString())); - res.add(grantVO); - } - // 司机消费奖励 - for (BalanceUsageRecord balanceUsageRecord : balanceUsageRecords) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime())); - grantVO.setType("司机奖励"); - grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverMap.get(balanceUsageRecord.getDriverId()); - - if (tUser!=null){ - grantVO.setName(tUser.getFirstName()+tUser.getLastName()); - } - switch (balanceUsageRecord.getPurpose()){ - case 1: - //打车支付 - grantVO.setRemark("余额支付"+"【打车支付】"); - break; - case 2: - grantVO.setRemark("余额支付"+"【包裹支付】"); - // 包裹支付 - break; - case 3: - grantVO.setRemark("余额支付"+"【日结算】"); - // 日结算 - break; - case 4: - grantVO.setRemark("余额支付"+"【周结算】"); - // 周结算 - break; - case 5: - grantVO.setRemark("余额支付"+"【月结算】"); - // 月结算 - break; - } - driverConsume = driverConsume.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); - res.add(grantVO); - } - // 司机提现 - for (TPubWithdrawal balanceUsageRecord : driverWithdrawal) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(balanceUsageRecord.getInsertTime())); - grantVO.setType("司机奖励"); - grantVO.setAmount(balanceUsageRecord.getMoney().toString()); - TDriver tUser = driverMap.get(balanceUsageRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getFirstName()+tUser.getLastName()); - } - grantVO.setRemark("司机提现"); - driverWithdrawal1 = driverWithdrawal1.add(new BigDecimal(balanceUsageRecord.getMoney().toString())); - res.add(grantVO); - } - - - // 总额 - total = total.add(redPackage).add(coupon).add(discount).add(driverConsume).add(driverWithdrawal1); - // 已使用司机奖励合计 - driver = driverConsume.add(driverWithdrawal1); - UseMoneyVO useMoneyVO = new UseMoneyVO(); - useMoneyVO.setTotal(total); - useMoneyVO.setDiscount(discount); - useMoneyVO.setRedPackage(redPackage); - useMoneyVO.setCoupon(coupon); - useMoneyVO.setDriver(driver); - useMoneyVO.setDriverWithdrawal(driverWithdrawal1); - useMoneyVO.setDriverConsume(driverConsume); - return useMoneyVO; - } - - @Autowired - private ISysRedPacketRecordService sysRedPacketRecordService; - /** - * 发放补贴统计 - */ - @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; - } - } - - 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>() - - ; - // 小件物流wrapper - Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>() - - ; - // 优惠券领取记录wrapper - Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>() - ; - // 红包领取记录wrapper - Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>() - ; - // 司机奖励 - Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() - ; - if (time == 5 && !StringUtils.hasLength(insertTime)){ - // 专车wrapper - between = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("discountMoney") - - ; - // 小件物流wrapper - between1 = new EntityWrapper<TOrderLogistics>() - - .isNotNull("discountMoney") - ; - // 优惠券领取记录wrapper - between2 = new EntityWrapper<UserCouponRecord>() - .ne("couponUseType", 2) - .ne("couponUseType", 3) - ; - // 红包领取记录wrapper - between3 = new EntityWrapper<UserRedPacketRecord>() - .ne("state",0) - ; - // 司机奖励 - between4 = new EntityWrapper<DriverActivityHistory>() - .eq("carryOut", 2) - ; - }else{ - // 专车wrapper - between = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("discountMoney") - .between("insertTime", start, end) - ; - // 小件物流wrapper - between1 = new EntityWrapper<TOrderLogistics>() - .between("insertTime", start, end) - .isNotNull("discountMoney") - ; - // 优惠券领取记录wrapper - between2 = new EntityWrapper<UserCouponRecord>() - .ne("couponUseType", 2) - .ne("couponUseType", 3) - .between("insertTime", start, end); - // 红包领取记录wrapper - between3 = new EntityWrapper<UserRedPacketRecord>() - .ne("state",0) - .between("insertTime", start, end); - // 司机奖励 - 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"); - Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) - .stream() - .collect(Collectors.toMap(TUser::getId, user -> user)); - Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) - .stream() - .collect(Collectors.toMap(TDriver::getId, user -> user)); - Map<Integer, UserActivity> userActivityMap = userActivityService.selectList(new EntityWrapper<UserActivity>()) - .stream() - .collect(Collectors.toMap(UserActivity::getId, user -> user)); - Map<Integer, UserActivityDiscount1> userActivityDiscountMap = userActivityDiscount1Service.selectList(new EntityWrapper<UserActivityDiscount1>()) - .stream() - .collect(Collectors.toMap(UserActivityDiscount1::getId, user -> user)); - Map<Integer, UserActivityRedenvelope> userActivityRedenvelopeMap = userActivityRedenvelopeService.selectList(new EntityWrapper<UserActivityRedenvelope>()) - .stream() - .collect(Collectors.toMap(UserActivityRedenvelope::getId, user -> user)); - Map<Integer, SysCouponActivity> sysCouponActivityMap = sysCouponActivityService.selectList(new EntityWrapper<SysCouponActivity>()) - .stream() - .collect(Collectors.toMap(SysCouponActivity::getId, user -> user)); - // 查询已使用折扣总额 - for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { - if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ - continue; - } - 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 = userMap.get(tOrderPrivateCar.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); - if (userActivityDiscount1!=null){ - UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); - if (userActivity!=null){ - grantVO.setRemark(userActivity.getName()); - } - } - res.add(grantVO); - } - for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { - if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ - continue; - } - - 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 = userMap.get(tOrderPrivateCar.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); - if (userActivityDiscount1!=null){ - UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); - if (userActivity!=null){ - grantVO.setRemark(userActivity.getName()); - } - } - res.add(grantVO); - } - // 查询已领取红包总额 - for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); - grantVO.setType("红包"); - grantVO.setAmount(userRedPacketRecord.getMoney().toString()); - TUser tUser = userMap.get(userRedPacketRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - if (userRedPacketRecord.getIsGrant() == 1){ - // 后台发放的红包 - grantVO.setRemark("指定发放"); - } - - - UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeMap.get(userRedPacketRecord.getRedPacketActivityId()); - - if (userActivityRedenvelope!=null){ - UserActivity userActivity = userActivityMap.get(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 = userMap.get(userCouponRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - SysCouponActivity sysCouponActivity = sysCouponActivityMap.get(userCouponRecord.getCouponActivityId()); - - if (sysCouponActivity!=null){ - grantVO.setRemark(sysCouponActivity.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 = driverMap.get(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); - } - List<GrantVO> sortedList = res.stream() - .sorted((o1, o2) -> o2.getInsertTime().compareTo(o1.getInsertTime())) - .collect(Collectors.toList()); - total = total.add(redPackage).add(coupon).add(discount).add(driver); - return sortedList; - } - @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>() - - ; - // 小件物流wrapper - Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>() - - ; - // 优惠券领取记录wrapper - Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>() - ; - // 红包领取记录wrapper - Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>() - ; - // 司机奖励 - Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>() - ; - if (time == 5 && !StringUtils.hasLength(insertTime)){ - // 专车wrapper - between = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("discountMoney") - - ; - // 小件物流wrapper - between1 = new EntityWrapper<TOrderLogistics>() - - .isNotNull("discountMoney") - ; - // 优惠券领取记录wrapper - between2 = new EntityWrapper<UserCouponRecord>() - .ne("couponUseType", 2) - .ne("couponUseType", 3) - ; - // 红包领取记录wrapper - between3 = new EntityWrapper<UserRedPacketRecord>() - .ne("state",0) - ; - // 司机奖励 - between4 = new EntityWrapper<DriverActivityHistory>() - .eq("carryOut", 2) - ; - }else{ - // 专车wrapper - between = new EntityWrapper<TOrderPrivateCar>() - .isNotNull("discountMoney") - .between("insertTime", start, end) - ; - // 小件物流wrapper - between1 = new EntityWrapper<TOrderLogistics>() - .between("insertTime", start, end) - .isNotNull("discountMoney") - ; - // 优惠券领取记录wrapper - between2 = new EntityWrapper<UserCouponRecord>() - .ne("couponUseType", 2) - .ne("couponUseType", 3) - .between("insertTime", start, end); - // 红包领取记录wrapper - between3 = new EntityWrapper<UserRedPacketRecord>() - .ne("state",0) - .between("insertTime", start, end); - // 司机奖励 - 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"); - Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) - .stream() - .collect(Collectors.toMap(TUser::getId, user -> user)); - Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) - .stream() - .collect(Collectors.toMap(TDriver::getId, user -> user)); - Map<Integer, UserActivity> userActivityMap = userActivityService.selectList(new EntityWrapper<UserActivity>()) - .stream() - .collect(Collectors.toMap(UserActivity::getId, user -> user)); - Map<Integer, UserActivityDiscount1> userActivityDiscountMap = userActivityDiscount1Service.selectList(new EntityWrapper<UserActivityDiscount1>()) - .stream() - .collect(Collectors.toMap(UserActivityDiscount1::getId, user -> user)); - Map<Integer, UserActivityRedenvelope> userActivityRedenvelopeMap = userActivityRedenvelopeService.selectList(new EntityWrapper<UserActivityRedenvelope>()) - .stream() - .collect(Collectors.toMap(UserActivityRedenvelope::getId, user -> user)); - Map<Integer, SysCouponActivity> sysCouponActivityMap = sysCouponActivityService.selectList(new EntityWrapper<SysCouponActivity>()) - .stream() - .collect(Collectors.toMap(SysCouponActivity::getId, user -> user)); - // 查询已使用折扣总额 - for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { - if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ - continue; - } - 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 = userMap.get(tOrderPrivateCar.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); - if (userActivityDiscount1!=null){ - UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); - if (userActivity!=null){ - grantVO.setRemark(userActivity.getName()); - } - } - res.add(grantVO); - } - for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { - if (tOrderPrivateCar.getDiscountMoney()==null || tOrderPrivateCar.getDiscountMoney() == 0){ - continue; - } - - 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 = userMap.get(tOrderPrivateCar.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); - if (userActivityDiscount1!=null){ - UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); - if (userActivity!=null){ - grantVO.setRemark(userActivity.getName()); - } - } - res.add(grantVO); - } - // 查询已领取红包总额 - for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { - GrantVO grantVO = new GrantVO(); - grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); - grantVO.setType("红包"); - grantVO.setAmount(userRedPacketRecord.getMoney().toString()); - TUser tUser = userMap.get(userRedPacketRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - if (userRedPacketRecord.getIsGrant() == 1){ - // 后台发放的红包 - grantVO.setRemark("指定发放"); - } - - - UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeMap.get(userRedPacketRecord.getRedPacketActivityId()); - - if (userActivityRedenvelope!=null){ - UserActivity userActivity = userActivityMap.get(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 = userMap.get(userCouponRecord.getUserId()); - if (tUser!=null){ - grantVO.setName(tUser.getNickName()); - } - SysCouponActivity sysCouponActivity = sysCouponActivityMap.get(userCouponRecord.getCouponActivityId()); - - if (sysCouponActivity!=null){ - grantVO.setRemark(sysCouponActivity.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 = driverMap.get(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; - } + grantVO.setAmount(userCouponRecord.getMoney().toString()); + TUser tUser = userMap.get(userCouponRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + SysCouponActivity sysCouponActivity = sysCouponActivityMap.get(userCouponRecord.getCouponActivityId()); + + if (sysCouponActivity != null) { + grantVO.setRemark(sysCouponActivity.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 = driverMap.get(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); + } + List<GrantVO> sortedList = res.stream() + .sorted((o1, o2) -> o2.getInsertTime().compareTo(o1.getInsertTime())) + .collect(Collectors.toList()); + total = total.add(redPackage).add(coupon).add(discount).add(driver); + return sortedList; + } + + @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>(); + // 小件物流wrapper + Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>(); + // 优惠券领取记录wrapper + Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>(); + // 红包领取记录wrapper + Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>(); + // 司机奖励 + Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>(); + if (time == 5 && !StringUtils.hasLength(insertTime)) { + // 专车wrapper + between = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("discountMoney") + + ; + // 小件物流wrapper + between1 = new EntityWrapper<TOrderLogistics>() + + .isNotNull("discountMoney") + ; + // 优惠券领取记录wrapper + between2 = new EntityWrapper<UserCouponRecord>() + .ne("couponUseType", 2) + .ne("couponUseType", 3) + ; + // 红包领取记录wrapper + between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state", 0) + ; + // 司机奖励 + between4 = new EntityWrapper<DriverActivityHistory>() + .eq("carryOut", 2) + ; + } else { + // 专车wrapper + between = new EntityWrapper<TOrderPrivateCar>() + .isNotNull("discountMoney") + .between("insertTime", start, end) + ; + // 小件物流wrapper + between1 = new EntityWrapper<TOrderLogistics>() + .between("insertTime", start, end) + .isNotNull("discountMoney") + ; + // 优惠券领取记录wrapper + between2 = new EntityWrapper<UserCouponRecord>() + .ne("couponUseType", 2) + .ne("couponUseType", 3) + .between("insertTime", start, end); + // 红包领取记录wrapper + between3 = new EntityWrapper<UserRedPacketRecord>() + .ne("state", 0) + .between("insertTime", start, end); + // 司机奖励 + 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"); + Map<Integer, TUser> userMap = appUserService.selectList(new EntityWrapper<TUser>()) + .stream() + .collect(Collectors.toMap(TUser::getId, user -> user)); + Map<Integer, TDriver> driverMap = driverService.selectList(new EntityWrapper<TDriver>()) + .stream() + .collect(Collectors.toMap(TDriver::getId, user -> user)); + Map<Integer, UserActivity> userActivityMap = userActivityService.selectList(new EntityWrapper<UserActivity>()) + .stream() + .collect(Collectors.toMap(UserActivity::getId, user -> user)); + Map<Integer, UserActivityDiscount1> userActivityDiscountMap = userActivityDiscount1Service.selectList(new EntityWrapper<UserActivityDiscount1>()) + .stream() + .collect(Collectors.toMap(UserActivityDiscount1::getId, user -> user)); + Map<Integer, UserActivityRedenvelope> userActivityRedenvelopeMap = userActivityRedenvelopeService.selectList(new EntityWrapper<UserActivityRedenvelope>()) + .stream() + .collect(Collectors.toMap(UserActivityRedenvelope::getId, user -> user)); + Map<Integer, SysCouponActivity> sysCouponActivityMap = sysCouponActivityService.selectList(new EntityWrapper<SysCouponActivity>()) + .stream() + .collect(Collectors.toMap(SysCouponActivity::getId, user -> user)); + // 查询已使用折扣总额 + for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { + if (tOrderPrivateCar.getDiscountMoney() == null || tOrderPrivateCar.getDiscountMoney() == 0) { + continue; + } + 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 = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1 != null) { + UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); + if (userActivity != null) { + grantVO.setRemark(userActivity.getName()); + } + } + res.add(grantVO); + } + for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) { + if (tOrderPrivateCar.getDiscountMoney() == null || tOrderPrivateCar.getDiscountMoney() == 0) { + continue; + } + + 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 = userMap.get(tOrderPrivateCar.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + UserActivityDiscount1 userActivityDiscount1 = userActivityDiscountMap.get(tOrderPrivateCar.getActivityId()); + if (userActivityDiscount1 != null) { + UserActivity userActivity = userActivityMap.get(userActivityDiscount1.getUserActivityId()); + if (userActivity != null) { + grantVO.setRemark(userActivity.getName()); + } + } + res.add(grantVO); + } + // 查询已领取红包总额 + for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { + GrantVO grantVO = new GrantVO(); + grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime())); + grantVO.setType("红包"); + grantVO.setAmount(userRedPacketRecord.getMoney().toString()); + TUser tUser = userMap.get(userRedPacketRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + if (userRedPacketRecord.getIsGrant() == 1) { + // 后台发放的红包 + grantVO.setRemark("指定发放"); + } + + + UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeMap.get(userRedPacketRecord.getRedPacketActivityId()); + + if (userActivityRedenvelope != null) { + UserActivity userActivity = userActivityMap.get(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 = userMap.get(userCouponRecord.getUserId()); + if (tUser != null) { + grantVO.setName(tUser.getNickName()); + } + SysCouponActivity sysCouponActivity = sysCouponActivityMap.get(userCouponRecord.getCouponActivityId()); + + if (sysCouponActivity != null) { + grantVO.setRemark(sysCouponActivity.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 = driverMap.get(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/dao/mapping/TCompanyMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml index 6efaa98..933185d 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml @@ -296,9 +296,9 @@ group by DATE_FORMAT(travelTime, '%Y-%m-%d') union all - select DATE_FORMAT(insertTime, '%Y-%m-%d'), 0, 0, 0, 0, count(id), 0, sum(money), 0 from t_order_cancel where orderType = 1 + select DATE_FORMAT(insertTime, '%Y-%m-%d'), 0, 0, 0, 0, count(id), 0, sum(money), 0 from t_income where orderType = 1 and userType = 1 and type = 3 <if test="null != companyId"> - and orderId in (select id from t_order_private_car where isDelete = 1 and companyId = #{companyId} and state = 10) + and incomeId = #{companyId} </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(insertTime, '%Y-%m-%d') between #{start} and #{end} @@ -339,9 +339,9 @@ </if> group by DATE_FORMAT(travelTime, '%Y-%m-%d') union all - select DATE_FORMAT(insertTime, '%Y-%m-%d'), 0, 0, 0, 0, count(id), 0, sum(money), 0 from t_order_cancel where orderType = 4 + select DATE_FORMAT(insertTime, '%Y-%m-%d'), 0, 0, 0, 0, count(id), 0, sum(money), 0 from t_income where orderType = 4 and userType = 1 and type = 3 <if test="null != companyId"> - and orderId in (select id from t_order_logistics where isDelete = 1 and companyId = #{companyId} and state = 10) + and objectId = #{companyId} </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(insertTime, '%Y-%m-%d') between #{start} and #{end} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml index a345f76..1a6338f 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml @@ -207,7 +207,7 @@ <!--查询所有总交易金额--> <select id="getAllTradeMoney" resultType="java.lang.Double"> - SELECT IFNULL(SUM(num),0) as value FROM ( + SELECT ROUND(IFNULL(SUM(num),0), 2) as value FROM ( (SELECT IFNULL(SUM(payMoney),0) as num FROM t_order_taxi where FIND_IN_SET(state,'8,9') <if test="companyId != null and companyId != ''"> and companyId = #{companyId} @@ -243,12 +243,34 @@ AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> ) + union all + select IFNULL(SUM(money),0) as num from t_order_cancel where state = 2 + <if test="companyId != null and companyId != ''"> + and ( + if(orderType = 1, orderId in (select id from t_order_private_car where state = 10 and companyId = #{companyId}), + orderId in (select id from t_order_logistics where state = 10 and companyId = #{companyId})) + ) + </if> + <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> + AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) + </if> + union all + select IFNULL(SUM(money),0) as num from t_reassign where state in (2, 3) + <if test="companyId != null and companyId != ''"> + and ( + if(orderType = 1, orderId in (select id from t_order_private_car where state = 10 and companyId = #{companyId}), + orderId in (select id from t_order_logistics where state = 10 and companyId = #{companyId})) + ) + </if> + <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> + AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) + </if> ) as o </select> <!--查询所有总收益--> <select id="getAllIncomeMoney" resultType="java.lang.Double"> - SELECT IFNULL(SUM(money),0) as value FROM t_income where userType = 1 + SELECT ROUND(IFNULL(SUM(money),0), 2) as value FROM t_income where userType = 1 <if test="companyId != null and companyId != ''"> and objectId = #{companyId} </if> diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReportLossMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReportLossMapper.xml index ab7a530..50fba08 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReportLossMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReportLossMapper.xml @@ -24,7 +24,13 @@ </sql> <select id="getReportLossList" resultType="java.util.Map"> - select t1.*,t2.nickName,t2.phone ,t3.phone as handleUser from t_report_loss t1 left join t_user t2 on t1.userId = t2.id left join sys_user t3 on t1.handleUserId =t3.id + select t1.*, + t2.nickName, + t2.phone , + t3.phone as handleUser + from t_report_loss t1 + left join t_user t2 on t1.userId = t2.id + left join sys_user t3 on t1.handleUserId =t3.id <where> t1.state !=3 <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml index ee06215..d742bb3 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml @@ -383,7 +383,7 @@ left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> - where activityType = #{type} + where a.activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> @@ -408,7 +408,7 @@ sum(aa.receiveMoney) as useMoney from ( select - DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, + DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney @@ -430,12 +430,12 @@ and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> - and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} + and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> - GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId + GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time <if test="2 == type"> @@ -468,6 +468,37 @@ and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId + ) as aa GROUP BY aa.time + + union all + + select + aa.time, + 0, + 0, + 0, + count(aa.userId) as usePeople, + sum(aa.receive) as `use`, + sum(aa.receiveMoney) as useMoney + from ( + select + DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, + a.userId, + count(a.id) as receive, + sum(a.money) as receiveMoney + from t_user_coupon_record a + left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) + where a.activityType = 1 and a.state = 2 + <if test="null != name and '' != name"> + and b.`name` like CONCAT('%', #{name}, '%') + </if> + <if test="null != start and '' != start and null != end and '' != end"> + and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} + </if> + <if test="null != companyId"> + and b.companyId = #{companyId} + </if> + GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time </if> ) as da GROUP BY da.time order by da.time desc @@ -534,7 +565,7 @@ sum(aa.receiveMoney) as useMoney from ( select - DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, + DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney @@ -556,12 +587,12 @@ and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> - and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} + and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> - GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId + GROUP BY DATE_FORMAT(endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time <if test="2 == type"> @@ -595,6 +626,37 @@ </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time + + union all + + select + aa.time, + 0, + 0, + 0, + count(aa.userId) as usePeople, + sum(aa.receive) as `use`, + sum(aa.receiveMoney) as useMoney + from ( + select + DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, + a.userId, + count(a.id) as receive, + sum(a.money) as receiveMoney + from t_user_coupon_record a + left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) + where a.activityType = 1 and a.state = 2 + <if test="null != name and '' != name"> + and b.`name` like CONCAT('%', #{name}, '%') + </if> + <if test="null != start and '' != start and null != end and '' != end"> + and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} + </if> + <if test="null != companyId"> + and b.companyId = #{companyId} + </if> + GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId + ) as aa GROUP BY aa.time </if> ) as da GROUP BY da.time ) as w diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java index eebc399..b8dba17 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java @@ -44,8 +44,18 @@ /** * 运价类型说明 */ - @TableField("fareTypeNote") - private String fareTypeNote; + @TableField("fareTypeNoteChinese") + private String fareTypeNoteChinese; + /** + * 运价类型说明 + */ + @TableField("fareTypeNoteEnglish") + private String fareTypeNoteEnglish; + /** + * 运价类型说明 + */ + @TableField("fareTypeNoteFrench") + private String fareTypeNoteFrench; /** * 状态(1=正常,2=冻结,3=删除) */ @@ -98,15 +108,31 @@ public void setContent(String content) { this.content = content; } - - public String getFareTypeNote() { - return fareTypeNote; + + public String getFareTypeNoteChinese() { + return fareTypeNoteChinese; } - - public void setFareTypeNote(String fareTypeNote) { - this.fareTypeNote = fareTypeNote; + + public void setFareTypeNoteChinese(String fareTypeNoteChinese) { + this.fareTypeNoteChinese = fareTypeNoteChinese; } - + + public String getFareTypeNoteEnglish() { + return fareTypeNoteEnglish; + } + + public void setFareTypeNoteEnglish(String fareTypeNoteEnglish) { + this.fareTypeNoteEnglish = fareTypeNoteEnglish; + } + + public String getFareTypeNoteFrench() { + return fareTypeNoteFrench; + } + + public void setFareTypeNoteFrench(String fareTypeNoteFrench) { + this.fareTypeNoteFrench = fareTypeNoteFrench; + } + @Override protected Serializable pkVal() { return this.id; @@ -120,7 +146,6 @@ ", companyId=" + companyId + ", serverCarModelId=" + serverCarModelId + ", content='" + content + '\'' + - ", fareTypeNote='" + fareTypeNote + '\'' + ", state=" + state + '}'; } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java index a2e0dd8..5785b94 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java @@ -52,7 +52,7 @@ gmailssl(props); final String username = "i-gotech@i-go.group";// gmail 邮箱 - final String password = "rvbmuovvpocmhast";// Google应用专用密码 + final String password = "mbhyptngnvlewdxo";// Google应用专用密码 Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { diff --git a/ManagementIGOTravel/guns-admin/src/main/resources/application.yml b/ManagementIGOTravel/guns-admin/src/main/resources/application.yml index 361a9d9..0fda6ec 100644 --- a/ManagementIGOTravel/guns-admin/src/main/resources/application.yml +++ b/ManagementIGOTravel/guns-admin/src/main/resources/application.yml @@ -1,115 +1,3 @@ -server: - port: 8010 - -guns: - swagger-open: false #是否开启swagger (true/false) - kaptcha-open: false #是否开启登录时验证码 (true/false) - spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false) - session-invalidate-time: 1800 #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒 - session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 - # file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录) - # picture-server-address: http://192.168.0.43/resources/ #图片服务器地址 - file-upload-path: C:\Users\Administrator\Desktop\apache-tomcat-8.0.33\webapps\ROOT\upload\ #文件上传目录(不配置的话为java.io.tmpdir目录) - picture-server-address: http://139.9.249.67:8080/upload/ #图片服务器地址 - rest-url: http://139.9.249.67:8080/rest/ #前端接口调用基础路径 - spring: - mvc: - static-path-pattern: /static/** - view: - prefix: /WEB-INF/view - devtools: - restart: - enabled: false - additional-paths: src/main/java - exclude: static/**,WEB-INF/view/** - servlet: - multipart: - max-request-size: 100MB - max-file-size: 100MB profiles: - active: dev - -mybatis-plus: - type-aliases-package: com.stylefeng.guns.modular.system.model - global-config: - id-type: 0 #0:数据库ID自增 1:用户输入id 2:全局唯一id(IdWorker) 3:全局唯一ID(uuid) - db-column-underline: false - configuration: - configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射 - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #输出Sql,如需打印Sql注释该配置 - - ---- - -spring: - datasource: - url: jdbc:mysql://34.35.60.126:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 - username: xiwang - password: HjKbXilb9zajmXbl - db-name: igotravel #用来搜集数据库的所有表 - filters: wall,mergeStat - - -#多数据源情况的配置 -guns: - muti-datasource: - open: false - url: jdbc:mysql://34.35.60.126:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 - username: xiwang - password: HjKbXilb9zajmXbl - dataSourceNames: - - dataSourceGuns - - dataSourceBiz - - ---- - -filePath: d:/orderPostionFile/ #存储订单轨迹文件路径 - -#quartz配置 -spring: - quartz: - properties: - org: - quartz: - scheduler: - instanceName: MyDefaultQuartzScheduler - instanceId: AUTO - jobStore: - class: org.quartz.impl.jdbcjobstore.JobStoreTX - driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate - tablePrefix: qrtz_ - isClustered: false - clusterCheckinInterval: 10000 - useProperties: false - threadPool: - class: org.quartz.simpl.SimpleThreadPool - threadCount: 10 - threadPriority: 5 - threadsInheritContextClassLoaderOfInitializingThread: true - job-store-type: jdbc - ---- - -spring: - mail: - host: smtp.gmail.com # 配置 smtp 服务器地址 - port: 465 # smtp 服务器的端口 - username: i-gotech@i-go.group # 配置邮箱用户名(你的邮箱地址) - password: mhizkqkhuknbitps # 配置申请到的授权码(刚让复制的授权码) - default-encoding: UTF-8 # 配置邮件编码 - properties: - mail: - smtp: - socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 - debug: true - from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 - template-path: /home/igotechgh/nginx/html/mailbox/ - ---- -#支付回调地址 -#测试环境 -callbackPath: http://182.160.16.251:8010 - ---- \ No newline at end of file + active: "@spring.active@" diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html index d4ecf32..87b3114 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html @@ -22,11 +22,23 @@ </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"> - <textarea class="form-control" id="fareTypeNote" name="fareTypeNote" style="height: 100px;"></textarea> + <textarea class="form-control" id="fareTypeNoteChinese" name="fareTypeNoteChinese" style="height: 100px;"></textarea> </div> </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(英文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteEnglish" name="fareTypeNoteEnglish" style="height: 100px;"></textarea> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(法文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteFrench" name="fareTypeNoteFrench" style="height: 100px;"></textarea> + </div> + </div> <div class="form-group"> <label class="col-sm-2 control-label">起步价设置:</label> <div class="col-sm-10"> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_edit.html index 708d0c8..215e55d 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_edit.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_edit.html @@ -21,12 +21,24 @@ </select> </div> </div> - <div class="form-group"> - <label class="col-sm-2 control-label">运价类型说明:</label> - <div class="col-sm-10"> - <textarea class="form-control" id="fareTypeNote" name="fareTypeNote" style="height: 100px;">${item.fareTypeNote}</textarea> - </div> - </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(中文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteChinese" name="fareTypeNoteChinese" style="height: 100px;">${item.fareTypeNoteChinese}</textarea> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(英文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteEnglish" name="fareTypeNoteEnglish" style="height: 100px;">${item.fareTypeNoteEnglish}</textarea> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(法文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteFrench" name="fareTypeNoteFrench" style="height: 100px;">${item.fareTypeNoteFrench}</textarea> + </div> + </div> <div class="form-group"> <label class="col-sm-2 control-label">起步价设置:</label> <div class="col-sm-10"> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html index d6685be..12eba0a 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html @@ -21,12 +21,24 @@ </select> </div> </div> - <div class="form-group"> - <label class="col-sm-2 control-label">运价类型说明:</label> - <div class="col-sm-10"> - <textarea class="form-control" id="fareTypeNote" name="fareTypeNote" style="height: 100px;"></textarea> - </div> - </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(中文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteChinese" name="fareTypeNoteChinese" style="height: 100px;"></textarea> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(英文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteEnglish" name="fareTypeNoteEnglish" style="height: 100px;"></textarea> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(法文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteFrench" name="fareTypeNoteFrench" style="height: 100px;"></textarea> + </div> + </div> <div class="form-group"> <label class="col-sm-2 control-label">起步价设置:</label> <div class="col-sm-10"> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html index a90b561..a017561 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html @@ -21,12 +21,24 @@ </select> </div> </div> - <div class="form-group"> - <label class="col-sm-2 control-label">运价类型说明:</label> - <div class="col-sm-10"> - <textarea class="form-control" id="fareTypeNote" name="fareTypeNote" style="height: 100px;">${item.fareTypeNote}</textarea> - </div> - </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(中文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteChinese" name="fareTypeNoteChinese" style="height: 100px;">${item.fareTypeNoteChinese}</textarea> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(英文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteEnglish" name="fareTypeNoteEnglish" style="height: 100px;">${item.fareTypeNoteEnglish}</textarea> + </div> + </div> + <div class="form-group"> + <label class="col-sm-2 control-label">运价类型说明(法文):</label> + <div class="col-sm-10"> + <textarea class="form-control" id="fareTypeNoteFrench" name="fareTypeNoteFrench" style="height: 100px;">${item.fareTypeNoteFrench}</textarea> + </div> + </div> <div class="form-group"> <label class="col-sm-2 control-label">起步价设置:</label> <div class="col-sm-10"> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/report/operationalData.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/report/operationalData.js index cce8d43..a1728f8 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/report/operationalData.js +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/report/operationalData.js @@ -27,7 +27,7 @@ {title: '乘客取消数量', field: 'cancelNum', visible: true, align: 'center', valign: 'middle'}, {title: '取消占比%', field: 'cancelProportion', visible: true, align: 'center', valign: 'middle'}, {title: '通过平台支付(单)', field: 'onlinePay', visible: true, align: 'center', valign: 'middle'}, - {title: '通过其它支付(单)', field: 'offlinePay', visible: true, align: 'center', valign: 'middle'}, + {title: '通过现金支付(单)', field: 'offlinePay', visible: true, align: 'center', valign: 'middle'}, {title: '合计', field: 'total', visible: true, align: 'center', valign: 'middle'}, {title: '平台支付占比%', field: 'payProportion', visible: true, align: 'center', valign: 'middle'}, {title: '金额', field: 'money', visible: true, align: 'center', valign: 'middle'}, diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tReportLoss/tReportLoss.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tReportLoss/tReportLoss.js index 26fcfa2..90c10be 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tReportLoss/tReportLoss.js +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tReportLoss/tReportLoss.js @@ -90,14 +90,14 @@ layer.open({ type: 1 , title: '' - , area: ['30%', '30%'] + , area: ["400px", '300px'] , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset , id: 'layerDemo' //防止重复弹出cge , content: '<div class="form-horizontal">' + ' <div class="col-sm-11" style="margin-top: 30px">' + ' <div class="col-sm-11">' + ' <div class="form-group">\n' + - ' <label class="col-sm-3 control-label">备注:</label>\n' + + ' <label class="col-sm-3 control-label">回复内容:</label>\n' + ' <div class="col-sm-9">\n' + ' <textarea id="info" style="height: 150px;width: 250px" placeholder="多行输入,最多500字" maxlength="500"></textarea>\n' + ' </div>\n' + diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSmallPrice_info.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSmallPrice_info.js index a61c8c2..3cb33a2 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSmallPrice_info.js +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSmallPrice_info.js @@ -11,10 +11,24 @@ } } }, - fareTypeNote: { + fareTypeNoteChinese: { validators: { notEmpty: { - message: '运价类型说明不能为空' + message: '运价类型说明(中文)不能为空' + } + } + }, + fareTypeNoteEnglish: { + validators: { + notEmpty: { + message: '运价类型说明(英文)不能为空' + } + } + }, + fareTypeNoteFrench: { + validators: { + notEmpty: { + message: '运价类型说明(法文)不能为空' } } }, @@ -392,7 +406,9 @@ .set('type') .set('companyId') .set('serverCarModelId') - .set('fareTypeNote') + .set('fareTypeNoteChinese') + .set('fareTypeNoteEnglish') + .set('fareTypeNoteFrench') .set('content'); } diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js index 141b4fa..a895f56 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js @@ -11,10 +11,24 @@ } } }, - fareTypeNote: { + fareTypeNoteChinese: { validators: { notEmpty: { - message: '运价类型说明不能为空' + message: '运价类型说明(中文)不能为空' + } + } + }, + fareTypeNoteEnglish: { + validators: { + notEmpty: { + message: '运价类型说明(英文)不能为空' + } + } + }, + fareTypeNoteFrench: { + validators: { + notEmpty: { + message: '运价类型说明(法文)不能为空' } } }, @@ -392,7 +406,9 @@ .set('type') .set('companyId') .set('serverCarModelId') - .set('fareTypeNote') + .set('fareTypeNoteChinese') + .set('fareTypeNoteEnglish') + .set('fareTypeNoteFrench') .set('content'); } -- Gitblit v1.7.1