CustomFieldController.java 7.1 KB

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