Browse Source

20250217_sun

15143018065 1 month ago
parent
commit
076751dc53

+ 5 - 1
ruoyi-modules/mz-gljt/src/main/java/com/ruoyi/gljt/service/impl/GljtSqSqServiceImpl.java

@@ -672,7 +672,11 @@ public class GljtSqSqServiceImpl implements IGljtSqSqService
             up.setId(lr.getId());
             if (StringUtils.isNotEmpty(lr.getUserId())) {
                 // 该老人已经被别的机主绑定过,添加本机主的用户主键
-                up.setUserId(lr.getUserId() + "," + SecurityUtils.getUserId());
+                String[] userIds = lr.getUserId().split(",");
+                if (!Arrays.asList(userIds).contains(String.valueOf(SecurityUtils.getUserId()))) {
+                    up.setUserId(lr.getUserId() + "," + SecurityUtils.getUserId());
+                }
+                // up.setUserId(lr.getUserId() + "," + SecurityUtils.getUserId());
             } else {
                 // 未绑定过
                 up.setUserId(String.valueOf(SecurityUtils.getUserId()));

+ 18 - 0
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java

@@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import sun.misc.BASE64Decoder;
+import org.springframework.mock.web.MockMultipartFile;
 
 import javax.annotation.PostConstruct;
 import javax.servlet.http.HttpServletResponse;
@@ -123,6 +124,23 @@ public class SysFileController
 
     @PostMapping("gljtUpload")
     public R<SysFile> gljtUpload(MultipartFile file) {
+        // 检查并处理文件名长度
+        String originalFilename = file.getOriginalFilename();
+        if (originalFilename != null && originalFilename.length() > 30) {
+            try {
+                String extension = "";
+                int dotIndex = originalFilename.lastIndexOf(".");
+                if (dotIndex > 0) {
+                    extension = originalFilename.substring(dotIndex);
+                    originalFilename = originalFilename.substring(0, dotIndex);
+                }
+                originalFilename = originalFilename.substring(0, Math.min(originalFilename.length(), 30 - extension.length())) + extension;
+                // 创建新的 MultipartFile 对象,使用截断后的文件名
+                file = new MockMultipartFile(file.getName(), originalFilename, file.getContentType(), file.getInputStream());
+            } catch (Exception e) {
+                throw new RuntimeException("文件名长度超过30个字符,请修改文件名");
+            }
+        }
         MultipartFile shift;
         try {
             shift = ShiftCryptoUtils.encryptMultipartFile(file);