ProjectFolderController.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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.utils.Response;
  5. import cn.cslg.pas.common.utils.StringUtils;
  6. import cn.cslg.pas.common.utils.auth.checkAuth;
  7. import cn.cslg.pas.domain.ProjectFolder;
  8. import cn.cslg.pas.common.model.vo.ProjectFolderPatentVO;
  9. import cn.cslg.pas.common.model.vo.ProjectFolderVO;
  10. import cn.cslg.pas.service.ProjectFolderPatentLinkService;
  11. import cn.cslg.pas.service.ProjectFolderService;
  12. import io.swagger.v3.oas.annotations.Operation;
  13. import io.swagger.v3.oas.annotations.tags.Tag;
  14. import lombok.RequiredArgsConstructor;
  15. import org.springframework.context.annotation.Lazy;
  16. import org.springframework.web.bind.annotation.*;
  17. import java.util.List;
  18. /**
  19. * <p>
  20. * 专题库文件夹 前端控制器
  21. * </p>
  22. *
  23. * @author 王岩
  24. * @since 2021-12-24
  25. */
  26. @Tag(name = "专题库专利文件夹")
  27. @RestController
  28. @RequestMapping(Constants.API_VERSION_V2 + "/project/folder")
  29. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  30. public class ProjectFolderController {
  31. private final ProjectFolderService projectFolderService;
  32. private final ProjectFolderPatentLinkService projectFolderPatentLinkService;
  33. @GetMapping("list")
  34. @Operation(summary = "文件夹列表")
  35. public String getList(ProjectFolderVO params) {
  36. return Response.success(projectFolderService.getList(params));
  37. }
  38. @Permission(roles = {2})
  39. @checkAuth(FunId = "/workspace/common/folder_manage/add")
  40. @PostMapping("add")
  41. @Operation(summary = "新增文件夹")
  42. public String add(@RequestBody ProjectFolder projectFolder) {
  43. return projectFolderService.add(projectFolder);
  44. }
  45. @Permission(roles = {2})
  46. @PostMapping("edit")
  47. @Operation(summary = "编辑文件夹")
  48. public String edit(@RequestBody List<ProjectFolder> folderList, String projectId) {
  49. return projectFolderService.edit(folderList, Integer.parseInt(projectId));
  50. }
  51. @Permission(roles = {2})
  52. @checkAuth(FunId = "/workspace/common/folder_manage/delete")
  53. @PostMapping("delete")
  54. @Operation(summary = "删除文件夹")
  55. public String delete(Integer id) {
  56. return projectFolderService.delete(id);
  57. }
  58. @Permission(roles = {1, 2})
  59. @PostMapping("/patent/delete")
  60. @Operation(summary = "删除文件夹里的专利")
  61. public String deletePatent(Integer folderId, String ids) {
  62. List<Integer> patentIds = StringUtils.changeStringToInteger(ids, ",");
  63. projectFolderPatentLinkService.deleteByFolderIdAndPatentIds(folderId, patentIds);
  64. return Response.success(true);
  65. }
  66. @Permission(roles = {2})
  67. @checkAuth(FunId = "/workspace/folder/batchOperation/copy")
  68. @PostMapping("patent")
  69. @Operation(summary = "文件夹批量移动、复制专利")
  70. public String updateProjectFolderPatent(@RequestBody ProjectFolderPatentVO params) {
  71. projectFolderPatentLinkService.updateProjectFolderPatent(params);
  72. return Response.success(true);
  73. }
  74. }