CustomFieldController.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.base.Constants;
  3. import cn.cslg.pas.common.dto.AllFieldOrderDTO;
  4. import cn.cslg.pas.common.dto.business.CustomFieldDTO;
  5. import cn.cslg.pas.common.dto.business.UpdateCustomFieldDTO;
  6. import cn.cslg.pas.common.dto.es.EsCustomFieldDTO;
  7. import cn.cslg.pas.common.dto.es.QueryEsCustomFieldDTO;
  8. import cn.cslg.pas.common.model.cronModel.Records;
  9. import cn.cslg.pas.common.model.request.StringRequest;
  10. import cn.cslg.pas.common.utils.Response;
  11. import cn.cslg.pas.common.vo.business.AllCustomFieldVO;
  12. import cn.cslg.pas.exception.ConditionException;
  13. import cn.cslg.pas.exception.UnLoginException;
  14. import cn.cslg.pas.exception.XiaoShiException;
  15. import cn.cslg.pas.factorys.businessFactory.Business;
  16. import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
  17. import cn.cslg.pas.service.business.CustomFieldService;
  18. import cn.cslg.pas.service.business.es.EsCustomFieldService;
  19. import io.swagger.v3.oas.annotations.Operation;
  20. import lombok.extern.slf4j.Slf4j;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.*;
  23. import java.util.ArrayList;
  24. import java.util.List;
  25. /**
  26. * 自定义栏位Controller层
  27. *
  28. * @Author xiexiang
  29. * @Date 2023/11/13
  30. */
  31. @Slf4j
  32. @RequestMapping(Constants.API_XiaoSHI + "/customField")
  33. @RestController
  34. public class CustomFieldController {
  35. @Autowired
  36. private BusinessFactory businessFactory;
  37. @Autowired
  38. private CustomFieldService customFieldService;
  39. @Autowired
  40. private EsCustomFieldService esCustomFieldService;
  41. @Operation(summary = "查询自定义栏位")
  42. @PostMapping("/queryCustomField")
  43. public Response queryCustomField(@RequestBody StringRequest stringRequest) throws Exception {
  44. Business business = businessFactory.getClass("customFieldService");
  45. Records records = (Records) business.queryMessage(stringRequest);
  46. return Response.success(records);
  47. }
  48. @Operation(summary = "新增自定义栏位")
  49. @PostMapping("/addCustomField")
  50. public Response addCustomField(@RequestBody CustomFieldDTO customFieldDTO) throws Exception {
  51. if (customFieldDTO != null) {
  52. Business business = businessFactory.getClass("customFieldService");
  53. Integer id = null;
  54. try {
  55. id = (Integer) business.addMessage(customFieldDTO);
  56. } catch (Exception e) {
  57. if (e instanceof XiaoShiException) {
  58. return Response.error(e.getMessage());
  59. } else if (e instanceof UnLoginException) {
  60. return Response.unLogin(e.getMessage());
  61. } else if (e instanceof ConditionException) {
  62. return Response.conditionError(e.getMessage());
  63. }
  64. }
  65. return Response.success(id);
  66. } else {
  67. return Response.error("网络异常");
  68. }
  69. }
  70. @Operation(summary = "更新自定义栏位")
  71. @PostMapping("/updateCustomField")
  72. public Response updateCustomField(@RequestBody UpdateCustomFieldDTO updateCustomFieldDTO) throws Exception {
  73. if (updateCustomFieldDTO != null) {
  74. Business business = businessFactory.getClass("customFieldService");
  75. Integer id = (Integer) business.updateMessage(updateCustomFieldDTO);
  76. return Response.success(id);
  77. } else {
  78. return Response.error("网络异常");
  79. }
  80. }
  81. @Operation(summary = "删除自定义栏位")
  82. @PostMapping("/deleteCustomField")
  83. public Response deleteCustomField(@RequestBody List<Integer> ids) throws Exception {
  84. Business business = businessFactory.getClass("customFieldService");
  85. business.deleteMessage(ids);
  86. return Response.success("删除成功");
  87. }
  88. @Operation(summary = "查询专题库的所有标引栏位")
  89. @GetMapping("/getAllPatentCustomField")
  90. public Response getAllPatentCustomField(Integer projectId, Integer taskId) throws Exception {
  91. Records records = new Records();
  92. List<AllCustomFieldVO> customFieldVOS = new ArrayList<>();
  93. if (taskId != null) {
  94. customFieldVOS = customFieldService.getAllTaskCustomField(taskId);
  95. }
  96. else {
  97. customFieldVOS = customFieldService.getAllProjectCustomField(projectId);
  98. }
  99. records.setData(customFieldVOS);
  100. return Response.success(records);
  101. }
  102. @Operation(summary = "查询栏位值")
  103. @PostMapping("/getCustomFieldValues")
  104. public Response getCustomFieldValues(@RequestBody QueryEsCustomFieldDTO queryEsCustomFieldDTO) throws Exception {
  105. Records records = customFieldService.getCustomFieldValues(queryEsCustomFieldDTO);
  106. return Response.success(records);
  107. }
  108. @Operation(summary = "保存自定义栏位顺序")
  109. @PostMapping("/addAllPatentCustomFieldOrder")
  110. public Response addAllPatentCustomFieldOrder(@RequestBody AllFieldOrderDTO allFieldOrderDTO) throws Exception {
  111. Records records = customFieldService.addAllPatentCustomFieldOrder(allFieldOrderDTO);
  112. return Response.success(records);
  113. }
  114. @PostMapping("/addCustomFieldValue")
  115. @Operation(summary = "添加标引")
  116. public Response addCustomFieldValue(@RequestBody EsCustomFieldDTO vo) throws Exception {
  117. String field = esCustomFieldService.addCustomField(vo);
  118. Records records = new Records();
  119. records.setData(field);
  120. return Response.success(records);
  121. }
  122. @PostMapping("/batchAddCustomField")
  123. @Operation(summary = "标引/批量标引添加")
  124. public Response batchAddCustomField(@RequestBody List<EsCustomFieldDTO> vo) throws Exception {
  125. List<String> list = esCustomFieldService.batchAddCustomField(vo);
  126. Records records = new Records();
  127. records.setData(list);
  128. return Response.success(records);
  129. }
  130. }