From 40dcac7c694867a4b66a9c8567cd2fe6959a25df Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 06 五月 2026 08:51:05 +0800
Subject: [PATCH] #请求入库任务提示优化

---
 src/main/java/com/zy/system/controller/ConfigController.java |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/system/controller/ConfigController.java b/src/main/java/com/zy/system/controller/ConfigController.java
index 576669f..58acb70 100644
--- a/src/main/java/com/zy/system/controller/ConfigController.java
+++ b/src/main/java/com/zy/system/controller/ConfigController.java
@@ -17,7 +17,9 @@
 import com.zy.core.enums.RedisKeyType;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.*;
 
 @RestController
@@ -226,6 +228,38 @@
         return R.ok(types);
     }
 
+    @PostMapping("/config/uploadLogo/auth")
+    @ManagerAuth
+    public R uploadLogo(@RequestParam("file") MultipartFile file) {
+        if (file == null || file.isEmpty()) {
+            return R.error("璇烽�夋嫨鏂囦欢");
+        }
+        String originalName = file.getOriginalFilename();
+        if (originalName == null) {
+            return R.error("鏂囦欢鍚嶄负绌�");
+        }
+        String ext = originalName.contains(".") ? originalName.substring(originalName.lastIndexOf(".") + 1).toLowerCase() : "";
+        String mimeType;
+        switch (ext) {
+            case "png": mimeType = "image/png"; break;
+            case "jpg":
+            case "jpeg": mimeType = "image/jpeg"; break;
+            case "svg": mimeType = "image/svg+xml"; break;
+            case "ico": mimeType = "image/x-icon"; break;
+            default: return R.error("浠呮敮鎸� png/jpg/jpeg/svg/ico 鏍煎紡");
+        }
+        try {
+            String base64 = Base64.getEncoder().encodeToString(file.getBytes());
+            String dataUri = "data:" + mimeType + ";base64," + base64;
+            configService.saveConfigValue("system.logo", dataUri);
+            Parameter.reset();
+            configService.refreshSystemConfigCache();
+            return R.ok().add(dataUri);
+        } catch (IOException e) {
+            return R.error("涓婁紶澶辫触锛�" + e.getMessage());
+        }
+    }
+
 
     private static boolean checkJson(String val){
         Object parse = null;

--
Gitblit v1.9.1