1: AskTemplateQuestionLibrary中的description 修改为standard_question

pull/1/head
xueqingkun 11 months ago
parent b39e6fb65d
commit bb98d9ebfc

@ -157,7 +157,7 @@ public class MedicalRecAnswerExcelDTO {
errorCodeEnums.add(ErrorCodeEnum.QUESTION_NOT_FIND);
}
for (AskTemplateQuestionLibrary questionLibrary : questionLibraryList) {
String description = questionLibrary.getDescription();
String description = questionLibrary.getStandardQuestion();
List<String> questionList = questionMap.get(questionLibrary.getId());
if (this.question.equals(description)){
this.libraryQuestionId = questionLibrary.getId();
@ -268,7 +268,7 @@ public class MedicalRecAnswerExcelDTO {
if (StrUtil.isNotEmpty(this.dictId)){
questionLibrary.setDictId(Long.parseLong(this.dictId));
}
questionLibrary.setDescription(this.question);
questionLibrary.setStandardQuestion(this.question);
return questionLibrary;
}

@ -11,7 +11,6 @@ import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.supervision.dto.AskTemplateQuestionLibraryDTO;
import com.supervision.manage.dto.UploadQuestionLibraryDTO;
import com.supervision.manage.pojo.vo.UploadQuestionLibraryResVo;
import com.supervision.manage.service.AskQuestionLibraryManageService;
@ -31,7 +30,6 @@ import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.SimpleAliasRegistry;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Service;
@ -109,10 +107,10 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa
if (CollUtil.isEmpty(questionMap.get(one.getId()))){
// 相似问不为空。查看相似问是否存在
List<String> questionList = questionMap.get(one.getId());
if (CollUtil.isEmpty(questionList) || !questionList.contains(askTemplateQuestionLibrary.getDescription())){
if (CollUtil.isEmpty(questionList) || !questionList.contains(askTemplateQuestionLibrary.getStandardQuestion())){
// 不存在相似问,新增一条相似问数据
AskTemplateQuestionSimilarity similarity = new AskTemplateQuestionSimilarity();
similarity.setSimilarityQuestion(askTemplateQuestionLibrary.getDescription());
similarity.setSimilarityQuestion(askTemplateQuestionLibrary.getStandardQuestion());
similarity.setLibraryId(one.getId());
askTemplateQuestionSimilarityService.save(similarity);
}
@ -204,7 +202,7 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa
if (StrUtil.isNotEmpty(currentDTO.getDictId())) {
questionLibrary.setDictId(Long.parseLong(currentDTO.getDictId()));
}
questionLibrary.setDescription(currentDTO.getQuestion());
questionLibrary.setStandardQuestion(currentDTO.getQuestion());
this.saveQuestionLibrary(questionLibrary,false);
}
// 对问题库进行更新操作
@ -241,7 +239,7 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa
private void assertSave(AskTemplateQuestionLibrary askTemplateQuestionLibrary){
// 问题类目不能为空
Assert.notNull(askTemplateQuestionLibrary.getDictId(),"问题类目不能为空");
Assert.notEmpty(askTemplateQuestionLibrary.getDescription(),"问题不能为空");
Assert.notEmpty(askTemplateQuestionLibrary.getStandardQuestion(),"问题不能为空");
//Assert.notEmpty(askTemplateQuestionLibrary.getDefaultAnswer(),"默认回答不能为空");
}

@ -4,12 +4,10 @@ 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.supervision.handler.StringListTypeHandler;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
*
@ -37,13 +35,7 @@ public class AskTemplateQuestionLibrary implements Serializable {
/**
*
*/
private String description;
/*
*//**
*
*//*
@TableField(typeHandler = StringListTypeHandler.class)
private List<String> question;*/
private String standardQuestion;
/**

@ -8,9 +8,7 @@
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="dictId" column="dict_id" jdbcType="BIGINT"/>
<result property="code" column="code" jdbcType="VARCHAR"/>
<result property="description" column="description" jdbcType="VARCHAR"/>
<result property="question" column="question" jdbcType="ARRAY"
typeHandler="com.supervision.handler.StringListTypeHandler"/>
<result property="standardQuestion" column="standard_question" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
@ -19,8 +17,7 @@
<sql id="Base_Column_List">
id
,dict_id,code,description,
question,create_user_id,
,dict_id,code,standard_question,create_user_id,
create_time,update_user_id,update_time
</sql>
@ -31,7 +28,6 @@
<result property="code" column="code" />
<result property="dictId" column="dictId" />
<result property="libraryQuestionId" column="libraryQuestionId" />
<result property="question" column="question" typeHandler="com.supervision.handler.StringListTypeHandler" />
<result property="nameZhPath" column="nameZhPath" />
</resultMap>
@ -43,8 +39,7 @@
cd.code as code,
atql.dict_id as dictId,
cd.parent_id as parentDictId,
atql.description as description,
atql.question as question,
atql.standard_question as standardQuestion,
cd.name_zh_path as nameZhPath,
cd.name_zh as nameZh
from vp_ask_template_question_library atql
@ -56,7 +51,7 @@
and cd.code = #{askQuestionLibrary.code}
</if>
<if test="askQuestionLibrary.description != null and askQuestionLibrary.description != '' ">
and atql.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}

@ -91,7 +91,7 @@ public class TestController {
Map<String, List<String>> similarityQuestionMap = askTemplateQuestionSimilarityService.querySimilarityQuestionMapByLibraryLists(list);
for (AskTemplateQuestionLibrary askTemplateQuestionLibrary : list) {
String description = askTemplateQuestionLibrary.getDescription();
String description = askTemplateQuestionLibrary.getStandardQuestion();
redisVectorStore.add(List.of(new Document(description,
Map.of("type", "1",
"standardQuestionId", askTemplateQuestionLibrary.getId(),

@ -111,7 +111,7 @@ public class AskTemplateIdTest {
try {
CommonDic dic = dictMap.get(ask.getDictId());
if (ObjectUtil.isNotEmpty(dic)) {
String description = ask.getDescription();
String description = ask.getStandardQuestion();
Map<String, Object> map = new HashMap<>();
map.put("role", "user");
@ -129,7 +129,7 @@ public class AskTemplateIdTest {
}
} catch (Exception e) {
log.error("{}生成错误", ask.getDescription(), e);
log.error("{}生成错误", ask.getStandardQuestion(), e);
}
}
}

@ -75,7 +75,7 @@ public class RedisVecTest {
map.put("targetId", targetId);
map.put("targetQuestion", matchQuestion);
AskTemplateQuestionLibrary targetLibrary = libraryMap.get(targetId);
map.put("targetDesc", targetLibrary.getDescription());
map.put("targetDesc", targetLibrary.getStandardQuestion());
Long dictId = targetLibrary.getDictId();
if (!NumberUtil.equals(dictId,Double.parseDouble(answer.getDictId()))){
log.error("字典id不匹配:{}", JSONUtil.toJsonStr(answer));

@ -144,12 +144,12 @@ public class VecTest {
if (count > 1) {
Map<String, Object> map = new HashMap<>();
map.put("sourceId", library.getId());
map.put("sourceDesc", library.getDescription());
map.put("sourceDesc", library.getStandardQuestion());
map.put("sourceQuestion", sourceQuestion);
map.put("sourceQuestionCode", library.getCode());
map.put("sourceDicPath", dicMap.get(library.getDictId()).getNameZhPath());
map.put("targetId", library.getId());
map.put("targetDesc", library.getDescription());
map.put("targetDesc", library.getStandardQuestion());
map.put("targetQuestion", sourceQuestion);
map.put("sameSource", "是");
map.put("targetDicPath", dicMap.get(library.getDictId()).getNameZhPath());
@ -168,11 +168,11 @@ public class VecTest {
if (StrUtil.equals(sourceQuestion, targetQuestion)) {
HashMap<String, Object> map = new HashMap<>();
map.put("sourceId", library.getId());
map.put("sourceDesc", library.getDescription());
map.put("sourceDesc", library.getStandardQuestion());
map.put("sourceQuestion", sourceQuestion);
map.put("sourceDicPath", dicMap.get(library.getDictId()).getNameZhPath());
map.put("targetId", targetLibrary.getId());
map.put("targetDesc", targetLibrary.getDescription());
map.put("targetDesc", targetLibrary.getStandardQuestion());
map.put("targetQuestion", targetQuestion);
// 如果id相等则是同源数据
map.put("sameSource", "否");
@ -225,13 +225,13 @@ public class VecTest {
if (!StrUtil.equals(questionLibrary.getId(), targetId)) {
HashMap<String, Object> map1 = new HashMap<>();
map1.put("sourceId", questionLibrary.getId());
map1.put("sourceDesc", questionLibrary.getDescription());
map1.put("sourceDesc", questionLibrary.getStandardQuestion());
map1.put("sourceQuestion", question);
CommonDic commonDic = dicMap.get(questionLibrary.getDictId());
map1.put("sourceDicPath", commonDic.getNameZhPath());
map1.put("targetId", targetId);
AskTemplateQuestionLibrary targetLibrary = libraryMap.get(targetId);
map1.put("targetDesc", targetLibrary.getDescription());
map1.put("targetDesc", targetLibrary.getStandardQuestion());
map1.put("targetQuestion", MapUtil.getStr(map, "matchQuestion"));
map1.put("matchScore", MapUtil.getStr(map, "matchScore"));
map1.put("targetDicPath", dicMap.get(targetLibrary.getDictId()).getNameZhPath());
@ -288,14 +288,14 @@ public class VecTest {
String matchQuestion = MapUtil.getStr(matchMap, "matchQuestion");
String matchScore = MapUtil.getStr(matchMap, "matchScore");
map.put("sourceId", questionLibrary.getId());
map.put("sourceDesc", questionLibrary.getDescription());
map.put("sourceDesc", questionLibrary.getStandardQuestion());
map.put("sourceQuestion", question);
String sourceNamePath = dicMap.get(questionLibrary.getDictId()).getNameZhPath();
map.put("sourceDicPath", sourceNamePath);
map.put("targetId", targetId);
AskTemplateQuestionLibrary targetLibrary = libraryMap.get(targetId);
map.put("targetDesc", targetLibrary.getDescription());
map.put("targetDesc", targetLibrary.getStandardQuestion());
map.put("targetQuestion", matchQuestion);
String targetNamePath = dicMap.get(targetLibrary.getDictId()).getNameZhPath();
map.put("targetDicPath", targetNamePath);
@ -359,7 +359,7 @@ public class VecTest {
map.put("targetId", targetId);
map.put("targetQuestion", matchQuestion);
AskTemplateQuestionLibrary targetLibrary = libraryMap.get(targetId);
map.put("targetDesc", targetLibrary.getDescription());
map.put("targetDesc", targetLibrary.getStandardQuestion());
Long dictId = targetLibrary.getDictId();
map.put("targetDicPath", dicMap.get(dictId).getNameZhPath());
map.put("matchScore", score);
@ -430,7 +430,7 @@ public class VecTest {
List<Map<String, Object>> vecData = questionLibraries.stream().map(library -> {
Map<String, Object> map = new HashMap<>();
map.put("questionCode", library.getId());
map.put("questionList", CollUtil.newArrayList(library.getDescription()));
map.put("questionList", CollUtil.newArrayList(library.getStandardQuestion()));
return map;
}).collect(Collectors.toList());
saveVec(vecData);
@ -468,7 +468,7 @@ public class VecTest {
AskPatientAnswer askPatientAnswer = answerMap.get(questionLibrary.getId());
if (ObjectUtil.isEmpty(askPatientAnswer)) {
log.info("问题id:{} desc:{},未设置回复答案,跳过", questionLibrary.getId(), questionLibrary.getDescription());
log.info("问题id:{} desc:{},未设置回复答案,跳过", questionLibrary.getId(), questionLibrary.getStandardQuestion());
continue;
}
Map<String, Object> map = new HashMap<>();
@ -541,7 +541,7 @@ public class VecTest {
List<Map<String, Object>> result = new ArrayList<>();
for (AskTemplateQuestionLibrary questionLibrary : questionLibraries) {
String description = questionLibrary.getDescription();
String description = questionLibrary.getStandardQuestion();
List<Map<String, Object>> maps = questionMatch(description);
// 只获取前四条数据
if (CollUtil.isEmpty(maps)) {
@ -607,7 +607,7 @@ public class VecTest {
AskPatientAnswer askPatientAnswer = answerMap.get(questionLibrary.getId());
if (ObjectUtil.isEmpty(askPatientAnswer)) {
log.info("问题id:{} desc:{},未设置回复答案,跳过", questionLibrary.getId(), questionLibrary.getDescription());
log.info("问题id:{} desc:{},未设置回复答案,跳过", questionLibrary.getId(), questionLibrary.getStandardQuestion());
continue;
}
for (String question : similarQuestionMap.get(questionLibrary.getId())) {
@ -632,7 +632,7 @@ public class VecTest {
Map<String, List<String>> similarQuestionMap = askTemplateQuestionSimilarityService.querySimilarityQuestionMapByLibraryLists(questionLibraries);
Console console = System.console();
for (AskTemplateQuestionLibrary questionLibrary : questionLibraries) {
String description = questionLibrary.getDescription();
String description = questionLibrary.getStandardQuestion();
List<String> question = similarQuestionMap.get(questionLibrary.getId());
List<String> addList = new ArrayList<>();
@ -676,7 +676,7 @@ public class VecTest {
map.put("targetId", targetId);
map.put("targetQuestion", matchQuestion);
AskTemplateQuestionLibrary targetLibrary = libraryMap.get(targetId);
map.put("targetDesc", targetLibrary.getDescription());
map.put("targetDesc", targetLibrary.getStandardQuestion());
Long dictId = targetLibrary.getDictId();
map.put("targetDicPath", dicMap.get(dictId).getNameZhPath());
map.put("matchScore", score);

Loading…
Cancel
Save