ProjectFolderController.java 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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 = {1})
  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 = {1})
  46. @checkAuth(FunId = "/workspace/common/folder_manage/edit")
  47. @PostMapping("edit")
  48. @Operation(summary = "编辑文件夹")
  49. public String edit(@RequestBody List<ProjectFolder> folderList, String projectId) {
  50. return projectFolderService.edit(folderList, Integer.parseInt(projectId));
  51. }
  52. @Permission(roles = {1})
  53. @checkAuth(FunId = "/workspace/common/folder_manage/delete")
  54. @PostMapping("delete")
  55. @Operation(summary = "删除文件夹")
  56. public String delete(Integer id) {
  57. return projectFolderService.delete(id);
  58. }
  59. @Permission(roles = {1, 2})
  60. @PostMapping("/patent/delete")
  61. @Operation(summary = "删除文件夹里的专利")
  62. public String deletePatent(Integer folderId, String ids) {
  63. List<Integer> patentIds = StringUtils.changeStringToInteger(ids, ",");
  64. projectFolderPatentLinkService.deleteByFolderIdAndPatentIds(folderId, patentIds);
  65. return Response.success(true);
  66. }
  67. @Permission(roles = {1})
  68. @checkAuth(FunId = "/workspace/folder/batchOperation/copy")
  69. @PostMapping("patent")
  70. @Operation(summary = "文件夹批量移动、复制专利")
  71. public String updateProjectFolderPatent(@RequestBody ProjectFolderPatentVO params) {
  72. projectFolderPatentLinkService.updateProjectFolderPatent(params);
  73. return Response.success(true);
  74. }
  75. }