From adc8542adeabbcbeff425d6471762c04e8f3cffe Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 25 六月 2025 15:03:38 +0800
Subject: [PATCH] 修改功能和增加上传功能

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java |   35 ++++++++++++++++++++++++++---------
 1 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java
index 322019b..b905dc2 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.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.beetl.ShiroExtUtil;
@@ -12,6 +13,8 @@
 import com.stylefeng.guns.modular.system.model.TVersionManagement;
 import com.stylefeng.guns.modular.system.service.ITVersionManagementService;
 import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongProperties;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
@@ -20,7 +23,6 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
-import java.io.File;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -124,14 +126,29 @@
     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(myfile.getOriginalFilename());
-            try {
-                String fileSavePath = gunsProperties.getFileUploadPath() + "apk\\";
-                myfile.transferTo(new File(fileSavePath + pictureName));
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-            m.put("imgUrl", gunsProperties.getPictureServerAddress() + "apk/" + pictureName);
+	        String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(myfile.getOriginalFilename());
+	        String bucketName = QianYunTongProperties.bucketName;
+	        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 = "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_" + QianYunTongProperties.account + "/" + bucketName + "/" + key);
         } catch (Exception e) {
             e.printStackTrace();
         }

--
Gitblit v1.7.1