diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/controller/AppFileController.java b/fys-admin/src/main/java/com/fuyuanshen/app/controller/AppFileController.java index acf52d3..6c23621 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/controller/AppFileController.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/controller/AppFileController.java @@ -6,6 +6,7 @@ import com.fuyuanshen.app.domain.vo.AppFileVo; import com.fuyuanshen.app.service.AppFileService; import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.web.core.BaseController; +import jakarta.validation.constraints.NotEmpty; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -44,8 +45,8 @@ public class AppFileController extends BaseController { /** * 文件删除 */ - @DeleteMapping("/delete") - public R delete(Long[] ids) { + @DeleteMapping("/delete/{ids}") + public R delete(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { if(ids == null || ids.length == 0){ return R.fail("请选择要删除的文件"); } diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppFileDto.java b/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppFileDto.java index 9eafe36..1a5361c 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppFileDto.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppFileDto.java @@ -16,6 +16,6 @@ public class AppFileDto { /** * 文件 */ - private MultipartFile file; + private MultipartFile[] files; } diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/service/AppFileService.java b/fys-admin/src/main/java/com/fuyuanshen/app/service/AppFileService.java index 3fbd0eb..12a0c4c 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/service/AppFileService.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/service/AppFileService.java @@ -4,6 +4,7 @@ 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.core.exception.ServiceException; import com.fuyuanshen.common.oss.core.OssClient; import com.fuyuanshen.common.oss.factory.OssFactory; import com.fuyuanshen.common.satoken.utils.AppLoginHelper; @@ -12,6 +13,7 @@ import com.fuyuanshen.system.service.ISysOssService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -36,20 +38,32 @@ public class AppFileService { public Boolean add(AppFileDto bo) { - // 上传文件 - SysOssVo upload = sysOssService.upload(bo.getFile()); + MultipartFile[] files = bo.getFiles(); + if(files == null || files.length == 0){ + throw new ServiceException("请选择要上传的文件"); + } + if(files.length > 5){ + throw new ServiceException("最多只能上传5个文件"); + } + for (int i = 0; i < files.length; i++) { + MultipartFile file = files[i]; + // 上传文件 + SysOssVo upload = sysOssService.upload(file); - if (upload == null) { - return false; + 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()); + appBusinessFileService.insertByBo(appBusinessFileBo); } - AppBusinessFileBo appBusinessFileBo = new AppBusinessFileBo(); - appBusinessFileBo.setFileId(upload.getOssId()); - appBusinessFileBo.setBusinessId(bo.getDeviceId()); - appBusinessFileBo.setFileType(bo.getFileType()); - appBusinessFileBo.setCreateBy(AppLoginHelper.getUserId()); - return appBusinessFileService.insertByBo(appBusinessFileBo); + return true; } public Boolean delete(Long[] ids) { diff --git a/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/vo/AppFileVo.java b/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/vo/AppFileVo.java index fd914bb..ab8839f 100644 --- a/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/vo/AppFileVo.java +++ b/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/vo/AppFileVo.java @@ -6,6 +6,11 @@ import lombok.Data; public class AppFileVo { private Long id; + + /** + * 业务id + */ + private String businessId; /** * 文件id */ diff --git a/fys-modules/fys-app/src/main/resources/mapper/app/AppBusinessFileMapper.xml b/fys-modules/fys-app/src/main/resources/mapper/app/AppBusinessFileMapper.xml index 6c333d4..ffd045d 100644 --- a/fys-modules/fys-app/src/main/resources/mapper/app/AppBusinessFileMapper.xml +++ b/fys-modules/fys-app/src/main/resources/mapper/app/AppBusinessFileMapper.xml @@ -5,7 +5,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"