From 4a9675b9734c58f6e5b6bac6bfe6bfd3bb159cf2 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 27 Mar 2025 20:37:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../medical/MedicalSummaryController.java | 72 +++++++++++++++++++ .../api/resp/medical/MedicalSummaryResp.java | 20 ++++++ 2 files changed, 92 insertions(+) create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSummaryController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSummaryResp.java diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSummaryController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSummaryController.java new file mode 100644 index 0000000..34b0b3a --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSummaryController.java @@ -0,0 +1,72 @@ +package com.heyu.api.controller.medical; + + +import com.heyu.api.baidu.handle.medical.BMedicalSummaryHandle; +import com.heyu.api.baidu.request.medical.BMedicalSummaryRequest; +import com.heyu.api.baidu.response.medical.BMedicalSummaryResp; +import com.heyu.api.controller.BaseController; +import com.heyu.api.data.annotation.CacheResult; +import com.heyu.api.data.annotation.NotIntercept; +import com.heyu.api.data.utils.ApiR; +import com.heyu.api.data.utils.R; +import com.heyu.api.resp.medical.MedicalSummaryResp; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + + +/*** + * + * https://console.bce.baidu.com/support/?_=1740575657628×tamp=1740581767882#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8C%BB%E7%96%97%E7%A5%A8%E6%8D%AEOCR&api=rest%2F2.0%2Focr%2Fv1%2Fmedical_summary&method=post + * + * + *出院小结识别 + *接口描述 + * 支持识别全国各地各医院诊断证明的姓名、性别、年龄、科室、入院时间、出院时间、住院号、出院诊断、出院医嘱 9个关键字段。 + * + * + * + */ +@Slf4j +@RestController +@RequestMapping("/medical") +@NotIntercept +public class MedicalSummaryController extends BaseController { + + @Autowired + private BMedicalSummaryHandle bMedicalSummaryHandle; + + + @RequestMapping("/summary") + @CacheResult + public R statement(BMedicalSummaryRequest req) { + List respList = new ArrayList<>(); + + ApiR bR = bMedicalSummaryHandle.handle(req); + if (bR.isSuccess()) { + BMedicalSummaryResp bMedicalSummaryResp = bR.getData(); + List wordsResultDTOS = bMedicalSummaryResp.getWordsResult(); + + if(CollectionUtils.isNotEmpty(wordsResultDTOS)){ + for (BMedicalSummaryResp.WordsResultDTO wordsResultDTO : wordsResultDTOS) { + + MedicalSummaryResp medicalSummaryResp = new MedicalSummaryResp(); + medicalSummaryResp.setWordName(wordsResultDTO.getWordName()); + medicalSummaryResp.setWord(wordsResultDTO.getWord()); + respList.add(medicalSummaryResp); + } + + } + return R.ok().setData(respList); + } + return R.error(bR.getErrorMsg()); + + } + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSummaryResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSummaryResp.java new file mode 100644 index 0000000..14fa652 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSummaryResp.java @@ -0,0 +1,20 @@ +package com.heyu.api.resp.medical; + +import com.heyu.api.data.dto.BaseResp; +import lombok.Data; + +@Data +public class MedicalSummaryResp extends BaseResp { + + /*** + * 字段名,包括:姓名、性别、年龄、科室、入院时间、出院时间、住院号、出院诊断、出院医嘱 + */ + private String wordName; + + /*** + * word_name字段对应的识别结果 + */ + private String word; + + +}