PatentController.java 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.example.xiaoshiweixinback.controller;
  2. import com.alibaba.fastjson2.JSONObject;
  3. import com.example.xiaoshiweixinback.business.common.Constants;
  4. import com.example.xiaoshiweixinback.business.common.Response;
  5. import com.example.xiaoshiweixinback.business.common.base.Records;
  6. import com.example.xiaoshiweixinback.business.utils.FileUtils;
  7. import com.example.xiaoshiweixinback.entity.dto.esPicture.EsPictureNoDTO;
  8. import com.example.xiaoshiweixinback.entity.dto.esPicture.EsPatentVectorDTO;
  9. import com.example.xiaoshiweixinback.entity.dto.patent.CollectPatentDTO;
  10. import com.example.xiaoshiweixinback.entity.dto.patent.ImportTaskAMVO;
  11. import com.example.xiaoshiweixinback.entity.vo.esPicture.EsPictureNoVo;
  12. import com.example.xiaoshiweixinback.service.importPatent.EsDenseVectorService;
  13. import com.example.xiaoshiweixinback.service.importPatent.EsPatentService;
  14. import com.example.xiaoshiweixinback.service.importPatent.GetPatentFromExcelService;
  15. import com.example.xiaoshiweixinback.service.importPatent.ImportFromWebToEsService;
  16. import io.swagger.v3.oas.annotations.Operation;
  17. import org.apache.commons.lang3.StringUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import org.springframework.web.multipart.MultipartFile;
  21. import java.io.File;
  22. import java.util.List;
  23. @RequestMapping(Constants.XIAOSHI_WEIXINBACK + "/patent")
  24. @RestController
  25. public class PatentController {
  26. @Autowired
  27. private ImportFromWebToEsService importFromWebToEsService;
  28. @Autowired
  29. private EsDenseVectorService esDenseVectorService;
  30. @Autowired
  31. private GetPatentFromExcelService getPatentFromExcelService;
  32. @Autowired
  33. private EsPatentService esPatentService;
  34. //--------------------------- 导入 --------------------------
  35. @Operation(summary = "导入专利")
  36. @GetMapping(value = "/importPatent")
  37. public Response queryPatent(@RequestBody ImportTaskAMVO importTaskAMVO) {
  38. try {
  39. importFromWebToEsService.ImportTask(importTaskAMVO);
  40. } catch (Exception e) {
  41. e.printStackTrace();
  42. }
  43. return Response.success("");
  44. }
  45. @Operation(summary = "excel导入")
  46. @GetMapping(value = "/importPatentE")
  47. public Response importPatentE(String path) {
  48. try {
  49. getPatentFromExcelService.run(path);
  50. } catch (Exception e) {
  51. e.printStackTrace();
  52. }
  53. return Response.success("");
  54. }
  55. //--------------------------- 关于图片的专利检索 --------------------------
  56. @Operation(summary = "根据关键词获取列表(图片用于排序)--zero")
  57. @PostMapping(value = "/getPatentVectors")
  58. public Response getPatentVectors(@RequestParam(value = "vectorDTO", required = false) String vectorDTO, @RequestParam(value = "multipartFile", required = false) MultipartFile multipartFile) throws Exception {
  59. File file = FileUtils.multipartFileToFile(multipartFile);
  60. EsPatentVectorDTO esPatentVectorDTO = new EsPatentVectorDTO();
  61. if (StringUtils.isNotEmpty(vectorDTO)) {
  62. esPatentVectorDTO = JSONObject.parseObject(vectorDTO, EsPatentVectorDTO.class);
  63. }
  64. Records records = esDenseVectorService.getPatentVectors(esPatentVectorDTO, file);
  65. return Response.success(records);
  66. }
  67. @Operation(summary = "根据专利号获取相关图片--zero")
  68. @PostMapping(value = "/getPictureByNo")
  69. public Response getPictureByNo(@RequestBody EsPictureNoDTO pictureNoDTO) throws Exception {
  70. List<EsPictureNoVo> pictureByNo = esDenseVectorService.getPictureByNo(pictureNoDTO);
  71. return Response.success(pictureByNo);
  72. }
  73. //--------------------------- 收藏专利相关 --------------------------
  74. @Operation(summary = "收藏专利--zero")
  75. @PostMapping(value = "/collectPatent")
  76. public Response collectPatent(@RequestBody CollectPatentDTO patentDTO) throws Exception {
  77. boolean b = esPatentService.collectPatent(patentDTO);
  78. return Response.success(b);
  79. }
  80. //--------------------------- 其他 --------------------------
  81. }