【新增】文件接口新增插件所需

pull/281/head
俞宝山 2025-08-06 02:30:14 +08:00
parent 66db17b796
commit d4661600f1
4 changed files with 55 additions and 0 deletions

View File

@ -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;
/** /**
* APIvip.xiaonuo.dev.core.util.file * APIvip.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);
} }

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

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

View File

@ -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));
}
/** /**
* *
* *