From d0d6f8f40e5d9762d940b47c566da1876361020e Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 11 八月 2025 21:52:52 +0800
Subject: [PATCH] 修改三方

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ModifyPwdRequest.java            |   25 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CheckEnterExist.java             |   40 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java               |   91 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java                                 |    6 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/EnterpriseInfo.java              |  259 +++++
 management/guns-admin/src/main/resources/application-test.yml                                                                 |  111 ++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDeMapUtil.java                                  |    2 
 management/pom.xml                                                                                                            |   12 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateEnterpriseRequest.java     |  118 ++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/SaveStaffNodeRequest.java        |   63 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDe/MapConfig.java                               |    2 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java                         |  130 +
 management/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html                                                         |    4 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java                                      |  285 +++--
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java                            |    2 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateEnterprise.java            |   46 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java                                     |  159 ---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java                        |    2 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/NCOSSUtil.java                         |  243 +++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/RegisterViaMobile.java           |   26 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java    |   52 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java                                     |    4 
 management/guns-admin/lib/ncoss-java-sdk-1.0.5.jar                                                                            |    0 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/OBSUtil.java                                |    6 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/SaveStaffNode.java               |   31 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html                          |    7 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java                |   40 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html                                     |    7 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetStaffNodeRequest.java         |   23 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/EditStaffNodeRequest.java        |   72 +
 management/guns-admin/src/main/webapp/WEB-INF/view/index.html                                                                 |    2 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html                  |    7 
 management/guns-admin/src/main/webapp/WEB-INF/view/common/_container.html                                                     |    2 
 management/guns-admin/pom.xml                                                                                                 |   13 
 management/guns-admin/src/main/webapp/WEB-INF/view/login.html                                                                 |    4 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/DeleteStafNodeRequest.java       |   23 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/LoginWeChatXiao.java             |   39 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java                                       |    3 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongConfig.java                 |  203 ++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ResetPwdRequest.java             |   27 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html                   |    7 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java                |   48 
 management/guns-admin/src/main/resources/application.yml                                                                      |  106 --
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ModifyEnterpriseInfoRequest.java |   75 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java                                 |    6 
 management/guns-admin/src/main/resources/application-dev.yml                                                                  |   93 +
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html                               |    7 
 /dev/null                                                                                                                     |   30 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html                         |    7 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/QYTUserInfo.java                 |   44 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/HWSMSUtil.java                              |   12 
 management/guns-admin/src/main/resources/application-produce.yml                                                              |  111 ++
 management/guns-admin/src/main/webapp/WEB-INF/view/404.html                                                                   |    2 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RongCloudUtil.java                                 |    4 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/RegisterViaMobileRequest.java    |   46 
 55 files changed, 2,247 insertions(+), 542 deletions(-)

diff --git a/management/guns-admin/lib/ncoss-java-sdk-1.0.5.jar b/management/guns-admin/lib/ncoss-java-sdk-1.0.5.jar
new file mode 100644
index 0000000..fbb6562
--- /dev/null
+++ b/management/guns-admin/lib/ncoss-java-sdk-1.0.5.jar
Binary files differ
diff --git a/management/guns-admin/pom.xml b/management/guns-admin/pom.xml
index eddbd75..54f7d4c 100644
--- a/management/guns-admin/pom.xml
+++ b/management/guns-admin/pom.xml
@@ -72,11 +72,9 @@
             <artifactId>spring-boot-devtools</artifactId>
             <optional>true</optional>
         </dependency>
-
         <dependency>
-            <groupId>redis.clients</groupId>
-            <artifactId>jedis</artifactId>
-            <version>2.9.0</version>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
 
         <!-- 导入Excel数据依赖 start -->
@@ -233,6 +231,13 @@
             <artifactId>hutool-all</artifactId>
             <version>5.7.7</version>
         </dependency>
+        <dependency>
+            <groupId>com.ncoss</groupId>
+            <artifactId>ncoss-java-sdk</artifactId>
+            <version>1.0.5</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/lib/ncoss-java-sdk-1.0.5.jar</systemPath>
+        </dependency>
     </dependencies>
 
 
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java
index 59e128e..5ffa91d 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java
@@ -2,14 +2,18 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.heredata.hos.model.bucket.Bucket;
 import com.stylefeng.guns.config.properties.GunsProperties;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.common.constant.factory.PageFactory;
 import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.SinataUtil;
+import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.controller.util.UUIDUtil;
 import com.stylefeng.guns.modular.system.util.OssUploadUtil;
 import com.stylefeng.guns.modular.system.util.huawei.OBSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongConfig;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.ui.Model;
@@ -42,6 +46,9 @@
 
     @Autowired
     private ITVersionManagementService tVersionManagementService;
+    
+    @Autowired
+    private QianYunTongConfig qianYunTongConfig;
 
     /**
      * 跳转到版本管理首页
@@ -119,30 +126,35 @@
     @RequestMapping("/saveApk")
     public Map<String, Object> saveApk(@RequestPart("myfile") MultipartFile myfile, HttpServletRequest request){
         Map<String, Object> m = new HashMap<>();
-        /*try {
-            String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename());
-            try {
-                String fileSavePath = gunsProperties.getFileUploadPath()+"apk\\";
-                file.transferTo(new File(fileSavePath + pictureName));
-            } catch (Exception e) {
-                e.printStackTrace();
+        QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
+        try {
+            String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(myfile.getOriginalFilename());
+            String bucketName = qianYunTongConfig1.getBucketName();
+            Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+            if (null == grjyTest) {
+                //创建桶
+                Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                if (!bucket) {
+                    throw new RuntimeException("创建存储桶失败");
+                }
+                //设置桶策略
+                String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                if (!bucketPolicy) {
+                    throw new RuntimeException("设置桶策略失败");
+                }
             }
-            m.put("imgUrl", gunsProperties.getPictureServerAddress()+"apk/"+pictureName);
+            //上传对象
+            String key = "apk/" + pictureName;
+            String object = NCOSSUtil.putObject(bucketName, key, myfile.getInputStream());
+            if (null == object) {
+                throw new RuntimeException("上传图片失败");
+            }
+            m.put("imgUrl", "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key);
         } catch (Exception e) {
             e.printStackTrace();
-        }*/
-        try {
-            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-            MultipartFile file = (MultipartFile) myfile;
-            InputStream inputStream = file.getInputStream();
-            String name = file.getOriginalFilename();
-            name = UUIDUtil.getRandomCode() + name.substring(name.lastIndexOf("."));
-            String pictureName = OBSUtil.putObjectToBucket(inputStream, name);
-//            String pictureName = OssUploadUtil.ossUpload(request, file);
-            m.put("imgUrl", pictureName);
-        }catch (Exception e){
-            e.printStackTrace();
         }
+        
         return m;
     }
 
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java
index ea61e95..e756cf6 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java
@@ -3,9 +3,14 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.heredata.hos.model.bucket.Bucket;
+import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.controller.util.UUIDUtil;
 import com.stylefeng.guns.modular.system.util.OssUploadUtil ;
 import com.stylefeng.guns.modular.system.util.huawei.OBSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongConfig;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -15,13 +20,15 @@
 import com.alibaba.fastjson.JSON;
 
 import java.io.InputStream;
+import java.util.UUID;
 
 @Controller
 public class UediterController {
-	/*@RequestMapping("/config")
-    public String getConfigInfo(HttpServletRequest request,HttpServletResponse response){
-        return "redirect:/static/js/ueditor/jsp/jsp/config.json";
-    }*/
+    
+    @Autowired
+    private QianYunTongConfig qianYunTongConfig;
+    
+    
     public final static String UEDITOR_CONFIG = "{\n" +
             "    \"imageActionName\": \"uploadimage\",\n" +
             "    \"imageFieldName\": \"upfile\",\n" +
@@ -104,15 +111,32 @@
             MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
             MultipartFile picture = multipartRequest.getFile("upfile");
             String callback = request.getParameter("callback");
-            String pictureName = "";
+            QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
             try {
-            	//文件上传,具体根据实际替换
-                InputStream inputStream = picture.getInputStream();
-                String name = picture.getOriginalFilename();
-                name = UUIDUtil.getRandomCode() + name.substring(name.lastIndexOf("."));
-                pictureName = OBSUtil.putObjectToBucket(inputStream, name);
-//                pictureName = OssUploadUtil.ossUpload(request, picture);
- 
+                String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename());
+                String bucketName = qianYunTongConfig1.getBucketName();
+                Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+                if (null == grjyTest) {
+                    //创建桶
+                    Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                    if (!bucket) {
+                        throw new RuntimeException("创建存储桶失败");
+                    }
+                    //设置桶策略
+                    String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                    Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                    if (!bucketPolicy) {
+                        throw new RuntimeException("设置桶策略失败");
+                    }
+                }
+                //上传对象
+                String key = "imgs/management/" + pictureName;
+                String object = NCOSSUtil.putObject(bucketName, key, picture.getInputStream());
+                if (null == object) {
+                    throw new RuntimeException("上传图片失败");
+                }
+        
+                pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
                 String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}";
                 if (callback == null) {
                     return JSON.parseObject(result);
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
index ff7214b..fbf60a1 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.heredata.hos.model.bucket.Bucket;
 import com.stylefeng.guns.config.properties.GunsProperties;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.base.tips.Tip;
@@ -33,6 +34,8 @@
 import com.stylefeng.guns.modular.system.transfer.UserDto;
 import com.stylefeng.guns.modular.system.util.OssUploadUtil;
 import com.stylefeng.guns.modular.system.util.huawei.OBSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongConfig;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -74,6 +77,9 @@
     private ITAgentService agentService;
     @Autowired
     private ITBranchOfficeService branchOfficeService;
+    
+    @Autowired
+    private QianYunTongConfig qianYunTongConfig;
 
 
     /**
@@ -423,21 +429,31 @@
     @RequestMapping("/saveApk")
     public String saveApk(@RequestPart("myfile") MultipartFile file, HttpServletRequest request){
         Map<String, Object> m = new HashMap<>();
+        QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
         try {
             String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename());
-            try {
-                String fileSavePath = gunsProperties.getFileUploadPath()+"apk\\";
-                InputStream inputStream = file.getInputStream();
-                String name1 = file.getOriginalFilename();
-                name1 = UUIDUtil.getRandomCode() + name1.substring(name1.lastIndexOf("."));
-                String s = OBSUtil.putObjectToBucket(inputStream, name1);
-//                String s = OssUploadUtil.ossUpload(request, file);
-                // file.transferTo(new File(fileSavePath + pictureName));
-                return s;
-            } catch (Exception e) {
-                e.printStackTrace();
+            String bucketName = qianYunTongConfig1.getBucketName();
+            Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+            if (null == grjyTest) {
+                //创建桶
+                Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                if (!bucket) {
+                    throw new RuntimeException("创建存储桶失败");
+                }
+                //设置桶策略
+                String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                if (!bucketPolicy) {
+                    throw new RuntimeException("设置桶策略失败");
+                }
             }
-            m.put("imgUrl", gunsProperties.getFileUploadPath()+"apk/"+pictureName);
+            //上传对象
+            String key = "apk/" + pictureName;
+            String object = NCOSSUtil.putObject(bucketName, key, file.getInputStream());
+            if (null == object) {
+                throw new RuntimeException("上传图片失败");
+            }
+            m.put("imgUrl", "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key);
         } catch (Exception e) {
             e.printStackTrace();
         }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java
index f83729a..237fb5f 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java
@@ -1,12 +1,17 @@
 package com.stylefeng.guns.modular.system.controller.util;
 
+import com.heredata.hos.model.bucket.Bucket;
 import com.stylefeng.guns.config.properties.GunsProperties;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.common.exception.BizExceptionEnum;
 import com.stylefeng.guns.core.exception.GunsException;
 import com.stylefeng.guns.core.util.ObsUploadUtil;
+import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.util.OssUploadUtil;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.util.huawei.OBSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +40,9 @@
 
     @Autowired
     private GunsProperties gunsProperties;
+    
+    @Autowired
+    private QianYunTongConfig qianYunTongConfig;
 
     /**
      * 上传图片(上传到项目的webapp/static/img)
@@ -63,15 +71,38 @@
     public Map<String, Object> saveimg(HttpServletRequest request) {
         Map<String, Object> m = new HashMap<>();
         try {
-
+        
             String ossUpload = null;
             MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
             MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile");
+            QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
             if (file.getSize() != 0) {
-                InputStream inputStream = file.getInputStream();
-                String name = file.getOriginalFilename();
-                name = UUIDUtil.getRandomCode() + name.substring(name.lastIndexOf("."));
-                ossUpload = OBSUtil.putObjectToBucket(inputStream, name);
+                String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename());
+                String bucketName = qianYunTongConfig1.getBucketName();
+                Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+                if (null == grjyTest) {
+                    //创建桶
+                    Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                    if (!bucket) {
+                        throw new RuntimeException("创建存储桶失败");
+                    }
+                    //设置桶策略
+                    String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                    Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                    if (!bucketPolicy) {
+                        throw new RuntimeException("设置桶策略失败");
+                    }
+                }
+                //上传对象
+                String key = "imgs/management/" + pictureName;
+                String object = NCOSSUtil.putObject(bucketName, key, file.getInputStream());
+                if (null == object) {
+                    throw new RuntimeException("上传图片失败");
+                }
+            
+                ossUpload = "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
+
+
 //                ossUpload = OssUploadUtil.ossUpload(request, file);
 //                ossUpload = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), file);
                 m.put("imgUrl", ossUpload);
@@ -86,25 +117,37 @@
     @ResponseBody
     public String image(@RequestPart("file") MultipartFile picture, HttpServletRequest request) {
         try {
-            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-            MultipartFile file = (MultipartFile) picture;
-            String name = file.getOriginalFilename();
-            String s = name.substring(name.lastIndexOf(".") + 1).toLowerCase();
-            if(!s.equals("jpg") && !s.equals("png") && !s.equals("jpeg")){
+            String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename());
+            QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
+            String bucketName = qianYunTongConfig1.getBucketName();
+            System.err.println("bucketName:"+bucketName);
+            Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+            if (null == grjyTest) {
+                //创建桶
+                Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                if (!bucket) {
+                    return null;
+                }
+                //设置桶策略
+                String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                if (!bucketPolicy) {
+                    return null;
+                }
+            }
+            //上传对象
+            String key = "imgs/management/" + pictureName;
+            String object = NCOSSUtil.putObject(bucketName, key, picture.getInputStream());
+            if (null == object) {
                 return null;
             }
-            long size = file.getSize();
-            if(size > 524288000L){//500M限制
-                return "请上传500M以内的文件";
-            }
-            InputStream inputStream = file.getInputStream();
-            String name1 = file.getOriginalFilename();
-            name1 = UUIDUtil.getRandomCode() + name1.substring(name1.lastIndexOf("."));
-//            String pictureName = OBSUtil.putObjectToBucket(inputStream, name1);
-            String pictureName = OssUploadUtil.ossUpload(request, file);
-//            String pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture);
+        
+            pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
+
+            System.out.println("mediaResp");
             return pictureName;
-        } catch (IOException e1) {
+        } catch (Exception e1) {
+            e1.printStackTrace();
             return null;
         }
     }
@@ -138,31 +181,36 @@
      */
     @RequestMapping("/imageUp")
     public String imageUp(@RequestPart("upfile") MultipartFile picture, HttpServletRequest request) {
-        long size = picture.getSize();
-        if(size > 524288000L){//500M限制
-            return "请上传500M以内的文件";
-        }
         String callback = request.getParameter("callback");
-        String pictureName = UUID.randomUUID().toString() + ".jpg";
         try {
             // 上传文件目录
-            //String fileSavePath = gunsProperties.getFileUploadPath();
-            //picture.transferTo(new File(fileSavePath + pictureName));
-            // 文件全路径
-            //pictureName = gunsProperties.getPictureServerAddress() + pictureName;
-//           pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture);
-
-            String name = picture.getOriginalFilename();
-            String s = name.substring(name.lastIndexOf(".") + 1).toLowerCase();
-            if(!s.equals("jpg") && !s.equals("png") && !s.equals("jpeg")){
-                return null;
+            String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename());
+            QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
+            String bucketName = qianYunTongConfig1.getBucketName();
+            Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+            if (null == grjyTest) {
+                //创建桶
+                Boolean bucket = NCOSSUtil.createBucket(bucketName);
+                if (!bucket) {
+                    throw new RuntimeException("创建存储桶失败");
+                }
+                //设置桶策略
+                String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+                Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+                if (!bucketPolicy) {
+                    throw new RuntimeException("设置桶策略失败");
+                }
             }
-            InputStream inputStream = picture.getInputStream();
-            String name1 = picture.getOriginalFilename();
-            name1 = UUIDUtil.getRandomCode() + name1.substring(name1.lastIndexOf("."));
-            pictureName = OBSUtil.putObjectToBucket(inputStream, name1);
+            //上传对象
+            String key = "imgs/management/" + pictureName;
+            String object = NCOSSUtil.putObject(bucketName, key, picture.getInputStream());
+            if (null == object) {
+                throw new RuntimeException("上传图片失败");
+            }
+        
+            pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
 //            pictureName = OssUploadUtil.ossUpload(super.getHttpServletRequest(), picture);
-
+        
             String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}";
             if (callback == null) {
                 return result;
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AddAdminLogUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AddAdminLogUtil.java
deleted file mode 100644
index 98cf3a1..0000000
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AddAdminLogUtil.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.stylefeng.guns.modular.system.util;
-
-import com.stylefeng.guns.core.base.controller.BaseController;
-import com.stylefeng.guns.core.shiro.ShiroKit;
-
-import java.util.Date;
-
-/**
- * 添加操作日志工具包
- */
-public class AddAdminLogUtil extends BaseController {
-
-    /**
-     * 添加
-     * @param content  操作内容
-     */
-//    public static AppAdminLog addAdminLog(String content){
-//        AppAdminLog log = new AppAdminLog();
-//        log.setAddTime(new Date());
-//        log.setContent(content);
-//        log.setSysUserId(ShiroKit.getUser().getId());
-//        return log;
-//    }
-
-
-}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
index b837249..b5449b6 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
@@ -34,7 +34,7 @@
     @Autowired
     private IGDInterfaceService gdInterfaceService;
 
-    private String key = "5053ca611c0106e01a665ce7ab84ff26";
+    private String key = "ea7326a77175aba0e9435859b17bca36";
 
     private JSONArray jsonArray = new JSONArray();
 
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
index 5b94b42..0819cbb 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
@@ -20,7 +20,7 @@
 @Component
 public class GDMapGeocodingUtil {
 
-    private String key = "5053ca611c0106e01a665ce7ab84ff26";
+    private String key = "ea7326a77175aba0e9435859b17bca36";
 
     @Autowired
     private RestTemplate restTemplate;
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDe/MapConfig.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDe/MapConfig.java
index b339749..753df75 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDe/MapConfig.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDe/MapConfig.java
@@ -10,5 +10,5 @@
     /**
      * 高德key
      */
-    String key = "5053ca611c0106e01a665ce7ab84ff26";
+    String key = "ea7326a77175aba0e9435859b17bca36";
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDeMapUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDeMapUtil.java
index 1e248c5..f415299 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDeMapUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GaoDeMapUtil.java
@@ -35,7 +35,7 @@
 
         try {
             // 拼接请求高德的url
-            String url = "http://restapi.amap.com/v3/geocode/geo?address=" + address + "&output=JSON&key=" + "5053ca611c0106e01a665ce7ab84ff26";
+            String url = "http://restapi.amap.com/v3/geocode/geo?address=" + address + "&output=JSON&key=" + "ea7326a77175aba0e9435859b17bca36";
             // 请求高德接口
             String result = sendHttpGet(url);
             JSONObject resultJOSN = JSONObject.parseObject(result);
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java
index daf0a94..edf4db2 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.java
@@ -38,14 +38,14 @@
     public static void sendSms(String code,String phone,String sender,String templateId) throws Exception{
         //必填,请参考"开发准备"获取如下数据,替换为实际值
         String url = "https://rtcsms.cn-north-1.myhuaweicloud.com:10743/sms/batchSendSms/v1"; //APP接入地址+接口访问URI
-        String appKey = "qnay92s7V0K7719H10m7X4yo3fl3"; //APP_Key
-        String appSecret = "6nSHQzZ3o18JeW6UtS448BbblOa0"; //APP_Secret
+        String appKey = "111"; //APP_Key
+        String appSecret = "111"; //APP_Secret
 //        String sender = "10690400999303617"; //国内短信签名通道号或国际/港澳台短信通道号
 //        String templateId = "d8f8f781b6e04c848f8148f4d6604bcd"; //模板ID
 
         //条件必填,国内短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称
         //国际/港澳台短信不用关注该参数
-        String signature = "超级过客"; //签名名称
+        String signature = "111"; //签名名称
 
         //必填,全局号码格式(包含国家码),示例:+8615123456789,多个号码之间用英文逗号分隔
         String receiver = "+86"+phone; //短信接收人号码
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java
index b16af6c..260bb3b 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/JpushUtil.java
@@ -39,12 +39,12 @@
 	/**
 	 * AppKey
 	 */
-	private static String masterSecret = "e4f6f435faefad29db6ba9b2";
+	private static String masterSecret = "111";
 
 	/**
 	 * Master Secret
 	 */
-	private static String appKey = "93204c35ded9ba377a14af19";
+	private static String appKey = "111";
     private static String pushUrl = "https://api.jpush.cn/v3/push";   
     private static boolean apns_production = true;    
     private static int time_to_live = 86400;  
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java
index 9030928..f237c5b 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java
@@ -16,9 +16,9 @@
 public class OssUploadUtil {
 	//OSS图片访问域名
 	public static String oss_domain = "https://newok.oss-cn-shenzhen.aliyuncs.com/";
-	public static String accessKeyId = "LTAI5tLPQCnW4CWk9hd1uxSM";
-	public static String accessKeySecret = "Efm7ZgHQ0136Dyf8a7KxnmfQtchEt7";
-	public static String bucketName="newok";
+	public static String accessKeyId = "111";
+	public static String accessKeySecret = "1111";
+	public static String bucketName="111";
 	public static String endpoint = "oss-cn-shenzhen.aliyuncs.com";
 	
 	public static OSSClient ossClient = new OSSClient(endpoint, accessKeyId,accessKeySecret);
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
index 1fbbd3b..1131d17 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
@@ -1,8 +1,7 @@
 package com.stylefeng.guns.modular.system.util;
 
 public class PushURL {
-//    public static String zull_user_url = "http://192.168.110.64:3002";
-    public static String zull_user_url = "https://okyueche.com:443";
+    public static String zull_user_url = "http://127.0.0.1:443";
     public static String order_push_url =  zull_user_url + "/driver/base/order/pushOrderInfo";
     public static String driver_auth_url =  zull_user_url + "/driver/base/driver/sendsms";
     public static String withdraw_auth_url =  zull_user_url + "/driver/base/withdrawal/withdrawalAudit";
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
index c4c202f..0ac1b95 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -1,5 +1,8 @@
 package com.stylefeng.guns.modular.system.util;
 
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.stylefeng.guns.modular.system.warpper.PushOrderInfoWarpper;
@@ -24,9 +27,8 @@
 public class PushUtil {
 
     Logger logger = LoggerFactory.getLogger("ServiceLog");
-
-    @Autowired
-    private RestTemplate internalRestTemplate;
+    
+    private final String socket_uri = "http://192.168.110.85:6000";
 
 
 
@@ -43,20 +45,23 @@
         msg.put("data", new Object());
 
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 
@@ -72,22 +77,25 @@
         msg.put("msg", "SUCCESS");
         msg.put("method", "OFF_WORK");
         msg.put("data", new Object());
-
+    
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 
@@ -110,22 +118,25 @@
         map.put("status", status);
 
         msg.put("data", map);
-
+    
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 
@@ -143,22 +154,25 @@
         msg.put("msg", "SUCCESS");
         msg.put("method", "ORDER_INFO");
         msg.put("data", pushOrderInfoWarpper);
-
+    
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 
@@ -183,22 +197,25 @@
         map.put("countdown", countdown);
 
         msg.put("data", map);
-
+    
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 
@@ -222,22 +239,25 @@
         map.put("countdown", countdown);
 
         msg.put("data", map);
-
+    
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 
@@ -257,22 +277,25 @@
         map.put("orderId", orderId);
 
         msg.put("data", map);
-
+    
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 
@@ -295,22 +318,25 @@
 
         Map<String, Object> map = new HashMap<>();
         msg.put("data", map);
-
+    
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 
@@ -331,22 +357,25 @@
 
         map.put("orderId", orderId);
         msg.put("data", map);
-
+    
         //调用推送
-        HttpHeaders headers = new HttpHeaders();
-        // 以表单的方式提交
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
         //将请求头部和参数合成一个请求
-        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        params.add("msg", msg.toJSONString());
-        params.add("id", id.toString());
-        params.add("type", type.toString());
-        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-        String s = internalRestTemplate.postForObject("http://127.0.0.1:3002/netty/sendMsgToClient",requestEntity , String.class);
-        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-        if(jsonObject1.getIntValue("code") != 200){
-            logger.debug(jsonObject1.getString("msg"));
-            System.err.println(jsonObject1.getString("msg"));
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", msg.toJSONString());
+        params.put("id", id.toString());
+        params.put("type", type.toString());
+        post.form(params);
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("推送异常");
+        }else{
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if(jsonObject1.getIntValue("code") != 200){
+                logger.debug(jsonObject1.getString("msg"));
+                System.err.println(jsonObject1.getString("msg"));
+            }
         }
     }
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
index 589657b..bdb7e8a 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
@@ -1,15 +1,11 @@
 package com.stylefeng.guns.modular.system.util;
 
-import com.stylefeng.guns.core.util.ToolUtil;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
-import redis.clients.jedis.Jedis;
-import redis.clients.jedis.JedisPool;
-import redis.clients.jedis.Pipeline;
 
-import java.io.IOException;
-import java.util.*;
+import javax.annotation.Resource;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
 
 
 /**
@@ -18,10 +14,9 @@
 @Component
 public class RedisUtil {
 
-    @Autowired
-    private JedisPool jedisPool;
+    @Resource
+    private RedisTemplate<String, Object> redisTemplate;
 
-    private Timer timer;
 
 
     /**
@@ -30,11 +25,7 @@
      * @param value
      */
     public void setStrValue(String key, String value){
-        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){
-            Jedis resource = jedisPool.getResource();
-            String set = resource.set(key, value);
-            closeJedis(resource);
-        }
+        redisTemplate.opsForValue().set(key, value);
     }
 
 
@@ -45,11 +36,7 @@
      * @param time 秒
      */
     public void setStrValue(String key, String value, int time){
-        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){
-            Jedis resource = jedisPool.getResource();
-            String setex = resource.setex(key, time, value);
-            closeJedis(resource);
-        }
+        redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
     }
 
 
@@ -59,47 +46,10 @@
      * @return
      */
     public String getValue(String key){
-        if(ToolUtil.isNotEmpty(key)){
-            Jedis resource = jedisPool.getResource();
-            String data = resource.get(key);
-            closeJedis(resource);
-            return data;
-        }
-        return null;
+        return (String) redisTemplate.opsForValue().get(key);
     }
 
 
-    /**
-     * 批量获取
-     * @param kes
-     * @return
-     */
-    public List<Object> getValues(List<String> kes){
-        if(null != kes){
-            Jedis resource = jedisPool.getResource();
-            Pipeline pipelined = resource.pipelined();
-            for(String key : kes){
-                pipelined.get(key);
-            }
-            List<Object> list = pipelined.syncAndReturnAll();
-
-            closeJedis(resource);
-            pipelined.clear();
-            try {
-                pipelined.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-            List<Object> data = new ArrayList<>();
-            for(Object o : list){
-                if(null != o){
-                    data.add(o);
-                }
-            }
-            return data;
-        }
-        return null;
-    }
 
 
     /**
@@ -107,41 +57,7 @@
      * @param key
      */
     public void remove(String key){
-        if(ToolUtil.isNotEmpty(key)){
-            Jedis resource = jedisPool.getResource();
-            Long del = resource.del(key);
-            closeJedis(resource);
-        }
-    }
-
-
-    /**
-     * 向集合key添加数据
-     * @param key
-     * @param members
-     */
-    public void addSetValue(String key, String...members){
-        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(members)){
-            Jedis resource = jedisPool.getResource();
-            Long sadd = resource.sadd(key, members);
-            resource.close();
-        }
-    }
-
-
-    /**
-     * 返回Set集合数据
-     * @param key
-     * @return
-     */
-    public Set<String> getSetAllValue(String key){
-        Set<String> smembers = new HashSet<>();
-        if(ToolUtil.isNotEmpty(key)){
-            Jedis resource = jedisPool.getResource();
-            smembers = resource.smembers(key);
-            resource.close();
-        }
-        return smembers;
+        redisTemplate.delete(key);
     }
 
 
@@ -151,22 +67,7 @@
      * @param members
      */
     public void delSetValue(String key, String...members){
-        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(members)){
-            Jedis resource = jedisPool.getResource();
-            Long sadd = resource.srem(key, members);
-            resource.close();
-        }
-    }
-
-
-    /**
-     * 删除资源
-     * @param jedis
-     */
-    public void closeJedis(Jedis jedis){
-        if(null != jedis){
-            jedis.close();
-        }
+        redisTemplate.opsForSet().remove(key, members);
     }
 
 
@@ -174,31 +75,11 @@
      * redis加锁
      * @param key
      * @param value
-     * @param time
      * @return
      */
-    public boolean lock(String key, String value, int time){
-        if(!StringUtils.isEmpty(key)){
-            key += "_lock";
-            Jedis resource = jedisPool.getResource();
-            String set = resource.set(key, value, "nx", "ex", time);
-            if("OK".equals(set)){
-                String finalKey = key;
-                timer = new Timer();
-                timer.schedule(new TimerTask() {
-                    @Override
-                    public void run() {
-                        System.err.println("定时任务启动");
-                        Jedis resource = jedisPool.getResource();
-                        resource.setex(finalKey, time, value);
-                        resource.close();
-                    }
-                }, 1000, 500);
-            }
-            resource.close();
-            return "OK".equals(set) ? true : false;
-        }
-        return false;
+    public boolean lock(String key, String value){
+        key += "_lock";
+        return redisTemplate.opsForValue().setIfAbsent(key, value);
     }
 
     /**
@@ -241,7 +122,7 @@
      */
     public boolean lock(int time){
         String uuid = UUID.randomUUID().toString();
-        return lock("redis", uuid, time);
+        return lock("redis", uuid);
     }
 
 
@@ -251,15 +132,7 @@
      * @return
      */
     public boolean unlock(String key){
-        if(!StringUtils.isEmpty(key)){
-            key += "_lock";
-            Jedis resource = jedisPool.getResource();
-            timer.cancel();//取消定时任务
-            Long del = resource.del(key);
-            resource.close();
-            return del != 0 ? true : false;
-        }
-        return false;
+        return redisTemplate.delete(key);
     }
 
     /**
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RongCloudUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RongCloudUtil.java
index 04f11ef..b7e2bf1 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RongCloudUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RongCloudUtil.java
@@ -22,8 +22,8 @@
  * 融云
  */
 public class RongCloudUtil {
-	private static String appKey = "25wehl3u20ddw";
-	private static String appSecret = "gG3IjHADkAK";
+	private static String appKey = "111";
+	private static String appSecret = "111";
 	       
 	private static RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
 	/**
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WoUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WoUtil.java
deleted file mode 100644
index a5849d2..0000000
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WoUtil.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.stylefeng.guns.modular.system.util;
-
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-
-public class WoUtil {
-    public static Workbook ImportFile(MultipartFile importFile) {
-        Workbook book = null;
-        if(importFile == null)
-        {
-            //throw new WoException(SysConstant.ERR_EXCEL_NULL);
-        }
-        String fileName = importFile.getOriginalFilename();
-        try {
-            if(fileName.endsWith(".xlsx"))    //当表格的后缀是".xlsx时"
-            {
-                book = new XSSFWorkbook(importFile.getInputStream());
-            }else
-            {
-                book = new HSSFWorkbook(importFile.getInputStream());
-            }
-        } catch (IOException e) {
-            //throw new WoException(e,SysConstant.ERR_EXCEL_NO);
-        }
-        return book;
-    }
-}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/SMSUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/HWSMSUtil.java
similarity index 95%
rename from management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/SMSUtil.java
rename to management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/HWSMSUtil.java
index acd57eb..cc9e20d 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/SMSUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/HWSMSUtil.java
@@ -16,7 +16,7 @@
  * @author zhibing.pu
  * @date 2023/3/15 11:23
  */
-public class SMSUtil {
+public class HWSMSUtil {
     //无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值
     private static final String WSSE_HEADER_FORMAT = "UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\"";
     //无需修改,用于格式化鉴权头域,给"Authorization"参数赋值
@@ -32,14 +32,14 @@
     public static void send(String phones, String templateId, String templateParas) throws Exception {
         //必填,请参考"开发准备"获取如下数据,替换为实际值
         String url = "https://smsapi.cn-south-1.myhuaweicloud.com:443/sms/batchSendSms/v1"; //APP接入地址(在控制台"应用管理"页面获取)+接口访问URI
-        String appKey = "9I0xrhdGXthf1fv9nn8G3glZ6Zng"; //APP_Key
-        String appSecret = "U7WxwX2LVk2YD6KAHxjc9tdnXoM9"; //APP_Secret
-        String sender = "8823031523874"; //国内短信签名通道号或国际/港澳台短信通道号
+        String appKey = "111"; //APP_Key
+        String appSecret = "11"; //APP_Secret
+        String sender = "111"; //国内短信签名通道号或国际/港澳台短信通道号
 //        String templateId = "8ff55eac1d0b478ab3c06c3c6a492300"; //模板ID
 
         //条件必填,国内短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称
         //国际/港澳台短信不用关注该参数
-        String signature = "超省新代驾"; //签名名称
+        String signature = "111"; //签名名称
 
         //必填,全局号码格式(包含国家码),示例:+8615123456789,多个号码之间用英文逗号分隔
 //        String receiver = "+86151****6789,+86152****7890"; //短信接收人号码
@@ -242,7 +242,7 @@
 
     public static void main(String[] ages){
         try {
-            SMSUtil.send("15828353127", "1d0f0cbe5b214b0d8efa891730eb532a", "[\"" + 123456 + "\"]");
+            HWSMSUtil.send("15828353127", "1d0f0cbe5b214b0d8efa891730eb532a", "[\"" + 123456 + "\"]");
         } catch (Exception e) {
             e.printStackTrace();
         }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/OBSUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/OBSUtil.java
index 6ff9137..c2e82d3 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/OBSUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/huawei/OBSUtil.java
@@ -14,9 +14,9 @@
 public class OBSUtil {
 
     public static String endPoint = "https://obs.cn-south-1.myhuaweicloud.com";
-    public static String ak = "N52IGR6DHOC3JAZFHZIW";
-    public static String sk = "jq7Q7jnFS4Gxamwh3naN2sbNKwQQ7cZISPVumGBS";
-    public static String bucketname = "csxdj";
+    public static String ak = "111";
+    public static String sk = "111";
+    public static String bucketname = "111";
 
     /**
      * 上传文件
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/NCOSSUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/NCOSSUtil.java
new file mode 100644
index 0000000..e65e84f
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/NCOSSUtil.java
@@ -0,0 +1,243 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong;
+
+import com.heredata.hos.HOS;
+import com.heredata.hos.HOSClientBuilder;
+import com.heredata.hos.model.CreateBucketRequest;
+import com.heredata.hos.model.HOSObject;
+import com.heredata.hos.model.PutObjectRequest;
+import com.heredata.hos.model.PutObjectResult;
+import com.heredata.hos.model.bucket.Bucket;
+import com.heredata.model.VoidResult;
+import com.stylefeng.guns.modular.system.util.SpringContextsUtil;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.InputStream;
+
+/**
+ * OSS 工具类
+ * @author zhibing.pu
+ * @Date 2025/6/23 17:50
+ */
+@Slf4j
+public class NCOSSUtil {
+	
+	private static QianYunTongConfig qianYunTongConfig = SpringContextsUtil.getBean(QianYunTongConfig.class).getQianYunTongConfig();;
+	
+	/**
+	 * 创建桶
+	 * @param bucketName
+	 * @return
+	 */
+	public static Boolean createBucket(String bucketName) {
+		/**
+		 * endPoint:HOS的基础路径(公共前缀)
+		 * account:账户的ID
+		 * accessKey:向UAAS服务请求到的access_key
+		 * secretKey:向UAAS服务请求到的secret_key
+		 */
+		HOS hos = new HOSClientBuilder().build(qianYunTongConfig.getEndPoint(), qianYunTongConfig.getAccount(), qianYunTongConfig.getAccessKey(), qianYunTongConfig.getSecretKey());
+		try {
+			// 创建请求对象,并且设置创建桶名为"example"的桶
+			CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
+			VoidResult result = hos.createBucket(createBucketRequest);
+			if (result.getResponse().isSuccessful()) {
+				log.info("创建桶成功:" + bucketName);
+				return true;
+			}
+		} catch (Exception e){
+			log.info("创建桶失败:" + bucketName);
+			e.printStackTrace();
+		}
+		return false;
+	}
+
+
+	/**
+	 * 查询桶详情
+	 * @param bucketName
+	 * @return
+	 */
+	public static Bucket getBucketInfo(String bucketName) {
+		/**
+		 * endPoint:HOS的基础路径(公共前缀)
+		 * account:账户的ID
+		 * accessKey:向UAAS服务请求到的access_key
+		 * secretKey:向UAAS服务请求到的secret_key
+		 */
+		HOS hos = new HOSClientBuilder().build(qianYunTongConfig.getEndPoint(), qianYunTongConfig.getAccount(), qianYunTongConfig.getAccessKey(), qianYunTongConfig.getSecretKey());
+		try {
+			// 查询桶名为"example"的详情
+			Bucket bucket = hos.getBucketInfo(bucketName);
+			return bucket;
+		} catch (Exception e){
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+
+	/**
+	 * 删除桶
+	 * @param bucketName
+	 * @return
+	 */
+	public static Boolean deleteBucket(String bucketName) {
+		/**
+		 * endPoint:HOS的基础路径(公共前缀)
+		 * account:账户的ID
+		 * accessKey:向UAAS服务请求到的access_key
+		 * secretKey:向UAAS服务请求到的secret_key
+		 */
+		HOS hos = new HOSClientBuilder().build(qianYunTongConfig.getEndPoint(), qianYunTongConfig.getAccount(), qianYunTongConfig.getAccessKey(), qianYunTongConfig.getSecretKey());
+		try {
+			VoidResult result = hos.deleteBucket(bucketName);
+			if (result.getResponse().isSuccessful()) {
+				log.info("删除桶成功:" + bucketName);
+				return true;
+			}
+		} catch (Exception e){
+			log.info("删除桶成功:" + bucketName);
+			e.printStackTrace();
+		}
+		return false;
+	}
+
+
+	/**
+	 * 设置桶策略
+	 * @param bucketName    桶名
+	 * @param policyText    策略规则字符串
+	 * {
+	 *   // 策略配置的版本号,由用户定义
+	 *   "Version": "2012-10-17",
+	 *   //  策略规则配置,可指定多条策略规则
+	 *   "Statement": [{
+	 *     // 策略规则ID,可用户指定,如不指定则服务自动生成一条
+	 *     "Sid": "sid",
+	 *     // 策略规则指定的HOS API接口标识,可参照下表填写
+	 *     "Action": [
+	 *       "action"
+	 *     ],
+	 *     // 策略规则效果,具体表现为允许或拒绝,有效值为Allow(允许),Deny(拒绝);
+	 *     "Effect": "Allow",
+	 *     // 策略规则指定的资源参照下面resource配置
+	 *     "Resource": "resource",
+	 *     // 策略规则指定的授权人 参照下面Principal配置
+	 *     "Principal": {
+	 *       "HWS": [
+	 *         "account_id:root"
+	 *       ]
+	 *     }
+	 *   }
+	 *   ]
+	 * }
+	 * @return
+	 */
+	public static Boolean setBucketPolicy(String bucketName, String policyText) {
+		/**
+		 * endPoint:HOS的基础路径(公共前缀)
+		 * account:账户的ID
+		 * accessKey:向UAAS服务请求到的access_key
+		 * secretKey:向UAAS服务请求到的secret_key
+		 */
+		HOS hos = new HOSClientBuilder().build(qianYunTongConfig.getEndPoint(), qianYunTongConfig.getAccount(), qianYunTongConfig.getAccessKey(), qianYunTongConfig.getSecretKey());
+		// 桶策略字符串
+		try {
+			VoidResult result = hos.setBucketPolicy(bucketName, policyText);
+			if (result.getResponse().isSuccessful()) {
+				log.info("设置桶策略成功:" + bucketName);
+				return true;
+			}
+		} catch (Exception e) {
+			log.info("设置桶策略失败:" + bucketName);
+			e.printStackTrace();
+		}
+		return false;
+	}
+
+
+	/**
+	 * 上传对象
+	 * @param bucketName    桶名称
+	 * @param key           存储文件名
+	 * @param inputStream      上传文件流
+	 * @return  对象唯一标识
+	 */
+	public static String putObject(String bucketName, String key, InputStream inputStream) {
+		/**
+		 * endPoint:HOS的基础路径(公共前缀)
+		 * account:账户的ID
+		 * accessKey:向UAAS服务请求到的access_key
+		 * secretKey:向UAAS服务请求到的secret_key
+		 */
+		HOS hos = new HOSClientBuilder().build(qianYunTongConfig.getEndPoint(), qianYunTongConfig.getAccount(), qianYunTongConfig.getAccessKey(), qianYunTongConfig.getSecretKey());
+		try {
+			PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key , inputStream);
+			PutObjectResult example = hos.putObject(putObjectRequest);
+			if (example.getResponse().isSuccessful()) {
+				log.info("上传对象成功:" + bucketName + "--->" + key);
+				return example.getETag();
+			}
+		} catch (Exception e) {
+			log.info("上传对象成功:" + bucketName);
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+
+	/**
+	 * 查询对象
+	 * @param bucketName    桶名称
+	 * @param key           存储文件名
+	 * @return
+	 */
+	public static HOSObject getObject(String bucketName, String key) {
+		/**
+		 * endPoint:HOS的基础路径(公共前缀)
+		 * account:账户的ID
+		 * accessKey:向UAAS服务请求到的access_key
+		 * secretKey:向UAAS服务请求到的secret_key
+		 */
+		HOS hos = new HOSClientBuilder().build(qianYunTongConfig.getEndPoint(), qianYunTongConfig.getAccount(), qianYunTongConfig.getAccessKey(), qianYunTongConfig.getSecretKey());
+		try {
+			HOSObject example = hos.getObject(bucketName, key);
+			if (example.getResponse().isSuccessful()) {
+				log.info("查询对象成功:" + bucketName + "--->" + key);
+				return example;
+			}
+		} catch (Exception e) {
+			log.info("查询对象失败:" + bucketName);
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+
+	/**
+	 * 删除对象
+	 * @param bucketName     桶名称
+	 * @param key          存储文件名
+	 * @return
+	 */
+	public static Boolean deleteObject(String bucketName, String key) {
+		/**
+		 * endPoint:HOS的基础路径(公共前缀)
+		 * account:账户的ID
+		 * accessKey:向UAAS服务请求到的access_key
+		 * secretKey:向UAAS服务请求到的secret_key
+		 */
+		HOS hos = new HOSClientBuilder().build(qianYunTongConfig.getEndPoint(), qianYunTongConfig.getAccount(), qianYunTongConfig.getAccessKey(), qianYunTongConfig.getSecretKey());
+		try {
+			VoidResult example = hos.deleteObject(bucketName, key);
+			if (example.getResponse().isSuccessful()) {
+				log.info("删除对象成功:" + bucketName + "--->" + key);
+				return true;
+			}
+		} catch (Exception e) {
+			log.info("删除对象失败:" + bucketName + "--->" + key);
+			e.printStackTrace();
+		}
+		return false;
+	}
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongConfig.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongConfig.java
new file mode 100644
index 0000000..e470183
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongConfig.java
@@ -0,0 +1,203 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/7/8 11:31
+ */
+@Component
+public class QianYunTongConfig {
+	
+	@Value("${spring.profiles.active}")
+	private String activeProfile;
+	
+	
+	/**
+	 * appkey
+	 */
+	private String appkey;
+	/**
+	 * 私钥地址
+	 */
+	private String privateKeyPath;
+	/**
+	 * 消费者账号
+	 */
+	private String userName;
+	/**
+	 * 状态
+	 * 1:生产环境
+	 * 2:测试环境
+	 */
+	private String status;
+	/**
+	 * API地址
+	 */
+	private String apiUrl;
+	/**
+	 * 桶名
+	 */
+	private String bucketName;
+	/**
+	 * 小程序appId
+	 */
+	private String appId;
+	/**
+	 * HOS的基础路径(公共前缀)
+	 */
+	private String endPoint;
+	/**
+	 * 账户的ID
+	 */
+	private String account;
+	/**
+	 * 向UAAS服务请求到的access_key
+	 */
+	private String accessKey;
+	/**
+	 * 向UAAS服务请求到的secret_key
+	 */
+	private String secretKey;
+
+	public String getActiveProfile() {
+		return activeProfile;
+	}
+
+	public void setActiveProfile(String activeProfile) {
+		this.activeProfile = activeProfile;
+	}
+
+	public String getAppkey() {
+		return appkey;
+	}
+
+	public void setAppkey(String appkey) {
+		this.appkey = appkey;
+	}
+
+	public String getPrivateKeyPath() {
+		return privateKeyPath;
+	}
+
+	public void setPrivateKeyPath(String privateKeyPath) {
+		this.privateKeyPath = privateKeyPath;
+	}
+
+	public String getUserName() {
+		return userName;
+	}
+
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getApiUrl() {
+		return apiUrl;
+	}
+
+	public void setApiUrl(String apiUrl) {
+		this.apiUrl = apiUrl;
+	}
+
+	public String getBucketName() {
+		return bucketName;
+	}
+
+	public void setBucketName(String bucketName) {
+		this.bucketName = bucketName;
+	}
+
+	public String getAppId() {
+		return appId;
+	}
+
+	public void setAppId(String appId) {
+		this.appId = appId;
+	}
+
+	public String getEndPoint() {
+		return endPoint;
+	}
+
+	public void setEndPoint(String endPoint) {
+		this.endPoint = endPoint;
+	}
+
+	public String getAccount() {
+		return account;
+	}
+
+	public void setAccount(String account) {
+		this.account = account;
+	}
+
+	public String getAccessKey() {
+		return accessKey;
+	}
+
+	public void setAccessKey(String accessKey) {
+		this.accessKey = accessKey;
+	}
+
+	public String getSecretKey() {
+		return secretKey;
+	}
+
+	public void setSecretKey(String secretKey) {
+		this.secretKey = secretKey;
+	}
+
+	public QianYunTongConfig getQianYunTongConfig() {
+		if("dev".equals(activeProfile)){
+			this.appkey = "10001104";
+			this.privateKeyPath = "C:\\Users\\Admin\\Desktop\\qyt\\private_key_test.pem";
+			this.userName = "xiaofei";
+			this.status = "1";
+			this.setApiUrl("https://test-zhongtai.stqcloud.com:10070");
+			this.setBucketName("bucuTest0625");
+			this.setAppId("wxcc3c9058e2b294db");
+			this.setEndPoint("http://119.4.112.68:27741/v1");
+			this.setAccount("d8bef0a04db511f0b79d01a3e2b7587e");
+			this.setAccessKey("TYMFTFD5SIIT15DCCUD7");
+			this.setSecretKey("AoI1dkH3yoAvXoaQlREO3ed9mwQJFluLTliS9T1z");
+		}
+		if("test".equals(activeProfile)){
+			this.setAppkey("10001104");
+			this.setPrivateKeyPath("/etraffic/server/private_key_test.pem");
+			this.setUserName("xiaofei");
+			this.setStatus("1");
+			this.setApiUrl("https://test-zhongtai.stqcloud.com:10070");
+			this.setBucketName("bucuTest0625");
+			this.setAppId("wxcc3c9058e2b294db");
+			this.setEndPoint("http://119.4.112.68:27741/v1");
+			this.setAccount("d8bef0a04db511f0b79d01a3e2b7587e");
+			this.setAccessKey("TYMFTFD5SIIT15DCCUD7");
+			this.setSecretKey("AoI1dkH3yoAvXoaQlREO3ed9mwQJFluLTliS9T1z");
+		}
+		if("prod".equals(activeProfile)){
+			this.setAppkey("10001104");
+			this.setPrivateKeyPath("/root/server/app/key/private_key.pem");
+			this.setUserName("xiwang");
+			this.setStatus("1");
+			this.setApiUrl("http://jjzhongtai.stqcloud.com:10010");
+			this.setBucketName("qyt20250702");
+			this.setAppId("wxcc3c9058e2b294db");
+			this.setEndPoint("http://119.4.112.68:27741/v1");
+			this.setAccount("d8bef0a04db511f0b79d01a3e2b7587e");
+			this.setAccessKey("TYMFTFD5SIIT15DCCUD7");
+			this.setSecretKey("AoI1dkH3yoAvXoaQlREO3ed9mwQJFluLTliS9T1z");
+		}
+		return this;
+	}
+	
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CheckEnterExist.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CheckEnterExist.java
new file mode 100644
index 0000000..837dd93
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CheckEnterExist.java
@@ -0,0 +1,40 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/6 18:12
+ */
+@Data
+public class CheckEnterExist {
+	/**
+	 * 企业ID
+	 */
+	private String id;
+	/**
+	 * 是否在公有云注册,1:已注册;0:未注册
+	 */
+	private String isReg;
+	/**
+	 * 创建者手机号
+	 */
+	private String mobile;
+	/**
+	 * 创建时间
+	 */
+	private String createTime;
+	/**
+	 * 法人姓名
+	 */
+	private String larName;
+	/**
+	 * 企业编码
+	 */
+	private String enterCode;
+	/**
+	 * 认证状态
+	 * 0:已认证;1:未认证,初始状态;2:认证不通过;3:认证中
+	 */
+	private Integer auth;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateEnterprise.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateEnterprise.java
new file mode 100644
index 0000000..579c4db
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateEnterprise.java
@@ -0,0 +1,46 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/9 19:43
+ */
+@Data
+public class CreateEnterprise {
+	/**
+	 * 企业ID
+	 */
+	private String id;
+	/**
+	 * 开通易信状态
+	 * 0:成功 1:失败
+	 */
+	private String callYixinApi;
+	/**
+	 * 开通办公门户状态
+	 * 0:成功 1:失败
+	 */
+	private String callItdSaveCompany;
+	/**
+	 * 开通企业官网状态
+	 * 0:成功 1:失败
+	 */
+	private String callItdDredgeWebsite;
+	/**
+	 * 电话号码
+	 */
+	private String phone;
+	/**
+	 * 企业idcode
+	 */
+	private String idCode;
+	/**
+	 * 企业节点ID
+	 */
+	private String noteId;
+	/**
+	 * 是否新注册企业
+	 */
+	private String isNew;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateEnterpriseRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateEnterpriseRequest.java
new file mode 100644
index 0000000..ab18fe9
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateEnterpriseRequest.java
@@ -0,0 +1,118 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/9 18:20
+ */
+@Data
+public class CreateEnterpriseRequest {
+	/**
+	 * 企业名称
+	 */
+	private String name;
+	/**
+	 * 企业简称/昵称
+	 */
+	private String nickName;
+	/**
+	 * 行业编码
+	 */
+	private String industry_code;
+	/**
+	 * 手机号码
+	 */
+	private String mobile;
+	/**
+	 * 区域编码
+	 */
+	private String area;
+	/**
+	 * 企业地址
+	 */
+	private String address;
+	/**
+	 * 二级域名
+	 */
+	private String secondRealmName;
+	/**
+	 * 企业密码
+	 */
+	private String password;
+	/**
+	 * 一级行业分类描述
+	 */
+	private String industry_level1;
+	/**
+	 * 二级行业分类描述
+	 */
+	private String industry_level2;
+	/**
+	 * 企业来源编码
+	 */
+	private String sourceCode;
+	/**
+	 * 企业分类编码
+	 */
+	private String typeCode;
+	/**
+	 * 代理商id
+	 */
+	private String elecsId;
+	/**
+	 * 是否发送短信
+	 * 0:不发送,1:发送
+	 */
+	private String smsFlag;
+	/**
+	 * 是否激活
+	 * 1:激活;0:未激活
+	 */
+	private String mobileFlag;
+	/**
+	 * 邮箱
+	 */
+	private String email;
+	/**
+	 * 邮箱是否激活
+	 * 1:激活;0:未激活
+	 */
+	private String emailFlag;
+	/**
+	 * 是否同步通讯录
+	 */
+	private String contact_source;
+	/**
+	 * 所属行业通用编码
+	 */
+	private String trade_code;
+	/**
+	 * 营业执照扫描件url
+	 */
+	private String operScanPic;
+	/**
+	 * 运营人员姓名
+	 */
+	private String idcardName;
+	/**
+	 * 运营者身份证号码
+	 */
+	private String idcardNum;
+	/**
+	 * 运营者身份证照片url
+	 */
+	private String idcardPic;
+	/**
+	 * 企业工号
+	 */
+	private String enterID;
+	/**
+	 * 推荐人
+	 */
+	private String recommender;
+	/**
+	 * 创建者姓名
+	 */
+	private String creatorName;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/DeleteStafNodeRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/DeleteStafNodeRequest.java
new file mode 100644
index 0000000..0115407
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/DeleteStafNodeRequest.java
@@ -0,0 +1,23 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/6 16:39
+ */
+@Data
+public class DeleteStafNodeRequest {
+	/**
+	 * 人员ID
+	 */
+	private Long empId;
+	/**
+	 * 手机号
+	 */
+	private String mobile;
+	/**
+	 * 企业编号
+	 */
+	private String entercode;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/EditStaffNodeRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/EditStaffNodeRequest.java
new file mode 100644
index 0000000..581cbc1
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/EditStaffNodeRequest.java
@@ -0,0 +1,72 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/6 16:32
+ */
+@Data
+public class EditStaffNodeRequest {
+	/**
+	 * 人员ID
+	 */
+	private Long empId;
+	/**
+	 * 操作人手机号
+	 */
+	private String mobile;
+	/**
+	 * 操作人企业ID
+	 */
+	private String entercode;
+	/**
+	 * 企业ID
+	 */
+	private Long enterId;
+	/**
+	 * 人员显示名
+	 */
+	private String empName;
+	/**
+	 * 人员显示名
+	 */
+	private String empNickname;
+	/**
+	 * 手机号
+	 */
+	private String mphone;
+	/**
+	 * 登录账号
+	 */
+	private String loginNo;
+	/**
+	 * 人员性别(男\女)
+	 */
+	private String empSex;
+	/**
+	 * 人员邮箱
+	 */
+	private String email;
+	/**
+	 * 员工所属部门ID多个部门英文; 分割
+	 */
+	private String deptIds;
+	/**
+	 * 员工职务ID
+	 */
+	private Integer positionId;
+	/**
+	 * 员工职务名称,如不知道ID可以直接传入名称
+	 */
+	private String positionName;
+	/**
+	 * 高管模式 1 是 0 不是
+	 */
+	private Integer superLevel;
+	/**
+	 * 隐藏号码 1 是 0 不是
+	 */
+	private Integer hideMobile;
+	
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/EnterpriseInfo.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/EnterpriseInfo.java
new file mode 100644
index 0000000..476dc50
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/EnterpriseInfo.java
@@ -0,0 +1,259 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/6 17:14
+ */
+@Data
+public class EnterpriseInfo {
+	/**
+	 * 企业ID
+	 */
+	private String id;
+	/**
+	 * 企业编号
+	 */
+	private String enter_code;
+	/**
+	 * 企业名称
+	 */
+	private String enter_name;
+	/**
+	 * 是否是全员号码可见,0:是,1:否
+	 */
+	private String visible;
+	/**
+	 * 认证状态,0:已认证;1:未认证,初始状态;2:认证不通过;3:认证中
+	 */
+	private String auth;
+	/**
+	 * 认证时间
+	 */
+	private String auth_time;
+	/**
+	 * 认证注释
+	 */
+	private String authRemark;
+	/**
+	 * 运营者姓名(委托人)
+	 */
+	private String idcard_name;
+	/**
+	 * 运营者证件号
+	 */
+	private String idcard_num;
+	/**
+	 * 运营者证件扫描件URL
+	 */
+	private String idcard_pic;
+	/**
+	 * 统一社会信用代码
+	 */
+	private String uscc;
+	/**
+	 * 法人姓名
+	 */
+	private String larName;
+	/**
+	 * 法人电话
+	 */
+	private String larPhone;
+	/**
+	 * 法人身份证
+	 */
+	private String larIdCard;
+	/**
+	 * 法人身份证扫描件URL
+	 */
+	private String larIdCardPic;
+	/**
+	 * 发票名称
+	 */
+	private String invoiceName;
+	/**
+	 * 纳税人识别号(发票)
+	 */
+	private String invoiceTIN;
+	/**
+	 * 开户行名称(发票)
+	 */
+	private String invoiceBankersName;
+	/**
+	 * 开户行账号(发票)
+	 */
+	private String invoiceBankersAccount;
+	/**
+	 * 资质机构名称
+	 */
+	private String qualificationOrgName;
+	/**
+	 * 资质注册号/登记号
+	 */
+	private String qualificationRegNum;
+	/**
+	 * 资质有效开始时间
+	 */
+	private String qualificationStartTime;
+	/**
+	 * 资质有效结束时间
+	 */
+	private String qualificationEndTime;
+	/**
+	 * 资格证书扫描件URL
+	 */
+	private String qualificationCertUrl;
+	/**
+	 * 省份编码
+	 */
+	private String provinceCode;
+	/**
+	 * 地市编码
+	 */
+	private String cityCode;
+	/**
+	 * 区县编码
+	 */
+	private String areaCode;
+	/**
+	 * 乡镇编码
+	 */
+	private String townshipCode;
+	/**
+	 * 企业创建时间
+	 */
+	private String enter_createdate;
+	/**
+	 * 地址
+	 */
+	private String address;
+	/**
+	 * 营业期开始时间,格式:yyyy-MM-dd HH:mm:ss
+	 */
+	private String businessTermStartTime;
+	/**
+	 * 营业期结束时间,格式:yyyy-MM-dd HH:mm:ss
+	 */
+	private String businessTermEndTime;
+	/**
+	 * 企业规模
+	 */
+	private String enterScale;
+	/**
+	 * 创建者职位
+	 */
+	private String creatorPosition;
+	/**
+	 * 企业备注/介绍
+	 */
+	private String enterRemark;
+	/**
+	 * 企业logo
+	 */
+	private String enterLogo;
+	/**
+	 * 企业邮箱
+	 */
+	private String enterEmail;
+	/**
+	 * 企业联系电话rg_company_info.enter_tel
+	 */
+	private String enterTel;
+	/**
+	 * 一级行业分类编码
+	 */
+	private String industryStr;
+	/**
+	 * 二级行业分类编码
+	 */
+	private String industryStr2;
+	/**
+	 * 企业联系人姓名
+	 */
+	private String enterLinkman;
+	/**
+	 * 营业执照扫描件ur
+	 */
+	private String operScanPic;
+	/**
+	 * 身份证有效期
+	 */
+	private String larIdCardValidity;
+	/**
+	 * 经营地址
+	 */
+	private String operationAddress;
+	/**
+	 * 法人身份证背面照片
+	 */
+	private String larIdCardPicBack;
+	/**
+	 * 法人身份证手持
+	 */
+	private String larIdCardPicHold;
+	/**
+	 * 开户许可证
+	 */
+	private String accountOpeningPermit;
+	/**
+	 * 自定义的,例如:企业类型
+	 */
+	private String tag1;
+	/**
+	 * 自定义的,例如:行业类型
+	 */
+	private String tag2;
+	/**
+	 * 企业扩展信息
+	 */
+	private String iformContentId;
+	/**
+	 * 国家统计局网站提供的行政地区编码
+	 */
+	private String area;
+	/**
+	 * 行业编码
+	 */
+	private String industryCode;
+	/**
+	 * 企业创建人姓名
+	 */
+	private String creatorName;
+	/**
+	 * 企业创建人手机号
+	 */
+	private String creatorMobile;
+	/**
+	 * 管理员邮箱
+	 */
+	private String email;
+	/**
+	 * 企业简称
+	 */
+	private String enterAbbreviation;
+	/**
+	 * 营业期限
+	 */
+	private String businessTermLong;
+	/**
+	 * 一级行业名称
+	 */
+	private String industryL1Name;
+	/**
+	 * 二级行业名称
+	 */
+	private String industryL2Name;
+	/**
+	 * 企业介绍(全文本)
+	 */
+	private String enterIntro;
+	/**
+	 * 法人身份证正面照片
+	 */
+	private String larIdCardPicFront;
+	/**
+	 * 企业主税机关
+	 */
+	private String enterTaxAuthority;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetStaffNodeRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetStaffNodeRequest.java
new file mode 100644
index 0000000..aab260b
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetStaffNodeRequest.java
@@ -0,0 +1,23 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/6 16:42
+ */
+@Data
+public class GetStaffNodeRequest {
+	/**
+	 * 人员ID
+	 */
+	private Long empId;
+	/**
+	 * 操作人手机号
+	 */
+	private String mobile;
+	/**
+	 * 操作人企业ID
+	 */
+	private String entercode;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/LoginWeChatXiao.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/LoginWeChatXiao.java
new file mode 100644
index 0000000..9670f97
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/LoginWeChatXiao.java
@@ -0,0 +1,39 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/16 23:50
+ */
+@Data
+public class LoginWeChatXiao {
+	/**
+	 * token
+	 */
+	private String token;
+	/**
+	 * 用户UUID
+	 */
+	private String userUUID;
+	/**
+	 * 用户手机号
+	 */
+	private String mobile;
+	/**
+	 * 企业名称,无企业时为空
+	 */
+	private String enterName;
+	/**
+	 * 企业编码
+	 */
+	private String enterCode;
+	/**
+	 * 企业认证状态
+	 */
+	private String enterAuth;
+	/**
+	 * 是否是管理员,是:1;否:0
+	 */
+	private String isAdmin;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ModifyEnterpriseInfoRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ModifyEnterpriseInfoRequest.java
new file mode 100644
index 0000000..8f73990
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ModifyEnterpriseInfoRequest.java
@@ -0,0 +1,75 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/9 18:13
+ */
+@Data
+public class ModifyEnterpriseInfoRequest {
+	/**
+	 * 企业编码
+	 */
+	private String enter_code;
+	/**
+	 * 操作人员手机号
+	 */
+	private String operator;
+	/**
+	 * 企业名称
+	 */
+	private String enter_name;
+	/**
+	 * 企业简称
+	 */
+	private String enter_nickname;
+	/**
+	 * 企业地址
+	 */
+	private String enter_address;
+	/**
+	 * 企业邮箱
+	 */
+	private String enter_email;
+	/**
+	 * 联系人姓名
+	 */
+	private String contact_name;
+	/**
+	 * 联系人手机号
+	 */
+	private String contact_mobile;
+	/**
+	 * 营业执照扫描件URL
+	 */
+	private String operscanpic;
+	/**
+	 * 营业期开始时间
+	 */
+	private String businessTermStartTime;
+	/**
+	 * 营业期结束时间
+	 */
+	private String businessTermEndTime;
+	/**
+	 * 区域编码
+	 */
+	private String area;
+	/**
+	 * 二级域名
+	 */
+	private String second_realms;
+	/**
+	 * 企业来源编码
+	 */
+	private String source_code;
+	/**
+	 * 店铺所属行业编码
+	 */
+	private String trade_code;
+	/**
+	 * 企业分类编码
+	 */
+	private String type_code;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ModifyPwdRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ModifyPwdRequest.java
new file mode 100644
index 0000000..7a04de5
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ModifyPwdRequest.java
@@ -0,0 +1,25 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data; /**
+ * @author zhibing.pu
+ * @Date 2025/6/10 10:42
+ */
+@Data
+public class ModifyPwdRequest {
+	/**
+	 * 手机号码
+	 */
+	private String mobile;
+	/**
+	 * 旧密码
+	 */
+	private String oldPwd;
+	/**
+	 * 新密码
+	 */
+	private String newPwd;
+	/**
+	 * 验证码
+	 */
+	private String code;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/QYTUserInfo.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/QYTUserInfo.java
new file mode 100644
index 0000000..b0a0231
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/QYTUserInfo.java
@@ -0,0 +1,44 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * 用户信息
+ * @author zhibing.pu
+ * @Date 2025/6/6 15:11
+ */
+@Data
+public class QYTUserInfo {
+	/**
+	 * 员工名称
+	 */
+	private String empName;
+	/**
+	 * 企业编号
+	 */
+	private String enterNum;
+	/**
+	 * 节点路径
+	 */
+	private String nodePath;
+	/**
+	 * 员工昵称
+	 */
+	private String nickName;
+	/**
+	 * 员工编号
+	 */
+	private Long empId;
+	/**
+	 * 手机号码
+	 */
+	private String mphone;
+	/**
+	 * 员工在企业内部的编号
+	 */
+	private String loginNo;
+	/**
+	 * 部门ID
+	 */
+	private Long deptId;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/RegisterViaMobile.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/RegisterViaMobile.java
new file mode 100644
index 0000000..4702ff9
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/RegisterViaMobile.java
@@ -0,0 +1,26 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data; /**
+ * @author zhibing.pu
+ * @Date 2025/6/10 11:34
+ */
+@Data
+public class RegisterViaMobile {
+	/**
+	 * 响应码
+	 * 0:成功;1:失败;2:手机号非法;3:验证码已过期;4:验证码错误;5、用户已存在;9:弱密码
+	 */
+	private String status;
+	/**
+	 * 响应描述
+	 */
+	private String desc;
+	/**
+	 * web登录密码
+	 */
+	private String password;
+	/**
+	 * 用户UUID
+	 */
+	private String onconUUID;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/RegisterViaMobileRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/RegisterViaMobileRequest.java
new file mode 100644
index 0000000..57d6638
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/RegisterViaMobileRequest.java
@@ -0,0 +1,46 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/6 16:59
+ */
+@Data
+public class RegisterViaMobileRequest {
+	/**
+	 * 手机号码
+	 */
+	private String mobile;
+	/**
+	 * 客户端appid
+	 */
+	private String appId;
+	/**
+	 * 用户密码
+	 */
+	private String password;
+	/**
+	 * 短信验证码
+	 */
+	private String verify_code;
+	/**
+	 * 验证码类型
+	 * 0:短信发送的验证码;1:一键获取手机号返回注册验证码;2、验证码验证成功后生成的Ticket
+	 */
+	private String verify_code_type;
+	/**
+	 * 加密类型
+	 * 第三方系统可以填写空
+	 */
+	private String encryptType;
+	/**
+	 * 用户类型
+	 * 0:普通用户
+	 */
+	private String user_type;
+	/**
+	 * 昵称
+	 */
+	private String nickname;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ResetPwdRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ResetPwdRequest.java
new file mode 100644
index 0000000..7af096c
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/ResetPwdRequest.java
@@ -0,0 +1,27 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/10 10:42
+ */
+@Data
+public class ResetPwdRequest {
+	/**
+	 * 手机号码
+	 */
+	private String mobile;
+	/**
+	 * 密码
+	 */
+	private String password;
+	/**
+	 * 验证码
+	 */
+	private String code;
+	/**
+	 * 客户端appid
+	 */
+	private String appid;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/SaveStaffNode.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/SaveStaffNode.java
new file mode 100644
index 0000000..13dfef3
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/SaveStaffNode.java
@@ -0,0 +1,31 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @date 2025/6/14 14:10
+ */
+@Data
+public class SaveStaffNode {
+    /**
+     * 人员ID
+     */
+    private Long empId;
+    /**
+     * 员工名称
+     */
+    private String empName;
+    /**
+     * 员工昵称
+     */
+    private String empNickname;
+    /**
+     * 手机号
+     */
+    private String mphone;
+    /**
+     * 登录账号
+     */
+    private String loginNo;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/SaveStaffNodeRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/SaveStaffNodeRequest.java
new file mode 100644
index 0000000..2f7cc63
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/SaveStaffNodeRequest.java
@@ -0,0 +1,63 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/6 16:22
+ */
+@Data
+public class SaveStaffNodeRequest {
+	/**
+	 * 操作人手机号
+	 */
+	private String mobile;
+	/**
+	 * 操作人企业ID
+	 */
+	private String entercode;
+	/**
+	 * 人员名称
+	 */
+	private String empName;
+	/**
+	 * 人员显示名
+	 */
+	private String empNickname;
+	/**
+	 * 人员账号
+	 */
+	private String loginNo;
+	/**
+	 * 人员性别
+	 */
+	private String empSex;
+	/**
+	 * 人员手机号
+	 */
+	private String mphone;
+	/**
+	 * 人员邮箱
+	 */
+	private String email;
+	/**
+	 * 员工所属部分ID
+	 */
+	private Integer deptId;
+	/**
+	 * 员工职务ID
+	 */
+	private Integer positionId;
+	/**
+	 * 员工职务名称
+	 */
+	private String positionName;
+	/**
+	 * 高管模式 1 是 0 不是
+	 */
+	private Integer superLevel;
+	/**
+	 * 隐藏号码 1 是 0 不是
+	 */
+	private Integer hideMobile;
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java
new file mode 100644
index 0000000..e0fcb39
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java
@@ -0,0 +1,91 @@
+package com.stylefeng.guns.modular.system.util.qianyuntong.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/6/6 16:44
+ */
+@Data
+public class StaffNodeInfo {
+	/**
+	 * 人员ID
+	 */
+	private Long empId;
+	/**
+	 * 主要号码
+	 */
+	private String mainMphone;
+	/**
+	 * 备注
+	 */
+	private String remark;
+	/**
+	 * 企业ID
+	 */
+	private String enterNum;
+	/**
+	 * 加密企业名称
+	 */
+	private String empNameEncode;
+	/**
+	 * 人员名称
+	 */
+	private String empName;
+	/**
+	 * 人员显示名
+	 */
+	private String empNickname;
+	/**
+	 * 人员账号
+	 */
+	private String loginNo;
+	/**
+	 * 人员性别(男\女)
+	 */
+	private String empSex;
+	/**
+	 * 人员手机号
+	 */
+	private String mphone;
+	/**
+	 * 人员邮箱加密
+	 */
+	private String mainEmailEncode;
+	/**
+	 * 所属企业id
+	 */
+	private Long enterId;
+	/**
+	 * 唯一编号
+	 */
+	private String onconuuid;
+	/**
+	 * 邮箱
+	 */
+	private String email;
+	/**
+	 * 员工所属部门ID多个部门英文; 分割
+	 */
+	private Integer deptId;
+	/**
+	 * 员工职位ID
+	 */
+	private Long positionId;
+	/**
+	 * 员工职位名称
+	 */
+	private String positionName;
+	/**
+	 * 高管模式 1 是 0 不是
+	 */
+	private Integer superLevel;
+	/**
+	 * 隐藏手机号 1 是 0 否
+	 */
+	private Integer hideMobile;
+	/**
+	 * 有效状态(0=否,1=是)
+	 */
+	private String isValid;
+}
diff --git a/management/guns-admin/src/main/resources/application-dev.yml b/management/guns-admin/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..e9a9612
--- /dev/null
+++ b/management/guns-admin/src/main/resources/application-dev.yml
@@ -0,0 +1,93 @@
+server:
+  port: 8019
+
+guns:
+  swagger-open: false              #是否开启swagger (true/false)
+  kaptcha-open: false             #是否开启登录时验证码 (true/false)
+  spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
+  session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
+  session-validation-interval: 900  #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+#  file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录)
+#  picture-server-address: http://192.168.0.43/resources/  #图片服务器地址
+  file-upload-path: C:\Users\Administrator\Desktop\apache-tomcat-8.0.33\webapps\ROOT\upload\ #文件上传目录(不配置的话为java.io.tmpdir目录)
+  picture-server-address: http://139.9.249.67:8080/upload/  #图片服务器地址
+  rest-url: http://139.9.249.67:8080/rest/    #前端接口调用基础路径
+
+spring:
+  profiles:
+    active: dev
+  mvc:
+    static-path-pattern: /static/**
+    view:
+      prefix: /WEB-INF/view
+  devtools:
+    restart:
+      enabled: false
+      additional-paths: src/main/java
+      exclude: static/**,WEB-INF/view/**
+  servlet:
+    multipart:
+      max-request-size: 100MB
+      max-file-size: 100MB
+  redis:
+    host: 192.168.110.80
+    port: 6379
+    password: 123456
+    
+mybatis-plus:
+  type-aliases-package: com.stylefeng.guns.modular.system.model
+  global-config:
+    id-type: 0  #0:数据库ID自增   1:用户输入id  2:全局唯一id(IdWorker)  3:全局唯一ID(uuid)
+    db-column-underline: false
+  configuration:
+    configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射
+    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #输出Sql,如需打印Sql注释该配置
+wx:
+  conf:
+    appId: wxcc3c9058e2b294db
+    secret: 5610fc6126255ca5f7bd9fa4330338b6
+gaode:
+  map:
+    key: ea7326a77175aba0e9435859b17bca36 #高德key
+
+---
+
+spring:
+  datasource:
+    url: jdbc:mysql://192.168.110.80:3306/qyt_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
+    username: root
+    password: 123456
+    db-name: qyt_driving #用来搜集数据库的所有表
+    filters: wall,mergeStat
+  data:
+    mongodb:
+      uri: mongodb://192.168.110.80:27017/test
+
+
+
+---
+
+filePath: /usr/local/server/app/orderPostionFile/ #存储订单轨迹文件路径
+
+---
+#支付回调地址
+callbackPath: https://chaoshengdaijia.com:8443
+
+
+---
+
+#  mallbook 调起接口参数配置
+mallbook:
+  # pay_url:mallbook接口地址    测试环境: https://uat.mallbook.cn/api   生产环境:https://cloudpay.mallbook.cn/api
+  pay_url: https://cloudpay.mallbook.cn/api
+  # merchant_no 业务系统商户平台编号,需替换为mallbook工作人员提供的商户编号
+  merchant_no: 111
+  # version 接口版本号
+  version: 1.0.0
+  # channel_type 渠道类型 HF:汇付
+  channel_type: HF
+  # merchant_private_key 商户平台私钥,需要替换成商户平台自己生成的私钥
+  merchant_private_key: 1111
+  # mall_book_public_key mallbook测试环境公钥 不需要替换
+  mall_book_public_key: 1111
+
diff --git a/management/guns-admin/src/main/resources/application-produce.yml b/management/guns-admin/src/main/resources/application-produce.yml
new file mode 100644
index 0000000..ee3b728
--- /dev/null
+++ b/management/guns-admin/src/main/resources/application-produce.yml
@@ -0,0 +1,111 @@
+server:
+  port: 8019
+
+guns:
+  swagger-open: false              #是否开启swagger (true/false)
+  kaptcha-open: false             #是否开启登录时验证码 (true/false)
+  spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
+  session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
+  session-validation-interval: 900  #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+#  file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录)
+#  picture-server-address: http://192.168.0.43/resources/  #图片服务器地址
+  file-upload-path: C:\Users\Administrator\Desktop\apache-tomcat-8.0.33\webapps\ROOT\upload\ #文件上传目录(不配置的话为java.io.tmpdir目录)
+  picture-server-address: http://139.9.249.67:8080/upload/  #图片服务器地址
+  rest-url: http://139.9.249.67:8080/rest/    #前端接口调用基础路径
+
+spring:
+  profiles:
+    active: dev
+#    active: produce
+  mvc:
+    static-path-pattern: /static/**
+    view:
+      prefix: /WEB-INF/view
+  devtools:
+    restart:
+      enabled: false
+      additional-paths: src/main/java
+      exclude: static/**,WEB-INF/view/**
+  servlet:
+    multipart:
+      max-request-size: 100MB
+      max-file-size: 100MB
+  redis:
+    host: 192.168.110.80
+    port: 6379
+    password: 123456
+mybatis-plus:
+  type-aliases-package: com.stylefeng.guns.modular.system.model
+  global-config:
+    id-type: 0  #0:数据库ID自增   1:用户输入id  2:全局唯一id(IdWorker)  3:全局唯一ID(uuid)
+    db-column-underline: false
+  configuration:
+    configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射
+    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #输出Sql,如需打印Sql注释该配置
+wx:
+  conf:
+    appId: wx8a9af3889395d0e1
+    secret: 95a34f114973298cce4297a20bb59bc3
+gaode:
+  map:
+    key: e0370a9a4d10739045fb0b8f4742a67e #高德key
+
+---
+
+spring:
+  datasource:
+#    url: jdbc:mysql://192.168.110.64:3306/ok_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
+#    username: root
+#    password: root
+    url: jdbc:mysql://121.31.232.206:3306/ok_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
+    username: root
+    password: Xiwang2024!
+    db-name: super_save_driving #用来搜集数据库的所有表
+    filters: wall,mergeStat
+  data:
+    mongodb:
+      uri: mongodb://121.31.232.206:27017/test
+
+
+#多数据源情况的配置
+guns:
+  muti-datasource:
+    open: false
+    url: jdbc:mysql://120.24.34.190:3306/mask?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
+    username: root
+    password: Root2020!
+    dataSourceNames:
+      - dataSourceGuns
+      - dataSourceBiz
+
+
+---
+
+filePath: /usr/local/server/app/orderPostionFile/ #存储订单轨迹文件路径
+#filePath: C:/orderPostionFile/  #存储订单轨迹文件路径
+
+---
+#支付回调地址
+#正式环境
+callbackPath: https://chaoshengdaijia.com:8443
+#测试环境
+#callbackPath: http://121.37.15.157:8010
+
+
+---
+
+#  mallbook 调起接口参数配置
+mallbook:
+  # pay_url:mallbook接口地址    测试环境: https://uat.mallbook.cn/api   生产环境:https://cloudpay.mallbook.cn/api
+  pay_url: https://cloudpay.mallbook.cn/api
+  # merchant_no 业务系统商户平台编号,需替换为mallbook工作人员提供的商户编号
+  merchant_no: MBH23056
+  # version 接口版本号
+  version: 1.0.0
+  # channel_type 渠道类型 HF:汇付
+  channel_type: HF
+  # merchant_private_key 商户平台私钥,需要替换成商户平台自己生成的私钥
+  merchant_private_key: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALHmyTrxPYcAwABnX+3VW9vxUftm57zBpnbfOT4vizMnKdpfCkIgtdbfdnSCtt637yWM2fxnZfItnhTeQA2lL8f4SXgZt/bVXfmAWi4IxQ+HJy0Qs8nNy2nnjICPBPcpWzHwUxQ/THHqU0a7b9B91J5DFcbQb25BHeRpHwkBw6A/AgMBAAECgYAmcWq2s/7Jt53F+JDAQkTRaHqAyyH0phwkv+QMzhVUfngK2lLLK2pf/nYIg16lDjY9dQx+AJIFHVp1w/kveayzOz3BIqPoznyIVYPolRGZCWPo+2vdp0CIdBh7zahST5g5Gem4cU47wO5hPYs1kXKPG4mUPtaIAMHFxhyLvIagAQJBAOS63AIZrRrldeNCVVNXbpAT52JuWLCgravM9coOh6scmG6UQwxxcott8hneHr9fazk2LHbHMxlG8F+dQPA0+D8CQQDHHJN7Dnske8oJ+1sq4uhQP3HMsmNIgth+ZcaZpiPcxnNKYVGhzAwTVV2ruFJle5ajebo6zfWuqJhtZGRNh1gBAkA/lRoXk1+lfGfa9tOVSVa4wm+t0xLgdqoQefdRZdyc2mQdSSWiTd8Tl0qXmkFd3X6G9uJBWnp/6lJjoektXOwtAkBsZTQsw99qJzIAaSRinpDWTxPG2j6OlR0DAqkxsG7JnAfbsEteh9TzGYAbIgdJVBTX/kbSCJn9ca85rnOkeVABAkAUbDfU3Z702z20NtwAxc1IkrtQ1lKuqSpj9/LuR1/6KRkYQsUWnUiOO9hu5YDWIcflFrnCenF8j8OnvGghltxT
+  # mall_book_public_key mallbook测试环境公钥 不需要替换
+  mall_book_public_key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq6OLZKgUHH5wOk9xSBgN7yC17r3PQwMlY9/IorqrOlaIqrU0eAVZ5+dWrJD/3bdu7Ctq8n8trTm/IUYs7wtMg5SKwyX4/N+KQc2N7LL4yCq4vNl41q9sYgrtA0QnZoucIZcq1mwyu7RTDC8Wp7LGddnlkJsmL8masgMxA6cc9NwIDAQAB
+
diff --git a/management/guns-admin/src/main/resources/application-test.yml b/management/guns-admin/src/main/resources/application-test.yml
new file mode 100644
index 0000000..ee3b728
--- /dev/null
+++ b/management/guns-admin/src/main/resources/application-test.yml
@@ -0,0 +1,111 @@
+server:
+  port: 8019
+
+guns:
+  swagger-open: false              #是否开启swagger (true/false)
+  kaptcha-open: false             #是否开启登录时验证码 (true/false)
+  spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
+  session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
+  session-validation-interval: 900  #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+#  file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录)
+#  picture-server-address: http://192.168.0.43/resources/  #图片服务器地址
+  file-upload-path: C:\Users\Administrator\Desktop\apache-tomcat-8.0.33\webapps\ROOT\upload\ #文件上传目录(不配置的话为java.io.tmpdir目录)
+  picture-server-address: http://139.9.249.67:8080/upload/  #图片服务器地址
+  rest-url: http://139.9.249.67:8080/rest/    #前端接口调用基础路径
+
+spring:
+  profiles:
+    active: dev
+#    active: produce
+  mvc:
+    static-path-pattern: /static/**
+    view:
+      prefix: /WEB-INF/view
+  devtools:
+    restart:
+      enabled: false
+      additional-paths: src/main/java
+      exclude: static/**,WEB-INF/view/**
+  servlet:
+    multipart:
+      max-request-size: 100MB
+      max-file-size: 100MB
+  redis:
+    host: 192.168.110.80
+    port: 6379
+    password: 123456
+mybatis-plus:
+  type-aliases-package: com.stylefeng.guns.modular.system.model
+  global-config:
+    id-type: 0  #0:数据库ID自增   1:用户输入id  2:全局唯一id(IdWorker)  3:全局唯一ID(uuid)
+    db-column-underline: false
+  configuration:
+    configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射
+    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #输出Sql,如需打印Sql注释该配置
+wx:
+  conf:
+    appId: wx8a9af3889395d0e1
+    secret: 95a34f114973298cce4297a20bb59bc3
+gaode:
+  map:
+    key: e0370a9a4d10739045fb0b8f4742a67e #高德key
+
+---
+
+spring:
+  datasource:
+#    url: jdbc:mysql://192.168.110.64:3306/ok_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
+#    username: root
+#    password: root
+    url: jdbc:mysql://121.31.232.206:3306/ok_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
+    username: root
+    password: Xiwang2024!
+    db-name: super_save_driving #用来搜集数据库的所有表
+    filters: wall,mergeStat
+  data:
+    mongodb:
+      uri: mongodb://121.31.232.206:27017/test
+
+
+#多数据源情况的配置
+guns:
+  muti-datasource:
+    open: false
+    url: jdbc:mysql://120.24.34.190:3306/mask?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
+    username: root
+    password: Root2020!
+    dataSourceNames:
+      - dataSourceGuns
+      - dataSourceBiz
+
+
+---
+
+filePath: /usr/local/server/app/orderPostionFile/ #存储订单轨迹文件路径
+#filePath: C:/orderPostionFile/  #存储订单轨迹文件路径
+
+---
+#支付回调地址
+#正式环境
+callbackPath: https://chaoshengdaijia.com:8443
+#测试环境
+#callbackPath: http://121.37.15.157:8010
+
+
+---
+
+#  mallbook 调起接口参数配置
+mallbook:
+  # pay_url:mallbook接口地址    测试环境: https://uat.mallbook.cn/api   生产环境:https://cloudpay.mallbook.cn/api
+  pay_url: https://cloudpay.mallbook.cn/api
+  # merchant_no 业务系统商户平台编号,需替换为mallbook工作人员提供的商户编号
+  merchant_no: MBH23056
+  # version 接口版本号
+  version: 1.0.0
+  # channel_type 渠道类型 HF:汇付
+  channel_type: HF
+  # merchant_private_key 商户平台私钥,需要替换成商户平台自己生成的私钥
+  merchant_private_key: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALHmyTrxPYcAwABnX+3VW9vxUftm57zBpnbfOT4vizMnKdpfCkIgtdbfdnSCtt637yWM2fxnZfItnhTeQA2lL8f4SXgZt/bVXfmAWi4IxQ+HJy0Qs8nNy2nnjICPBPcpWzHwUxQ/THHqU0a7b9B91J5DFcbQb25BHeRpHwkBw6A/AgMBAAECgYAmcWq2s/7Jt53F+JDAQkTRaHqAyyH0phwkv+QMzhVUfngK2lLLK2pf/nYIg16lDjY9dQx+AJIFHVp1w/kveayzOz3BIqPoznyIVYPolRGZCWPo+2vdp0CIdBh7zahST5g5Gem4cU47wO5hPYs1kXKPG4mUPtaIAMHFxhyLvIagAQJBAOS63AIZrRrldeNCVVNXbpAT52JuWLCgravM9coOh6scmG6UQwxxcott8hneHr9fazk2LHbHMxlG8F+dQPA0+D8CQQDHHJN7Dnske8oJ+1sq4uhQP3HMsmNIgth+ZcaZpiPcxnNKYVGhzAwTVV2ruFJle5ajebo6zfWuqJhtZGRNh1gBAkA/lRoXk1+lfGfa9tOVSVa4wm+t0xLgdqoQefdRZdyc2mQdSSWiTd8Tl0qXmkFd3X6G9uJBWnp/6lJjoektXOwtAkBsZTQsw99qJzIAaSRinpDWTxPG2j6OlR0DAqkxsG7JnAfbsEteh9TzGYAbIgdJVBTX/kbSCJn9ca85rnOkeVABAkAUbDfU3Z702z20NtwAxc1IkrtQ1lKuqSpj9/LuR1/6KRkYQsUWnUiOO9hu5YDWIcflFrnCenF8j8OnvGghltxT
+  # mall_book_public_key mallbook测试环境公钥 不需要替换
+  mall_book_public_key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq6OLZKgUHH5wOk9xSBgN7yC17r3PQwMlY9/IorqrOlaIqrU0eAVZ5+dWrJD/3bdu7Ctq8n8trTm/IUYs7wtMg5SKwyX4/N+KQc2N7LL4yCq4vNl41q9sYgrtA0QnZoucIZcq1mwyu7RTDC8Wp7LGddnlkJsmL8masgMxA6cc9NwIDAQAB
+
diff --git a/management/guns-admin/src/main/resources/application.yml b/management/guns-admin/src/main/resources/application.yml
index e3af8fe..883c13d 100644
--- a/management/guns-admin/src/main/resources/application.yml
+++ b/management/guns-admin/src/main/resources/application.yml
@@ -1,107 +1,3 @@
-server:
-  port: 8019
-
-guns:
-  swagger-open: false              #是否开启swagger (true/false)
-  kaptcha-open: false             #是否开启登录时验证码 (true/false)
-  spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
-  session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
-  session-validation-interval: 900  #多久检测一次失效的session(只在单机环境下生效) 单位:秒
-#  file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录)
-#  picture-server-address: http://192.168.0.43/resources/  #图片服务器地址
-  file-upload-path: C:\Users\Administrator\Desktop\apache-tomcat-8.0.33\webapps\ROOT\upload\ #文件上传目录(不配置的话为java.io.tmpdir目录)
-  picture-server-address: http://139.9.249.67:8080/upload/  #图片服务器地址
-  rest-url: http://139.9.249.67:8080/rest/    #前端接口调用基础路径
-
 spring:
   profiles:
-    active: dev
-#    active: produce
-  mvc:
-    static-path-pattern: /static/**
-    view:
-      prefix: /WEB-INF/view
-  devtools:
-    restart:
-      enabled: false
-      additional-paths: src/main/java
-      exclude: static/**,WEB-INF/view/**
-  servlet:
-    multipart:
-      max-request-size: 100MB
-      max-file-size: 100MB
-mybatis-plus:
-  type-aliases-package: com.stylefeng.guns.modular.system.model
-  global-config:
-    id-type: 0  #0:数据库ID自增   1:用户输入id  2:全局唯一id(IdWorker)  3:全局唯一ID(uuid)
-    db-column-underline: false
-  configuration:
-    configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射
-    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #输出Sql,如需打印Sql注释该配置
-wx:
-  conf:
-    appId: wx8a9af3889395d0e1
-    secret: 95a34f114973298cce4297a20bb59bc3
-gaode:
-  map:
-    key: e0370a9a4d10739045fb0b8f4742a67e #高德key
-
----
-
-spring:
-  datasource:
-#    url: jdbc:mysql://192.168.110.64:3306/ok_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
-#    username: root
-#    password: root
-    url: jdbc:mysql://121.31.232.206:3306/ok_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
-    username: root
-    password: Xiwang2024!
-    db-name: super_save_driving #用来搜集数据库的所有表
-    filters: wall,mergeStat
-  data:
-    mongodb:
-      uri: mongodb://121.31.232.206:27017/test
-
-
-#多数据源情况的配置
-guns:
-  muti-datasource:
-    open: false
-    url: jdbc:mysql://120.24.34.190:3306/mask?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
-    username: root
-    password: Root2020!
-    dataSourceNames:
-      - dataSourceGuns
-      - dataSourceBiz
-
-
----
-
-filePath: /usr/local/server/app/orderPostionFile/ #存储订单轨迹文件路径
-#filePath: C:/orderPostionFile/  #存储订单轨迹文件路径
-
----
-#支付回调地址
-#正式环境
-callbackPath: https://chaoshengdaijia.com:8443
-#测试环境
-#callbackPath: http://121.37.15.157:8010
-
-
----
-
-#  mallbook 调起接口参数配置
-mallbook:
-  # pay_url:mallbook接口地址    测试环境: https://uat.mallbook.cn/api   生产环境:https://cloudpay.mallbook.cn/api
-  pay_url: https://cloudpay.mallbook.cn/api
-  # merchant_no 业务系统商户平台编号,需替换为mallbook工作人员提供的商户编号
-  merchant_no: MBH23056
-  # version 接口版本号
-  version: 1.0.0
-  # channel_type 渠道类型 HF:汇付
-  channel_type: HF
-  # merchant_private_key 商户平台私钥,需要替换成商户平台自己生成的私钥
-  merchant_private_key: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALHmyTrxPYcAwABnX+3VW9vxUftm57zBpnbfOT4vizMnKdpfCkIgtdbfdnSCtt637yWM2fxnZfItnhTeQA2lL8f4SXgZt/bVXfmAWi4IxQ+HJy0Qs8nNy2nnjICPBPcpWzHwUxQ/THHqU0a7b9B91J5DFcbQb25BHeRpHwkBw6A/AgMBAAECgYAmcWq2s/7Jt53F+JDAQkTRaHqAyyH0phwkv+QMzhVUfngK2lLLK2pf/nYIg16lDjY9dQx+AJIFHVp1w/kveayzOz3BIqPoznyIVYPolRGZCWPo+2vdp0CIdBh7zahST5g5Gem4cU47wO5hPYs1kXKPG4mUPtaIAMHFxhyLvIagAQJBAOS63AIZrRrldeNCVVNXbpAT52JuWLCgravM9coOh6scmG6UQwxxcott8hneHr9fazk2LHbHMxlG8F+dQPA0+D8CQQDHHJN7Dnske8oJ+1sq4uhQP3HMsmNIgth+ZcaZpiPcxnNKYVGhzAwTVV2ruFJle5ajebo6zfWuqJhtZGRNh1gBAkA/lRoXk1+lfGfa9tOVSVa4wm+t0xLgdqoQefdRZdyc2mQdSSWiTd8Tl0qXmkFd3X6G9uJBWnp/6lJjoektXOwtAkBsZTQsw99qJzIAaSRinpDWTxPG2j6OlR0DAqkxsG7JnAfbsEteh9TzGYAbIgdJVBTX/kbSCJn9ca85rnOkeVABAkAUbDfU3Z702z20NtwAxc1IkrtQ1lKuqSpj9/LuR1/6KRkYQsUWnUiOO9hu5YDWIcflFrnCenF8j8OnvGghltxT
-  # mall_book_public_key mallbook测试环境公钥 不需要替换
-  mall_book_public_key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq6OLZKgUHH5wOk9xSBgN7yC17r3PQwMlY9/IorqrOlaIqrU0eAVZ5+dWrJD/3bdu7Ctq8n8trTm/IUYs7wtMg5SKwyX4/N+KQc2N7LL4yCq4vNl41q9sYgrtA0QnZoucIZcq1mwyu7RTDC8Wp7LGddnlkJsmL8masgMxA6cc9NwIDAQAB
-
+    active: '@spring.active@'
\ No newline at end of file
diff --git a/management/guns-admin/src/main/resources/redis.properties b/management/guns-admin/src/main/resources/redis.properties
deleted file mode 100644
index 0c67a51..0000000
--- a/management/guns-admin/src/main/resources/redis.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-#redis���ÿ�ʼ
-# Redis���ݿ�������Ĭ��Ϊ0��
-spring.redis.database=0
-
-# Redis��������ַ
-spring.redis.host=127.0.0.1
-# Redis���������Ӷ˿�
-spring.redis.port=6379
-# Redis�������������루Ĭ��Ϊ�գ�
-spring.redis.password=123456
-
-##Redis��������ַ
-#spring.redis.host=127.0.0.1
-## Redis���������Ӷ˿�
-#spring.redis.port=6379
-## Redis�������������루Ĭ��Ϊ�գ�
-#spring.redis.password=123456
-
-# ���ӳ������������ʹ�ø�ֵ��ʾû�����ƣ�
-spring.redis.jedis.pool.max-active=1024
-# ���ӳ���������ȴ�ʱ�䣨ʹ�ø�ֵ��ʾû�����ƣ�
-spring.redis.jedis.pool.max-wait=10000
-# ���ӳ��е�����������
-spring.redis.jedis.pool.max-idle=200
-# ���ӳ��е���С��������
-spring.redis.jedis.pool.min-idle=0
-# ���ӳ�ʱʱ�䣨���룩
-spring.redis.timeout=10000
-#redis���ý���
-spring.redis.block-when-exhausted=true
\ No newline at end of file
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/404.html b/management/guns-admin/src/main/webapp/WEB-INF/view/404.html
index f17c920..44b0973 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/404.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/404.html
@@ -7,7 +7,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 
-    <title>OK代驾 - 404 页面</title>
+    <title>黔云通代驾 - 404 页面</title>
     <link rel="shortcut icon" href="${ctxPath}/static/favicon1.ico"> <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
     <link href="${ctxPath}/static/css/font-awesome.css?v=4.4.0" rel="stylesheet">
     <link href="${ctxPath}/static/css/style.css?v=4.1.0" rel="stylesheet">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/common/_container.html b/management/guns-admin/src/main/webapp/WEB-INF/view/common/_container.html
index 18926b5..bae7f70 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/common/_container.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/common/_container.html
@@ -6,7 +6,7 @@
     <meta name="renderer" content="webkit"/><!-- 让360浏览器默认选择webkit内核 -->
 
     <!--地图-->
-    <script src="https://webapi.amap.com/maps?v=1.4.8&key=5053ca611c0106e01a665ce7ab84ff26"></script>
+    <script src="https://webapi.amap.com/maps?v=1.4.8&key=d3bde6afb050067e1a765a8d1d1f4c54"></script>
 
     <!-- 全局css -->
     <link rel="shortcut icon" href="${ctxPath}/static/favicon1.ico">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html b/management/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html
index 110d414..bb77dd2 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html
@@ -4,7 +4,7 @@
             <div class="navbar-header"><a class="navbar-minimalize minimalize-styl-2 btn btn-primary " href="#"><i class="fa fa-bars"></i> </a>
                 <form role="search" class="navbar-form-custom" method="post" action="search_results.html">
                     <div class="form-group">
-                        <input type="text" placeholder="OK代驾后台管理系统 …" class="form-control" name="top-search" id="top-search" value="OK代驾后台管理系统" disabled>
+                        <input type="text" placeholder="黔云通代驾后台管理系统 …" class="form-control" name="top-search" id="top-search" value="黔云通代驾后台管理系统" disabled>
                     </div>
                 </form>
                 <h3 style="float: right;line-height: 50px;color: red;">${passwordHint}</h3>
@@ -53,7 +53,7 @@
         <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="${ctxPath}/blackboard?type=${type}" frameborder="0" data-id="${ctxPath}/blackboard" seamless></iframe>
     </div>
     <div class="footer">
-        <div class="pull-right">&copy; 2023 <a href="#" onclick="return false" target="_blank">OK代驾</a>
+        <div class="pull-right">&copy; 2023 <a href="#" onclick="return false" target="_blank">黔云通代驾</a>
         </div>
     </div>
 </div>
\ No newline at end of file
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/index.html b/management/guns-admin/src/main/webapp/WEB-INF/view/index.html
index 87a5333..eddc51d 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/index.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/index.html
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="renderer" content="webkit">
-    <title>OK代驾 - 主页</title>
+    <title>黔云通代驾 - 主页</title>
     <link rel="shortcut icon" href="${ctxPath}/static/favicon1.ico">
     <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
     <link href="${ctxPath}/static/css/font-awesome.min.css?v=4.4.0" rel="stylesheet">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/login.html b/management/guns-admin/src/main/webapp/WEB-INF/view/login.html
index 9da3782..c842b79 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/login.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/login.html
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
-    <title>OK代驾 - 登录</title>
+    <title>黔云通代驾 - 登录</title>
 
     <link rel="shortcut icon" href="${ctxPath}/static/favicon1.ico">
     <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
@@ -58,7 +58,7 @@
 <img src="${ctxPath}/static/img/login.png" style="width: 300px;height: 400px;z-index: 1000;border-radius: 10px;">
 <div  style="position: relative;left: -20px; max-width: 300px;min-height: 300px;background: white;border-radius: 8px;box-sizing: border-box;padding: 0 30px 0 50px;display: flex;align-items: center;justify-content: center;">
     <div style="max-height: 100%">
-        <h3 style="color: black;"><img src="${ctxPath}/static/img/logo.png" width="30px" height="30px"/>&nbsp;OK代驾管理后台</h3>
+        <h3 style="color: black;"><img src="${ctxPath}/static/img/logo.png" width="30px" height="30px"/>&nbsp;黔云通代驾管理后台</h3>
         <br/>
         <h4 style="color: red;">${tips!}</h4>
         <form class="m-t" role="form" action="${ctxPath}/login" method="post">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
index e072ef0..2def681 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
@@ -100,8 +100,13 @@
 
     </div>
 </div>
+<script type="text/javascript">
+	window._AMapSecurityConfig = {
+		securityJsCode: '44c5ee9ad584605d91ca69bfac32c761',
+	}
+</script>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script src="https://webapi.amap.com/maps?v=1.4.8&key=5053ca611c0106e01a665ce7ab84ff26"></script>
+<script src="https://webapi.amap.com/maps?v=1.4.8&key=d3bde6afb050067e1a765a8d1d1f4c54"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderCrossCity/tOrderCrossCity_info.js"></script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html
index 31acc2f..7ddade2 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html
@@ -45,8 +45,13 @@
 
     </div>
 </div>
+<script type="text/javascript">
+	window._AMapSecurityConfig = {
+		securityJsCode: '44c5ee9ad584605d91ca69bfac32c761',
+	}
+</script>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script src="https://webapi.amap.com/maps?v=1.4.8&key=5053ca611c0106e01a665ce7ab84ff26"></script>
+<script src="https://webapi.amap.com/maps?v=1.4.8&key=d3bde6afb050067e1a765a8d1d1f4c54"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderCrossCity/tOrderCrossCity_info.js"></script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
index 3cd2bc3..845f62c 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
@@ -108,8 +108,13 @@
         </div>
     </div>
 </div>
+<script type="text/javascript">
+	window._AMapSecurityConfig = {
+		securityJsCode: '44c5ee9ad584605d91ca69bfac32c761',
+	}
+</script>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script src="https://webapi.amap.com/maps?v=1.4.8&key=5053ca611c0106e01a665ce7ab84ff26"></script>
+<script src="https://webapi.amap.com/maps?v=1.4.8&key=d3bde6afb050067e1a765a8d1d1f4c54"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderPrivateCar/tOrderPrivateCar_info.js"></script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html
index 0855943..cd6e4bf 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html
@@ -45,8 +45,13 @@
 
     </div>
 </div>
+<script type="text/javascript">
+	window._AMapSecurityConfig = {
+		securityJsCode: '44c5ee9ad584605d91ca69bfac32c761',
+	}
+</script>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script src="https://webapi.amap.com/maps?v=1.4.8&key=5053ca611c0106e01a665ce7ab84ff26"></script>
+<script src="https://webapi.amap.com/maps?v=1.4.8&key=d3bde6afb050067e1a765a8d1d1f4c54"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderPrivateCar/tOrderPrivateCar_info.js"></script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
index 0fad777..4ccf575 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
@@ -101,8 +101,13 @@
 
     </div>
 </div>
+<script type="text/javascript">
+	window._AMapSecurityConfig = {
+		securityJsCode: '44c5ee9ad584605d91ca69bfac32c761',
+	}
+</script>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script src="https://webapi.amap.com/maps?v=1.4.8&key=5053ca611c0106e01a665ce7ab84ff26"></script>
+<script src="https://webapi.amap.com/maps?v=1.4.8&key=d3bde6afb050067e1a765a8d1d1f4c54"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderTaxi/tOrderTaxi_info.js"></script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html
index 9072b46..84f1ab9 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html
@@ -45,8 +45,13 @@
 
     </div>
 </div>
+<script type="text/javascript">
+	window._AMapSecurityConfig = {
+		securityJsCode: '44c5ee9ad584605d91ca69bfac32c761',
+	}
+</script>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script src="https://webapi.amap.com/maps?v=1.4.8&key=5053ca611c0106e01a665ce7ab84ff26"></script>
+<script src="https://webapi.amap.com/maps?v=1.4.8&key=d3bde6afb050067e1a765a8d1d1f4c54"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderTaxi/tOrderTaxi_info.js"></script>
 @}
diff --git a/management/pom.xml b/management/pom.xml
index 121e0c3..64ce8c4 100644
--- a/management/pom.xml
+++ b/management/pom.xml
@@ -221,19 +221,13 @@
 
     <profiles>
         <profile>
-            <id>local</id>
-            <properties>
-                <spring.active>local</spring.active>
-            </properties>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-        </profile>
-        <profile>
             <id>dev</id>
             <properties>
                 <spring.active>dev</spring.active>
             </properties>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
         </profile>
         <profile>
             <id>test</id>

--
Gitblit v1.7.1