From 2c1384ba2ad9fa70c35bf67eb8a5b46f7e59bfce Mon Sep 17 00:00:00 2001
From: longbao <1923439579@qq.com>
Date: Wed, 6 Nov 2024 20:06:46 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=B5=81=E7=A8=8B=E8=87=AA=E5=8A=A8?=
 =?UTF-8?q?=E5=8C=96=E3=80=91=201.=E4=BC=98=E5=8C=96=E6=95=B0=E5=AD=97?=
 =?UTF-8?q?=E4=BA=BA=E6=B5=81=E7=A8=8B=202.=E5=A2=9E=E5=8A=A0=E9=BB=98?=
 =?UTF-8?q?=E8=AE=A4=E9=97=AE=E9=A2=98=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?=
 =?UTF-8?q?=E7=AD=89=E5=9B=9E=E5=A4=8D=203.=E4=BF=AE=E6=94=B9=E5=89=8D?=
 =?UTF-8?q?=E5=8F=B0=E6=9C=AA=E7=94=9F=E6=88=90=E6=88=90=E6=95=B0=E5=AD=97?=
 =?UTF-8?q?=E4=BA=BA=E6=97=B6=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../manage/dto/HumanGenerateDTO.java          |   2 +
 ...plateQuestionLibraryManageServiceImpl.java |  13 +-
 .../service/impl/FileManageServiceImpl.java   |   5 +-
 .../service/impl/HumanManageServiceImpl.java  | 138 ++++++++++++------
 .../supervision/dto/ClinicalInterviewDTO.java |   4 +-
 .../AskTemplateQuestionLibraryMapper.java     |   2 +-
 .../AskTemplateQuestionSimilarityMapper.java  |   6 +-
 .../AskTemplateQuestionSimilarityService.java |   7 +-
 ...TemplateQuestionSimilarityServiceImpl.java |   8 +-
 .../mapper/AskPatientAnswerMapper.xml         |   6 +-
 .../AskTemplateQuestionLibraryMapper.xml      |  20 +--
 .../AskTemplateQuestionSimilarityMapper.xml   |  27 ++--
 12 files changed, 139 insertions(+), 99 deletions(-)

diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/dto/HumanGenerateDTO.java b/virtual-patient-manage/src/main/java/com/supervision/manage/dto/HumanGenerateDTO.java
index 8971d0c7..ecede401 100644
--- a/virtual-patient-manage/src/main/java/com/supervision/manage/dto/HumanGenerateDTO.java
+++ b/virtual-patient-manage/src/main/java/com/supervision/manage/dto/HumanGenerateDTO.java
@@ -9,6 +9,8 @@ public class HumanGenerateDTO {
 
     private String message;
 
+    private String status;
+
     private String uid;
 
     private String video;
diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskTemplateQuestionLibraryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskTemplateQuestionLibraryManageServiceImpl.java
index 8f81e08b..61b32ed8 100644
--- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskTemplateQuestionLibraryManageServiceImpl.java
+++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskTemplateQuestionLibraryManageServiceImpl.java
@@ -35,10 +35,6 @@ import java.util.Objects;
 public class AskTemplateQuestionLibraryManageServiceImpl extends ServiceImpl<AskTemplateQuestionLibraryMapper, AskTemplateQuestionLibrary>
         implements AskTemplateQuestionLibraryManageService {
 
-    private final ConfigPhysicalToolService configPhysicalToolService;
-
-    private final ConfigAncillaryItemService configAncillaryItemService;
-
     private final AskTemplateQuestionSimilarityService askTemplateQuestionSimilarityService;
 
     @Autowired
@@ -47,6 +43,8 @@ public class AskTemplateQuestionLibraryManageServiceImpl extends ServiceImpl<Ask
     private QaKnowledgeManageService qaKnowledgeService;
     @Autowired
     private MedicalRecService medicalRecService;
+    @Autowired
+    private AskTemplateQuestionLibraryMapper askTemplateQuestionLibraryMapper;
 
 
     @Override
@@ -96,7 +94,7 @@ public class AskTemplateQuestionLibraryManageServiceImpl extends ServiceImpl<Ask
             MedicalRecQaVO medicalRecQaVO = new MedicalRecQaVO();
 
             if (StringUtils.isNotEmpty(questionIntentRecognition)) {
-                String libraryId = queryByName(questionIntentRecognition);
+                String libraryId = queryByName(consultationII);
                 // 病历问题
                 medicalRecQaVO.setMedicalRecAnswer(patientResponseRequired);
                 // 标准问题是否存在
@@ -105,7 +103,7 @@ public class AskTemplateQuestionLibraryManageServiceImpl extends ServiceImpl<Ask
                     List<String> askTemplateQuestionSimilarities = askTemplateQuestionSimilarityService.queryAskTemplateQuestionSimilarityByLibraryId(libraryId);
                     medicalRecQaVO.setQuestionList(askTemplateQuestionSimilarities);
 
-                    AskTemplateQuestionSimilarity askTemplateQuestionSimilarity = askTemplateQuestionSimilarityService.querySimilarityQuestionByNameZhAndSimilarityQuestion(consultationII, questionIntentRecognition);
+                    AskTemplateQuestionSimilarity askTemplateQuestionSimilarity = askTemplateQuestionSimilarityService.querySimilarityQuestion(libraryId, questionIntentRecognition);
                     if (null == askTemplateQuestionSimilarity) {
                         AskTemplateQuestionSimilarity similarity = new AskTemplateQuestionSimilarity();
                         similarity.setSimilarityQuestion(questionIntentRecognition);
@@ -126,11 +124,10 @@ public class AskTemplateQuestionLibraryManageServiceImpl extends ServiceImpl<Ask
                     askTemplateQuestionLibrary.setStandardQuestion(questionIntentRecognition);
                     save(askTemplateQuestionLibrary);
                     qaKnowledgeService.saveOrUpdateQuestionLibrary(CollUtil.newArrayList(askTemplateQuestionLibrary.getId()));
-
                     medicalRecQaVO.setLibraryQuestionId(askTemplateQuestionLibrary.getId());
                 }
+                medicalRecQaVOList.add(medicalRecQaVO);
             }
-            medicalRecQaVOList.add(medicalRecQaVO);
         }
 
         // 3.保存闻讯问题和系统默认问题
diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java
index f0a1cb3b..476ccfcb 100644
--- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java
+++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java
@@ -14,6 +14,7 @@ import jakarta.servlet.ServletOutputStream;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -108,7 +109,7 @@ public class FileManageServiceImpl implements FileManageService {
         Assert.notEmpty(fileId, "fileId不能为空");
 
         FileResource fileResource = fileResourceService.getById(fileId);
-        Assert.notNull(fileResource, "文件不存在");
+        Assert.notNull(fileResource, "请在后台生成数字人后再进行问答");
         String prefix = null;
         String suffix = null;
         if (StrUtil.isNotEmpty(fileResource.getFileName())) {
@@ -155,7 +156,7 @@ public class FileManageServiceImpl implements FileManageService {
 
     @Override
     public String loadFileBase64(String fileId) throws Exception {
-        Assert.isTrue(StrUtil.isEmpty(fileId),"请在后台生成数字人后再进行问答");
+        Assert.isTrue(StringUtils.isNotEmpty(fileId), "请在后台生成数字人后再进行问答");
         File file = downloadFile(fileId);
 
         return Base64.encode(new FileInputStream(file));
diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/HumanManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/HumanManageServiceImpl.java
index 687ccf0c..2a36b692 100644
--- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/HumanManageServiceImpl.java
+++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/HumanManageServiceImpl.java
@@ -19,6 +19,7 @@ import com.supervision.model.MedicalRec;
 import com.supervision.service.AskPatientAnswerService;
 import com.supervision.service.HumanService;
 import com.supervision.service.MedicalRecService;
+import com.supervision.util.OkHttpUtils;
 import com.supervision.util.UserUtil;
 import com.supervision.vo.manage.HumanReqVo;
 import lombok.RequiredArgsConstructor;
@@ -30,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.LinkedBlockingQueue;
@@ -62,6 +64,8 @@ public class HumanManageServiceImpl implements HumanManageService {
     private String silent;
     @Value("${humanGenerate.dynamic}")
     private String dynamic;
+    @Value("${humanGenerate.status}")
+    private String status;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -162,24 +166,40 @@ public class HumanManageServiceImpl implements HumanManageService {
             }
             // 保存静态视频
             if (silentDTO.getCode() == 200) {
-                if (StrUtil.isNotBlank(silentDTO.getVideo())) {
-                    // 如果已经生成了视频,那么直接拿到这个视频
-                    FileResource fileResource = convertBase64ToFile("silent", FileUtil.getName(imageFile), silentDTO.getVideo());
-                    human.setSilentVideoFileId(fileResource.getId());
-                    human.setImageName(fileResource.getFileName());
-
-                    // 诊断闻讯绑定静态视频
-                    AskPatientAnswer askPatientAnswer = askPatientAnswerService.queryAnswerIdByMedicalId(medicalId, "静态视频");
-                    AskPatientAnswer patientAnswer = new AskPatientAnswer();
-                    patientAnswer.setId(askPatientAnswer.getId());
-                    patientAnswer.setAnswerResourceId(fileResource.getId());
-                    askPatientAnswerService.updateById(patientAnswer);
-                    // 完成
-                    MedicalRec medicalRec1 = new MedicalRec();
-                    medicalRec1.setMedicalStatus(EnumMedicalRec.ESTABLISHED_RECORD.getCode());
-                    medicalRec1.setId(medicalId);
-                    medicalRecService.updateById(medicalRec1);
-                }
+                HumanGenerateDTO silentDTOGet;
+                String silentDTOGetStatus = "";
+                do {
+                    String post = HttpUtil.get(humanBaseUrl + status + "/" + silentDTO.getUid());
+                    silentDTOGet = JSONUtil.toBean(post, HumanGenerateDTO.class);
+                    silentDTOGetStatus = silentDTOGet.getStatus();
+                } while (!silentDTOGetStatus.equals("completed"));
+
+                FileResource fileResource = convertBase64ToFile("silent", FileUtil.getName(imageFile), silentDTOGet.getVideo());
+                human.setSilentVideoFileId(fileResource.getId());
+                human.setImageName(fileResource.getFileName());
+
+                List<AskPatientAnswer> askPatientAnswerList = new ArrayList<>();
+                // 诊断闻讯绑定静态视频
+                AskPatientAnswer askPatientAnswer = askPatientAnswerService.queryAnswerIdByMedicalId(medicalId, "\"静默视频\"");
+                AskPatientAnswer patientAnswer = new AskPatientAnswer();
+                patientAnswer.setId(askPatientAnswer.getId());
+                patientAnswer.setAnswerResourceId(fileResource.getId());
+                askPatientAnswerList.add(patientAnswer);
+
+                // 默认回复
+                AskPatientAnswer askPatientAnswerMoRen = askPatientAnswerService.queryAnswerIdByMedicalId(medicalId, "\"默认回复\"");
+                AskPatientAnswer patientAnswerMoRen = new AskPatientAnswer();
+                patientAnswerMoRen.setId(askPatientAnswerMoRen.getId());
+                patientAnswerMoRen.setAnswer("默认回复");
+                askPatientAnswerList.add(patientAnswerMoRen);
+
+                askPatientAnswerService.updateBatchById(askPatientAnswerList);
+
+                // 完成
+                MedicalRec medicalRec1 = new MedicalRec();
+                medicalRec1.setMedicalStatus(EnumMedicalRec.ESTABLISHED_RECORD.getCode());
+                medicalRec1.setId(medicalId);
+                medicalRecService.updateById(medicalRec1);
                 human.setSilentTaskUid(silentDTO.getUid());
 
             }
@@ -200,25 +220,48 @@ public class HumanManageServiceImpl implements HumanManageService {
 
 
             if (dynamicDTO.getCode() == 200) {
-                if (StrUtil.isNotBlank(dynamicDTO.getVideo())) {
-                    // 如果已经生成了视频,那么直接拿到这个视频
-                    FileResource fileResource = convertBase64ToFile("dynamic", FileUtil.getName(imageFile), dynamicDTO.getVideo());
-                    human.setDynamicVideoFileId(fileResource.getId());
-                    human.setImageName(fileResource.getFileName());
-
-                    // 诊断闻讯绑定动态视频
-                    AskPatientAnswer askPatientAnswer = askPatientAnswerService.queryAnswerIdByMedicalId(medicalId, "动态视频");
-                    AskPatientAnswer patientAnswer = new AskPatientAnswer();
-                    patientAnswer.setId(askPatientAnswer.getId());
-                    patientAnswer.setAnswerResourceId(fileResource.getId());
-                    askPatientAnswerService.updateById(patientAnswer);
-
-                    // 完成
-                    MedicalRec medicalRec1 = new MedicalRec();
-                    medicalRec1.setMedicalStatus(EnumMedicalRec.COMPLETE.getCode());
-                    medicalRec1.setId(medicalId);
-                    medicalRecService.updateById(medicalRec1);
-                }
+
+                HumanGenerateDTO dynamicDTOGet;
+                String dynamicDTOGetStatus = "";
+                do {
+                    String post = HttpUtil.get(humanBaseUrl + status + "/" + dynamicDTO.getUid());
+                    dynamicDTOGet = JSONUtil.toBean(post, HumanGenerateDTO.class);
+                    dynamicDTOGetStatus = dynamicDTOGet.getStatus();
+                } while (!dynamicDTOGetStatus.equals("completed"));
+
+
+                // 如果已经生成了视频,那么直接拿到这个视频
+                FileResource fileResource = convertBase64ToFile("dynamic", FileUtil.getName(imageFile), dynamicDTOGet.getVideo());
+                human.setDynamicVideoFileId(fileResource.getId());
+                human.setImageName(fileResource.getFileName());
+
+                // 诊断闻讯绑定动态视频
+                List<AskPatientAnswer> askPatientAnswerList = new ArrayList<>();
+                AskPatientAnswer askPatientAnswerDynamic = askPatientAnswerService.queryAnswerIdByMedicalId(medicalId, "\"动态视频\"");
+                AskPatientAnswer patientAnswerDynamic = new AskPatientAnswer();
+                patientAnswerDynamic.setId(askPatientAnswerDynamic.getId());
+                patientAnswerDynamic.setAnswerResourceId(fileResource.getId());
+                askPatientAnswerList.add(patientAnswerDynamic);
+                // 你好
+                AskPatientAnswer askPatientAnswerHallo = askPatientAnswerService.queryAnswerIdByMedicalId(medicalId, "\"你好\"");
+                AskPatientAnswer patientAnswerHallo = new AskPatientAnswer();
+                patientAnswerHallo.setId(askPatientAnswerHallo.getId());
+                patientAnswerHallo.setAnswer("你好");
+                askPatientAnswerList.add(patientAnswerHallo);
+                // 异常
+                AskPatientAnswer askPatientAnswerError = askPatientAnswerService.queryAnswerIdByMedicalId(medicalId, "\"错误\"");
+                AskPatientAnswer patientAnswerError = new AskPatientAnswer();
+                patientAnswerError.setId(askPatientAnswerError.getId());
+                patientAnswerError.setAnswer("异常");
+                askPatientAnswerList.add(patientAnswerError);
+
+                askPatientAnswerService.updateBatchById(askPatientAnswerList);
+
+                // 完成
+                MedicalRec medicalRec1 = new MedicalRec();
+                medicalRec1.setMedicalStatus(EnumMedicalRec.COMPLETE.getCode());
+                medicalRec1.setId(medicalId);
+                medicalRecService.updateById(medicalRec1);
                 human.setDynamicTaskUid(dynamicDTO.getUid());
             }
         }
@@ -238,14 +281,13 @@ public class HumanManageServiceImpl implements HumanManageService {
 
     @SneakyThrows
     @Override
-    @Transactional
     public boolean createHuman(MultipartFile imageFile, String medicalId) {
         // 查询病例状态
         MedicalRec medicalRec = medicalRecService.lambdaQuery()
                 .eq(MedicalRec::getMedicalStatus, EnumMedicalRec.DIGITAL_HUMAN_CREATED.getCode())
                 .eq(MedicalRec::getId, medicalId)
                 .one();
-        Assert.isTrue(null == medicalRec, "请先导入病例后再操作");
+        Assert.isTrue(null != medicalRec, "请先导入病例后再操作");
 
         // 上传图片
         FileResource fileResource = fileManageService.uploadFile(imageFile, imageFile.getContentType());
@@ -258,22 +300,24 @@ public class HumanManageServiceImpl implements HumanManageService {
         human.setUpdateUserId(UserUtil.getUser().getId());
         humanService.save(human);
 
+        // 绑定病例
+        MedicalRec medicalRec1 = new MedicalRec();
+        medicalRec1.setMedicalStatus(EnumMedicalRec.ESTABLISHED_RECORD.getCode());
+        medicalRec1.setHumanId(human.getId());
+        medicalRec1.setId(medicalId);
+        medicalRecService.updateById(medicalRec1);
+
+        Human one = humanService.lambdaQuery().eq(Human::getId, human.getId()).one();
+
         // 异步调用生成数字人
         humanExecutor.submit(() -> {
             try {
-                generateHuman(human.getId(), medicalId);
+                generateHuman(one.getId(), medicalId);
             } catch (Exception e) {
                 log.error("createHuman:生成数字人异常", e);
                 throw new BusinessException("生成数字人异常");
             }
         });
-
-        // 绑定病例
-        MedicalRec medicalRec1 = new MedicalRec();
-        medicalRec1.setMedicalStatus(EnumMedicalRec.ESTABLISHED_RECORD.getCode());
-        medicalRec1.setHumanId(human.getId());
-        medicalRec1.setId(medicalId);
-        medicalRecService.updateById(medicalRec1);
         return true;
     }
 }
diff --git a/virtual-patient-model/src/main/java/com/supervision/dto/ClinicalInterviewDTO.java b/virtual-patient-model/src/main/java/com/supervision/dto/ClinicalInterviewDTO.java
index cc8c7b08..b13e4901 100644
--- a/virtual-patient-model/src/main/java/com/supervision/dto/ClinicalInterviewDTO.java
+++ b/virtual-patient-model/src/main/java/com/supervision/dto/ClinicalInterviewDTO.java
@@ -24,10 +24,10 @@ public class ClinicalInterviewDTO {
     @Alias(value = "问诊Ⅱ")
     private String ConsultationII;
 
-    @Alias(value = "问题")
+    @Alias(value = "*问题(可不选择具体问题,根据问诊类目系统识别问诊意图)")
     private String QuestionIntentRecognition;
 
-    @Alias(value = "患者回复")
+    @Alias(value = "患者回复(必填-模拟专业度较高问诊场景需要 获取有效的问诊回复)")
     private String PatientResponseRequired;
 
 }
diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionLibraryMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionLibraryMapper.java
index 17ef55d6..e7fa84a1 100644
--- a/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionLibraryMapper.java
+++ b/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionLibraryMapper.java
@@ -25,7 +25,7 @@ public interface AskTemplateQuestionLibraryMapper extends BaseMapper<AskTemplate
                                                 @Param("askQuestionLibrary") AskQuestionLibraryReqVo askQuestionLibrary);
 
 
-    String queryByName(@Param("askQuestionLibrary") String nameZh);
+    String queryByName(String nameZh);
 
 }
 
diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionSimilarityMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionSimilarityMapper.java
index 12728109..920ec32d 100644
--- a/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionSimilarityMapper.java
+++ b/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionSimilarityMapper.java
@@ -16,11 +16,11 @@ public interface AskTemplateQuestionSimilarityMapper extends BaseMapper<AskTempl
 
     /**
      * 查询相似问题
-     * @param nameZh
-     * @param similarityQuestion
+     * @param libraryId
+     * @param questionIntentRecognitionon
      * @return
      */
-    public AskTemplateQuestionSimilarity querySimilarityQuestionByNameZhAndSimilarityQuestion(String nameZh, String similarityQuestion);
+    public AskTemplateQuestionSimilarity querySimilarityQuestion(String libraryId, String questionIntentRecognitionon);
 
     /**
      * 查询相似问题
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionSimilarityService.java b/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionSimilarityService.java
index 763b4841..f7cce371 100644
--- a/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionSimilarityService.java
+++ b/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionSimilarityService.java
@@ -4,6 +4,7 @@ import com.supervision.dto.ClinicalInterviewDTO;
 import com.supervision.model.AskTemplateQuestionLibrary;
 import com.supervision.model.AskTemplateQuestionSimilarity;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -34,11 +35,11 @@ public interface AskTemplateQuestionSimilarityService extends IService<AskTempla
 
     /**
      * 查询相似问题
-     * @param nameZh 中文名
-     * @param similarityQuestion 相似问题
+     * @param libraryId
+     * @param questionIntentRecognition 相似问题
      * @return
      */
-    AskTemplateQuestionSimilarity querySimilarityQuestionByNameZhAndSimilarityQuestion(String nameZh, String similarityQuestion);
+    AskTemplateQuestionSimilarity querySimilarityQuestion(@Param("libraryId") String libraryId, @Param("questionIntentRecognition") String questionIntentRecognition);
 
 
     /**
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionSimilarityServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionSimilarityServiceImpl.java
index 541c7cc5..2a8b0b28 100644
--- a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionSimilarityServiceImpl.java
+++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionSimilarityServiceImpl.java
@@ -54,13 +54,13 @@ public class AskTemplateQuestionSimilarityServiceImpl extends ServiceImpl<AskTem
     /**
      * 查询相似问题
      *
-     * @param nameZh             中文名
-     * @param similarityQuestion 相似问题
+     * @param libraryId
+     * @param questionIntentRecognition 相似问题
      * @return
      */
     @Override
-    public AskTemplateQuestionSimilarity querySimilarityQuestionByNameZhAndSimilarityQuestion(String nameZh, String similarityQuestion) {
-        return this.baseMapper.querySimilarityQuestionByNameZhAndSimilarityQuestion(nameZh, similarityQuestion);
+    public AskTemplateQuestionSimilarity querySimilarityQuestion(String libraryId, String questionIntentRecognition) {
+        return this.baseMapper.querySimilarityQuestion(libraryId, questionIntentRecognition);
     }
 
 
diff --git a/virtual-patient-model/src/main/resources/mapper/AskPatientAnswerMapper.xml b/virtual-patient-model/src/main/resources/mapper/AskPatientAnswerMapper.xml
index 4ee81587..f30b204f 100644
--- a/virtual-patient-model/src/main/resources/mapper/AskPatientAnswerMapper.xml
+++ b/virtual-patient-model/src/main/resources/mapper/AskPatientAnswerMapper.xml
@@ -36,10 +36,10 @@
                             where dict_id in
                                   (select id
                                    from vp_common_dic
-                                   where code in ('system_silent', 'system_dynamic'))) ql
+                                   where code in ('system_error','system_hello','system_default','system_silent', 'system_dynamic'))) ql
                            on apa.library_question_id = ql.id
-        where medical_id = #{medicalId}
-          and ql.question = '["' + #{vidioType} + '"]'
+        where medical_id = #{arg0}
+          and JSON_CONTAINS(ql.question, #{arg1})
         order by apa.medical_id
     </select>
 </mapper>
diff --git a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml
index 528a46e1..a7cb54a0 100644
--- a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml
+++ b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml
@@ -23,12 +23,12 @@
 
 
     <resultMap id="askQuestionLibraryResultMap" type="com.supervision.vo.manage.AskQuestionLibraryResVo">
-        <id property="id" column="id" />
-        <result property="code" column="code" />
-        <result property="code" column="code" />
-        <result property="dictId" column="dictId" />
-        <result property="libraryQuestionId" column="libraryQuestionId" />
-        <result property="nameZhPath" column="nameZhPath" />
+        <id property="id" column="id"/>
+        <result property="code" column="code"/>
+        <result property="code" column="code"/>
+        <result property="dictId" column="dictId"/>
+        <result property="libraryQuestionId" column="libraryQuestionId"/>
+        <result property="nameZhPath" column="nameZhPath"/>
     </resultMap>
 
 
@@ -51,7 +51,7 @@
                 and cd.code = #{askQuestionLibrary.code}
             </if>
             <if test="askQuestionLibrary.description != null and askQuestionLibrary.description !=  '' ">
-                and atql.standard_question  like CONCAT('%', #{askQuestionLibrary.description}, '%')
+                and atql.standard_question like CONCAT('%', #{askQuestionLibrary.description}, '%')
             </if>
             <if test="askQuestionLibrary.dictId != null and askQuestionLibrary.dictId !=  '' ">
                 and atql.dict_id = #{askQuestionLibrary.dictId}
@@ -66,11 +66,13 @@
         order by cd.id asc ,atql.create_time desc
     </sql>
 
-    <select id="queryList" resultMap="askQuestionLibraryResultMap" parameterType="com.supervision.vo.manage.AskQuestionLibraryReqVo">
+    <select id="queryList" resultMap="askQuestionLibraryResultMap"
+            parameterType="com.supervision.vo.manage.AskQuestionLibraryReqVo">
         <include refid="queryListsql"></include>
     </select>
 
-    <select id="queryPageList"  resultMap="askQuestionLibraryResultMap"  resultType="com.supervision.vo.manage.AskQuestionLibraryResVo">
+    <select id="queryPageList" resultMap="askQuestionLibraryResultMap"
+            resultType="com.supervision.vo.manage.AskQuestionLibraryResVo">
         <include refid="queryListsql"></include>
     </select>
 
diff --git a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionSimilarityMapper.xml b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionSimilarityMapper.xml
index 538b83f3..95854084 100644
--- a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionSimilarityMapper.xml
+++ b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionSimilarityMapper.xml
@@ -22,23 +22,6 @@
     </sql>
 
 
-    <select id="querySimilarityQuestionByNameZhAndSimilarityQuestion" resultMap="BaseResultMap"
-            resultType="java.lang.String">
-        select *
-        from vp_ask_template_question_similarity s
-        where s.library_id = (select l.id
-                              from vp_ask_template_question_library l
-                              where l.dict_id = (select id
-                                                 from vp_common_dic d
-                                                 where d.parent_id IS NOT NULL
-                                                   and d.group_code = 'AQT'
-                                                   and d.parent_id != '179'
-          and d.name_zh = (#{nameZh})))
-          and similarity_question = #{similarityQuestion};
-    </select>
-
-
-
     <select id="queryAskTemplateQuestionSimilarityByLibraryId" resultType="java.lang.String"
             parameterType="java.lang.String">
         select s.similarity_question as similarityQuestion
@@ -49,4 +32,14 @@
     </select>
 
 
+    <select id="querySimilarityQuestion"
+            parameterType="java.lang.String"
+            resultType="com.supervision.model.AskTemplateQuestionSimilarity">
+        select *
+        from vp_ask_template_question_similarity s
+        where s.library_id = #{arg0}
+          and similarity_question = #{arg1}
+    </select>
+
+
 </mapper>