From b1f2f102034b4433201225b67a9fc78c08e532f0 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 06 六月 2025 18:35:03 +0800
Subject: [PATCH] 修改bug和管理后台报表

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java |  151 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 108 insertions(+), 43 deletions(-)

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 81da78f..6ccb928 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
@@ -1,18 +1,13 @@
 package com.stylefeng.guns.modular.system.controller;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
-import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.core.base.controller.BaseController;
-import com.stylefeng.guns.core.common.constant.factory.PageFactory;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.vo.GrantMoneyVO;
 import com.stylefeng.guns.modular.system.vo.GrantVO;
-import com.stylefeng.guns.modular.system.vo.PlatformVO;
 import com.stylefeng.guns.modular.system.vo.UseMoneyVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -21,15 +16,14 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
-import java.math.BigInteger;
 import java.text.SimpleDateFormat;
 import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -43,17 +37,6 @@
 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
@@ -94,16 +77,28 @@
 	private ISysCouponRecordService sysCouponRecordService;
 	@Autowired
 	private IUserActivityDiscount1Service userActivityDiscount1Service;
+	@Autowired
+	private ISysRedPacketRecordService sysRedPacketRecordService;
 	
-	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);
+	@Autowired
+	private ITCompanyService companyService;
+	
+	@Autowired
+	private IDriverActivityService driverActivityService;
+
+	
+	@RequestMapping("/grant")
+	public String index(Model model) {
+		List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
+		model.addAttribute("company", tCompanies);
+		return PREFIX + "grant.html";
+	}
+	
+	@RequestMapping("/use")
+	public String watter(Model model) {
+		List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
+		model.addAttribute("company", tCompanies);
+		return PREFIX + "use.html";
 	}
 	
 	/**
@@ -111,7 +106,7 @@
 	 */
 	@RequestMapping(value = "/use/list")
 	@ResponseBody
-	public Object list1(Integer time, String insertTime, Integer type) {
+	public Object list1(Integer time, String insertTime, Integer type, Integer company) {
 		if (time == null) {
 			time = 1;
 		}
@@ -202,51 +197,65 @@
 		Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>();
 		// 司机已消费金额
 		Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>();
+		List<Integer> collect = new ArrayList<>();
+		if(null != company){
+			List<TDriver> driverActivities = driverService.selectList(new EntityWrapper<TDriver>().eq("companyId", company));
+			collect = driverActivities.stream().map(TDriver::getId).collect(Collectors.toList());
+			collect.add(0);
+		}
 		if (time == 5 && !StringUtils.hasLength(insertTime)) {
 			// 专车wrapper
 			between = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("activityId")
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 			;
 			
 			// 小件物流wrapper
 			between1 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("activityId")
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 			;
 			
 			// 已使用优惠券记录wrapper
 			between2 = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("couponId")
 					.isNotNull("couponMoney")
+					.eq(null != company, "companyId", company)
 			;
 			
 			between22 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("couponId")
 					.isNotNull("couponMoney")
+					.eq(null != company, "companyId", company)
 			;
 			
 			// 已使用红包记录wrapper
 			between3 = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("redPacketId")
 					.isNotNull("redPacketMoney")
+					.eq(null != company, "companyId", company)
 			;
 			
 			between33 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("redPacketId")
 					.isNotNull("redPacketMoney")
+					.eq(null != company, "companyId", company)
 			;
 			
 			// 司机已消费金额
 			between4 = new EntityWrapper<BalanceUsageRecord>()
 					.eq("type", 1)
 					.ne("purpose", 6)
+					.in(!collect.isEmpty(), "driverId", collect)
 			;
 			
 			// 司机提现
 			driverWrapper = new EntityWrapper<TPubWithdrawal>()
 					.eq("state", 2)
 					.eq("type", 1)
+					.in(!collect.isEmpty(), "userId", collect)
 					.eq("userType", 2)
 			;
 			
@@ -256,39 +265,47 @@
 					.eq("state", 2)
 					.eq("type", 1)
 					.eq("userType", 2)
+					.in(!collect.isEmpty(), "userId", collect)
 					.between("insertTime", start, end);
 			// 专车wrapper
 			between = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("activityId")
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 小件物流wrapper
 			between1 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("activityId")
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 已使用优惠券记录wrapper
 			between2 = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("couponId")
 					.isNotNull("couponMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			between22 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("couponId")
 					.isNotNull("couponMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 已使用红包记录wrapper
 			between3 = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("redPacketId")
 					.isNotNull("redPacketMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			between33 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("redPacketId")
 					.isNotNull("redPacketMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 司机已消费金额
 			between4 = new EntityWrapper<BalanceUsageRecord>()
 					.ne("purpose", 6)
 					.eq("type", 1)
+					.in(!collect.isEmpty(), "driverId", collect)
 					.between("createTime", start, end);
 			
 			
@@ -543,7 +560,7 @@
 	
 	@RequestMapping(value = "/use/getCount")
 	@ResponseBody
-	public Object getCount1(Integer time, String insertTime, Integer type) {
+	public Object getCount1(Integer time, String insertTime, Integer type, Integer company) {
 		if (time == null) {
 			time = 1;
 		}
@@ -634,11 +651,18 @@
 		Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>();
 		// 司机已消费金额
 		Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>();
+		List<Integer> collect = new ArrayList<>();
+		if(null != company){
+			List<TDriver> driverActivities = driverService.selectList(new EntityWrapper<TDriver>().eq("companyId", company));
+			collect = driverActivities.stream().map(TDriver::getId).collect(Collectors.toList());
+			collect.add(0);
+		}
 		if (time == 5 && !StringUtils.hasLength(insertTime)) {
 			// 专车wrapper
 			between = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("activityId")
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 //                    .between("insertTime", start, end)
 			;
 			
@@ -646,6 +670,7 @@
 			between1 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("activityId")
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 //                    .between("insertTime", start, end)
 			;
 			
@@ -653,12 +678,14 @@
 			between2 = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("couponId")
 					.isNotNull("couponMoney")
+					.eq(null != company, "companyId", company)
 //                    .between("insertTime", start, end)
 			;
 			
 			between22 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("couponId")
 					.isNotNull("couponMoney")
+					.eq(null != company, "companyId", company)
 //                    .between("insertTime", start, end)
 			;
 			
@@ -666,12 +693,14 @@
 			between3 = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("redPacketId")
 					.isNotNull("redPacketMoney")
+					.eq(null != company, "companyId", company)
 //                    .between("insertTime", start, end)
 			;
 			
 			between33 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("redPacketId")
 					.isNotNull("redPacketMoney")
+					.eq(null != company, "companyId", company)
 //                    .between("insertTime", start, end)
 			;
 			
@@ -679,6 +708,7 @@
 			between4 = new EntityWrapper<BalanceUsageRecord>()
 					.eq("type", 1)
 					.ne("purpose", 6)
+					.in(!collect.isEmpty(), "driverId", collect)
 //                    .between("createTime", start, end)
 			;
 			
@@ -687,6 +717,7 @@
 					.eq("state", 2)
 					.eq("type", 1)
 					.eq("userType", 2)
+					.in(!collect.isEmpty(), "userId", collect)
 //                    .between("insertTime", start, end)
 			;
 			
@@ -695,39 +726,47 @@
 					.eq("state", 2)
 					.eq("type", 1)
 					.eq("userType", 2)
+					.in(!collect.isEmpty(), "userId", collect)
 					.between("insertTime", start, end);
 			// 专车wrapper
 			between = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("activityId")
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 小件物流wrapper
 			between1 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("activityId")
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 已使用优惠券记录wrapper
 			between2 = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("couponId")
 					.isNotNull("couponMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			between22 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("couponId")
 					.isNotNull("couponMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 已使用红包记录wrapper
 			between3 = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("redPacketId")
 					.isNotNull("redPacketMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			between33 = new EntityWrapper<TOrderLogistics>()
 					.isNotNull("redPacketId")
 					.isNotNull("redPacketMoney")
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 司机已消费金额
 			between4 = new EntityWrapper<BalanceUsageRecord>()
 					.ne("purpose", 6)
 					.eq("type", 1)
+					.in(!collect.isEmpty(), "driverId", collect)
 					.between("createTime", start, end);
 			
 			
@@ -955,15 +994,12 @@
 		return useMoneyVO;
 	}
 	
-	@Autowired
-	private ISysRedPacketRecordService sysRedPacketRecordService;
-	
 	/**
 	 * 发放补贴统计
 	 */
 	@RequestMapping(value = "/grant/list")
 	@ResponseBody
-	public Object list(Integer time, String insertTime, Integer type) {
+	public Object list(Integer time, String insertTime, Integer type, Integer company) {
 		if (time == null) {
 			time = 1;
 		}
@@ -1047,53 +1083,66 @@
 		Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>();
 		// 司机奖励
 		Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>();
+		List<Integer> collect = new ArrayList<>();
+		if(null != company){
+			List<DriverActivity> driverActivities = driverActivityService.selectList(new EntityWrapper<DriverActivity>().eq("companyId", company).eq("status", 3));
+			collect = driverActivities.stream().map(DriverActivity::getId).collect(Collectors.toList());
+			collect.add(0);
+		}
+		
 		if (time == 5 && !StringUtils.hasLength(insertTime)) {
 			// 专车wrapper
 			between = new EntityWrapper<TOrderPrivateCar>()
-					.isNotNull("discountMoney")
+					.isNotNull("discountMoney").eq(null != company, "companyId", company)
 			
 			;
 			// 小件物流wrapper
 			between1 = new EntityWrapper<TOrderLogistics>()
 					
-					.isNotNull("discountMoney")
+					.isNotNull("discountMoney").eq(null != company, "companyId", company)
 			;
 			// 优惠券领取记录wrapper
 			between2 = new EntityWrapper<UserCouponRecord>()
 					.ne("couponUseType", 2)
 					.ne("couponUseType", 3)
+					.eq(null != company, "companyId", company)
 			;
 			// 红包领取记录wrapper
 			between3 = new EntityWrapper<UserRedPacketRecord>()
 					.ne("state", 0)
+					.eq(null != company, "companyId", company)
 			;
 			// 司机奖励
 			between4 = new EntityWrapper<DriverActivityHistory>()
 					.eq("carryOut", 2)
+					.in(!collect.isEmpty(), "activityId", collect)
 			;
 		} else {
 			// 专车wrapper
 			between = new EntityWrapper<TOrderPrivateCar>()
-					.isNotNull("discountMoney")
+					.isNotNull("discountMoney").eq(null != company, "companyId", company)
 					.between("insertTime", start, end)
 			;
 			// 小件物流wrapper
 			between1 = new EntityWrapper<TOrderLogistics>()
-					.between("insertTime", start, end)
+					.between("insertTime", start, end).eq(null != company, "companyId", company)
 					.isNotNull("discountMoney")
 			;
 			// 优惠券领取记录wrapper
 			between2 = new EntityWrapper<UserCouponRecord>()
 					.ne("couponUseType", 2)
 					.ne("couponUseType", 3)
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 红包领取记录wrapper
 			between3 = new EntityWrapper<UserRedPacketRecord>()
 					.ne("state", 0)
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 司机奖励
 			between4 = new EntityWrapper<DriverActivityHistory>()
 					.eq("carryOut", 2)
+					.in(!collect.isEmpty(), "activityId", collect)
 					.between("insertTime", start, end);
 		}
 		
@@ -1263,7 +1312,7 @@
 		// 已领取司机奖励
 		for (DriverActivityHistory driverActivityHistory : driverActivityHistories) {
 			GrantVO grantVO = new GrantVO();
-			grantVO.setInsertTime(format.format(driverActivityHistory.getInsertTime()));
+			grantVO.setInsertTime(null == driverActivityHistory.getCompletionTime() ? format.format(driverActivityHistory.getInsertTime()) : format.format(driverActivityHistory.getCompletionTime()));
 			grantVO.setType("司机奖励");
 			grantVO.setAmount(driverActivityHistory.getMoney().toString());
 			TDriver tDriver = driverMap.get(driverActivityHistory.getDriverId());
@@ -1279,10 +1328,10 @@
 					grantVO.setRemark("邀请用户注册");
 					break;
 				case 3:
-					grantVO.setRemark("累计在线");
+					grantVO.setRemark("在线时长奖励");
 					break;
 				case 4:
-					grantVO.setRemark("订单量");
+					grantVO.setRemark("累计接单奖励");
 					break;
 			}
 			driver = driver.add(new BigDecimal(driverActivityHistory.getMoney().toString()));
@@ -1297,7 +1346,7 @@
 	
 	@RequestMapping(value = "/grant/getCount")
 	@ResponseBody
-	public Object getCount(Integer time, String insertTime, Integer type) {
+	public Object getCount(Integer time, String insertTime, Integer type, Integer company) {
 		GrantMoneyVO result = new GrantMoneyVO();
 		if (time == null) {
 			time = 1;
@@ -1382,53 +1431,69 @@
 		Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>();
 		// 司机奖励
 		Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>();
+		List<Integer> collect = new ArrayList<>();
+		if(null != company){
+			List<DriverActivity> driverActivities = driverActivityService.selectList(new EntityWrapper<DriverActivity>().eq("companyId", company).eq("status", 3));
+			collect = driverActivities.stream().map(DriverActivity::getId).collect(Collectors.toList());
+			collect.add(0);
+		}
 		if (time == 5 && !StringUtils.hasLength(insertTime)) {
 			// 专车wrapper
 			between = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 			
 			;
 			// 小件物流wrapper
 			between1 = new EntityWrapper<TOrderLogistics>()
 					
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 			;
 			// 优惠券领取记录wrapper
 			between2 = new EntityWrapper<UserCouponRecord>()
 					.ne("couponUseType", 2)
 					.ne("couponUseType", 3)
+					.eq(null != company, "companyId", company)
 			;
 			// 红包领取记录wrapper
 			between3 = new EntityWrapper<UserRedPacketRecord>()
 					.ne("state", 0)
+					.eq(null != company, "companyId", company)
 			;
 			// 司机奖励
 			between4 = new EntityWrapper<DriverActivityHistory>()
 					.eq("carryOut", 2)
+					.in(!collect.isEmpty(), "activityId", collect)
 			;
 		} else {
 			// 专车wrapper
 			between = new EntityWrapper<TOrderPrivateCar>()
 					.isNotNull("discountMoney")
 					.between("insertTime", start, end)
+					.eq(null != company, "companyId", company)
 			;
 			// 小件物流wrapper
 			between1 = new EntityWrapper<TOrderLogistics>()
 					.between("insertTime", start, end)
 					.isNotNull("discountMoney")
+					.eq(null != company, "companyId", company)
 			;
 			// 优惠券领取记录wrapper
 			between2 = new EntityWrapper<UserCouponRecord>()
 					.ne("couponUseType", 2)
 					.ne("couponUseType", 3)
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 红包领取记录wrapper
 			between3 = new EntityWrapper<UserRedPacketRecord>()
 					.ne("state", 0)
+					.eq(null != company, "companyId", company)
 					.between("insertTime", start, end);
 			// 司机奖励
 			between4 = new EntityWrapper<DriverActivityHistory>()
 					.eq("carryOut", 2)
+					.in(!collect.isEmpty(), "activityId", collect)
 					.between("insertTime", start, end);
 		}
 		

--
Gitblit v1.7.1