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;
|
}
|
}
|
}
|