EventServiceTests.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  1. package cn.cslg.pas.service;
  2. import cn.cslg.pas.common.dto.PatentColumnDTO;
  3. import cn.cslg.pas.common.dto.PatentDTO;
  4. import cn.cslg.pas.common.dto.PatentDetailDTO;
  5. import cn.cslg.pas.common.dto.PatentKinDTO;
  6. import cn.cslg.pas.common.dto.business.EsCountDTO;
  7. import cn.cslg.pas.common.dto.business.EsPatentFamilyDTO;
  8. import cn.cslg.pas.common.dto.business.ReportTempleDTO;
  9. import cn.cslg.pas.common.dto.business.SelectClaimDTO;
  10. import cn.cslg.pas.common.dto.es.EsCustomFieldDTO;
  11. import cn.cslg.pas.common.dto.es.EsCustomFieldValueDTO;
  12. import cn.cslg.pas.common.model.cronModel.Records;
  13. import cn.cslg.pas.common.model.request.*;
  14. import cn.cslg.pas.common.utils.Response;
  15. import cn.cslg.pas.common.utils.parseQueryToTree.expressManager;
  16. import cn.cslg.pas.common.utils.parseQueryToTree.treeNode;
  17. import cn.cslg.pas.common.vo.business.EsCountVO;
  18. import cn.cslg.pas.common.vo.business.PatentKinVO;
  19. import cn.cslg.pas.common.vo.business.PatentNoVO;
  20. import cn.cslg.pas.common.vo.business.TempleByReportTypeVO;
  21. import cn.cslg.pas.controller.EventController;
  22. import cn.cslg.pas.controller.PatentController;
  23. import cn.cslg.pas.domain.es.FamilyPatent;
  24. import cn.cslg.pas.domain.es.PatentFamilyMessage;
  25. import cn.cslg.pas.service.business.ProductMarketDataService;
  26. import cn.cslg.pas.service.business.TempleService;
  27. import cn.cslg.pas.service.business.es.EsCountService;
  28. import cn.cslg.pas.service.business.es.EsCustomFieldService;
  29. import cn.cslg.pas.service.business.es.EsService;
  30. import cn.cslg.pas.service.business.es.EsPatentService;
  31. import com.alibaba.fastjson.JSONObject;
  32. import org.apache.http.entity.ContentType;
  33. import org.junit.jupiter.api.Test;
  34. import org.springframework.beans.factory.annotation.Autowired;
  35. import org.springframework.boot.test.context.SpringBootTest;
  36. import org.springframework.mock.web.MockMultipartFile;
  37. import org.springframework.web.multipart.MultipartFile;
  38. import java.io.File;
  39. import java.io.FileInputStream;
  40. import java.io.IOException;
  41. import java.util.*;
  42. import java.util.function.Function;
  43. import java.util.stream.Collectors;
  44. /**
  45. * @author chenyu
  46. * @date 2023/9/6
  47. */
  48. @SpringBootTest
  49. public class EventServiceTests {
  50. @Autowired
  51. private EventController eventController;
  52. @Autowired
  53. PatentController patentController;
  54. @Autowired
  55. private EsService esService;
  56. @Autowired
  57. private EsCountService esCountService;
  58. @Autowired
  59. private TempleService templeService;
  60. @Autowired
  61. private EsPatentService patentService;
  62. @Autowired
  63. private EsCustomFieldService esCustomFieldService;
  64. @Autowired
  65. private ProductMarketDataService productMarketDataService;
  66. @Test
  67. void test() throws Exception {
  68. StringRequest queryRequest = new StringRequest();
  69. queryRequest.setSearchQuery("id=52");
  70. List<OrderDTO> dtos = new ArrayList<>();
  71. OrderDTO orderDTO1 = new OrderDTO();
  72. orderDTO1.setOrderBy("name");
  73. orderDTO1.setOrderType(0);
  74. OrderDTO orderDTO2 = new OrderDTO();
  75. orderDTO2.setOrderBy("createName");
  76. orderDTO2.setOrderType(1);
  77. dtos.add(orderDTO1);
  78. dtos.add(orderDTO2);
  79. queryRequest.setOrderDTOList(dtos);
  80. queryRequest.setCurrent(Long.parseLong("1"));
  81. queryRequest.setSize(Long.parseLong("10"));
  82. Response response = eventController.queryEvent(queryRequest);
  83. System.out.println(response);
  84. }
  85. @Test
  86. void add() throws Exception {
  87. JSONObject jsonObj = new JSONObject();
  88. jsonObj.put("name", "事件4");
  89. jsonObj.put("description", "描述1");
  90. jsonObj.put("clientId", 1);
  91. jsonObj.put("scenarioId", 2);
  92. jsonObj.put("eventDate", "");
  93. String json_to_string = JSONObject.toJSONString(jsonObj);
  94. List<MultipartFile> list = new ArrayList<>();
  95. File file = new File("C:\\Users\\admin\\Desktop\\test.txt");
  96. MultipartFile mulFile = new MockMultipartFile(
  97. "th.jpg", //文件名
  98. "th.jpg", //originalName 相当于上传文件在客户机上的文件名
  99. ContentType.APPLICATION_OCTET_STREAM.toString(), //文件类型
  100. new FileInputStream(file) //文件流
  101. );
  102. list.add(mulFile);
  103. eventController.addEvent(json_to_string, list);
  104. }
  105. @Test
  106. void groupEvent() throws Exception {
  107. StringGroupRequest queryRequest = new StringGroupRequest();
  108. queryRequest.setSearchQuery("name~事件 and createName=朱");
  109. List<OrderDTO> dtos = new ArrayList<>();
  110. OrderDTO orderDTO1 = new OrderDTO();
  111. orderDTO1.setOrderBy("name");
  112. orderDTO1.setOrderType(0);
  113. OrderDTO orderDTO2 = new OrderDTO();
  114. orderDTO2.setOrderBy("createName");
  115. orderDTO2.setOrderType(1);
  116. dtos.add(orderDTO1);
  117. dtos.add(orderDTO2);
  118. queryRequest.setOrderDTOList(dtos);
  119. queryRequest.setCurrent(Long.parseLong("1"));
  120. queryRequest.setSize(Long.parseLong("10"));
  121. queryRequest.setGroupBy("name");
  122. eventController.groupEvent(queryRequest);
  123. }
  124. @Test
  125. void test1() throws Exception {
  126. StringGroupRequest groupRequest = new StringGroupRequest();
  127. groupRequest.setGroupBy("groupMonthTime");
  128. Records records = (Records) productMarketDataService.getGroup(groupRequest, "productMarketData");
  129. System.out.println(records);
  130. }
  131. @Test
  132. void test11() throws Exception {
  133. // List<Patent> list = esService.Search("publicDate=2009-03", 0, 50,null);
  134. // MapRequest mapRequest = new MapRequest();
  135. // Map<String, Object> map = new HashMap<>();
  136. // map.put("titleTextContent", "电子");
  137. // map.put("patentNo", "CN201199922Y");
  138. // mapRequest.setSearchQuery(map);
  139. // mapRequest.setCurrent(0L);
  140. // mapRequest.setSize(50L);
  141. // mapRequest.setProjectId(1);
  142. StringRequest stringRequest = new StringRequest();
  143. // stringRequest.setSearchQuery("appCity=济南");
  144. // stringRequest.setSearchQuery("mipcLevel1=H");
  145. // stringRequest.setSearchQuery("agent=李桂存");
  146. // stringRequest.setSearchQuery("IN=郝旭东");
  147. // stringRequest.setSearchQuery("simpleStatus=3");
  148. // stringRequest.setSearchQuery("publicFullText=本申请涉及直流输电技术领域");
  149. // stringRequest.setSearchQuery("AB=本申请提供一种储能系统机电暂态建模方法、装置、设备及可读存储介质");
  150. // stringRequest.setSearchQuery("TI=储能系统机电暂态建模方法、装置、设备及可读存储介质");
  151. // stringRequest.setSearchQuery("PN=CN114513005B");
  152. // stringRequest.setSearchQuery("AN=CN201810025278.2");
  153. // stringRequest.setSearchQuery("patentNo=CN");
  154. stringRequest.setSearchQuery("PD<=200903");
  155. // stringRequest.setSearchQuery("patentNo=CN201199922Y and (simpleFamilyNum>1 or simpleFamilyNum=0)");
  156. stringRequest.setCurrent(1L);
  157. stringRequest.setSize(5L);
  158. // stringRequest.setProjectId(1);
  159. //
  160. PatentDTO patentDTO = esService.esSearch(stringRequest);
  161. System.out.println(patentDTO);
  162. }
  163. @Test
  164. void test12() throws IOException {
  165. Boolean bool = esService.searchPatent("YiQCGowBmB3pRkTj4NNG", 5);
  166. System.out.println(bool);
  167. }
  168. @Test
  169. void getpagetexst() throws IOException {
  170. //1.添加一批数据(10)
  171. //2.调用查询取第一页(5笔一页)
  172. //3.判断5笔数据是正确的;
  173. //4.删除测试数据
  174. List<Integer> list = Arrays.asList(1, 2, 3, 4);
  175. List<Integer> list1 = Arrays.asList(4, 5);
  176. // list1.removeAll(list);
  177. System.out.println(list1);
  178. }
  179. @Test
  180. void add1() throws Exception {
  181. List<FamilyPatent> list = new ArrayList<>();
  182. FamilyPatent patent = new FamilyPatent();
  183. patent.setAppNo("CN147258369");
  184. patent.setGrantNo("CN258369147");
  185. patent.setPublicNo("CN369258147");
  186. FamilyPatent patent1 = new FamilyPatent();
  187. patent1.setAppNo("US147258369");
  188. patent1.setGrantNo("US258369147");
  189. patent1.setPublicNo("US369258147");
  190. list.add(patent);
  191. list.add(patent1);
  192. PatentFamilyMessage patentFamilyMessage = new PatentFamilyMessage();
  193. patentFamilyMessage.setPatent(list);
  194. patentFamilyMessage.setFamilyType("test");
  195. String id = esService.addPatentFamily(patentFamilyMessage);
  196. System.out.println(id);
  197. }
  198. @Test
  199. void test3() throws IOException {
  200. List<String> stringList = Arrays.asList("US369258147", "US258369147", "14528");
  201. EsPatentFamilyDTO test = esService.addEsPatentFamily(stringList, "test");
  202. System.out.println(test);
  203. }
  204. @Test
  205. void test4() throws IOException {
  206. List<String> stringList = Arrays.asList("US369258147", "US258369147", "14528");
  207. EsPatentFamilyDTO test = esService.addEsPatentFamily(stringList, "test");
  208. System.out.println(test);
  209. }
  210. @Test
  211. void test5() throws IOException {
  212. SelectClaimDTO dto = esService.selectClaim("CN102324864A");
  213. System.out.println(dto);
  214. }
  215. @Test
  216. void test8() throws Exception {
  217. List<EsCountVO> countVOS = new ArrayList<>();
  218. EsCountVO vo1 = new EsCountVO();
  219. vo1.setField("childRaw");
  220. // vo.setField("CO");
  221. // vo.setField("PT");
  222. // vo1.setValueOne("国家电网公司");
  223. // vo.setValueOne("2022");
  224. // vo.setValueTwo("2024");
  225. // vo.setField("AD");
  226. EsCountVO vo2 = new EsCountVO();
  227. vo2.setField("AD");
  228. vo2.setValueOne("2022");
  229. vo2.setValueTwo("2023");
  230. countVOS.add(vo1);
  231. // countVOS.add(vo2);
  232. // EsCountDTO esCountDTO = esCountService.esCountSearch(countVOS);
  233. // System.out.println(esCountDTO);
  234. }
  235. @Test
  236. void test9() throws IOException {
  237. PatentNoVO vo = new PatentNoVO();
  238. vo.setPatentNo("CN201910069334.7");
  239. PatentColumnDTO columnDTO = patentService.selectPatentDetail(vo);
  240. System.out.println(columnDTO);
  241. // String s = "asfassafsafe";
  242. // Map<Character, Long> map = s.chars().mapToObj(c->(char)c).collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
  243. // System.out.println(map);
  244. //
  245. // List<String> stringList = Arrays.asList("apple", "apple", "balana", "origin", "apple", "balana");
  246. // Map<String, Long> collect = stringList.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
  247. // System.out.println("----" + collect);
  248. }
  249. @Test
  250. void test10() throws IOException {
  251. PatentKinVO vo = new PatentKinVO();
  252. vo.setPatentNo("CN201910069334.7");
  253. vo.setPageNum(1);
  254. vo.setPageSize(10);
  255. vo.setType("inpadoc");
  256. List<PatentKinDTO> kinDTOS = patentService.selectKinByPatentNo(vo);
  257. System.out.println(kinDTOS);
  258. }
  259. @Test
  260. void test14() {
  261. TempleByReportTypeVO vo = new TempleByReportTypeVO();
  262. vo.setReportType(1);
  263. List<ReportTempleDTO> reportTempleDTOS = templeService.queryTempleByType(vo);
  264. System.out.println(reportTempleDTOS);
  265. }
  266. @Test
  267. void test15() throws Exception {
  268. EsCustomFieldDTO dto = new EsCustomFieldDTO();
  269. dto.setProjectId(83);
  270. dto.setFieldType(5);
  271. dto.setFieldId("303");
  272. dto.setFieldValue(Arrays.asList("多选1", "多选2"));
  273. dto.setOptionType(1);
  274. dto.setPatentNo("CN201910069334.7");
  275. esCustomFieldService.addCustomField(dto);
  276. }
  277. @Test
  278. void test16() {
  279. List<EsCustomFieldValueDTO> customFields = new ArrayList<>();
  280. EsCustomFieldValueDTO dto1 = new EsCustomFieldValueDTO();
  281. dto1.setFieldId("1");
  282. dto1.setFieldValue(Arrays.asList("a"));
  283. EsCustomFieldValueDTO dto2 = new EsCustomFieldValueDTO();
  284. dto2.setFieldId("2");
  285. dto2.setFieldValue(Arrays.asList("a"));
  286. customFields.add(dto1);
  287. customFields.add(dto2);
  288. String s = esService.parseCustomField(customFields);
  289. System.out.println("结果为:" + s);
  290. System.out.println("-----------------------------");
  291. List<EsCustomFieldValueDTO> fields = new ArrayList<>();
  292. }
  293. @Test
  294. void test17() throws IOException {
  295. List<String> list = new ArrayList<>();
  296. list.add("CN201910069334.7");
  297. list.add("CN201110286649.0");
  298. list.add("CN200820185104.4");
  299. SelectClaimDTO dto = esService.selectPatentNo(list);
  300. System.out.println(dto);
  301. }
  302. @Test
  303. void test18() {
  304. List<String> list = Arrays.asList("AD");
  305. if (list.contains("AD")) {
  306. String str = "AD=2008~201009";
  307. String s = this.get(str);
  308. if (s.contains("~")) {
  309. int i = s.indexOf("~");
  310. // s.substring()
  311. String s1 = this.get(s);
  312. System.out.println("-------------");
  313. System.out.println("s1是:" + s1);
  314. }
  315. } else {
  316. System.out.println("DDDDDDDDDDDDDDDDDD");
  317. }
  318. }
  319. public String get(String str) {
  320. int i = str.indexOf("AD");
  321. String s = str.substring(str.indexOf("AD")).toUpperCase(Locale.ROOT);
  322. int length = s.length();//------
  323. String key = s.substring(0, s.indexOf("="));
  324. int i2 = s.indexOf("=");
  325. String s1 = s.substring(s.indexOf("=") + 1, s.indexOf("~"));
  326. String s2 = "";
  327. if (s.contains("AND")) {
  328. s2 = s.substring(s.indexOf("~") + 1, s.indexOf("AND"));
  329. } else {
  330. s2 = s.substring(s.indexOf("~") + 1).trim();
  331. }
  332. int index = str.indexOf(key);
  333. int index1 = str.indexOf(s2) + s2.length();
  334. int i1 = index + key.length() + 1 + s1.length() + 1 + s2.length();
  335. String substring = str.substring(index, i1);
  336. String concat = key.concat(">=").concat(s1).concat(" and ").concat(key).concat("<=").concat(s2);
  337. System.out.println(concat);
  338. String replace = str.replace(substring, concat);
  339. System.out.println(replace);
  340. return replace;
  341. }
  342. @Test
  343. public void aaaaa() throws Exception {
  344. String searchCondition = "AD=[2008~201009]";
  345. treeNode tree = expressManager.getInstance().Parse(searchCondition, false);
  346. System.out.println(tree);
  347. }
  348. }