lrj
5 天以前 7ba080d35812e6db7bd5aa8f88161c02653eb6c1
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) {
@@ -121,15 +121,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) {