From 71a01448f9e6de4a05381a74e415b9f0964cddef Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 24 七月 2025 19:21:23 +0800
Subject: [PATCH] 新增部分三方接口

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |  125 ++++++++++++++++++++---------------------
 1 files changed, 62 insertions(+), 63 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 641980f..354d01b 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -12,16 +12,16 @@
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
-import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
 import com.stylefeng.guns.modular.system.util.qianyuntong.SMSUtil;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.EditStaffNodeRequest;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.GetStaffNodeRequest;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.StaffNodeInfo;
+import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTUserInfo;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.SendSmsRequest;
 import com.stylefeng.guns.modular.system.warpper.ActivityWarpper;
 import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
 import com.stylefeng.guns.modular.system.warpper.LoginWarpper;
 import com.stylefeng.guns.modular.system.warpper.RegisteredWarpper;
 import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
+import io.rong.models.response.TokenResult;
 import org.apache.shiro.authc.SimpleAuthenticationInfo;
 import org.apache.shiro.authc.UsernamePasswordToken;
 import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
@@ -152,25 +152,23 @@
             sb.append((int) (random.nextDouble() * 10));
         }
         String authCode = sb.toString();
-        String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!";
-    
-        //发送验证码短信
-        redisTemplate.opsForValue().set(phone, authCode, 5, TimeUnit.MINUTES);//设置五分钟过期
-        String templateCode = "";
-        switch (type) {
-            case 1:
-                templateCode = "SMS_154775435";//身份验证
-                break;
-            case 2:
-                templateCode = "SMS_154775434";//登录确认
-                break;
-            case 3:
-                templateCode = "SMS_154775432";//用户注册
-                break;
-            case 4:
-                templateCode = "SMS_154775431";//修改密码
-                break;
-        }
+//        //发送验证码短信
+//        redisTemplate.opsForValue().set(phone, authCode, 5, TimeUnit.MINUTES);//设置五分钟过期
+//        String templateCode = "";
+//        switch (type) {
+//            case 1:
+//                templateCode = "SMS_154775435";//身份验证
+//                break;
+//            case 2:
+//                templateCode = "SMS_154775434";//登录确认
+//                break;
+//            case 3:
+//                templateCode = "SMS_154775432";//用户注册
+//                break;
+//            case 4:
+//                templateCode = "SMS_154775431";//修改密码
+//                break;
+//        }
 //        String sData = aLiSendSms.sendSms(phone, "SMS_229715276", "{\"code\":\"" + authCode + "\"}");
 //        JSONObject jsonObject = JSON.parseObject(sData);
 //        String message = jsonObject.getString("Message");
@@ -178,7 +176,16 @@
 //            return ResultUtil.error("");
 //        }
 //        System.out.println(sms);
-        SMSUtil.sendVerifyCode(phone);
+        SendSmsRequest request = new SendSmsRequest();
+        request.setDestAddress(phone);
+        request.setTemplateId("TPL202410290001");
+        Map<String, String> templateParams = new HashMap<>();
+        templateParams.put("code", authCode);
+        request.setTemplateParams(templateParams);
+        request.setCode("code");
+        request.setSpId("T8d5hdfg");
+        SMSUtil.sendSms(request);
+        redisTemplate.opsForValue().set(phone, authCode, 5, TimeUnit.MINUTES);//设置五分钟过期
         return ResultUtil.success();
     }
 
@@ -338,11 +345,23 @@
     @Override
     public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid) throws Exception {
         Driver driver = this.selectById(uid);
+        //调用中台接口校验实名信息
+        Boolean auth = UserUtil.idCardAuth(registeredWarpper.getName(), registeredWarpper.getIdCard());
+        if(!auth){
+            return ResultUtil.error("实名认证失败,请输入正确的姓名和身份证号码");
+        }
         driver.setName(registeredWarpper.getName());
         driver.setSex(registeredWarpper.getSex());
         driver.setIdCard(registeredWarpper.getIdCard());
 
-        String code = registeredWarpper.getPlaceOfEmployment();
+        driver.setArea(registeredWarpper.getArea());
+        driver.setAreaCode(registeredWarpper.getAreaCode());
+        driver.setCity(registeredWarpper.getCity());
+        driver.setCityCode(registeredWarpper.getCityCode());
+        driver.setProvince(registeredWarpper.getProvince());
+        driver.setProvinceCode(registeredWarpper.getProvinceCode());
+
+        String code = registeredWarpper.getAreaCode();
         Company query = companyCityService.query(code);
         if(null == query){
             return ResultUtil.error("选择从业地暂未开通业务");
@@ -389,7 +408,7 @@
         boolean b = true;
         for(String t : split){
             for(DriverService driverService : list){
-                if(driverService.getType() == Integer.valueOf(t)){
+                if(driverService.getType().equals(Integer.valueOf(t))){
                     b = false;
                     break;
                 }
@@ -465,13 +484,10 @@
         if (null == driver) {
             return ResultUtil.error("账号未注册");
         }
+        Company company = companyMapper.selectById(driver.getCompanyId());
         //查询中台员工数据
-        GetStaffNodeRequest request = new GetStaffNodeRequest();
-        request.setEmpId(driver.getEmpId());
-        request.setEntercode(driver.getEntercode());
-        request.setMobile(driver.getPhone());
-        StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
-        if (null == staffNode || staffNode.getIsValid().equals("0")) {
+        List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver.getPhone(), company.getEnterCode());
+        if (null == userInfoByPhone || userInfoByPhone.size() == 0) {
             return ResultUtil.error("账号未注册");
         }
     
@@ -499,7 +515,9 @@
         loginWarpper.setToken(token);
         loginWarpper.setAppid(UUIDUtil.getRandomCode());
         loginWarpper.setState(ToolUtil.isEmpty(driver.getIdCard()) ? 1 : 0);
-    
+        TokenResult token1 = RongCloudUtil.getToken(driver.getId().toString(), driver.getName(), driver.getHeadImgUrl());
+        loginWarpper.setRongYunToken(token1.getToken());
+
         //创建高德猎鹰的终端数据
         String tid = gdFalconUtil.createTerminal(phone);
         loginWarpper.setServerId(gdFalconUtil.getServerId());
@@ -781,31 +799,10 @@
             return ResultUtil.error("验证码无效");
         }
         Driver driver1 = this.selectById(uid);
-        GetStaffNodeRequest request = new GetStaffNodeRequest();
-        request.setEmpId(driver1.getEmpId());
-        request.setEntercode(driver1.getEntercode());
-        request.setMobile(driver1.getPhone());
-        StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
-        if ("0".equals(staffNode.getIsValid())) {
-            return ResultUtil.error("无效的司机账号");
-        }
-        EditStaffNodeRequest editStaffNodeRequest = new EditStaffNodeRequest();
-        editStaffNodeRequest.setEmpId(staffNode.getEmpId());
-        editStaffNodeRequest.setMobile(staffNode.getMphone());
-        editStaffNodeRequest.setEntercode(staffNode.getEnterNum());
-        editStaffNodeRequest.setEnterId(staffNode.getEnterId());
-        editStaffNodeRequest.setEmpName(staffNode.getEmpName());
-        editStaffNodeRequest.setEmpNickname(staffNode.getEmpNickname());
-        editStaffNodeRequest.setLoginNo(staffNode.getLoginNo());
-        editStaffNodeRequest.setMphone(phone);
-        editStaffNodeRequest.setEmail(staffNode.getEmail());
-        editStaffNodeRequest.setDeptId(staffNode.getDeptId());
-        editStaffNodeRequest.setPositionId(1);
-        editStaffNodeRequest.setSuperLevel(0);
-        editStaffNodeRequest.setHideMobile(0);
-        Boolean editStaffNode = EmployeeUtil.editStaffNode(editStaffNodeRequest);
-        if (!editStaffNode) {
-            return ResultUtil.error("修改手机号码失败");
+        Company company = companyMapper.selectById(driver1.getCompanyId());
+        List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver1.getPhone(), company.getEnterCode());
+        if (null == userInfoByPhone || userInfoByPhone.size() == 0) {
+            return ResultUtil.error("账号未注册");
         }
     
         driver1.setAccount(phone);
@@ -856,10 +853,10 @@
         if(driver.getState() == 3){
             return ResultUtil.error("还在服务中,不能更换");
         }
-//        boolean idle = carService.idle(carId);
-//        if(!idle){
-//            return ResultUtil.error("车辆已被绑定了");
-//        }
+        boolean idle = carService.idle(carId);
+        if(!idle){
+            return ResultUtil.error("当前车辆已经有其他司机在使用,请更换车辆");
+        }
         driver.setCarId(carId);
         this.updateById(driver);
         return ResultUtil.success();
@@ -1571,7 +1568,9 @@
             //开始清除redis中无效的数据
             Driver driver = driverMapper.selectById(id);
             String key = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone());
-            redisTemplate.delete(key);//删除个人信息数据
+            if(ToolUtil.isNotEmpty(key)){
+                redisTemplate.delete(key);//删除个人信息数据
+            }
             redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
             redisTemplate.delete("DRIVER_" + id);//清除存储的token
         }

--
Gitblit v1.7.1