From 308d3b3b7883a92a761dfaf4f607a9f4658213cf Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期四, 06 十一月 2025 09:58:25 +0800
Subject: [PATCH] 修改页面
---
backend/src/main/java/com/rongyichuang/common/api/MediaGraphqlApi.java | 66 +++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 19 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 15e3eba..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) {
@@ -36,13 +36,13 @@
}
@QueryMapping
- public List<MediaResponse> mediasByTarget(@Argument Integer targetType, @Argument String targetId) {
+ public List<MediaResponse> mediasByTarget(@Argument Integer targetType, @Argument Long targetId) {
try {
// 浣跨敤 JDBC 鐩存帴鏌ヨ锛岄伩鍏� Hibernate 绫诲瀷杞崲闂
String sql = "SELECT id, name, path, file_size, file_ext, media_type, target_type, target_id, thumb_path, duration, description " +
- "FROM t_media WHERE target_type = ? AND target_id = ? AND target_id REGEXP '^[0-9]+$'";
+ "FROM t_media WHERE target_type = ? AND target_id = ?";
- List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, targetType, Long.parseLong(targetId));
+ List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, targetType, targetId);
List<MediaResponse> responses = new ArrayList<>();
for (Map<String, Object> row : rows) {
@@ -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());
@@ -121,15 +152,12 @@
}
@MutationMapping
- public Boolean deleteMedia(@Argument String id) {
+ public Boolean deleteMedia(@Argument Long id) {
System.out.println("=== deleteMedia GraphQL璋冪敤 ===");
System.out.println("瑕佸垹闄ょ殑濯掍綋ID: " + id);
try {
- Long mediaId = Long.parseLong(id);
- System.out.println("杞崲鍚庣殑濯掍綋ID: " + mediaId);
-
- Boolean result = mediaService.deleteMedia(mediaId);
+ Boolean result = mediaService.deleteMedia(id);
System.out.println("鍒犻櫎缁撴灉: " + result);
return result;
} catch (Exception e) {
--
Gitblit v1.8.0