From d1e1d0098fdbbf092a98332d30eb720926cd1823 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 30 四月 2025 15:14:50 +0800 Subject: [PATCH] 修改bug --- ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 98 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 91 insertions(+), 7 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 39382ea..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,8 @@ 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; import org.springframework.beans.factory.annotation.Autowired; @@ -41,6 +43,7 @@ import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** * 司机审核列表控制器 @@ -56,6 +59,8 @@ @Autowired private ITDriverService tDriverService; + @Autowired + private ITOrderTaxiService orderTaxiService; @Autowired private ITCompanyService tCompanyService; @@ -82,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); + } /** * 跳转到司机审核列表首页 */ @@ -90,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"; + } /** * 跳转到审核通过司机首页 */ @@ -104,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(); @@ -183,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); } @@ -556,6 +589,8 @@ @Autowired private ITOrderEvaluateService itOrderEvaluateService; + @Autowired + private IInviteService inviteService; /** * 获取审核通过的司机列表 */ @@ -577,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>() @@ -595,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); @@ -879,7 +955,9 @@ tDriver.setUpdateTime(new Date()); tDriver.setUpdateUser(ShiroKit.getUser().getId()); // tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword())); - tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); + if(StringUtils.hasLength(tDriver.getPassword())){ + tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); + } tDriverService.updateById(tDriver); //删除业务 @@ -1823,6 +1901,7 @@ shellList.add("服务模式"); shellList.add("关联线路"); shellList.add("评分"); + shellList.add("邀请次数"); shellList.add("历史接单数"); shellList.add("历史订单总金额"); shellList.add("当前钱包余额"); @@ -1890,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