IntegrateTaskController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package jnpf.integrate.controller;
  2. import io.swagger.v3.oas.annotations.Operation;
  3. import io.swagger.v3.oas.annotations.Parameter;
  4. import io.swagger.v3.oas.annotations.Parameters;
  5. import io.swagger.v3.oas.annotations.tags.Tag;
  6. import jnpf.base.ActionResult;
  7. import jnpf.base.controller.SuperController;
  8. import jnpf.base.vo.PageListVO;
  9. import jnpf.base.vo.PaginationVO;
  10. import jnpf.constant.MsgCode;
  11. import jnpf.integrate.entity.IntegrateNodeEntity;
  12. import jnpf.integrate.entity.IntegrateQueueEntity;
  13. import jnpf.integrate.entity.IntegrateTaskEntity;
  14. import jnpf.integrate.model.integratetask.IntegrateQueueListVO;
  15. import jnpf.integrate.model.integratetask.IntegrateTaskInfo;
  16. import jnpf.integrate.model.integratetask.IntegrateTaskListVO;
  17. import jnpf.integrate.model.integrate.IntegratePageModel;
  18. import jnpf.integrate.model.integratetask.IntegrateTaskModel;
  19. import jnpf.integrate.service.IntegrateNodeService;
  20. import jnpf.integrate.service.IntegrateQueueService;
  21. import jnpf.integrate.service.IntegrateTaskService;
  22. import jnpf.integrate.util.IntegrateUtil;
  23. import jnpf.util.JsonUtil;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.web.bind.annotation.*;
  26. import java.util.ArrayList;
  27. import java.util.List;
  28. @Tag(name = "集成助手日志", description = "IntegrateTask")
  29. @RestController
  30. @RequestMapping("/api/visualdev/IntegrateTask")
  31. public class IntegrateTaskController extends SuperController<IntegrateTaskService, IntegrateTaskEntity> {
  32. @Autowired
  33. private IntegrateTaskService integrateTaskService;
  34. @Autowired
  35. private IntegrateNodeService integrateNodeService;
  36. @Autowired
  37. private IntegrateUtil integrateUtil;
  38. @Autowired
  39. private IntegrateQueueService integrateQueueService;
  40. /**
  41. * 列表
  42. *
  43. * @return
  44. */
  45. @Operation(summary = "日志列表")
  46. @GetMapping
  47. public ActionResult<PageListVO<IntegrateTaskListVO>> list(IntegratePageModel pagination) {
  48. List<IntegrateTaskEntity> data = integrateTaskService.getList(pagination);
  49. List<IntegrateTaskListVO> list = JsonUtil.getJsonToList(data, IntegrateTaskListVO.class);
  50. for (IntegrateTaskListVO taskListVO : list) {
  51. taskListVO.setIsRetry("0".equals(taskListVO.getParentId()) ? 0 : 1);
  52. }
  53. PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
  54. return ActionResult.page(list, paginationVO);
  55. }
  56. /**
  57. * 删除
  58. *
  59. * @param id 主键值
  60. * @return
  61. */
  62. @Operation(summary = "删除")
  63. @Parameters({
  64. @Parameter(name = "id", description = "主键值", required = true)
  65. })
  66. @DeleteMapping("/{id}")
  67. public ActionResult delete(@PathVariable("id") String id) {
  68. integrateTaskService.delete(id);
  69. return ActionResult.success(MsgCode.SU003.get());
  70. }
  71. /**
  72. * 日志列表
  73. *
  74. * @return
  75. */
  76. @Operation(summary = "执行列表")
  77. @GetMapping("/queueList")
  78. public ActionResult<List<IntegrateQueueListVO>> queueList() {
  79. List<IntegrateQueueEntity> list = integrateQueueService.getList();
  80. List<IntegrateQueueListVO> listVO = JsonUtil.getJsonToList(list, IntegrateQueueListVO.class);
  81. return ActionResult.success(listVO);
  82. }
  83. /**
  84. * 日志列表
  85. *
  86. * @return
  87. */
  88. @Operation(summary = "日志详情")
  89. @GetMapping("/{id}")
  90. public ActionResult<IntegrateTaskInfo> list(@PathVariable("id") String id) {
  91. IntegrateTaskEntity taskEntity = integrateTaskService.getInfo(id);
  92. List<IntegrateNodeEntity> nodeList = integrateNodeService.getList(new ArrayList() {{
  93. add(id);
  94. }}, null);
  95. List<IntegrateTaskModel> list = JsonUtil.getJsonToList(nodeList, IntegrateTaskModel.class);
  96. for (IntegrateTaskModel taskModel : list) {
  97. boolean isType = "0".equals(taskModel.getParentId());
  98. taskModel.setType(isType ? 1 : 0);
  99. }
  100. IntegrateTaskInfo info = new IntegrateTaskInfo();
  101. info.setList(list);
  102. info.setData(taskEntity.getData());
  103. return ActionResult.success(info);
  104. }
  105. /**
  106. * 节点重试
  107. *
  108. * @return
  109. */
  110. @Operation(summary = "节点重试")
  111. @GetMapping(value = "/{id}/nodeRetry")
  112. public ActionResult taskNode(@PathVariable("id") String id, String nodeId) {
  113. IntegrateTaskEntity taskEntity = integrateTaskService.getInfo(id);
  114. if (taskEntity != null) {
  115. integrateUtil.integrate(id, taskEntity.getParentId(), nodeId);
  116. return ActionResult.success(MsgCode.SU005.get());
  117. }
  118. return ActionResult.fail(MsgCode.FA007.get());
  119. }
  120. /**
  121. * 重试
  122. *
  123. * @return
  124. */
  125. @Operation(summary = "重试")
  126. @PutMapping(value = "/{id}/retry")
  127. public ActionResult ImportData(@PathVariable("id") String id) {
  128. IntegrateTaskEntity taskEntity = integrateTaskService.getInfo(id);
  129. if (taskEntity != null) {
  130. integrateUtil.integrate(id, id, "0");
  131. return ActionResult.success(MsgCode.SU005.get());
  132. }
  133. return ActionResult.fail(MsgCode.FA007.get());
  134. }
  135. }