From 089e288a6e55d2ae527ad733bbb8b8b5eaad6107 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期日, 18 七月 2021 18:20:21 +0800 Subject: [PATCH] update 使用 策略+工厂 重写OSS模块 --- ruoyi-oss/src/main/java/com/ruoyi/system/controller/SysOssController.java | 52 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 34 insertions(+), 18 deletions(-) diff --git a/ruoyi-oss/src/main/java/com/ruoyi/system/controller/SysOssController.java b/ruoyi-oss/src/main/java/com/ruoyi/system/controller/SysOssController.java index 28cea03..a629626 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/system/controller/SysOssController.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/system/controller/SysOssController.java @@ -1,58 +1,74 @@ package com.ruoyi.system.controller; -import com.aliyun.oss.ServiceException; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.PageUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.SysOss; import com.ruoyi.system.service.ISysOssService; -import lombok.extern.slf4j.Slf4j; +import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.util.List; +import javax.validation.constraints.NotEmpty; +import java.util.Arrays; +import java.util.HashMap; import java.util.Map; /** * 鏂囦欢涓婁紶 鎺у埗灞� * - * @author chkj - * @date 2019-07-15 + * @author Lion Li */ -@Slf4j +@RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/system/oss") public class SysOssController extends BaseController { - @Autowired - private ISysOssService iSysOssService; + private final ISysOssService iSysOssService; /** * 鏌ヨ鏂囦欢涓婁紶鍒楄〃 */ + @PreAuthorize("@ss.hasPermi('system:oss:list')") @GetMapping("/list") - public TableDataInfo list(SysOss sysOss) { - List<SysOss> list = iSysOssService.list(sysOss); - return PageUtils.buildDataInfo(list); + public TableDataInfo<SysOss> list(SysOss sysOss) { + return iSysOssService.queryPageList(sysOss); } /** * 涓婁紶鍥剧墖 */ + @PreAuthorize("@ss.hasPermi('system:oss:upload')") + @Log(title = "OSS浜戝瓨鍌�", businessType = BusinessType.INSERT) + @RepeatSubmit @PostMapping("/upload") - public AjaxResult upload(@RequestParam("file") MultipartFile file) { + public AjaxResult<Map<String, String>> upload(@RequestParam("file") MultipartFile file) { if (file.isEmpty()) { throw new CustomException("涓婁紶鏂囦欢涓嶈兘涓虹┖"); } - Map<String, String> json = iSysOssService.upload(file); - return AjaxResult.success(json); + SysOss oss = iSysOssService.upload(file); + Map<String, String> map = new HashMap<>(2); + map.put("url", oss.getUrl()); + map.put("fileName", oss.getFileName()); + return AjaxResult.success(map); + } + + /** + * 鍒犻櫎OSS浜戝瓨鍌� + */ + @PreAuthorize("@ss.hasPermi('system:oss:remove')") + @Log(title = "OSS浜戝瓨鍌�" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ossIds}") + public AjaxResult<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ossIds) { + return toAjax(iSysOssService.deleteByIds(Arrays.asList(ossIds)) ? 1 : 0); } } -- Gitblit v1.9.3