package com.fuyuanshen.app.service; import com.fuyuanshen.app.domain.bo.AppBusinessFileBo; import com.fuyuanshen.app.domain.dto.AppFileDto; import com.fuyuanshen.app.domain.vo.AppBusinessFileVo; import com.fuyuanshen.app.domain.vo.AppFileVo; import com.fuyuanshen.common.oss.core.OssClient; import com.fuyuanshen.common.oss.factory.OssFactory; import com.fuyuanshen.common.satoken.utils.AppLoginHelper; import com.fuyuanshen.system.domain.vo.SysOssVo; import com.fuyuanshen.system.service.ISysOssService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; /** * 登录校验方法 * * @author Lion Li */ @RequiredArgsConstructor @Slf4j @Service public class AppFileService { private final ISysOssService sysOssService; private final IAppBusinessFileService appBusinessFileService; public List list(AppBusinessFileBo bo) { bo.setCreateBy(AppLoginHelper.getUserId()); return appBusinessFileService.queryAppFileList(bo); } public Boolean add(AppFileDto bo) { // 上传文件 SysOssVo upload = sysOssService.upload(bo.getFile()); if (upload == null) { return false; } AppBusinessFileBo appBusinessFileBo = new AppBusinessFileBo(); appBusinessFileBo.setFileId(upload.getOssId()); appBusinessFileBo.setBusinessId(bo.getDeviceId()); appBusinessFileBo.setFileType(bo.getFileType()); appBusinessFileBo.setCreateBy(AppLoginHelper.getUserId()); return appBusinessFileService.insertByBo(appBusinessFileBo); } public Boolean delete(Long[] ids) { AppBusinessFileBo bo = new AppBusinessFileBo(); bo.setCreateBy(AppLoginHelper.getUserId()); bo.setIds(List.of(ids)); List appBusinessFileVos = appBusinessFileService.queryList(bo); List fileIds = appBusinessFileVos.stream().map(AppBusinessFileVo::getFileId).toList(); List list = sysOssService.listByIds(fileIds); for (SysOssVo sysOss : list) { OssClient storage = OssFactory.instance(sysOss.getService()); storage.delete(sysOss.getUrl()); } return appBusinessFileService.deleteWithValidByIds(List.of(ids), true); } }