package cn.cslg.pas.controller; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.GetAllPersonDTO; import cn.cslg.pas.common.dto.PatentColumnDTO; import cn.cslg.pas.common.dto.PatentDetailDTO; import cn.cslg.pas.common.dto.PatentKinDTO; import cn.cslg.pas.common.dto.business.EsCountDTO; import cn.cslg.pas.common.dto.business.SelectClaimDTO; import cn.cslg.pas.common.model.cronModel.Records; import cn.cslg.pas.common.model.request.StringRequest; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.common.vo.business.*; import cn.cslg.pas.common.vo.PatentPageMessageVO; import cn.cslg.pas.common.vo.PatentWithIdVO; import cn.cslg.pas.common.vo.StarPatentVO; import cn.cslg.pas.common.vo.business.EsAllCountVO; import cn.cslg.pas.common.vo.business.EsCountVO; import cn.cslg.pas.common.vo.business.PatentKinVO; import cn.cslg.pas.common.vo.business.PatentNoVO; import cn.cslg.pas.factorys.businessFactory.Business; import cn.cslg.pas.factorys.businessFactory.BusinessFactory; import cn.cslg.pas.service.business.MergePersonService; import cn.cslg.pas.service.business.es.EsCountService; import cn.cslg.pas.service.business.es.EsPatentService; import cn.cslg.pas.service.business.es.EsService; import cn.cslg.pas.service.common.PatentStarApiService; import io.swagger.v3.oas.annotations.Operation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.util.List; @RequestMapping(Constants.API_XiaoSHI + "/patent") @RestController public class PatentController { @Autowired private BusinessFactory businessFactory; @Autowired private EsCountService esCountService; @Autowired private EsPatentService patentService; @Autowired private MergePersonService mergePersonService; @Autowired private EsService esService; @Autowired private PatentStarApiService patentStarApiService; @Operation(summary = "查询专利") @PostMapping("/queryPatent") public Response queryPatent(@RequestBody StringRequest stringRequest) throws Exception { Business business = businessFactory.getClass("patentService"); Records records = (Records) business.queryMessage(stringRequest); return Response.success(records); } @Operation(summary = "查询专利详情") @PostMapping("/selectPatentDetail") public Response selectPatentDetail(@RequestBody PatentNoVO vo) throws Exception { PatentColumnDTO dto = patentService.selectPatentDetail(vo); return Response.success(dto); } @Operation(summary = "根据专利号查询同族") @PostMapping("/selectKinByPatentNo") public Response selectKinByPatentNo(@RequestBody PatentKinVO vo) throws Exception { List dto = patentService.selectKinByPatentNo(vo); return Response.success(dto); } @Operation(summary = "查询分页信息") @PostMapping("/getPatentPageMessage") public Response getPatentPageMessage(@RequestBody StringRequest stringRequest) throws Exception { Records records = patentService.getPatentPageMessage(stringRequest); return Response.success(records); } @Operation(summary = "专利的聚合统计") @PostMapping("/esCountAnalysis") public Response esCountAnalysis(@RequestBody EsAllCountVO countVO) throws Exception { EsCountDTO dto = esCountService.esCountAnalysis(countVO); return Response.success(dto); } @Operation(summary = "根据专利号查询内部专利") @GetMapping("/queryPatentByNo") public Response queryPatentByNo(String patentNo) throws Exception { PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(patentNo); if (patentWithIdVO == null) { return Response.success(null); } return Response.success(patentWithIdVO.getPatent()); } @Operation(summary = "根据专利号查询内部专利") @GetMapping("/queryPatentByNoFromWeb") public Response queryPatentByNoFromWeb(String patentNo) throws Exception { StarPatentVO starPatentVO = patentStarApiService.getPatentByNo(patentNo); if (starPatentVO == null) { return Response.success(null); } return Response.success(starPatentVO); } @Operation(summary = "根据专利号查询内部权利要求") @GetMapping("/queryClaimByPatentNo") public Response queryClaimByPatentNo(String patentNo) throws Exception { SelectClaimDTO dto = esService.selectClaim(patentNo); return Response.success(dto); } //------------------------合并----------------------------- @Operation(summary = "专利列表上新增发明人/权利人/申请人合并") @PostMapping("/mergePerson") public Response mergePerson(@RequestBody MergePersonVO personVO) throws Exception { Integer personId = mergePersonService.mergePerson(personVO); return Response.success(personId); } @Operation(summary = "专利列表上编辑发明人/权利人/申请人合并") @PostMapping("/updateMergePerson") public Response updateMergePerson(@RequestBody MergePersonVO personVO) { Integer personId = mergePersonService.updateMergePerson(personVO); return Response.success(personId); } @Operation(summary = "发明人/权利人/申请人合并列表查询") @PostMapping("/selectMergePerson") public Response selectMergePerson(@RequestBody MergePersonQueryVO vo) { Records records = mergePersonService.selectMergePersonList(vo); return Response.success(records); } @Operation(summary = "获取所有发明人/权利人/申请人") @PostMapping("/getMergePerson") public Response getMergePerson(@RequestBody GetAllPersonVO vo) throws Exception { Records records = mergePersonService.getMergePerson(vo); return Response.success(records); } @Operation(summary = "发明人/权利人/申请人合并记录删除") @PostMapping("/delMergePerson") public Response delMergePerson(@RequestBody MergePersonIdVO vo) { Integer id = mergePersonService.delMergePerson(vo); return Response.success(id); } }