diff --git a/virtual-patient-common/src/main/java/com/supervision/config/RequestLogConfig.java b/virtual-patient-common/src/main/java/com/supervision/config/RequestLogConfig.java index ee748bb5..c62a3d2f 100644 --- a/virtual-patient-common/src/main/java/com/supervision/config/RequestLogConfig.java +++ b/virtual-patient-common/src/main/java/com/supervision/config/RequestLogConfig.java @@ -109,6 +109,9 @@ public class RequestLogConfig { private Map buildRequestParam(String[] paramNames, Object[] paramValues) { Map requestParams = new HashMap<>(); + if (paramNames == null){ + return requestParams; + } for (int i = 0; i < paramNames.length; i++) { Object value = paramValues[i]; if (value instanceof ServletRequest || value instanceof ServletResponse) { diff --git a/virtual-patient-manage/src/main/resources/bootstrap-dev.yml b/virtual-patient-manage/src/main/resources/bootstrap-dev.yml index b43e8800..8463777d 100644 --- a/virtual-patient-manage/src/main/resources/bootstrap-dev.yml +++ b/virtual-patient-manage/src/main/resources/bootstrap-dev.yml @@ -2,9 +2,9 @@ spring: cloud: nacos: config: - server-addr: 192.168.10.137:8848 + server-addr: 192.168.10.138:8848 file-extension: yml - namespace: b9eea377-79ec-4ba5-9cc2-354f7bd5181e + namespace: 0a75e42d-26fe-4ee6-a460-f1738845cf4d discovery: - server-addr: 192.168.10.137:8848 - namespace: b9eea377-79ec-4ba5-9cc2-354f7bd5181e + server-addr: 192.168.10.138:8848 + namespace: 0a75e42d-26fe-4ee6-a460-f1738845cf4d diff --git a/virtual-patient-model/src/main/java/com/supervision/model/AiImageInfo.java b/virtual-patient-model/src/main/java/com/supervision/model/AiImageInfo.java new file mode 100644 index 00000000..eb9c50ec --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/model/AiImageInfo.java @@ -0,0 +1,58 @@ +package com.supervision.model; + + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@TableName(value ="vp_ai_image_info",autoResultMap = true) +public class AiImageInfo extends Model implements Serializable { + + /** + * 主键 + */ + @TableId + private String id; + + @Schema(description = "静默视频id") + private String silentVideoId; + + @Schema(description = "动态视频id") + private String dynamicVideoId; + + /** + * 创建人ID + */ + @TableField(fill = FieldFill.INSERT) + private String createUserId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 更新人 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; + +} diff --git a/virtual-patient-model/src/main/java/com/supervision/model/MedicalRec.java b/virtual-patient-model/src/main/java/com/supervision/model/MedicalRec.java index 5ddc1b29..c5fb5fd3 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/MedicalRec.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/MedicalRec.java @@ -95,6 +95,12 @@ public class MedicalRec extends Model implements Serializable { */ private String patientHabitation; + + /** + * ai形象id + */ + private String aiImageId; + /** * 病人ID */ diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/result/DiagnoseProcessResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/result/DiagnoseProcessResVo.java index 5f9eeebe..baa28f9c 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/result/DiagnoseProcessResVo.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/result/DiagnoseProcessResVo.java @@ -35,6 +35,8 @@ public class DiagnoseProcessResVo { @Schema(description = "患者静默视频") private String patientSilentVideo; + @Schema(description = "哑语视频") + private String patientDummyVideo; @Schema(description = "病人id") private String patientId; diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/DiagnoseHallServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/DiagnoseHallServiceImpl.java index e10d2f73..8c78f8a3 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/DiagnoseHallServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/DiagnoseHallServiceImpl.java @@ -59,11 +59,13 @@ public class DiagnoseHallServiceImpl implements DiagnoseHallService { // 3.把疾病名填充到诊断列表中 List medicalRecIds = records.stream().map(DiagnoseProcessResVo::getMedicalRecId).filter(Objects::nonNull).collect(Collectors.toList()); Map askPatientAnswerMap = queryAskPatientSilentVideoAnswer(medicalRecIds); + Map dynamicAskPatientAnswerMap = queryAskPatientDynamicVideoAnswer(medicalRecIds); diagnoseProcessResVoPage.getRecords().forEach(vo->{ List list = diagnosisPrimaryVOsMap.getOrDefault(vo.getProcessId(),new ArrayList<>()); vo.setPrimaryDiseaseNameList(list.stream().map(DiagnosisPrimaryVO::getPrimaryDiseaseName).distinct().collect(Collectors.toList())); vo.setPatientSilentVideo(askPatientAnswerMap.getOrDefault(vo.getMedicalRecId(),new AskPatientAnswer()).getAnswerResourceId()); + vo.setPatientDummyVideo(dynamicAskPatientAnswerMap.getOrDefault(vo.getMedicalRecId(),new AskPatientAnswer()).getAnswerResourceId()); }); @@ -90,7 +92,7 @@ public class DiagnoseHallServiceImpl implements DiagnoseHallService { * @param medicalRecIds * @return */ - Map queryAskPatientSilentVideoAnswer(List medicalRecIds){ + private Map queryAskPatientSilentVideoAnswer(List medicalRecIds){ if (CollUtil.isEmpty(medicalRecIds)){ return new HashMap<>(); @@ -112,4 +114,27 @@ public class DiagnoseHallServiceImpl implements DiagnoseHallService { return askPatientAnswerList.stream().collect(Collectors.toMap(AskPatientAnswer::getMedicalId, o -> o)); } + + private Map queryAskPatientDynamicVideoAnswer(List medicalRecIds){ + + if (CollUtil.isEmpty(medicalRecIds)){ + return new HashMap<>(); + } + + CommonDic one = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "AQT").eq(CommonDic::getCode, "system_dynamic").one(); + Assert.notNull(one,"字典项目未配置"); + + AskTemplateQuestionLibrary silentInfo = askTemplateQuestionLibraryService.lambdaQuery() + .eq(AskTemplateQuestionLibrary::getDictId, one.getId()).eq(AskTemplateQuestionLibrary::getDictId, one.getId()).one(); + Assert.notNull(silentInfo,"静默视频未配置"); + + List askPatientAnswerList = askPatientAnswerService.lambdaQuery() + .in(AskPatientAnswer::getMedicalId, medicalRecIds) + .eq(AskPatientAnswer::getLibraryQuestionId, silentInfo.getId()).list(); + if (CollUtil.isEmpty(askPatientAnswerList)){ + return new HashMap<>(); + } + return askPatientAnswerList.stream().collect(Collectors.toMap(AskPatientAnswer::getMedicalId, o -> o)); + } + }