From ca73af429b960124ab9b32ccfd5572e3f1df2bc2 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 22 十月 2025 18:10:04 +0800
Subject: [PATCH] 添加后台改派司机校验
---
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java | 6 ++++++
UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 3 +--
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java | 13 +++++++++++++
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TReassignServiceImpl.java | 23 +++++++++++++++++++----
4 files changed, 39 insertions(+), 6 deletions(-)
diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
index 069d259..bacc537 100644
--- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -1,6 +1,8 @@
package com.stylefeng.guns.modular.system.service.impl;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
@@ -86,6 +88,9 @@
@Autowired
private RedisUtil redisUtil;
+
+ @Autowired
+ private IAppOperationLogService appOperationLogService;
/**
@@ -192,6 +197,7 @@
orderPrivateCar.setState(11);
orderPrivateCar.setReassignNotice(2);
orderPrivateCarService.updateById(orderPrivateCar);
+ appOperationLogService.addAppOperationLog(uid, "{\"type\":\"司机申请改派\",\"orderId\":\"" + orderPrivateCar.getId() + "\",\"driver\":\"" + JSON.toJSONString(orderPrivateCar) + "\"}");
//添加已收入明细
incomeService.saveData(1, orderPrivateCar.getCompanyId(), 4, orderPrivateCar.getId(), 1, reassign.getMoney());
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
index 83fe944..3633366 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
@@ -1,8 +1,10 @@
package com.stylefeng.guns.modular.system.controller.specialTrain;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.core.base.controller.BaseController;
+import com.stylefeng.guns.core.base.tips.ErrorTip;
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.shiro.ShiroUser;
@@ -78,6 +80,9 @@
@Autowired
private ITOrderLogisticsService orderLogisticsService;
+
+ @Autowired
+ private IAppOperationLogService appOperationLogService;
@@ -296,6 +301,7 @@
TOrderPrivateCar tOrderPrivateCar = itOrderPrivateCarService.selectById(tReassign.getOrderId());
tOrderPrivateCar.setState(tOrderPrivateCar.getOldState());
itOrderPrivateCarService.updateById(tOrderPrivateCar);
+ appOperationLogService.addAppOperationLog(ShiroKit.getUser().getId(), "{\"type\":\"调度拒绝改派\",\"orderId\":\"" + tOrderPrivateCar.getId() + "\",\"driver\":\"" + JSON.toJSONString(tOrderPrivateCar) + "\"}");
}else if (2 == optType){
tReassign.setState(4);
tReassignService.updateById(tReassign);
@@ -304,6 +310,7 @@
TOrderPrivateCar tOrderPrivateCar = itOrderPrivateCarService.selectById(tReassign.getOrderId());
tOrderPrivateCar.setState(10);
itOrderPrivateCarService.updateById(tOrderPrivateCar);
+ appOperationLogService.addAppOperationLog(ShiroKit.getUser().getId(), "{\"type\":\"调度取消订单\",\"orderId\":\"" + tOrderPrivateCar.getId() + "\",\"driver\":\"" + JSON.toJSONString(tOrderPrivateCar) + "\"}");
//修改司机状态"空闲"
TDriver driver = itDriverService.selectById(tReassign.getOriginalDriverId());
@@ -583,6 +590,11 @@
@RequestMapping(value = "/selectDriver")
@ResponseBody
public Object selectDriver(@RequestParam Integer orderId,@RequestParam Integer driverId) {
+ int count = itOrderPrivateCarService.selectCount(new EntityWrapper<TOrderPrivateCar>().eq("driverId", driverId)
+ .in("state", Arrays.asList(2, 3, 4, 5, 6, 11)).eq("isDelete", 1));
+ if(count > 0){
+ throw new RuntimeException("司机正在服务中,请选择其他司机");
+ }
//修改订单
TReassign tReassign = tReassignService.selectById(orderId);
TOrderPrivateCar tOrderPrivateCar = itOrderPrivateCarService.selectById(tReassign.getOrderId());
@@ -602,6 +614,7 @@
tOrderPrivateCar.setDriverId(driverId);
tOrderPrivateCar.setCarId(nowDriver.getCarId());
itOrderPrivateCarService.updateById(tOrderPrivateCar);
+ appOperationLogService.addAppOperationLog(ShiroKit.getUser().getId(), "{\"type\":\"调度完成订单改派\",\"orderId\":\"" + tOrderPrivateCar.getId() + "\",\"driver\":\"" + JSON.toJSONString(tOrderPrivateCar) + "\"}");
//修改专车改派订单
tReassign.setNowDriverId(driverId);
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TReassignServiceImpl.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TReassignServiceImpl.java
index 0440f96..31c43d8 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TReassignServiceImpl.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TReassignServiceImpl.java
@@ -1,15 +1,17 @@
package com.stylefeng.guns.modular.system.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
+import com.stylefeng.guns.modular.system.model.TOrderPrivateCar;
import com.stylefeng.guns.modular.system.model.TReassign;
import com.stylefeng.guns.modular.system.dao.TReassignMapper;
+import com.stylefeng.guns.modular.system.service.ITOrderPrivateCarService;
import com.stylefeng.guns.modular.system.service.ITReassignService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* <p>
@@ -22,6 +24,9 @@
@Service
public class TReassignServiceImpl extends ServiceImpl<TReassignMapper, TReassign> implements ITReassignService {
+ @Autowired
+ private ITOrderPrivateCarService itOrderPrivateCarService;
+
@Override
public List<Map<String, Object>> getPrivateCarReassignOrderList(Page<Map<String, Object>> page, Integer roleType, Integer nowUserId, String beginTime, String endTime, String originalDriverName, String originalDriverPhone, String orderNum, String nowDriverName, String nowDriverPhone, Integer orderState, Integer state) {
return this.baseMapper.getPrivateCarReassignOrderList(page, roleType, nowUserId, beginTime, endTime, originalDriverName, originalDriverPhone, orderNum, nowDriverName, nowDriverPhone, orderState, state);
@@ -29,7 +34,17 @@
@Override
public List<Map<String, Object>> getCanSelectPrivateCarDriverList(Page<Map<String, Object>> page, Integer companyId, String name, String phone) {
- return this.baseMapper.getCanSelectPrivateCarDriverList(page, companyId, name, phone);
+ List<Map<String, Object>> driverList = this.baseMapper.getCanSelectPrivateCarDriverList(page, companyId, name, phone);
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (Map<String, Object> map : driverList) {
+ String driverId = map.get("id").toString();
+ int count = itOrderPrivateCarService.selectCount(new EntityWrapper<TOrderPrivateCar>().eq("driverId", driverId)
+ .in("state", Arrays.asList(2, 3, 4, 5, 6, 11)).eq("isDelete", 1));
+ if(0 == count){
+ list.add(map);
+ }
+ }
+ return list;
}
@Override
diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 549fccb..4b804dd 100644
--- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -442,7 +442,7 @@
// 判断司机是否有订单进行中
long count = orderPrivateCarMapper.selectCount(new EntityWrapper<OrderPrivateCar>().eq("driverId", driver1.getId())
.in("state", Arrays.asList(2, 3, 4, 5, 6, 11)).eq("isDelete", 1));
- if(0 != count){
+ if(count > 0){
continue;
}
// 判断该司机是否有30分钟内预约单
@@ -462,7 +462,6 @@
}
}
}
-
if(!ds.isEmpty()){
ds.sort(new Comparator<Driver>() {
@Override
--
Gitblit v1.7.1