From 9f8395fab13ca4b230a0f7d62636e209745c91d4 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期日, 28 九月 2025 14:16:18 +0800
Subject: [PATCH] feat: 完善注册流程的文件上传功能

---
 backend/src/main/java/com/rongyichuang/common/api/MediaGraphqlApi.java |   53 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 42 insertions(+), 11 deletions(-)

diff --git a/backend/src/main/java/com/rongyichuang/common/api/MediaGraphqlApi.java b/backend/src/main/java/com/rongyichuang/common/api/MediaGraphqlApi.java
index 0ddc088..4ad1c5a 100644
--- a/backend/src/main/java/com/rongyichuang/common/api/MediaGraphqlApi.java
+++ b/backend/src/main/java/com/rongyichuang/common/api/MediaGraphqlApi.java
@@ -27,7 +27,7 @@
     @Autowired
     private JdbcTemplate jdbcTemplate;
 
-    @Value("${app.media-url:${app.media.url:}}")
+    @Value("${app.media-url}")
     private String mediaBaseUrl;
 
     public MediaGraphqlApi(MediaRepository mediaRepository, MediaService mediaService) {
@@ -85,12 +85,24 @@
         r.setMediaType(m.getMediaType());
         r.setTargetType(m.getTargetType());
         r.setTargetId(m.getTargetId());
+        r.setThumbPath(m.getThumbPath());
+        r.setDuration(m.getDuration());
+        r.setDescription(m.getDescription());
+        
         // 杩藉姞 fullUrl锛堝墠绔篃鍙嚜琛屾嫾鎺ワ級
         if (mediaBaseUrl != null && !mediaBaseUrl.isEmpty() && m.getPath() != null) {
             String base = mediaBaseUrl.endsWith("/") ? mediaBaseUrl.substring(0, mediaBaseUrl.length() - 1) : mediaBaseUrl;
             String p = m.getPath().startsWith("/") ? m.getPath() : ("/" + m.getPath());
             r.setFullUrl(base + p);
         }
+        
+        // 杩藉姞 fullThumbUrl
+        if (mediaBaseUrl != null && !mediaBaseUrl.isEmpty() && m.getThumbPath() != null) {
+            String base = mediaBaseUrl.endsWith("/") ? mediaBaseUrl.substring(0, mediaBaseUrl.length() - 1) : mediaBaseUrl;
+            String p = m.getThumbPath().startsWith("/") ? m.getThumbPath() : ("/" + m.getThumbPath());
+            r.setFullThumbUrl(base + p);
+        }
+        
         return r;
     }
 
@@ -100,18 +112,37 @@
         System.out.println("杈撳叆鍙傛暟: " + input);
         System.out.println("targetType: " + input.getTargetType());
         System.out.println("targetId: " + input.getTargetId());
+        System.out.println("thumbPath: " + input.getThumbPath());
         
         try {
-            Media result = mediaService.saveMedia(
-                input.getName(),
-                input.getPath(),
-                input.getFileSize(),
-                input.getFileExt(),
-                input.getMediaType(),
-                input.getTargetType(),
-                input.getTargetId()
-            );
-            System.out.println("淇濆瓨鎴愬姛锛屽獟浣揑D: " + result.getId());
+            Media result;
+            
+            // 濡傛灉鏈夌缉鐣ュ浘璺緞锛屼娇鐢ㄦ敮鎸佺缉鐣ュ浘鐨勬柟娉�
+            if (input.getThumbPath() != null && !input.getThumbPath().trim().isEmpty()) {
+                result = mediaService.saveMedia(
+                    input.getName(),
+                    input.getPath(),
+                    input.getFileSize(),
+                    input.getFileExt(),
+                    input.getMediaType(),
+                    input.getTargetType(),
+                    input.getTargetId(),
+                    input.getThumbPath()
+                );
+                System.out.println("淇濆瓨鎴愬姛锛堝惈缂╃暐鍥撅級锛屽獟浣揑D: " + result.getId());
+            } else {
+                result = mediaService.saveMedia(
+                    input.getName(),
+                    input.getPath(),
+                    input.getFileSize(),
+                    input.getFileExt(),
+                    input.getMediaType(),
+                    input.getTargetType(),
+                    input.getTargetId()
+                );
+                System.out.println("淇濆瓨鎴愬姛锛屽獟浣揑D: " + result.getId());
+            }
+            
             return result;
         } catch (Exception e) {
             System.err.println("淇濆瓨濯掍綋澶辫触: " + e.getMessage());

--
Gitblit v1.8.0