From 55a438bbad3f8b51c315dd2415471873050bf4b3 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 07 四月 2025 15:01:19 +0800
Subject: [PATCH] 修改反馈bug
---
ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 93 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 87 insertions(+), 6 deletions(-)
diff --git a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
index 13c1741..b64a4ec 100644
--- a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
+++ b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -26,6 +26,7 @@
import org.apache.poi.ss.usermodel.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
+import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.ui.Model;
@@ -42,6 +43,7 @@
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 司机审核列表控制器
@@ -57,6 +59,8 @@
@Autowired
private ITDriverService tDriverService;
+ @Autowired
+ private ITOrderTaxiService orderTaxiService;
@Autowired
private ITCompanyService tCompanyService;
@@ -83,7 +87,27 @@
private boolean pushMinistryOfTransport;
-
+ @RequestMapping(value = "/inviteList")
+ @ResponseBody
+ public Object list(Integer uid,String userName,String time) {
+ if (uid==null)return null;
+ String startTime = null;
+ String endTime = null;
+ if (SinataUtil.isNotEmpty(time)){
+ String[] timeArray = time.split(" - ");
+ startTime = timeArray[0]+" 00:00:00";
+ endTime = timeArray[1]+" 23:59:59";
+ }
+ Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+ List<Map<String, Object>> userList = tDriverService.inviteList(page, startTime,endTime,userName,uid);
+ for (Map<String, Object> stringObjectMap : userList) {
+ String string = stringObjectMap.get("inviteUserId").toString();
+ TDriver tUser = tDriverService.selectById(string);
+ stringObjectMap.put("inviteUserName",tUser.getName());
+ }
+ page.setRecords(userList);
+ return super.packForBT(page);
+ }
/**
* 跳转到司机审核列表首页
*/
@@ -91,7 +115,11 @@
public String index() {
return PREFIX + "tDriver.html";
}
-
+ @RequestMapping("/invite/{id}")
+ public String inviteList(@PathVariable("id")Integer id, Model model) {
+ model.addAttribute("id",id);
+ return PREFIX + "tDriver_invite.html";
+ }
/**
* 跳转到审核通过司机首页
*/
@@ -105,7 +133,8 @@
*/
@RequestMapping("/tDriver_add")
public String tDriverAdd(Model model) {
- List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2));
+ List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)
+ .ne("flag",3));
model.addAttribute("companyList",companyList);
Integer roleType = ShiroKit.getUser().getRoleType();
@@ -184,12 +213,15 @@
model.addAttribute("objectName",tCompanyService.selectById(ShiroKit.getUser().getObjectId()).getName());
if (1 == roleType){
- List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2));
+ List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)
+ .ne("flag",3));
model.addAttribute("companyList",companyList);
- List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",tDriver.getCompanyId()));
+ List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>()
+ .ne("flag",3).eq("type", 3).eq("superiorId",tDriver.getCompanyId()));
model.addAttribute("franchiseeList",franchiseeList);
}else if (2 == roleType){
- List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",ShiroKit.getUser().getObjectId()));
+ List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>()
+ .ne("flag",3).eq("type", 3).eq("superiorId",ShiroKit.getUser().getObjectId()));
model.addAttribute("franchiseeList",franchiseeList);
}
@@ -557,6 +589,8 @@
@Autowired
private ITOrderEvaluateService itOrderEvaluateService;
+ @Autowired
+ private IInviteService inviteService;
/**
* 获取审核通过的司机列表
*/
@@ -578,7 +612,24 @@
Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
List<Map<String, Object>> driverList = tDriverService.getDriverList(page, ShiroKit.getUser().getRoleType(), ShiroKit.getUser().getObjectId(),
beginTime, endTime, companyName, phone, name, addType, authState);
+ List<Integer> driverIds = driverList.stream().map(map -> Integer.valueOf(map.get("id").toString())).collect(Collectors.toList());
+ // 查询司机订单
+ List<TOrderTaxi> orderTaxiList = orderTaxiService.selectList(new EntityWrapper<TOrderTaxi>()
+ .in("driverId", driverIds));
+ // 查询司机所有的收入
+ List<TPubTransactionDetails> tPubTransactionDetailsIncome = pubTransactionDetailsService.selectList(new EntityWrapper<TPubTransactionDetails>()
+ .in("userId", driverIds)
+ .eq("userType", 2)
+ .eq("type", 1)
+ .eq("state",1)
+ .eq("orderType", 2));
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
for (Map<String, Object> stringObjectMap : driverList) {
+ String string = stringObjectMap.get("id").toString();
+ int i = inviteService.selectCount(new EntityWrapper<Invite>()
+ .eq("inviteUserId", string)
+ .eq("userType",2));
+ stringObjectMap.put("inviteNumber", i);
// 司机id
Integer id = Integer.valueOf(stringObjectMap.get("id").toString());
List<TOrderEvaluate> driverId = itOrderEvaluateService.selectList(new EntityWrapper<TOrderEvaluate>()
@@ -596,6 +647,30 @@
String formattedV = df.format(v);
stringObjectMap.put("fraction",formattedV);
}
+
+ // 司机订单统计
+ if(CollectionUtils.isEmpty(orderTaxiList)){
+ stringObjectMap.put("dayReceivingOrders", 0);
+ stringObjectMap.put("sumReceivingOrders", 0);
+ stringObjectMap.put("dayIncome", 0);
+ stringObjectMap.put("sumIncome", 0);
+ }else {
+ long dayReceivingOrders = orderTaxiList.stream().filter(orderTaxi -> orderTaxi.getDriverId().equals(id) && format.format(orderTaxi.getTravelTime()).equals(format.format(new Date()))).count();
+ stringObjectMap.put("dayReceivingOrders", dayReceivingOrders);
+ long sumReceivingOrders = orderTaxiList.stream().filter(orderTaxi -> orderTaxi.getDriverId().equals(id)).count();
+ stringObjectMap.put("sumReceivingOrders", sumReceivingOrders);
+ // 今日统计收入
+ Optional<BigDecimal> dayReduceIncome = tPubTransactionDetailsIncome.stream().filter(pubTransactionDetails -> pubTransactionDetails.getUserId().equals(id)
+ && format.format(pubTransactionDetails.getInsertTime()).equals(format.format(new Date())))
+ .map(TPubTransactionDetails::getMoney).reduce(BigDecimal::add);
+ dayReduceIncome.ifPresent(bigDecimal -> stringObjectMap.put("dayIncome", bigDecimal));
+
+ // 过滤所有统计
+ Optional<BigDecimal> sumReduceIncome = tPubTransactionDetailsIncome.stream().filter(pubTransactionDetails -> pubTransactionDetails.getUserId().equals(id))
+ .map(TPubTransactionDetails::getMoney).reduce(BigDecimal::add);
+ sumReduceIncome.ifPresent(bigDecimal -> stringObjectMap.put("sumIncome", bigDecimal));
+ }
+
}
page.setRecords(driverList);
return super.packForBT(page);
@@ -1826,6 +1901,7 @@
shellList.add("服务模式");
shellList.add("关联线路");
shellList.add("评分");
+ shellList.add("邀请次数");
shellList.add("历史接单数");
shellList.add("历史订单总金额");
shellList.add("当前钱包余额");
@@ -1893,6 +1969,11 @@
}else{
shellList.add("0");
}
+ if(SinataUtil.isNotEmpty(object.get("inviteNumber"))){
+ shellList.add(object.get("inviteNumber").toString());
+ }else{
+ shellList.add("0");
+ }
if(SinataUtil.isNotEmpty(object.get("historyNum"))){
shellList.add(object.get("historyNum").toString());
}else{
--
Gitblit v1.7.1