ProjectExportController.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.base.Constants;
  3. import cn.cslg.pas.common.model.vo.ProjectExportVO;
  4. import cn.cslg.pas.common.utils.Response;
  5. import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
  6. import cn.cslg.pas.common.utils.auth.checkAuth;
  7. import cn.cslg.pas.domain.ProjectExport;
  8. import cn.cslg.pas.service.ProjectExportService;
  9. import cn.cslg.pas.service.ProjectService;
  10. import io.swagger.v3.oas.annotations.Operation;
  11. import io.swagger.v3.oas.annotations.tags.Tag;
  12. import lombok.RequiredArgsConstructor;
  13. import org.springframework.context.annotation.Lazy;
  14. import org.springframework.web.bind.annotation.*;
  15. /**
  16. * <p>
  17. * 专题库 前端控制器
  18. * </p>
  19. *
  20. * @author 王岩
  21. * @since 2021-12-24
  22. */
  23. @Tag(name = "专题库数据导出")
  24. @RestController
  25. @RequestMapping(Constants.API_VERSION_V2 + "/project/export")
  26. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  27. public class ProjectExportController {
  28. private final ProjectService projectService;
  29. private final ProjectExportService projectExportService;
  30. private final LoginUtils loginUtils;
  31. @PostMapping
  32. @Operation(summary = "数据导出")
  33. public String export(@RequestBody ProjectExportVO params) {
  34. ProjectExport projectExport = new ProjectExport();
  35. projectExport.setProjectId(params.getProjectId());
  36. projectExport.setStatus(0);
  37. Integer exportId = projectExportService.add(projectExport);
  38. projectService.export(params, exportId, loginUtils.getId());
  39. return Response.success(true);
  40. }
  41. @GetMapping("list")
  42. @Operation(summary = "导出记录列表")
  43. public String getExportPageList(ProjectExportVO params) {
  44. return Response.success(projectExportService.getPageList(params));
  45. }
  46. @checkAuth(FunId = "/workspace/folder/topicLibraryExport/delete")
  47. @PostMapping("delete")
  48. @Operation(summary = "删除导出记录")
  49. public String deleteExport(Integer id) {
  50. projectExportService.delete(id);
  51. return Response.success(true);
  52. }
  53. }