From 5447ff1e5abeb1d45c9e331f78a0e523695b2561 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 05 五月 2026 16:02:12 +0800
Subject: [PATCH] #WCS系统自定义上传LOGO、标题、名称V3.0.1.8
---
src/main/java/com/zy/system/controller/ConfigController.java | 41 +++++++++++++++++++++++++++++++++++------
1 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/system/controller/ConfigController.java b/src/main/java/com/zy/system/controller/ConfigController.java
index 6bf27b8..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;
@@ -237,12 +271,7 @@
}
private void refreshCacheData() {
- HashMap<String, String> systemConfigMap = new HashMap<>();
- List<Config> configList = configService.list(new QueryWrapper<>());
- for (Config config : configList) {
- systemConfigMap.put(config.getCode(), config.getValue());
- }
- redisUtil.set(RedisKeyType.SYSTEM_CONFIG_MAP.key, systemConfigMap);
+ configService.refreshSystemConfigCache();
}
}
--
Gitblit v1.9.1