package com.rongyichuang.common.service; import com.rongyichuang.common.entity.Media; import com.rongyichuang.common.repository.MediaRepository; import org.springframework.stereotype.Service; @Service public class MediaService { private final MediaRepository mediaRepository; public MediaService(MediaRepository mediaRepository) { this.mediaRepository = mediaRepository; } /** * 保存媒体文件信息 */ public Media saveMedia(String name, String path, Integer fileSize, String fileExt, Integer mediaType) { Media media = new Media(); media.setName(name); media.setPath(path); media.setFileSize(fileSize); media.setFileExt(fileExt); media.setMediaType(mediaType); // 使用继承自BaseEntity的state字段,默认值为1 return mediaRepository.save(media); } /** * 保存媒体文件信息(包含关联信息) */ public Media saveMedia(String name, String path, Integer fileSize, String fileExt, Integer mediaType, Integer targetType, Long targetId) { Media media = new Media(); media.setName(name); media.setPath(path); media.setFileSize(fileSize); media.setFileExt(fileExt); media.setMediaType(mediaType); media.setTargetType(targetType); media.setTargetId(targetId); // 使用继承自BaseEntity的state字段,默认值为1(正常状态) return mediaRepository.save(media); } /** * 根据ID获取媒体信息 */ public Media getMediaById(Long id) { return mediaRepository.findById(id).orElse(null); } /** * 删除媒体文件 */ public Boolean deleteMedia(Long id) { System.out.println("=== MediaService.deleteMedia ==="); System.out.println("要删除的媒体ID: " + id); try { boolean exists = mediaRepository.existsById(id); System.out.println("媒体记录是否存在: " + exists); if (exists) { mediaRepository.deleteById(id); System.out.println("删除操作已执行"); // 验证是否真的删除了 boolean stillExists = mediaRepository.existsById(id); System.out.println("删除后是否还存在: " + stillExists); return !stillExists; // 如果不存在了,说明删除成功 } else { System.out.println("媒体记录不存在,无法删除"); return false; } } catch (Exception e) { System.err.println("删除媒体失败: " + e.getMessage()); e.printStackTrace(); return false; } } }