123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- package com.doc.biz.controller;
- import com.doc.biz.domain.DocInfo;
- import com.doc.biz.service.IDocInfoService;
- import com.doc.biz.service.IMongoService;
- import com.doc.biz.vo.DocumentVO;
- import com.doc.common.annotation.Log;
- import com.doc.common.core.controller.BaseController;
- import com.doc.common.core.domain.AjaxResult;
- import com.doc.common.core.page.TableDataInfo;
- import com.doc.common.enums.BusinessType;
- import com.doc.common.utils.SecurityUtils;
- import com.doc.common.utils.poi.ExcelUtil;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletResponse;
- import java.util.List;
- /**
- * 文件基本信息表Controller
- *
- * @author wukai
- * @date 2023-08-15
- */
- @Api(tags = "文件基本信息表")
- @RestController
- @RequestMapping("/biz/info")
- @Slf4j
- public class DocInfoController extends BaseController {
- @Resource
- private IDocInfoService docInfoService;
- @Resource
- private IMongoService mongoService;
- /**
- * 文件上传
- *
- * @param file
- * @return
- */
- @ApiOperation("上传文件")
- @PostMapping("/upload")
- public AjaxResult uploadFile(@ApiParam(value = "文件", required = true) @RequestPart(value = "file") MultipartFile file,
- @ApiParam(value = "空间ID", required = true) @RequestParam Long spaceId,
- @ApiParam(value = "目录ID", required = true) @RequestParam Long dirId) {
- try {
- DocumentVO vo = mongoService.uploadFile(file);
- DocInfo docInfo = new DocInfo();
- docInfo.setSpaceId(spaceId);
- docInfo.setDirId(dirId);
- docInfo.setFileId(vo.getFileId());
- docInfo.setFileName(vo.getFileName());
- docInfo.setFileSize(vo.getFileSize());
- docInfo.setFileType(vo.getSuffix());
- docInfo.setCreateBy(SecurityUtils.getUsername());
- return toAjax(docInfoService.insertDocInfo(docInfo));
- } catch (Exception e) {
- log.error("文件上传失败:", e);
- return error(e.getMessage());
- }
- }
- /**
- * 多文件上传
- *
- * @param files
- * @return
- */
- @PostMapping("/uploadFiles")
- public AjaxResult uploadFile(@RequestParam(value = "files") List<MultipartFile> files) {
- try {
- return success(mongoService.uploadFiles(files));
- } catch (Exception e) {
- return error(e.getMessage());
- }
- }
- /**
- * 查询文件基本信息表列表
- */
- @ApiOperation("查询文件基本信息表列表")
- //@PreAuthorize("@ss.hasPermi('biz:info:list')")
- @GetMapping("/list")
- public TableDataInfo list(DocInfo docInfo) {
- startPage();
- List<DocInfo> list = docInfoService.selectDocInfoList(docInfo);
- return getDataTable(list);
- }
- /**
- * 导出文件基本信息表列表
- */
- @ApiOperation("导出文件基本信息表列表")
- //@PreAuthorize("@ss.hasPermi('biz:info:export')")
- @Log(title = "文件基本信息表", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, DocInfo docInfo) {
- List<DocInfo> list = docInfoService.selectDocInfoList(docInfo);
- ExcelUtil<DocInfo> util = new ExcelUtil<DocInfo>(DocInfo.class);
- util.exportExcel(response, list, "文件基本信息表数据");
- }
- /**
- * 获取文件基本信息表详细信息
- */
- @ApiOperation("获取文件基本信息表详细信息")
- //@PreAuthorize("@ss.hasPermi('biz:info:query')")
- @GetMapping(value = "/{docId}")
- public AjaxResult getInfo(@PathVariable("docId") Long docId) {
- return success(docInfoService.selectDocInfoByDocId(docId));
- }
- /**
- * 新增文件基本信息表
- */
- @ApiOperation("新增文件基本信息表")
- //@PreAuthorize("@ss.hasPermi('biz:info:add')")
- @Log(title = "文件基本信息表", businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody DocInfo docInfo) {
- return toAjax(docInfoService.insertDocInfo(docInfo));
- }
- /**
- * 修改文件基本信息表
- */
- @ApiOperation("修改文件基本信息表")
- //@PreAuthorize("@ss.hasPermi('biz:info:edit')")
- @Log(title = "文件基本信息表", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody DocInfo docInfo) {
- docInfo.setUpdateBy(SecurityUtils.getUsername());
- return toAjax(docInfoService.updateDocInfo(docInfo));
- }
- /**
- * 删除文件基本信息表
- */
- @ApiOperation("删除文件基本信息表")
- //@PreAuthorize("@ss.hasPermi('biz:info:remove')")
- @Log(title = "文件基本信息表", businessType = BusinessType.DELETE)
- @DeleteMapping("/{docIds}")
- public AjaxResult remove(@PathVariable Long[] docIds) {
- for (Long docId : docIds) {
- DocInfo info = docInfoService.selectDocInfoByDocId(docId);
- mongoService.removeFile(info.getFileId());
- }
- return toAjax(docInfoService.deleteDocInfoByDocIds(docIds));
- }
- }
|