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">© 2023 <a href="#" onclick="return false" target="_blank">OK代驾</a> + <div class="pull-right">© 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"/> OK代驾管理后台</h3> + <h3 style="color: black;"><img src="${ctxPath}/static/img/logo.png" width="30px" height="30px"/> 黔云通代驾管理后台</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