From 4e6f47d50abff5d33f622a641b4534ca3dc28b20 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期日, 22 五月 2022 14:13:53 +0800
Subject: [PATCH] update springboot 2.6.7 => 2.6.8
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java | 185 +++++++++++++++++++++------------------------
1 files changed, 86 insertions(+), 99 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java
index 3c04353..d4e52ac 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java
@@ -1,47 +1,38 @@
package com.ruoyi.web.controller.system;
+import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpException;
import cn.hutool.http.HttpUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.domain.PageQuery;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.file.FileUtils;
-import com.ruoyi.oss.constant.CloudConstant;
-import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.domain.bo.SysOssBo;
import com.ruoyi.system.domain.vo.SysOssVo;
-import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysOssService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
-import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
+import java.io.File;
import java.io.IOException;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -50,98 +41,94 @@
* @author Lion Li
*/
@Validated
-@Api(value = "OSS瀵硅薄瀛樺偍鎺у埗鍣�", tags = {"OSS瀵硅薄瀛樺偍绠$悊"})
-@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@Api(value = "瀵硅薄瀛樺偍鎺у埗鍣�", tags = {"瀵硅薄瀛樺偍绠$悊"})
+@RequiredArgsConstructor
@RestController
@RequestMapping("/system/oss")
public class SysOssController extends BaseController {
- private final ISysOssService iSysOssService;
- private final ISysConfigService iSysConfigService;
+ private final ISysOssService iSysOssService;
- /**
- * 鏌ヨOSS瀵硅薄瀛樺偍鍒楄〃
- */
- @ApiOperation("鏌ヨOSS瀵硅薄瀛樺偍鍒楄〃")
- @PreAuthorize("@ss.hasPermi('system:oss:list')")
- @GetMapping("/list")
- public TableDataInfo<SysOssVo> list(@Validated(QueryGroup.class) SysOssBo bo) {
- return iSysOssService.queryPageList(bo);
- }
+ /**
+ * 鏌ヨOSS瀵硅薄瀛樺偍鍒楄〃
+ */
+ @ApiOperation("鏌ヨOSS瀵硅薄瀛樺偍鍒楄〃")
+ @SaCheckPermission("system:oss:list")
+ @GetMapping("/list")
+ public TableDataInfo<SysOssVo> list(@Validated(QueryGroup.class) SysOssBo bo, PageQuery pageQuery) {
+ return iSysOssService.queryPageList(bo, pageQuery);
+ }
- /**
- * 涓婁紶OSS瀵硅薄瀛樺偍
- */
- @ApiOperation("涓婁紶OSS瀵硅薄瀛樺偍")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "file", value = "鏂囦欢", dataType = "java.io.File", required = true),
- })
- @PreAuthorize("@ss.hasPermi('system:oss:upload')")
- @Log(title = "OSS瀵硅薄瀛樺偍", businessType = BusinessType.INSERT)
- @RepeatSubmit
- @PostMapping("/upload")
- public AjaxResult<Map<String, String>> upload(@RequestPart("file") MultipartFile file) {
- if (ObjectUtil.isNull(file)) {
- throw new ServiceException("涓婁紶鏂囦欢涓嶈兘涓虹┖");
- }
- 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瀵硅薄鍩轰簬id涓�
+ */
+ @ApiOperation("鏌ヨOSS瀵硅薄鍩轰簬ID")
+ @SaCheckPermission("system:oss:list")
+ @GetMapping("/listByIds/{ossIds}")
+ public R<List<SysOssVo>> listByIds(@ApiParam("OSS瀵硅薄ID涓�")
+ @NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ossIds) {
+ List<SysOssVo> list = iSysOssService.listByIds(Arrays.asList(ossIds));
+ return R.ok(list);
+ }
- @ApiOperation("涓嬭浇OSS瀵硅薄瀛樺偍")
- @PreAuthorize("@ss.hasPermi('system:oss:download')")
- @GetMapping("/download/{ossId}")
- public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException {
- SysOss sysOss = iSysOssService.getById(ossId);
- if (ObjectUtil.isNull(sysOss)) {
- throw new ServiceException("鏂囦欢鏁版嵁涓嶅瓨鍦�!");
- }
- response.reset();
- response.addHeader("Access-Control-Allow-Origin", "*");
- response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
- FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName());
- response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8");
- long data;
- try {
- data = HttpUtil.download(sysOss.getUrl(), response.getOutputStream(), false);
- } catch (HttpException e) {
- if (e.getMessage().contains("403")) {
- throw new ServiceException("鏃犺鍙栨潈闄�, 璇峰湪瀵瑰簲鐨凮SS寮�鍚�'鍏湁璇�'鏉冮檺!");
- } else {
- throw new ServiceException(e.getMessage());
- }
- }
- response.setContentLength(Convert.toInt(data));
- }
+ /**
+ * 涓婁紶OSS瀵硅薄瀛樺偍
+ */
+ @ApiOperation("涓婁紶OSS瀵硅薄瀛樺偍")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "file", value = "鏂囦欢", paramType = "query", dataTypeClass = File.class, required = true)
+ })
+ @SaCheckPermission("system:oss:upload")
+ @Log(title = "OSS瀵硅薄瀛樺偍", businessType = BusinessType.INSERT)
+ @PostMapping("/upload")
+ public R<Map<String, String>> upload(@RequestPart("file") MultipartFile file) {
+ if (ObjectUtil.isNull(file)) {
+ throw new ServiceException("涓婁紶鏂囦欢涓嶈兘涓虹┖");
+ }
+ SysOss oss = iSysOssService.upload(file);
+ Map<String, String> map = new HashMap<>(2);
+ map.put("url", oss.getUrl());
+ map.put("fileName", oss.getOriginalName());
+ map.put("ossId", oss.getOssId().toString());
+ return R.ok(map);
+ }
- /**
- * 鍒犻櫎OSS瀵硅薄瀛樺偍
- */
- @ApiOperation("鍒犻櫎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.deleteWithValidByIds(Arrays.asList(ossIds), true) ? 1 : 0);
- }
+ @ApiOperation("涓嬭浇OSS瀵硅薄瀛樺偍")
+ @SaCheckPermission("system:oss:download")
+ @GetMapping("/download/{ossId}")
+ public void download(@ApiParam("OSS瀵硅薄ID") @PathVariable Long ossId, HttpServletResponse response) throws IOException {
+ SysOss sysOss = iSysOssService.getById(ossId);
+ if (ObjectUtil.isNull(sysOss)) {
+ throw new ServiceException("鏂囦欢鏁版嵁涓嶅瓨鍦�!");
+ }
+ response.reset();
+ FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName());
+ response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8");
+ long data;
+ try {
+ data = HttpUtil.download(sysOss.getUrl(), response.getOutputStream(), false);
+ } catch (HttpException e) {
+ if (e.getMessage().contains("403")) {
+ throw new ServiceException("鏃犺鍙栨潈闄�, 璇峰湪瀵瑰簲鐨凮SS寮�鍚�'鍏湁璇�'鏉冮檺!");
+ } else {
+ throw new ServiceException(e.getMessage());
+ }
+ }
+ response.setContentLength(Convert.toInt(data));
+ }
- /**
- * 鍙樻洿鍥剧墖鍒楄〃棰勮鐘舵��
- */
- @ApiOperation("鍙樻洿鍥剧墖鍒楄〃棰勮鐘舵��")
- @PreAuthorize("@ss.hasPermi('system:oss:edit')")
- @Log(title = "OSS瀵硅薄瀛樺偍" , businessType = BusinessType.UPDATE)
- @PutMapping("/changePreviewListResource")
- public AjaxResult<Void> changePreviewListResource(@RequestBody String body) {
- Map<String, Boolean> map = JsonUtils.parseMap(body);
- SysConfig config = iSysConfigService.getOne(new LambdaQueryWrapper<SysConfig>()
- .eq(SysConfig::getConfigKey, CloudConstant.PEREVIEW_LIST_RESOURCE_KEY));
- config.setConfigValue(map.get("previewListResource").toString());
- return toAjax(iSysConfigService.updateConfig(config));
- }
+ /**
+ * 鍒犻櫎OSS瀵硅薄瀛樺偍
+ */
+ @ApiOperation("鍒犻櫎OSS瀵硅薄瀛樺偍")
+ @SaCheckPermission("system:oss:remove")
+ @Log(title = "OSS瀵硅薄瀛樺偍", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ossIds}")
+ public R<Void> remove(@ApiParam("OSS瀵硅薄ID涓�")
+ @NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ossIds) {
+ return toAjax(iSysOssService.deleteWithValidByIds(Arrays.asList(ossIds), true) ? 1 : 0);
+ }
}
--
Gitblit v1.9.3