From e55fe61ee5c645f885e11d09255c63e5f0c17153 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 26 七月 2025 14:58:59 +0800
Subject: [PATCH] 上下班操作的绑定车

---
 /dev/null                                                                                                      |   27 ---------
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml           |    7 +
 DriverQYTTravel/guns-admin/src/main/resources/application.yml                                                  |    4 +
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java                      |   15 +++++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java    |   25 ++++++++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/RegisteredWarpper.java      |   11 +++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                  |   11 +++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |   41 +++++++++++++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CarMapper.java                  |    3 +
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                   |   21 +++++-
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java            |    7 ++
 11 files changed, 134 insertions(+), 38 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index a0e7847..fe52aee 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -8,6 +8,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.alipay.api.internal.util.file.IOUtils;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.config.properties.GunsProperties;
 import com.stylefeng.guns.core.util.DateUtil;
@@ -1619,9 +1620,10 @@
     @ApiOperation(value = "通过区code获取服务商", tags = {"司机端-注册"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "区code", name = "areaCode", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "name", name = "name", required = false, dataType = "String"),
 
     })
-    public ResultUtil<List<CompanyVo>> getCompany(String areaCode){
+    public ResultUtil<List<CompanyVo>> getCompany(String areaCode,String name){
         try {
 
             ArrayList<CompanyVo> companyVos = new ArrayList<>();
@@ -1629,7 +1631,12 @@
             if(companyCities.isEmpty()){
                 return ResultUtil.success(companyVos);
             }
-            List<Company> companies = companyService.selectList(new EntityWrapper<Company>().ne("type", 1).ne("flag", 3).in("id", companyCities.stream().map(CompanyCity::getCompanyId).collect(Collectors.toList())));
+            Wrapper<Company> in = new EntityWrapper<Company>().ne("type", 1).ne("flag", 3).in("id", companyCities.stream().map(CompanyCity::getCompanyId).collect(Collectors.toList()));
+
+            if(ToolUtil.isNotEmpty( name)){
+                in.like("name", name);
+            }
+            List<Company> companies = companyService.selectList(in);
             for (Company company : companies) {
                 CompanyVo companyVo = new CompanyVo(company.getId(), company.getName());
                 companyVos.add(companyVo);
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 4ed52c8..db54af7 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -4,15 +4,13 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
 import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityInfoWrapper;
 import com.stylefeng.guns.modular.crossCity.warpper.OrderWarpper;
 import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
 import com.stylefeng.guns.modular.system.dao.DriverWorkMapper;
-import com.stylefeng.guns.modular.system.model.DriverWork;
-import com.stylefeng.guns.modular.system.model.Reassign;
-import com.stylefeng.guns.modular.system.model.SysTimeoutMoney;
-import com.stylefeng.guns.modular.system.model.TimeOutAppeal;
+import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.ChinaMobileUtil;
 import com.stylefeng.guns.modular.system.util.PushUtil;
@@ -62,6 +60,9 @@
 
     @Resource
     private DriverWorkMapper driverWorkMapper;
+
+    @Autowired
+    private ICarService carService;
 
 
 
@@ -257,6 +258,18 @@
             if(null == driverWork1){
                 return ResultUtil.error("您已下班,无法接单");
             }
+
+            Driver driver = driverService.selectById(uid);
+
+            //判断车辆是否正在使用中
+            Car car = carService.selectById(driver.getCarId());
+            if(car.getUseDriverId() != null && !car.getUseDriverId().equals(uid)){
+                return ResultUtil.error("当前绑定车辆正在使用中,请更换车辆");
+            }else if(car.getUseDriverId()==null){
+                car.setUseDriverId(uid);
+                carService.updateById(car);
+            }
+
             return orderService.grabOrder(orderId, orderType, uid);
         }catch (Exception e){
             e.printStackTrace();
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CarMapper.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CarMapper.java
index f5ac198..caf0dc1 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CarMapper.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CarMapper.java
@@ -29,4 +29,7 @@
 
     List<Map<String, Object>> queryIdleDataFromId(@Param("id") Integer id);
 
+    void updateUseState(@Param("uid") Integer uid);
+
+
 }
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
index e235a6c..f5f2db9 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
@@ -23,7 +23,9 @@
         <result column="addType" property="addType"/>
         <result column="addObjectId" property="addObjectId"/>
     </resultMap>
-
+    <update id="updateUseState">
+            update t_car set useDriverId = null where useDriverId  = #{uid}
+    </update>
 
 
     <select id="queryIdleData" resultType="map">
@@ -71,7 +73,8 @@
     <select id="queryIdleDataFromId" resultType="java.util.Map">
         select
             a.id as id,
-            CONCAT(a.carLicensePlate, '-',c.`name`, b.`name`, ' ', a.carColor) as name
+            CONCAT(a.carLicensePlate, '-',c.`name`, b.`name`, ' ', a.carColor) as name,
+            a.useDriverId as useDriverId
         from t_car a
                  left join t_car_model b on (a.carModelId = b.id)
                  left join t_car_brand c on (b.brandId = c.id)
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java
index bdc49e1..19a1f7b 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java
@@ -104,6 +104,21 @@
     @TableField("addObjectId")
     private Integer addObjectId;
 
+
+    /**
+     * 使用司机id
+     */
+    @TableField("useDriverId")
+    private Integer useDriverId;
+
+    public Integer getUseDriverId() {
+        return useDriverId;
+    }
+
+    public void setUseDriverId(Integer useDriverId) {
+        this.useDriverId = useDriverId;
+    }
+
     public Integer getId() {
         return id;
     }
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java
index 3606175..a8f0711 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.stylefeng.guns.modular.system.model.Car;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import org.apache.ibatis.annotations.Param;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
@@ -62,4 +63,10 @@
      */
     ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto,
                       String carPhoto, String insurancePhoto, Integer uid) throws Exception;
+
+    boolean useState(@Param("carId") Integer carId, @Param("uid") Integer uid);
+
+    void updateUseState(Integer carId, Integer uid);
+    void updateUseState(Integer uid);
+
 }
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
index 9cede93..576d920 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
@@ -66,7 +66,7 @@
 //                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
         for (Map<String, Object> stringObjectMap : list) {
             // 1使用中 2空闲中
-            if(stringObjectMap.get("id").toString().equals(carId.toString())){
+            if(stringObjectMap.get("useDriverId").toString().equals(uid.toString())){
                 map.put("useState", 1);
             }else {
                 map.put("useState", 0);
@@ -159,4 +159,27 @@
         this.insert(car);
         return ResultUtil.success();
     }
+
+    @Override
+    public boolean useState(Integer carId, Integer uid) {
+        Car car = carMapper.selectById(carId);
+        if(car.getUseDriverId()!=null || !car.getUseDriverId().equals(uid)){
+            return false;
+        }
+        return true;
+
+
+    }
+
+    @Override
+    public void updateUseState(Integer carId, Integer uid) {
+        carMapper.updateUseState(uid);
+        Car car = carMapper.selectById(carId);
+        car.setUseDriverId(uid);
+        this.baseMapper.updateById(car);
+    }
+    @Override
+    public void updateUseState(Integer uid) {
+        carMapper.updateUseState(uid);
+    }
 }
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 7c0e5cc..736466e 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
@@ -410,6 +410,7 @@
         driver.setCityCode(registeredWarpper.getCityCode());
         driver.setProvince(registeredWarpper.getProvince());
         driver.setProvinceCode(registeredWarpper.getProvinceCode());
+        driver.setCompanyId(registeredWarpper.getCompanyId());
 
         String code = registeredWarpper.getAreaCode();
         Company query = companyCityService.query(code);
@@ -640,6 +641,10 @@
             driverWorkMapper.updateById(driverWork);
             driver.setState(1);
 
+            //   更新车辆使用状态
+            carService.updateUseState(uid);
+
+
             new Thread(new Runnable() {
                 @Override
                 public void run() {
@@ -656,6 +661,18 @@
                     return ResultUtil.error("车辆正在使用中");
                 }
             }
+
+            //判断车辆是否正在使用中
+            Car car = carService.selectById(driver.getCarId());
+            if(car.getUseDriverId() != null && !car.getUseDriverId().equals(uid)){
+                return ResultUtil.error("当前绑定车辆正在使用中,请更换车辆");
+            }else if(car.getUseDriverId()==null){
+                car.setUseDriverId(uid);
+                carService.updateById(car);
+            }
+
+
+
             driverWork = new DriverWork();
             driverWork.setState(1);
             driverWork.setDriverId(uid);
@@ -703,6 +720,9 @@
             driverWorkMapper.updateById(driverWork);
             driver.setState(1);
 
+            //   更新车辆使用状态
+            carService.updateUseState(uid);
+
             new Thread(new Runnable() {
                 @Override
                 public void run() {
@@ -712,6 +732,18 @@
                 }
             }).start();
         }else{
+
+            //判断车辆是否正在使用中
+            Car car = carService.selectById(driver.getCarId());
+            if(car.getUseDriverId() != null && !car.getUseDriverId().equals(uid)){
+                return ResultUtil.error("当前绑定车辆正在使用中,请更换车辆");
+            }else if(car.getUseDriverId()==null){
+                car.setUseDriverId(uid);
+                carService.updateById(car);
+            }
+
+
+
             driverWork = new DriverWork();
             driverWork.setState(1);
             driverWork.setDriverId(uid);
@@ -903,10 +935,17 @@
         if(driver.getState() == 3){
             return ResultUtil.error("还在服务中,不能更换");
         }
-        boolean idle = carService.idle(carId);
+//        boolean idle = carService.idle(carId);
+        // 修改是否别司机在使用
+        boolean idle = carService.useState(carId,uid);
         if(!idle){
             return ResultUtil.error("当前车辆已经有其他司机在使用,请更换车辆");
         }
+        // 将所有绑定他的车 =null
+        carService.updateUseState(carId,uid);
+        Car car = carService.selectById(carId);
+        car.setUseDriverId(uid);
+        carService.updateById( car);
         driver.setCarId(carId);
         this.updateById(driver);
         return ResultUtil.success();
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/RongYunUtil.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/RongYunUtil.java
deleted file mode 100644
index 5093123..0000000
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/RongYunUtil.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package com.stylefeng.guns.modular.system.util.rongyun;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.stylefeng.guns.core.util.ToolUtil;
-import com.stylefeng.guns.modular.system.util.rongyun.model.CloudRecordingCallback;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-import javax.servlet.http.HttpServletRequest;
-import java.io.*;
-import java.net.*;
-import java.security.MessageDigest;
-
-/**
- * 融云及时通讯工具类
- */
-@Component
-public class RongYunUtil {
-
-    public static String app_key = "bmdehs6pbnozs";
-    public static String app_secret = "RovVwtABN1";
-
-
-    /**
-     * 注册获取token
-     * @param userId
-     * @param name
-     * @param headUrl
-     * @return
-     * @throws Exception
-     */
-    public String getToken(String userId, String name, String headUrl) throws Exception {
-        String url = "http://api-cn.ronghub.com/user/getToken.json";
-        String data = "userId=" + userId + "&name=" + name + "&portraitUri=" + headUrl;
-        String s = this.pushHttp(url, data);
-        return s;
-    }
-
-
-    /**
-     * 刷新用户信息
-     * @param userId
-     * @param name
-     * @param headUrl
-     * @throws Exception
-     */
-    public void refresh(String userId, String name, String headUrl) throws Exception {
-        String url = "http://api-cn.ronghub.com/user/refresh.json";
-        String data = "userId=" + userId + "&name=" + name + "&portraitUri=" + headUrl;
-        String s = this.pushHttp(url, data);
-    }
-
-
-    /**
-     * 检查用户在线状态
-     * @param userId
-     * @return  1:在线,0:离线
-     * @throws Exception
-     */
-    public Integer  checkOnline(String userId) throws Exception {
-        String url = "http://api-cn.ronghub.com/user/checkOnline.json";
-        String data = "userId=" + userId;
-        String s = this.pushHttp(url, data);
-        JSONObject jsonObject = JSON.parseObject(s);
-        if(jsonObject.getIntValue("code") == 200){
-            return jsonObject.getIntValue("status");
-        }
-        return null;
-    }
-
-
-    /**
-     * 发送普通消息
-     * @param fromUserId
-     * @param toUserId
-     * @param objectName
-     * @param content
-     * @return
-     */
-    public String sendSms(String fromUserId, String toUserId, String objectName, String content){
-        try {
-            String url = "https://api-cn.ronghub.com/message/private/publish.json";
-            String data = "fromUserId=" + URLEncoder.encode(fromUserId, "UTF-8") + "&toUserId=" + URLEncoder.encode(toUserId, "UTF-8") + "&objectName=" +
-                    URLEncoder.encode(objectName, "UTF-8") + "&content=" + URLEncoder.encode(content, "UTF-8") + "&disablePush=0&isIncludeSender=1";
-            String s = this.pushHttp(url, data);
-            return s;
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-
-
-    /**
-     * 创建 IM 聊天室
-     * @param id        房间id长度不超过 64 字节
-     * @param name      聊天室名称
-     * @return
-     */
-    public Integer ChatRoomCreate(String id, String name){
-        String url = "https://api-cn.ronghub.com/chatroom/create.json";
-        String data = "chatroom[" + id + "]=" + name;
-        String s = this.pushHttp(url, data);
-        JSONObject jsonObject = JSON.parseObject(s);
-        if(jsonObject.getIntValue("code") == 200){
-            return jsonObject.getIntValue("status");
-        }
-        return null;
-    }
-
-
-    /**
-     * 销毁聊天室
-     * @param chatroomId    聊天室id
-     * @return
-     */
-    public Integer ChatRoomDestroy(String chatroomId){
-        String url = "https://api-cn.ronghub.com/chatroom/destroy.json";
-        String data = "chatroomId=" + chatroomId;
-        String s = this.pushHttp(url, data);
-        JSONObject jsonObject = JSON.parseObject(s);
-        if(jsonObject.getIntValue("code") == 200){
-            return jsonObject.getIntValue("status");
-        }
-        return null;
-    }
-
-
-
-    /**
-     * 聊天室发送文本消息
-     * @param userId        发送用户id
-     * @param chatroomId    聊天室id
-     * @param content       消息文本内容
-     * @return
-     */
-    public Integer ChatRoomPushTxtMessage(String userId, String chatroomId, String content){
-        String url = "https://api-cn.ronghub.com/chatroom/destroy.json";
-        String data = "fromUserId=" + userId + "&toChatroomId=" + chatroomId + "&objectName=RC:TxtMsg&content=" + content;
-        String s = this.pushHttp(url, data);
-        JSONObject jsonObject = JSON.parseObject(s);
-        if(jsonObject.getIntValue("code") == 200){
-            return jsonObject.getIntValue("status");
-        }
-        return null;
-    }
-
-
-
-    /**
-     * 请求接口
-     * @param path
-     * @param json
-     * @return
-     */
-    public String pushHttp(String path, String json){
-        String nonce = String.valueOf(Double.valueOf(Math.random() * 1000000.0D).intValue());
-        String timeMillis = String.valueOf(System.currentTimeMillis() / 1000);
-        String signature  = getSha1(app_secret + nonce + timeMillis);
-
-        URL url = null;
-        try {
-            url = new URL(path);
-            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
-            connection.setRequestMethod("POST");
-            connection.setConnectTimeout(1000 * 30);
-            connection.setRequestProperty("Host", "api-cn.ronghub.com");
-            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
-            connection.setRequestProperty("App-Key", app_key);
-            connection.setRequestProperty("Nonce", nonce);
-            connection.setRequestProperty("Timestamp", timeMillis);
-            connection.setRequestProperty("Signature", signature);
-            connection.setDoOutput(true);
-            connection.setDoInput(true);
-            connection.setUseCaches(false);
-            connection.setInstanceFollowRedirects(true);
-            connection.connect();
-            DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
-            outputStream.write(json.getBytes("UTF-8"));
-            outputStream.flush();
-            outputStream.close();
-
-            int responseCode = connection.getResponseCode();
-            InputStream inputStream = null;
-            if(responseCode == 403){
-                inputStream = connection.getErrorStream();
-            }
-            if(responseCode == 200){
-                inputStream = connection.getInputStream();
-            }
-            DataInputStream dataInputStream = new DataInputStream(inputStream);
-            ByteArrayOutputStream stream = new ByteArrayOutputStream();
-            int len;
-            byte[] bytes = new byte[1024];
-            while ((len = dataInputStream.read(bytes)) != -1){
-                stream.write(bytes, 0, len);
-            }
-            return stream.toString();
-        } catch (MalformedURLException e) {
-            e.printStackTrace();
-        } catch (ProtocolException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-
-
-    public static String getSha1(String str) {
-        char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-                'a', 'b', 'c', 'd', 'e', 'f' };
-        try {
-            MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
-            mdTemp.update(str.getBytes("UTF-8"));
-            byte[] md = mdTemp.digest();
-            int j = md.length;
-            char buf[] = new char[j * 2];
-            int k = 0;
-            for (int i = 0; i < j; i++) {
-                byte byte0 = md[i];
-                buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
-                buf[k++] = hexDigits[byte0 & 0xf];
-            }
-            return new String(buf);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-
-    /**
-     * 云端录制状态回调
-     * @param request
-     * @return
-     */
-    public static CloudRecordingCallback cloudRecordingCallback(HttpServletRequest request){
-        String param = null;
-        try {
-            param = getParam(request);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        if(ToolUtil.isNotEmpty(param)){
-            CloudRecordingCallback cloudRecordingCallback = JSON.parseObject(param, CloudRecordingCallback.class);
-            return cloudRecordingCallback;
-        }
-        return null;
-    }
-
-
-    private static String getParam(HttpServletRequest request) throws IOException {
-        // 读取参数
-        InputStream inputStream;
-        StringBuilder sb = new StringBuilder();
-        inputStream = request.getInputStream();
-        String s;
-        BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
-        while ((s = in.readLine()) != null) {
-            sb.append(s);
-        }
-        in.close();
-        inputStream.close();
-        return sb.toString();
-    }
-}
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/model/Config.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/model/Config.java
deleted file mode 100644
index 330f27f..0000000
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/model/Config.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.stylefeng.guns.modular.system.util.rongyun.model;
-
-import lombok.Data;
-
-/**
- * @author zhibing.pu
- * @date 2023/4/6 10:48
- */
-@Data
-public class Config {
-    /**
-     * 录制启动模式: 1 自动启动录制任务
-     */
-    private Integer trigger;
-    /**
-     * Mix模式下布局:2 悬浮布局(默认) 3 自适应布局
-     */
-    private Integer mixLayout;
-    /**
-     * 文件切片时间(分钟)
-     */
-    private Integer slicesMin;
-    /**
-     * 设置的音频文件格式
-     */
-    private String audioFormat;
-    /**
-     * 设置的视频文件格式
-     */
-    private String videoFormat;
-}
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/model/Output.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/model/Output.java
deleted file mode 100644
index 73e66e4..0000000
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/model/Output.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.stylefeng.guns.modular.system.util.rongyun.model;
-
-import lombok.Data;
-
-/**
- * @author zhibing.pu
- * @date 2023/4/6 10:50
- */
-@Data
-public class Output {
-    /**
-     * 缓存的文件名。具体请参考「配置云端录制服务」中的切片文件命名规则。
-     */
-    private String fileName;
-    /**
-     * 音频采样率,如 48000。如果当前录制任务没有录制音频,该字段为空。
-     */
-    private Integer audioSample;
-    /**
-     * 视频分辨率,如 640x480。如果当前录制任务没有录制视频,该字段为空。
-     */
-    private String videoResoulation;
-    /**
-     * 切片生成的录制文件大小。
-     */
-    private Integer fileSize;
-    /**
-     * 已上传到的第三方存储的 URL。
-     */
-    private String fileUrl;
-}
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/SM4Util.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/SM4Util.java
deleted file mode 100644
index 5f2e18b..0000000
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/SM4Util.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.stylefeng.guns.modular.system.util.zhenglian;
-
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-
-import javax.crypto.Cipher;
-import javax.crypto.KeyGenerator;
-import javax.crypto.SecretKey;
-import javax.crypto.spec.SecretKeySpec;
-import java.nio.charset.StandardCharsets;
-import java.security.Security;
-import java.util.Base64;
-
-/**
- * SM4国密工具类
- * @author zhibing.pu
- * @Date 2025/7/24 15:29
- */
-public class SM4Util {
-	private static final String ALGORITHM_NAME = "SM4";
-	
-	private static final String ALGORITHM_MODE = "SM4/ECB/PKCS5Padding";
-	
-	
-	static {
-		Security.addProvider(new BouncyCastleProvider());
-	}
-	
-	/**
-	 * 生成 SM4 密钥
-	 * @return 密钥的 Base64 编码字符串
-	 * @throws Exception 异常
-	 */
-	public static String generateKey() throws Exception {
-		KeyGenerator kg = KeyGenerator.getInstance(ALGORITHM_NAME, "BC");
-		kg.init(128);
-		SecretKey secretKey = kg.generateKey();
-		return Base64.getEncoder().encodeToString(secretKey.getEncoded());
-	}
-	
-	/**
-	 * SM4 加密
-	 * @param plainText 明文
-	 * @param key 密钥的 Base64 编码字符串
-	 * @return 密文的 Base64 编码字符串
-	 * @throws Exception 异常
-	 */
-	public static String encrypt(String plainText, String key) throws Exception {
-		byte[] keyBytes = Base64.getDecoder().decode(key);
-		SecretKeySpec secretKeySpec = new SecretKeySpec(keyBytes, ALGORITHM_NAME);
-		Cipher cipher = Cipher.getInstance(ALGORITHM_MODE, "BC");
-		cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec);
-		byte[] encryptedBytes = cipher.doFinal(plainText.getBytes(StandardCharsets.UTF_8));
-		return Base64.getEncoder().encodeToString(encryptedBytes);
-	}
-	
-	/**
-	 * SM4 解密
-	 * @param cipherText 密文的 Base64 编码字符串
-	 * @param key 密钥的 Base64 编码字符串
-	 * @return 明文
-	 * @throws Exception 异常
-	 */
-	public static String decrypt(String cipherText, String key) throws Exception {
-		byte[] keyBytes = Base64.getDecoder().decode(key);
-		SecretKeySpec secretKeySpec = new SecretKeySpec(keyBytes, ALGORITHM_NAME);
-		Cipher cipher = Cipher.getInstance(ALGORITHM_MODE, "BC");
-		cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
-		byte[] cipherBytes = Base64.getDecoder().decode(cipherText);
-		byte[] decryptedBytes = cipher.doFinal(cipherBytes);
-		return new String(decryptedBytes, StandardCharsets.UTF_8);
-	}
-	
-	public static void main(String[] args) {
-		try {
-			// 生成密钥
-			String key = generateKey();
-			System.out.println("生成的密钥: " + key);
-			
-			// 明文
-			String plainText = "Hello, SM4!";
-			System.out.println("明文: " + plainText);
-			
-			// 加密
-			String cipherText = encrypt(plainText, key);
-			System.out.println("密文: " + cipherText);
-			
-			// 解密
-			String decryptedText = decrypt(cipherText, key);
-			System.out.println("解密后的明文: " + decryptedText);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-}
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/TokenUtil.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/TokenUtil.java
deleted file mode 100644
index d0d4130..0000000
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/TokenUtil.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.stylefeng.guns.modular.system.util.zhenglian;
-
-import cn.hutool.http.HttpRequest;
-import cn.hutool.http.HttpUtil;
-import com.stylefeng.guns.modular.system.util.SpringContextsUtil;
-import com.stylefeng.guns.modular.system.util.UUIDUtil;
-import com.stylefeng.guns.modular.system.util.zhenglian.model.TokenRequest;
-
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-
-/**
- * @author zhibing.pu
- * @Date 2025/7/24 14:06
- */
-public class TokenUtil {
-	
-	private static ZhengLianConfig zhengLianConfig = SpringContextsUtil.getBean(ZhengLianConfig.class).getZhengLianConfig();
-	
-	
-	
-	public static void getToken(TokenRequest request){
-		request.setAppid(zhengLianConfig.getAppid());
-		HttpRequest post = HttpUtil.createPost(zhengLianConfig.getUrl());
-		String timestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
-		post.header("msgId", UUIDUtil.getRandomCode());
-		post.header("merchNo", zhengLianConfig.getMerchNo());
-		post.header("txCode","ZLPAY.ACC.T0001");
-		post.header("version","1.0.1");
-		post.header("encrp","1");
-		post.header("signa","1");
-		post.header("encrpNo","123456");
-		post.header("signNo","123456");
-		post.header("timestamp", timestamp);
-		post.header("Content-Length", "");
-		post.header("Content-Type", "application/json;charset=utf-8");
-		
-		
-		
-		post.body("{}");
-		
-		
-	}
-}
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianConfig.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianConfig.java
deleted file mode 100644
index d5273b2..0000000
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianConfig.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.stylefeng.guns.modular.system.util.zhenglian;
-
-import lombok.Data;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-/**
- * @author zhibing.pu
- * @Date 2025/7/8 11:31
- */
-@Data
-@Component
-public class ZhengLianConfig {
-	
-	@Value("${spring.profiles.active}")
-	private String activeProfile;
-	/**
-	 * 接口地址
-	 */
-	private String url;
-	/**
-	 * appid
-	 */
-	private String appid;
-	/**
-	 * 商户号
-	 */
-	private String merchNo;
-	/**
-	 * 加密证书序列号
-	 */
-	private String encrpNo;
-	/**
-	 * 签名证书序列号
-	 */
-	private String signNo;
-	
-	/**
-	 * 获取不同环境的配置
-	 * @return
-	 */
-	public ZhengLianConfig getZhengLianConfig() {
-		if("dev".equals(activeProfile)){
-			this.url = "https://gatewaytest.zqpay.com";
-			this.appid = "F9BFEEA567196A92E053376010ACF004";
-			this.merchNo = "B00000871";
-			this.encrpNo = "123456";
-			this.signNo = "123456";
-		}
-		if("test".equals(activeProfile)){
-			this.url = "https://gatewaytest.zqpay.com";
-			this.appid = "F9BFEEA567196A92E053376010ACF004";
-			this.merchNo = "B00000871";
-			this.encrpNo = "123456";
-			this.signNo = "123456";
-		}
-		if("prod".equals(activeProfile)){
-			this.url = "https://gateway.zqpay.com";
-			this.appid = "";
-			this.merchNo = "";
-			this.encrpNo = "";
-			this.signNo = "";
-		}
-		return this;
-	}
-	
-}
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/model/TokenRequest.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/model/TokenRequest.java
deleted file mode 100644
index 96364c1..0000000
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/model/TokenRequest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.stylefeng.guns.modular.system.util.zhenglian.model;
-
-import lombok.Data;
-
-/**
- * @author zhibing.pu
- * @Date 2025/7/24 15:06
- */
-@Data
-public class TokenRequest {
-	/**
-	 * 应用appid
-	 */
-	private String appid;
-	/**
-	 * APP 端用户唯一标识
-	 */
-	private String appUserId;
-	/**
-	 * 姓名
-	 */
-	private String userName;
-	/**
-	 * 证件号码
-	 */
-	private String certNo;
-	/**
-	 * 手机号码
-	 */
-	private String phone;
-	/**
-	 * 访问类型
-	 * 01 证联收银台支付
-	 * 04 HOME 页
-	 * 06 申请免密签约
-	 * 07 商户收银台支付
-	 * 08 开户(绑卡)
-	 * 09 开通支付账户
-	 * 10 打开付款码
-	 */
-	private String type;
-	/**
-	 * 终端信息域
-	 */
-	private TradeTerminalInfo tradeTerminalInfo;
-}
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/model/TradeTerminalInfo.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/model/TradeTerminalInfo.java
deleted file mode 100644
index 6403ebe..0000000
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/model/TradeTerminalInfo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.stylefeng.guns.modular.system.util.zhenglian.model;
-
-import lombok.Data;
-
-/**
- * @author zhibing.pu
- * @Date 2025/7/24 15:10
- */
-@Data
-public class TradeTerminalInfo {
-	/**
-	 * 用于标识交易设 备 公 网 IP地 址
-	 */
-	private String ip;
-	/**
-	 * 终端类型:
-	 * 0:web
-	 * 1:ANDROID
-	 * 2:IOS
-	 * 3:其它
-	 */
-	private String terminal;
-	/**
-	 * 用于标识交易设备 MAC 地址
-	 */
-	private String mac;
-}
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/RegisteredWarpper.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/RegisteredWarpper.java
index 6123071..05feb90 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/RegisteredWarpper.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/RegisteredWarpper.java
@@ -60,6 +60,17 @@
     @ApiModelProperty("区代码")
     private String areaCode;
 
+    @ApiModelProperty("公司id")
+    private Integer companyId;
+
+    public Integer getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Integer companyId) {
+        this.companyId = companyId;
+    }
+
     public String getProvince() {
         return province;
     }
diff --git a/DriverQYTTravel/guns-admin/src/main/resources/application.yml b/DriverQYTTravel/guns-admin/src/main/resources/application.yml
index 1d70277..3f3f91a 100644
--- a/DriverQYTTravel/guns-admin/src/main/resources/application.yml
+++ b/DriverQYTTravel/guns-admin/src/main/resources/application.yml
@@ -81,7 +81,9 @@
     mchId: 111 #微信支付分配的商户号
     key: 111 #key为商户平台设置的密钥key:
     url: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}
-
+rongyun:
+    app_key: bmdehs6pbnozs
+    app_secret: RovVwtABN1
 ---
 
 alipay:

--
Gitblit v1.7.1