From 67461c8fdc47805c77ca27f83c2ab65723af37c7 Mon Sep 17 00:00:00 2001 From: liu Date: Tue, 31 Oct 2023 14:34:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/supervision/model/Disease.java | 15 ++-- .../java/com/supervision/model/Patient.java | 12 +++ .../java/com/supervision/model/Process.java | 1 + .../main/resources/mapper/DiseaseMapper.xml | 5 +- .../main/resources/mapper/PatientMapper.xml | 2 + virtual-patient-rasa/pom.xml | 6 +- .../rasa}/VirtualPatientRasaApplication.java | 4 +- .../rasa/config/ThreadPoolExecutorConfig.java | 2 +- .../rasa/controller/RasaCmdController.java | 7 +- .../rasa/controller/RasaFileController.java | 6 +- .../rasa/controller/RasaTalkController.java | 4 +- .../rasa/pojo/dto/RasaReqDTO.java | 2 +- .../rasa/pojo/dto/RasaResDTO.java | 2 +- .../rasa/pojo/vo/RasaArgument.java | 2 +- .../rasa/service/RasaCmdService.java | 4 +- .../rasa/service/RasaFileService.java | 2 +- .../rasa/service/RasaTalkService.java | 2 +- .../rasa/service/impl/RasaCmdServiceImpl.java | 13 +++- .../service/impl/RasaFileServiceImpl.java | 4 +- .../service/impl/RasaTalkServiceImpl.java | 8 +- .../rasa/util/PortUtil.java | 5 +- .../VirtualPatientRasaApplicationTests.java | 2 +- .../controller/TestController.java | 72 ++++++++++++++++-- .../vo/BasisIdentificationResultResVO.java | 9 +++ .../pojo/vo/BasisPrimaryResultResVO.java | 6 +- .../supervision/pojo/vo/DealPlanResVO.java | 10 +++ .../pojo/vo/DiagnosisDiseaseResultNodeVO.java | 2 +- .../pojo/vo/DiagnosisResultResVO.java | 2 +- .../supervision/pojo/vo/FullCheckResVO.java | 2 + .../impl/AskDiagnosisResultServiceImpl.java | 74 +++++++++++++++++-- .../src/main/resources/templates/config.ftl | 28 +++++++ 31 files changed, 250 insertions(+), 65 deletions(-) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion/rasa}/VirtualPatientRasaApplication.java (75%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/config/ThreadPoolExecutorConfig.java (96%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/controller/RasaCmdController.java (92%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/controller/RasaFileController.java (85%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/controller/RasaTalkController.java (88%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/pojo/dto/RasaReqDTO.java (74%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/pojo/dto/RasaResDTO.java (74%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/pojo/vo/RasaArgument.java (89%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/service/RasaCmdService.java (82%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/service/RasaFileService.java (82%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/service/RasaTalkService.java (76%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/service/impl/RasaCmdServiceImpl.java (90%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/service/impl/RasaFileServiceImpl.java (94%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/service/impl/RasaTalkServiceImpl.java (82%) rename virtual-patient-rasa/src/main/java/com/{supervision => superversion}/rasa/util/PortUtil.java (82%) rename virtual-patient-rasa/src/test/java/com/{supervision => superversion}/rasa/VirtualPatientRasaApplicationTests.java (86%) create mode 100644 virtual-patient-web/src/main/resources/templates/config.ftl diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Disease.java b/virtual-patient-model/src/main/java/com/supervision/model/Disease.java index 9dfc2883..5d8c8848 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/Disease.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/Disease.java @@ -25,6 +25,11 @@ public class Disease implements Serializable { @TableId private String id; + /** + * 疾病名称 + */ + private String diseaseName; + /** * 疾病编码 */ @@ -37,11 +42,6 @@ public class Disease implements Serializable { @ApiModelProperty("状态 0未训练 1已训练") private Integer status; - /** - * 预期诊断结果 - */ - @ApiModelProperty("预期诊断结果") - private String expectedDiagnosisResult; /** * 初步诊断依据 @@ -61,11 +61,6 @@ public class Disease implements Serializable { @ApiModelProperty("鉴别依据") private String basisIdentification; - /** - * 治疗计划 - */ - @ApiModelProperty("治疗计划") - private String diseaseTreatmentPlan; /** * 其他 diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Patient.java b/virtual-patient-model/src/main/java/com/supervision/model/Patient.java index 664bed6d..af5d6958 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/Patient.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/Patient.java @@ -71,6 +71,18 @@ public class Patient implements Serializable { @TableField(typeHandler = StringListTypeHandler.class) private List diseaseList; + /** + * 预期诊断结果 + */ + @ApiModelProperty("预期诊断结果") + private String expectedDiagnosisResult; + + /** + * 治疗计划 + */ + @ApiModelProperty("治疗计划") + private String diseaseTreatmentPlan; + /** * 创建人ID */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Process.java b/virtual-patient-model/src/main/java/com/supervision/model/Process.java index 6af534c9..fd6abade 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/Process.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/Process.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.List; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/virtual-patient-model/src/main/resources/mapper/DiseaseMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseaseMapper.xml index b6507731..77952b04 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseaseMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseaseMapper.xml @@ -7,12 +7,11 @@ + - - @@ -21,7 +20,7 @@ - id + id,disease_name ,code,status, expected_diagnosis_result,preliminary_diagnosis,confirming_diagnosis, basis_identification,disease_treatment_plan,other,create_user_id, diff --git a/virtual-patient-model/src/main/resources/mapper/PatientMapper.xml b/virtual-patient-model/src/main/resources/mapper/PatientMapper.xml index 3d1f1cf2..73e3e424 100644 --- a/virtual-patient-model/src/main/resources/mapper/PatientMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/PatientMapper.xml @@ -14,6 +14,8 @@ + + diff --git a/virtual-patient-rasa/pom.xml b/virtual-patient-rasa/pom.xml index 11ef8453..8b290d6d 100644 --- a/virtual-patient-rasa/pom.xml +++ b/virtual-patient-rasa/pom.xml @@ -9,12 +9,12 @@ 1.0-SNAPSHOT - com.superversion virtual-patient-rasa - virtual-patient-rasa - virtual-patient-rasa jar + virtual-patient-rasa + + UTF-8 diff --git a/virtual-patient-rasa/src/main/java/com/supervision/VirtualPatientRasaApplication.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/VirtualPatientRasaApplication.java similarity index 75% rename from virtual-patient-rasa/src/main/java/com/supervision/VirtualPatientRasaApplication.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/VirtualPatientRasaApplication.java index 59d845fb..2b22484c 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/VirtualPatientRasaApplication.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/VirtualPatientRasaApplication.java @@ -1,4 +1,4 @@ -package com.supervision; +package com.superversion.rasa; import com.supervision.config.WebConfig; import org.mybatis.spring.annotation.MapperScan; @@ -9,7 +9,7 @@ import org.springframework.context.annotation.FilterType; @SpringBootApplication @MapperScan(basePackages = {"com.supervision.**.mapper"}) -@ComponentScan(basePackages = {"com.supervision"},excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {WebConfig.class})) +@ComponentScan(basePackages = {"com.superversion"},excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {WebConfig.class})) public class VirtualPatientRasaApplication { public static void main(String[] args) { diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/config/ThreadPoolExecutorConfig.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/config/ThreadPoolExecutorConfig.java similarity index 96% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/config/ThreadPoolExecutorConfig.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/config/ThreadPoolExecutorConfig.java index 953a09ee..1ab09e89 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/config/ThreadPoolExecutorConfig.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/config/ThreadPoolExecutorConfig.java @@ -1,4 +1,4 @@ -package com.supervision.rasa.config; +package com.superversion.rasa.config; import java.util.concurrent.*; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaCmdController.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaCmdController.java similarity index 92% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaCmdController.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaCmdController.java index 3ad2d295..a7938af0 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaCmdController.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaCmdController.java @@ -1,8 +1,8 @@ -package com.supervision.rasa.controller; +package com.superversion.rasa.controller; import cn.hutool.core.util.StrUtil; -import com.supervision.rasa.pojo.vo.RasaArgument; -import com.supervision.rasa.service.RasaCmdService; +import com.superversion.rasa.pojo.vo.RasaArgument; +import com.superversion.rasa.service.RasaCmdService; import com.supervision.exception.BusinessException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.io.*; +import java.net.ServerSocket; import java.util.concurrent.*; @Api(tags = "rasa文件保存") diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaFileController.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaFileController.java similarity index 85% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaFileController.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaFileController.java index eafcf0f3..396fc250 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaFileController.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaFileController.java @@ -1,7 +1,7 @@ -package com.supervision.rasa.controller; +package com.superversion.rasa.controller; -import com.supervision.rasa.service.RasaFileService; +import com.superversion.rasa.service.RasaFileService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -9,7 +9,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.io.IOException; +import java.util.UUID; @Api(tags = "rasa文件保存") @RestController diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaTalkController.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaTalkController.java similarity index 88% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaTalkController.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaTalkController.java index 59f33fef..a24e4ec0 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/controller/RasaTalkController.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaTalkController.java @@ -1,6 +1,6 @@ -package com.supervision.rasa.controller; +package com.superversion.rasa.controller; -import com.supervision.rasa.service.RasaTalkService; +import com.superversion.rasa.service.RasaTalkService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/dto/RasaReqDTO.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/dto/RasaReqDTO.java similarity index 74% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/dto/RasaReqDTO.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/dto/RasaReqDTO.java index 00bb4843..230e90cc 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/dto/RasaReqDTO.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/dto/RasaReqDTO.java @@ -1,4 +1,4 @@ -package com.supervision.rasa.pojo.dto; +package com.superversion.rasa.pojo.dto; import lombok.Data; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/dto/RasaResDTO.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/dto/RasaResDTO.java similarity index 74% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/dto/RasaResDTO.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/dto/RasaResDTO.java index 8fab87d0..1bd8b98f 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/dto/RasaResDTO.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/dto/RasaResDTO.java @@ -1,4 +1,4 @@ -package com.supervision.rasa.pojo.dto; +package com.superversion.rasa.pojo.dto; import lombok.Data; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/vo/RasaArgument.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/vo/RasaArgument.java similarity index 89% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/vo/RasaArgument.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/vo/RasaArgument.java index 504811e2..cbbbf7b4 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/pojo/vo/RasaArgument.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/pojo/vo/RasaArgument.java @@ -1,4 +1,4 @@ -package com.supervision.rasa.pojo.vo; +package com.superversion.rasa.pojo.vo; import lombok.Data; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaCmdService.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaCmdService.java similarity index 82% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaCmdService.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaCmdService.java index 076a228a..4b0473af 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaCmdService.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaCmdService.java @@ -1,6 +1,6 @@ -package com.supervision.rasa.service; +package com.superversion.rasa.service; -import com.supervision.rasa.pojo.vo.RasaArgument; +import com.superversion.rasa.pojo.vo.RasaArgument; import java.io.IOException; import java.util.concurrent.ExecutionException; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaFileService.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaFileService.java similarity index 82% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaFileService.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaFileService.java index 8fd9e934..7fb8eee7 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaFileService.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaFileService.java @@ -1,4 +1,4 @@ -package com.supervision.rasa.service; +package com.superversion.rasa.service; import org.springframework.web.multipart.MultipartFile; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaTalkService.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaTalkService.java similarity index 76% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaTalkService.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaTalkService.java index 2630f7fa..05a5ee0b 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/RasaTalkService.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaTalkService.java @@ -1,4 +1,4 @@ -package com.supervision.rasa.service; +package com.superversion.rasa.service; import java.util.List; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaCmdServiceImpl.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaCmdServiceImpl.java similarity index 90% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaCmdServiceImpl.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaCmdServiceImpl.java index 3dd4c46c..1c4281c3 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaCmdServiceImpl.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaCmdServiceImpl.java @@ -1,15 +1,20 @@ -package com.supervision.rasa.service.impl; +package com.superversion.rasa.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.StrUtil; -import com.supervision.rasa.config.ThreadPoolExecutorConfig; -import com.supervision.rasa.pojo.vo.RasaArgument; -import com.supervision.rasa.service.RasaCmdService; +import com.superversion.rasa.config.ThreadPoolExecutorConfig; +import com.superversion.rasa.pojo.vo.RasaArgument; +import com.superversion.rasa.service.RasaCmdService; +import com.supervision.model.RasaModelInfo; import com.supervision.model.User; +import com.supervision.service.RasaModeService; import com.supervision.service.UserService; +import com.supervision.service.impl.UserServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.omg.CORBA.TRANSACTION_MODE; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaFileServiceImpl.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaFileServiceImpl.java similarity index 94% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaFileServiceImpl.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaFileServiceImpl.java index 6eafab9a..d1927eb3 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaFileServiceImpl.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaFileServiceImpl.java @@ -1,8 +1,8 @@ -package com.supervision.rasa.service.impl; +package com.superversion.rasa.service.impl; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ZipUtil; -import com.supervision.rasa.service.RasaFileService; +import com.superversion.rasa.service.RasaFileService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaTalkServiceImpl.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaTalkServiceImpl.java similarity index 82% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaTalkServiceImpl.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaTalkServiceImpl.java index b8c4624d..a0aca9f9 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/service/impl/RasaTalkServiceImpl.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaTalkServiceImpl.java @@ -1,10 +1,10 @@ -package com.supervision.rasa.service.impl; +package com.superversion.rasa.service.impl; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; -import com.supervision.rasa.pojo.dto.RasaReqDTO; -import com.supervision.rasa.pojo.dto.RasaResDTO; -import com.supervision.rasa.service.RasaTalkService; +import com.superversion.rasa.pojo.dto.RasaReqDTO; +import com.superversion.rasa.pojo.dto.RasaResDTO; +import com.superversion.rasa.service.RasaTalkService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; diff --git a/virtual-patient-rasa/src/main/java/com/supervision/rasa/util/PortUtil.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/util/PortUtil.java similarity index 82% rename from virtual-patient-rasa/src/main/java/com/supervision/rasa/util/PortUtil.java rename to virtual-patient-rasa/src/main/java/com/superversion/rasa/util/PortUtil.java index 8070ccff..fd68f91f 100644 --- a/virtual-patient-rasa/src/main/java/com/supervision/rasa/util/PortUtil.java +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/util/PortUtil.java @@ -1,9 +1,12 @@ -package com.supervision.rasa.util; +package com.superversion.rasa.util; +import jdk.nashorn.internal.runtime.regexp.JoniRegExp; import lombok.extern.slf4j.Slf4j; import java.io.IOException; import java.net.Socket; +import java.util.TreeMap; +import java.util.function.Predicate; @Slf4j public class PortUtil { diff --git a/virtual-patient-rasa/src/test/java/com/supervision/rasa/VirtualPatientRasaApplicationTests.java b/virtual-patient-rasa/src/test/java/com/superversion/rasa/VirtualPatientRasaApplicationTests.java similarity index 86% rename from virtual-patient-rasa/src/test/java/com/supervision/rasa/VirtualPatientRasaApplicationTests.java rename to virtual-patient-rasa/src/test/java/com/superversion/rasa/VirtualPatientRasaApplicationTests.java index a6b4f6f6..f54092c8 100644 --- a/virtual-patient-rasa/src/test/java/com/supervision/rasa/VirtualPatientRasaApplicationTests.java +++ b/virtual-patient-rasa/src/test/java/com/superversion/rasa/VirtualPatientRasaApplicationTests.java @@ -1,4 +1,4 @@ -package com.supervision.rasa; +package com.superversion.rasa; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; diff --git a/virtual-patient-web/src/main/java/com/supervision/controller/TestController.java b/virtual-patient-web/src/main/java/com/supervision/controller/TestController.java index ca8d0f7e..d180d35a 100644 --- a/virtual-patient-web/src/main/java/com/supervision/controller/TestController.java +++ b/virtual-patient-web/src/main/java/com/supervision/controller/TestController.java @@ -1,10 +1,15 @@ package com.supervision.controller; import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.lang.hash.Hash; +import cn.hutool.crypto.digest.MD5; import cn.hutool.extra.pinyin.PinyinUtil; +import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; +import com.supervision.exception.BusinessException; import com.supervision.model.AskDiseaseQuestionAnswer; import com.supervision.model.AskTemplateQuestion; import com.supervision.model.ConfigPhysicalTool; @@ -13,12 +18,9 @@ import com.supervision.service.AskTemplateQuestionService; import com.supervision.service.ConfigPhysicalToolService; import lombok.RequiredArgsConstructor; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; -import java.util.List; +import java.util.*; @RestController @RequestMapping("test") @@ -37,6 +39,64 @@ public class TestController { return configPhysicalToolService.list(); } + /** + * 数字人获取房间号 + * @param key 数字人ID,张总那边提供 + * @param token 前端每打开一个页面,就给一个新的UUID + * @return 房间号 + */ + @GetMapping("queryRoomId") + public String queryRoomId(String key,String token){ + Map param = new HashMap<>(); + param.put("token",token); + param.put("key",key); + String s = HttpUtil.get("https://digital-human.jd.com/getRoomId", param); + JSONObject entries = JSONUtil.parseObj(s); + if (200 != entries.getInt("code")){ + throw new BusinessException(entries.getStr("data")); + } + return entries.getStr("data"); + + } + + /** + * 调用数字人接口进行语音的播放 + * @param text 需要播放的文本 + * @param roomId 房间ID + */ + @GetMapping("shuZiRenSend") + public void shuZiRenSend(String text, String roomId) { + HashMap param = new HashMap<>(); + long timeStamp = System.currentTimeMillis(); + + param.put("text", text); + param.put("roomId", roomId); + param.put("action", "-1"); + param.put("nonce", UUID.randomUUID().toString()); + param.put("timeStamp", String.valueOf(timeStamp)); + param.put("sign", getSign(String.valueOf(timeStamp), + (String) param.get("nonce"), + (String) param.get("text"), + (String) param.get("actionId"), + (String) param.get("roomId"))); + String s = HttpUtil.get("https://digital-human.jd.com/text_driven", param); + System.out.println(s); + } + + private static String getSign(String timeStamp, String nonce, String text, String actionId, String roomId) { + Map paramMap = new TreeMap<>(); + paramMap.put("action", actionId); + paramMap.put("nonce", nonce); + paramMap.put("roomId", roomId); + paramMap.put("text", text); + paramMap.put("timeStamp", timeStamp); + String paramJsonString = JSONUtil.toJsonStr(paramMap); + System.out.println(paramJsonString); + String signServer = new MD5().digestHex16(paramJsonString); + System.out.println("---------> :" + signServer); + return signServer; + } + @PostMapping("saveQuestion") @Transactional(rollbackFor = Exception.class) public void saveQuestion() { @@ -44,10 +104,8 @@ public class TestController { List> read = reader.read(); for (List readLine : read) { String desc = (String) readLine.get(0); - String pinyin = PinyinUtil.getPinyin((String) readLine.get(0), "_"); String question = (String) readLine.get(1); - String answer = (String) readLine.get(2); String otherQuestionStr = (String) readLine.get(3); diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java index 17f0f51b..ab7a19b5 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java @@ -1,9 +1,18 @@ package com.supervision.pojo.vo; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + @Data public class BasisIdentificationResultResVO { + @ApiModelProperty("证实诊断依据") + private String identificationDiagnosis; + + @ApiModelProperty("证实诊断列表") + private List nodeList; + } diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisPrimaryResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisPrimaryResultResVO.java index cc0e4975..e40ffae5 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisPrimaryResultResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisPrimaryResultResVO.java @@ -9,9 +9,9 @@ import java.util.List; public class BasisPrimaryResultResVO { - @ApiModelProperty("初步诊断依据") - private String preliminaryDiagnosis; + @ApiModelProperty("初步诊断依据-每一种病都有一种初步诊断依据-vp_disease疾病表中的preliminary_diagnosis") + private List preliminaryDiagnosis; - @ApiModelProperty("初步诊断依据列表") + @ApiModelProperty("初步诊断依据列表-医生做的某些操作项,require_check=1") private List nodeList; } diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DealPlanResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DealPlanResVO.java index d742be15..1d086c79 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DealPlanResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DealPlanResVO.java @@ -1,7 +1,17 @@ package com.supervision.pojo.vo; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class DealPlanResVO { + + @ApiModelProperty("用户的治疗计划类型(0门诊 1住院)") + private Integer userTreatmentPlanType; + + @ApiModelProperty("用户的治疗计划") + private String userTreatmentPlan; + + @ApiModelProperty("治疗计划") + private String realTreatmentPlan; } diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisDiseaseResultNodeVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisDiseaseResultNodeVO.java index 9bff1424..aacc80e5 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisDiseaseResultNodeVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisDiseaseResultNodeVO.java @@ -15,7 +15,7 @@ public class DiagnosisDiseaseResultNodeVO { private Integer correct; @ApiModelProperty("疾病ID") - private Integer diseaseId; + private String diseaseId; } diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisResultResVO.java index a588d2a3..6d46e89d 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisResultResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisResultResVO.java @@ -20,7 +20,7 @@ public class DiagnosisResultResVO { @ApiModelProperty("鉴别诊断依据") private BasisIdentificationResultResVO basisIdentificationResult; - @ApiModelProperty("全面检查") + @ApiModelProperty("全面检查-(暂无相关数据)") private FullCheckResVO fullCheck; @ApiModelProperty("处置方案") diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FullCheckResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FullCheckResVO.java index 375ebd2a..71c49bbc 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FullCheckResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FullCheckResVO.java @@ -1,4 +1,6 @@ package com.supervision.pojo.vo; public class FullCheckResVO { + + private String desc; } diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java index 21ec3462..f3c62324 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java @@ -1,18 +1,19 @@ package com.supervision.service.impl; -import com.supervision.model.DiagnosisPrimary; -import com.supervision.model.DiagnosisResult; -import com.supervision.pojo.vo.DiagnosisResultResVO; -import com.supervision.pojo.vo.FinishAskReqVO; -import com.supervision.service.AskDiagnosisResultService; -import com.supervision.service.DiagnosisPrimaryService; -import com.supervision.service.DiagnosisResultService; +import com.supervision.exception.BusinessException; +import com.supervision.model.*; +import com.supervision.model.Process; +import com.supervision.pojo.vo.*; +import com.supervision.service.*; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; +import java.util.Set; +import java.util.UUID; import java.util.stream.Collectors; @Service @@ -23,6 +24,12 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService private final DiagnosisPrimaryService diagnosisPrimaryService; + private final ProcessService processService; + + private final PatientService patientService; + + private final DiseaseService diseaseService; + @Override @Transactional(rollbackFor = Exception.class) public void finishAsk(FinishAskReqVO reqVO) { @@ -32,7 +39,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService // 最终诊断结果,从初步诊断中获取 List list = diagnosisPrimaryService.lambdaQuery() .eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId()) - .eq(DiagnosisPrimary::getDeleteFlag,0) + .eq(DiagnosisPrimary::getDeleteFlag, 0) .list(); diagnosisResult.setFinalDiagnosis(list.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toList())); diagnosisResult.setTreatmentPlanType(reqVO.getTreatmentPlanType()); @@ -42,7 +49,58 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService @Override public DiagnosisResultResVO queryDiagnosisResult(String processId) { + // 首先查询到结果 + DiagnosisResult diagnosisResult = diagnosisResultService.lambdaQuery() + .eq(DiagnosisResult::getProcessId, processId).last("limit 1").oneOpt().orElseThrow(() -> new BusinessException("未找到评估结果")); + DiagnosisResultResVO diagnosisResultResVO = new DiagnosisResultResVO(); + diagnosisResultResVO.setId(processId); + Process process = processService.getById(processId); + Patient patient = patientService.getById(process.getPatientId()); + List diseasesList = diseaseService.listByIds(patient.getDiseaseList()); + // 1.生成预期诊断结果 + ExpertDiagnosisResultResVO expertDiagnosisResultResVO = creatExpertDiagnosisResult(diagnosisResult, patient, diseasesList); + diagnosisResultResVO.setExpertDiagnosisResult(expertDiagnosisResultResVO); + // 2.生成初步诊断依据 + BasisPrimaryResultResVO basisPrimaryResultResVO = new BasisPrimaryResultResVO(); + + basisPrimaryResultResVO.setPreliminaryDiagnosis(diseasesList.stream().map(Disease::getPreliminaryDiagnosis).collect(Collectors.toList())); + // 根据record记录寻找符合初步诊断依据的项目 +// basisPrimaryResultResVO.setNodeList(); +// +// +// diagnosisResultResVO.setBasisPrimaryResultResVO(); +// diagnosisResultResVO.setBasisConfirmResultResVO(); +// diagnosisResultResVO.setBasisIdentificationResult(); +// diagnosisResultResVO.setFullCheck(); +// diagnosisResultResVO.setDealPlan(); + return null; } + + + private ExpertDiagnosisResultResVO creatExpertDiagnosisResult(DiagnosisResult diagnosisResult, Patient patient, List diseasesList) { + ExpertDiagnosisResultResVO expertDiagnosisResultResVO = new ExpertDiagnosisResultResVO(); + expertDiagnosisResultResVO.setDiagnosis(patient.getExpectedDiagnosisResult()); + Set expertDiseaseIdSet = diseasesList.stream().map(Disease::getId).collect(Collectors.toSet()); + List userDiagnosisDiseaseList = diseaseService.listByIds(diagnosisResult.getFinalDiagnosis()); + // 用户的诊断 + expertDiagnosisResultResVO.setUserDiagnosisResult(userDiagnosisDiseaseList.stream().map(e -> { + DiagnosisDiseaseResultNodeVO userNode = new DiagnosisDiseaseResultNodeVO(); + userNode.setDiseaseName(e.getDiseaseName()); + // 如果用户诊断在预期诊断里面,则正确,否则错误 + userNode.setCorrect(expertDiseaseIdSet.contains(e.getId()) ? 1 : 0); + userNode.setDiseaseId(e.getId()); + return userNode; + }).collect(Collectors.toList())); + + // 预期诊断 + expertDiagnosisResultResVO.setExpertDiagnosisResult(diseasesList.stream().map(e -> { + DiagnosisDiseaseResultNodeVO node = new DiagnosisDiseaseResultNodeVO(); + node.setDiseaseName(e.getDiseaseName()); + node.setDiseaseId(e.getId()); + return node; + }).collect(Collectors.toList())); + return expertDiagnosisResultResVO; + } } diff --git a/virtual-patient-web/src/main/resources/templates/config.ftl b/virtual-patient-web/src/main/resources/templates/config.ftl new file mode 100644 index 00000000..d87a0641 --- /dev/null +++ b/virtual-patient-web/src/main/resources/templates/config.ftl @@ -0,0 +1,28 @@ +recipe: default.v1 +language: zh + +pipeline: + - name: JiebaTokenizer + - name: LanguageModelFeaturizer + model_name: bert + model_weights: bert-base-chinese + - name: RegexFeaturizer + - name: DIETClassifier + epochs: 100 + learning_rate: 0.001 + tensorboard_log_directory: ./log + - name: ResponseSelector + epochs: 100 + learning_rate: 0.001 + - name: FallbackClassifier + threshold: 0.87 + ambiguity_threshold: 0.1 + - name: EntitySynonymMapper + +policies: + - name: MemoizationPolicy + - name: TEDPolicy + - name: RulePolicy + core_fallback_threshold: 0.87 + core_fallback_action_name: "action_default_fallback" + enable_fallback_prediction: True