From 6c0d8fb2db64b8982c4162c7527e72841547110b Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 27 十二月 2024 15:28:50 +0800
Subject: [PATCH] 修改推单规则

---
 DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |   73 ++++++++++++++++++++++++++----------
 1 files changed, 53 insertions(+), 20 deletions(-)

diff --git a/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 6e84d20..75f4a3a 100644
--- a/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -9,6 +9,10 @@
 import com.stylefeng.guns.core.shiro.ShiroUser;
 import com.stylefeng.guns.core.util.JwtTokenUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.crossCity.dao.LinePriceMapper;
+import com.stylefeng.guns.modular.crossCity.model.DriverLine;
+import com.stylefeng.guns.modular.crossCity.model.LinePrice;
+import com.stylefeng.guns.modular.crossCity.server.IDriverLineService;
 import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
 import com.stylefeng.guns.modular.system.dao.*;
@@ -34,6 +38,7 @@
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -134,6 +139,12 @@
     private Map<String, Long> loginTime = new HashMap<>();//登录时间
 
     private Map<String, Integer> loginFailures = new HashMap<>();//登录失败次数
+    
+    @Autowired
+    private IDriverLineService driverLineService;
+    
+    @Resource
+    private LinePriceMapper linePriceMapper;
 
 
 
@@ -152,7 +163,7 @@
             sb.append((int) (random.nextDouble() * 10));
         }
         String authCode = sb.toString();
-        String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!";
+        String sms = "您的验证码是:" + authCode + ",请勿将验证码透露给他人!";
 
         //发送验证码短信
         redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
@@ -171,13 +182,7 @@
                 templateCode = "c230a6b92504473c97c17741e1cc0b9d";//修改密码
                 break;
         }
-//        HuaWeiSMSUtil.sendSms("[\"" + authCode + "\"]", phone, "8822061324669", templateCode);
-        String sData = aLiSendSms.sendSms(phone, "SMS_467580138", "{\"code\":\"" + authCode + "\"}");
-//        JSONObject jsonObject = JSON.parseObject(sData);
-//        String message = jsonObject.getString("Message");
-//        if(!"OK".equals(message)){
-//            return ResultUtil.error("");
-//        }
+        SmsUtil.sendZTHYSms(phone, sms);
         System.out.println(sms);
         return ResultUtil.success();
     }
@@ -507,9 +512,9 @@
         loginWarpper.setAppid(UUIDUtil.getRandomCode());
 
         //创建高德猎鹰的终端数据
-        String tid = gdFalconUtil.createTerminal(phone);
-        loginWarpper.setServerId(gdFalconUtil.getServerId());
-        loginWarpper.setTerminalId(tid);
+//        String tid = gdFalconUtil.createTerminal(phone);
+//        loginWarpper.setServerId(gdFalconUtil.getServerId());
+//        loginWarpper.setTerminalId(tid);
         return ResultUtil.success(loginWarpper);
     }
 
@@ -869,8 +874,36 @@
         }
         boolean idle = carService.idle(carId);
         if(!idle){
+            return ResultUtil.error("车辆正在服务中");
+        }
+        Integer integer1 = driverMapper.selectCount(new EntityWrapper<Driver>().eq("carId", carId).eq("authState", 2).ne("flag", 3));
+        if(integer1 > 0){
             return ResultUtil.error("车辆已被绑定了");
         }
+        ///判断车辆车型是否与实际关联线路需要的车型匹配
+        Integer integer = driverServiceMapper.selectCount(new EntityWrapper<DriverService>().eq("driverId", uid).eq("type", 3));
+        if(integer > 0){
+            CarService carService1 = new CarService();
+            carService1.setCarId(carId);
+            carService1.setType(3);
+            CarService carService2 = carServiceMapper.selectOne(carService1);
+            if(null == carService2){
+                return ResultUtil.error("当前车辆不能运营城际业务");
+            }
+            Integer serverCarModelId = carService2.getServerCarModelId();
+            List<DriverLine> driverLines = driverLineService.selectList(new EntityWrapper<DriverLine>().eq("driverId", uid));
+            List<Integer> collect = driverLines.stream().map(DriverLine::getLineId).collect(Collectors.toList());
+            if(collect.size() == 0){
+                return ResultUtil.error("司机还未关联线路");
+            }
+            List<LinePrice> linePrices = linePriceMapper.selectList(new EntityWrapper<LinePrice>().in("lineId", collect).eq("state", 1));
+            for (LinePrice linePrice : linePrices) {
+                if(!linePrice.getServerCarModelId().equals(serverCarModelId)){
+                    return ResultUtil.error("当前车辆的城际业务车型与司机关联线路的车型不一致");
+                }
+            }
+        }
+    
         driver.setCarId(carId);
         this.updateById(driver);
         return ResultUtil.success();
@@ -1278,9 +1311,9 @@
         loginWarpper.setAppid(UUIDUtil.getRandomCode());
 
         //创建高德猎鹰的终端数据
-        String tid = gdFalconUtil.createTerminal(driver.getPhone());
-        loginWarpper.setServerId(gdFalconUtil.getServerId());
-        loginWarpper.setTerminalId(tid);
+//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
+//        loginWarpper.setServerId(gdFalconUtil.getServerId());
+//        loginWarpper.setTerminalId(tid);
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1374,9 +1407,9 @@
         loginWarpper.setAppid(UUIDUtil.getRandomCode());
 
         //创建高德猎鹰的终端数据
-        String tid = gdFalconUtil.createTerminal(driver.getPhone());
-        loginWarpper.setServerId(gdFalconUtil.getServerId());
-        loginWarpper.setTerminalId(tid);
+//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
+//        loginWarpper.setServerId(gdFalconUtil.getServerId());
+//        loginWarpper.setTerminalId(tid);
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1460,9 +1493,9 @@
         loginWarpper.setAppid(UUIDUtil.getRandomCode());
 
         //创建高德猎鹰的终端数据
-        String tid = gdFalconUtil.createTerminal(driver.getPhone());
-        loginWarpper.setServerId(gdFalconUtil.getServerId());
-        loginWarpper.setTerminalId(tid);
+//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
+//        loginWarpper.setServerId(gdFalconUtil.getServerId());
+//        loginWarpper.setTerminalId(tid);
         return ResultUtil.success(loginWarpper);
     }
 

--
Gitblit v1.7.1