ProjectFileController.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.annotation.Permission;
  3. import cn.cslg.pas.common.core.base.Constants;
  4. import cn.cslg.pas.common.model.vo.ProjectFileVO;
  5. import cn.cslg.pas.common.utils.Response;
  6. import cn.cslg.pas.common.utils.auth.checkAuth;
  7. import cn.cslg.pas.domain.ProjectFile;
  8. import cn.cslg.pas.service.ProjectFileService;
  9. import io.swagger.v3.oas.annotations.Operation;
  10. import io.swagger.v3.oas.annotations.tags.Tag;
  11. import lombok.RequiredArgsConstructor;
  12. import org.springframework.context.annotation.Lazy;
  13. import org.springframework.web.bind.annotation.*;
  14. import org.springframework.web.multipart.MultipartFile;
  15. import javax.servlet.http.HttpServletResponse;
  16. import java.io.IOException;
  17. /**
  18. * <p>
  19. * 专题库附件 前端控制器
  20. * </p>
  21. *
  22. * @author 王岩
  23. * @since 2021-12-24
  24. */
  25. @Tag(name = "专题库附件")
  26. @RestController
  27. @RequestMapping(Constants.API_VERSION_V2 + "/project/file")
  28. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  29. public class ProjectFileController {
  30. private final ProjectFileService projectFileService;
  31. @GetMapping("list")
  32. @Operation(summary = "附件列表")
  33. public String getPageList(ProjectFileVO params) throws IOException {
  34. return Response.success(projectFileService.getPageList(params));
  35. }
  36. @Permission(roles = {2})
  37. @checkAuth(FunId = "/workspace/project/report_manage/add")
  38. @PostMapping("add")
  39. @Operation(summary = "新增附件")
  40. public String add(ProjectFile projectFile, MultipartFile file) {
  41. return projectFileService.add(projectFile, file);
  42. }
  43. @Permission(roles = {2})
  44. @checkAuth(FunId = "/workspace/project/report_manage/modify")
  45. @PostMapping("edit")
  46. @Operation(summary = "编辑附件")
  47. public String edit(ProjectFile projectFile, MultipartFile file) {
  48. return projectFileService.edit(projectFile, file);
  49. }
  50. @Permission(roles = {2})
  51. @checkAuth(FunId = "/workspace/project/report_manage/delete")
  52. @PostMapping("delete")
  53. @Operation(summary = "删除附件")
  54. public String delete(Integer id) {
  55. return projectFileService.delete(id);
  56. }
  57. }