package cn.cslg.pas.controller.outApi; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.PatentColumnDTO; import cn.cslg.pas.common.dto.PatentStarListDTO; import cn.cslg.pas.common.dto.business.SelectClaimDTO; import cn.cslg.pas.common.model.cronModel.Records; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.common.vo.QueryExternalFamilyVO; import cn.cslg.pas.common.vo.business.PatentNoVO; import cn.cslg.pas.service.common.PatentStarApiService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.util.List; import java.util.Map; @Tag(name = "专利之星接口服务类") @RestController @RequestMapping(Constants.API_XiaoSHI + "/patentStar") @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class PatentStarController { private final PatentStarApiService patentStarApiService; @PostMapping("/select") @Operation(summary = "一般检索接口") public Response select(@RequestBody PatentStarListDTO patentStarListDto) throws IOException { Records records = patentStarApiService.patentStarSearchLocal(patentStarListDto); return Response.success(records); } @GetMapping("/getCnBib") @Operation(summary = "获得中国专利著录") public String getCnBib(String appNo) { return patentStarApiService.getCnBibApi(appNo); } @GetMapping("/getPicture") @Operation(summary = "获得中国专利摘要附图") public String getPicture(String appNo) { return patentStarApiService.getPictureApi(appNo); } @GetMapping("/getWGPicture") @Operation(summary = "获得中国专利外观图") public String getWGPicture(String appNo) throws IOException { return patentStarApiService.getWGPictureApi(appNo); } @GetMapping("/getCnLegal") @Operation(summary = "获得中国专利法律状态") public String getCnLegal(String appNo) { return patentStarApiService.getCnLegalApi(appNo); } @GetMapping("/getCnPdf") @Operation(summary = "获得中国专利pdf全文") public String getCnPdf(String appNo) throws IOException { String picUrl = patentStarApiService.getCnPdfApi(appNo); return picUrl; } @GetMapping("/getCnFullXml") @Operation(summary = "获得中国专利全文文本") public String getCnFullXml(String appNo) throws IOException { return patentStarApiService.getCnFullXmlApi(appNo); } @GetMapping("/getEnPdf") @Operation(summary = "获得世界专利pdf") public String getEnPdf(String patentNo) throws IOException { return patentStarApiService.getEnPdfApi(patentNo); } @GetMapping("/getENBib") @Operation(summary = "获得世界专利著录信息") public String getENBib(String patentNo) throws IOException { String result = patentStarApiService.getENBibApi(patentNo); return result; } @GetMapping("/getFamilyByPubNo") @Operation(summary = "获得同族专利") public String getFamilyByPubNo(String patentNo) { return patentStarApiService.getFamilyByPubNoApi(patentNo); } @GetMapping("/getCitedNumByPubNo") @Operation(summary = "获得被引用次数") public String getCitedNumByPubNo(String patentNo) throws IOException { return patentStarApiService.getCitedNumByPubNoApi(patentNo); } @Operation(summary = "根据专利号查询外部权利要求") @PostMapping("/queryExternalClaim") public Response queryExternalClaim(@RequestBody QueryExternalFamilyVO vo) throws Exception { SelectClaimDTO dto = patentStarApiService.selectClaim(vo); return Response.success(dto); } @Operation(summary = "查询外部专利详情") @PostMapping("/queryExternalDetail") public Response queryExternalDetail(@RequestBody QueryExternalFamilyVO vo) throws Exception { PatentColumnDTO dto = patentStarApiService.queryExternalDetail(vo); return Response.success(dto); } @Operation(summary = "查询外部专利同族专利") @PostMapping("/queryExternalFamily") public Response queryExternalFamily(@RequestBody QueryExternalFamilyVO vo) throws IOException { Records records = patentStarApiService.queryExternalFamily(vo); return Response.success(records); } }