ProjectFileController.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. /**
  17. * <p>
  18. * 专题库附件 前端控制器
  19. * </p>
  20. *
  21. * @author 王岩
  22. * @since 2021-12-24
  23. */
  24. @Tag(name = "专题库附件")
  25. @RestController
  26. @RequestMapping(Constants.API_VERSION_V2 + "/project/file")
  27. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  28. public class ProjectFileController {
  29. private final ProjectFileService projectFileService;
  30. @GetMapping("list")
  31. @Operation(summary = "附件列表")
  32. public String getPageList(ProjectFileVO params) {
  33. return Response.success(projectFileService.getPageList(params));
  34. }
  35. @Permission(roles = {2})
  36. @checkAuth(FunId = "/workspace/project/report_manage/add")
  37. @PostMapping("add")
  38. @Operation(summary = "新增附件")
  39. public String add(ProjectFile projectFile, MultipartFile file) {
  40. return projectFileService.add(projectFile, file);
  41. }
  42. @Permission(roles = {2})
  43. @checkAuth(FunId = "/workspace/project/report_manage/modify")
  44. @PostMapping("edit")
  45. @Operation(summary = "编辑附件")
  46. public String edit(ProjectFile projectFile, MultipartFile file) {
  47. return projectFileService.edit(projectFile, file);
  48. }
  49. @Permission(roles = {2})
  50. @checkAuth(FunId = "/workspace/project/report_manage/delete")
  51. @PostMapping("delete")
  52. @Operation(summary = "删除附件")
  53. public String delete(Integer id) {
  54. return projectFileService.delete(id);
  55. }
  56. }