mirror of
https://gitee.com/bookshelfplus/bookshelfplus
synced 2025-10-11 02:05:15 +08:00
59 lines
1.7 KiB
Java
59 lines
1.7 KiB
Java
package plus.bookshelf.Service.Impl;
|
|
|
|
import lombok.SneakyThrows;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import plus.bookshelf.Dao.DO.FileDO;
|
|
import plus.bookshelf.Dao.Mapper.FileDOMapper;
|
|
import plus.bookshelf.Service.Model.FileModel;
|
|
import plus.bookshelf.Service.Model.UserModel;
|
|
import plus.bookshelf.Service.Service.FileService;
|
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class FileServiceImpl implements FileService {
|
|
|
|
@Autowired
|
|
FileDOMapper fileDOMapper;
|
|
|
|
@Autowired
|
|
RedisTemplate redisTemplate;
|
|
|
|
@Autowired
|
|
UserServiceImpl userService;
|
|
|
|
/**
|
|
* 列出所有文件
|
|
*
|
|
* @return
|
|
*/
|
|
@SneakyThrows
|
|
@Override
|
|
public List<FileModel> list(String token) throws InvocationTargetException, IllegalAccessException {
|
|
|
|
// 已经在 getUserByToken 方法中判断了 token 为空、不合法;用户不存在情况,此处无需再判断
|
|
UserModel userModel = userService.getUserByToken(redisTemplate, token);
|
|
|
|
FileDO[] fileDOS = fileDOMapper.selectAll();
|
|
|
|
List<FileModel> fileModels = new ArrayList<>();
|
|
for (FileDO fileDO : fileDOS) {
|
|
FileModel fileModel = convertFromDataObject(fileDO);
|
|
fileModels.add(fileModel);
|
|
}
|
|
|
|
return fileModels;
|
|
}
|
|
|
|
private FileModel convertFromDataObject(FileDO fileDO) throws InvocationTargetException, IllegalAccessException {
|
|
FileModel fileModel = new FileModel();
|
|
BeanUtils.copyProperties(fileDO, fileModel);
|
|
return fileModel;
|
|
}
|
|
}
|