mirror of https://gitee.com/xiaonuobase/snowy
【新增】文件接口新增插件所需
parent
66db17b796
commit
d4661600f1
|
@ -12,9 +12,12 @@
|
||||||
*/
|
*/
|
||||||
package vip.xiaonuo.dev.api;
|
package vip.xiaonuo.dev.api;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件API接口,可参考vip.xiaonuo.dev.core.util.file包下的工具类扩展更多需要的方法
|
* 文件API接口,可参考vip.xiaonuo.dev.core.util.file包下的工具类扩展更多需要的方法
|
||||||
*
|
*
|
||||||
|
@ -135,4 +138,20 @@ public interface DevFileApi {
|
||||||
* @date 2022/8/4 10:36
|
* @date 2022/8/4 10:36
|
||||||
**/
|
**/
|
||||||
void deleteAbsoluteById(String id);
|
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;
|
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.JSONObject;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import jakarta.annotation.Resource;
|
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.param.DevFileIdParam;
|
||||||
import vip.xiaonuo.dev.modular.file.service.DevFileService;
|
import vip.xiaonuo.dev.modular.file.service.DevFileService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -106,4 +109,23 @@ public class DevFileApiProvider implements DevFileApi {
|
||||||
devFileIdParam.setId(id);
|
devFileIdParam.setId(id);
|
||||||
devFileService.deleteAbsolute(devFileIdParam);
|
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
|
* @date 2022/4/24 21:18
|
||||||
*/
|
*/
|
||||||
DevFile queryEntity(String id);
|
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.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
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.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
@ -363,6 +364,11 @@ public class DevFileServiceImpl extends ServiceImpl<DevFileMapper, DevFile> impl
|
||||||
return devFile;
|
return devFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DevFile> getFileListByIds(List<String> ids) {
|
||||||
|
return list(Wrappers.<DevFile>lambdaQuery().in(DevFile::getId,ids));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据文件后缀判断是否图片
|
* 根据文件后缀判断是否图片
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue