package com.ruoyi.web.controller.smartor;
|
|
import com.ruoyi.common.annotation.Log;
|
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.utils.poi.ExcelUtil;
|
import com.smartor.domain.MinioFile;
|
import com.smartor.service.IMinioFileService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.commons.collections4.CollectionUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
|
/**
|
* 【请填写功能名称】Controller
|
*
|
* @author ruoyi
|
* @date 2023-06-19
|
*/
|
@Api(description = "文件管理(文档、图片...)")
|
@RestController
|
@RequestMapping("/system/file")
|
public class MinioFileController extends BaseController {
|
@Autowired
|
private IMinioFileService minioFileService;
|
|
/**
|
* 查询【请填写功能名称】列表
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:file:list')")
|
@PostMapping("/list")
|
public TableDataInfo list(@RequestBody MinioFile minioFile) {
|
startPage();
|
List<MinioFile> list = minioFileService.selectMinioFileList(minioFile);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出【请填写功能名称】列表
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:file:export')")
|
@Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
public void export(HttpServletResponse response, MinioFile minioFile) {
|
List<MinioFile> list = minioFileService.selectMinioFileList(minioFile);
|
ExcelUtil<MinioFile> util = new ExcelUtil<MinioFile>(MinioFile.class);
|
util.exportExcel(response, list, "【请填写功能名称】数据");
|
}
|
|
/**
|
* 获取【请填写功能名称】详细信息
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:file:query')")
|
@GetMapping(value = "/{id}")
|
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
return success(minioFileService.selectMinioFileById(id));
|
}
|
|
/**
|
* 新增【请填写功能名称】
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:file:add')")
|
@Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
public AjaxResult add(@RequestBody MinioFile minioFile) {
|
return toAjax(minioFileService.insertMinioFile(minioFile));
|
}
|
|
/**
|
* 修改【请填写功能名称】
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:file:edit')")
|
@Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
public AjaxResult edit(@RequestBody MinioFile minioFile) {
|
return toAjax(minioFileService.updateMinioFile(minioFile));
|
}
|
|
/**
|
* 删除【请填写功能名称】
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:file:remove')")
|
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
|
@GetMapping("/remove/{ids}")
|
public AjaxResult remove(@PathVariable Long[] ids) {
|
return toAjax(minioFileService.deleteMinioFileByIds(ids));
|
}
|
|
|
/**
|
* 上传文件到文件管理,支持批量上传
|
*
|
* @param files
|
* @return
|
*/
|
@PostMapping(value = {"/admin/uploadFile"})
|
@ResponseBody
|
@ApiOperation(value = "上传文件到文件管理,支持批量上传")
|
@ApiImplicitParam(name = "files", value = "文件对象", dataType = "File")
|
public AjaxResult commonUploadFile(@RequestParam(value = "path",required = false) String path, @RequestParam("files") List<MultipartFile> files) {
|
if (CollectionUtils.isEmpty(files)) {
|
return error("未选择文件!");
|
}
|
return success(minioFileService.commonUploadFile(path, files));
|
}
|
|
/**
|
* 获取(宣教)引用模板
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:file:list')")
|
@ApiOperation(value = "获取(宣教)引用模板")
|
@GetMapping("/getEduTemplage")
|
public AjaxResult getEduTemplage() {
|
// startPage();
|
return success(minioFileService.getEduTemplage());
|
}
|
|
/**
|
* 下载文件,以流的形式返回
|
*
|
* @return
|
*/
|
@ApiOperation(value = "下载文件,以输出流的形式返回, 入参的fileName为全路径文件名")
|
@GetMapping("/downloadFile")
|
public void downloadFile(HttpServletResponse response, @RequestParam("fileName") String fileName) {
|
minioFileService.downloadFile(response, fileName);
|
}
|
|
|
/**
|
* 获取图片、音频、视频 的URL
|
*
|
* @return
|
*/
|
@ApiOperation(value = "获取图片、音频、视频 的URL, 入参的fileName为全路径文件名,expires为链接过期时间")
|
@GetMapping("/getFileUrl")
|
public AjaxResult getFileUrl(@RequestParam("fileName") String fileName, @RequestParam("expires") Integer expires) {
|
return success(minioFileService.getFileUrl(fileName, expires));
|
}
|
|
}
|