From 1c40baaf9ca0183945b9881d11ceed5aeebc8290 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 23 十月 2025 11:35:44 +0800
Subject: [PATCH] 修改bug
---
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 42 ++++++++++++++++++++++++++----------------
1 files changed, 26 insertions(+), 16 deletions(-)
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index ed6484a..0eea5e9 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -1,18 +1,21 @@
package com.stylefeng.guns.modular.system.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.modular.system.dao.DriverMapper;
import com.stylefeng.guns.modular.system.dao.DriverServiceMapper;
-import com.stylefeng.guns.modular.system.model.Company;
+import com.stylefeng.guns.modular.system.dao.DriverWorkMapper;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.DriverService;
+import com.stylefeng.guns.modular.system.model.DriverWork;
import com.stylefeng.guns.modular.system.service.ICompanyCityService;
import com.stylefeng.guns.modular.system.service.IDriverService;
+import com.stylefeng.guns.modular.system.service.IDriverWorkService;
import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
import com.stylefeng.guns.modular.system.util.GeodesyUtil;
-import com.stylefeng.guns.modular.system.util.RedisUtil;
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -22,27 +25,29 @@
@Service
public class DriverServiceImpl extends ServiceImpl<DriverMapper, Driver> implements IDriverService {
-
+
@Resource
private DriverMapper driverMapper;
-
+
@Resource
private DriverServiceMapper driverServiceMapper;
-
- @Autowired
- private RedisUtil redisUtil;
-
+
+ @Resource
+ private RedisTemplate<String, Object> redisTemplate;
+
@Autowired
private GDMapElectricFenceUtil gdMapElectricFenceUtil;
-
+
@Autowired
private ICompanyCityService companyCityService;
-
+
@Autowired
private GeodesyUtil geodesyUtil;
-
-
+ @Autowired
+ private IDriverWorkService driverWorkService;
+
+
/**
* 获取distance公里内空闲司机数量
* @param type 业务类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车)
@@ -56,7 +61,7 @@
List<Driver> drivers = driverMapper.queryIdleDriver(type, companyId);
List<Driver> list = new ArrayList<>();
for(Driver driver : drivers){
- String value = redisUtil.getValue("DRIVER" + String.valueOf(driver.getId()));
+ String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(driver.getId()));
if(null != value){
Map<String, Double> distance1 = geodesyUtil.getDistance(lon + "," + lat, value);
double d = Double.valueOf(distance1.get("WGS84")).doubleValue();
@@ -85,7 +90,7 @@
List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId);
List<Driver> list = new ArrayList<>();
for(Driver driver : drivers){
- String value = redisUtil.getValue("DRIVER" + String.valueOf(driver.getId()));
+ String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(driver.getId()));
if(null != value){
Map<String, Double> distance1 = geodesyUtil.getDistance(lon + "," + lat, value);
double d = Double.valueOf(distance1.get("WGS84")).doubleValue();
@@ -102,7 +107,7 @@
List<Driver> drivers = driverMapper.queryIdleDriver1(type, companyId);
List<Driver> list = new ArrayList<>();
for(Driver driver : drivers){
- String value = redisUtil.getValue("DRIVER" + String.valueOf(driver.getId()));
+ String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(driver.getId()));
if(null != value){
Map<String, Double> distance1 = geodesyUtil.getDistance(lon + "," + lat, value);
double d = Double.valueOf(distance1.get("WGS84")).doubleValue();
@@ -149,8 +154,13 @@
public List<BaseWarpper> queryBusiness(Integer uid) throws Exception {
List<DriverService> list = driverServiceMapper.queryBusiness(uid, null);
List<BaseWarpper> maps = new ArrayList<>();
+ DriverWork driverWork = driverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", uid).eq("state", 1));
+ if(null == driverWork){
+ return maps;
+ }
+ String type = driverWork.getType();
for (DriverService d : list){
- if(d.getType() == 4 || d.getType() == 5 ||d.getType() == 6){
+ if(d.getType() == 4 || d.getType() == 5 ||d.getType() == 6 || !type.contains(d.getType().toString())){
continue;
}
BaseWarpper baseWarpper = new BaseWarpper();
--
Gitblit v1.7.1