mirror of https://gitee.com/xiaonuobase/snowy
【新增】文件接口新增插件所需
parent
66db17b796
commit
d4661600f1
|
@ -12,9 +12,12 @@
|
|||
*/
|
||||
package vip.xiaonuo.dev.api;
|
||||
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 文件API接口,可参考vip.xiaonuo.dev.core.util.file包下的工具类扩展更多需要的方法
|
||||
*
|
||||
|
@ -135,4 +138,20 @@ public interface DevFileApi {
|
|||
* @date 2022/8/4 10:36
|
||||
**/
|
||||
void deleteAbsoluteById(String id);
|
||||
|
||||
/**
|
||||
* 根据文件ids获得文件列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2025/8/25 21:18
|
||||
*/
|
||||
JSONArray getFileListByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 根据配置的存储类型,返回不同的URL
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2025/8/25 21:18
|
||||
*/
|
||||
String storageFileWithReturnUrlOss(MultipartFile file);
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
*/
|
||||
package vip.xiaonuo.dev.modular.file.provider;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import jakarta.annotation.Resource;
|
||||
|
@ -23,6 +25,7 @@ import vip.xiaonuo.dev.modular.file.enums.DevFileEngineTypeEnum;
|
|||
import vip.xiaonuo.dev.modular.file.param.DevFileIdParam;
|
||||
import vip.xiaonuo.dev.modular.file.service.DevFileService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
|
@ -106,4 +109,23 @@ public class DevFileApiProvider implements DevFileApi {
|
|||
devFileIdParam.setId(id);
|
||||
devFileService.deleteAbsolute(devFileIdParam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONArray getFileListByIds(List<String> ids) {
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
jsonArray.addAll(devFileService.getFileListByIds(ids));
|
||||
return jsonArray;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String storageFileWithReturnUrlOss(MultipartFile file) {
|
||||
// 获取系统配置的默认文件存储引擎
|
||||
String defaultEngine = devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_FILE_ENGINE_KEY);
|
||||
// 如果配置为空,默认使用本地存储
|
||||
if (ObjectUtil.isEmpty(defaultEngine)) {
|
||||
defaultEngine = DevFileEngineTypeEnum.LOCAL.getValue();
|
||||
}
|
||||
// 根据配置的引擎类型调用相应的存储方法
|
||||
return devFileService.uploadReturnUrl(defaultEngine, file);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -122,4 +122,12 @@ public interface DevFileService extends IService<DevFile> {
|
|||
* @date 2022/4/24 21:18
|
||||
*/
|
||||
DevFile queryEntity(String id);
|
||||
|
||||
/**
|
||||
* 根据文件ids获得文件列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2025/8/25 21:18
|
||||
*/
|
||||
List<DevFile> getFileListByIds(List<String> ids);
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import cn.hutool.http.HttpUtil;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
|
@ -363,6 +364,11 @@ public class DevFileServiceImpl extends ServiceImpl<DevFileMapper, DevFile> impl
|
|||
return devFile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DevFile> getFileListByIds(List<String> ids) {
|
||||
return list(Wrappers.<DevFile>lambdaQuery().in(DevFile::getId,ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据文件后缀判断是否图片
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue