1: 添加MedicalAiAnswerSetter测试类
parent
4afb42a6c3
commit
239db05329
@ -0,0 +1,91 @@
|
||||
package com.supervision.manage;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.supervision.exception.BusinessException;
|
||||
import com.supervision.manage.service.FileManageService;
|
||||
import com.supervision.manage.service.MaterialLibraryManageService;
|
||||
import com.supervision.model.AskPatientAnswer;
|
||||
import com.supervision.model.FileResource;
|
||||
import com.supervision.model.MaterialLibrary;
|
||||
import com.supervision.service.AskPatientAnswerService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@SpringBootTest
|
||||
public class MedicalAiAnswerSetter {
|
||||
|
||||
|
||||
@Autowired
|
||||
private MaterialLibraryManageService materialLibraryManageService;
|
||||
|
||||
@Autowired
|
||||
private FileManageService fileManageService;
|
||||
|
||||
@Autowired
|
||||
private AskPatientAnswerService askPatientAnswerService;
|
||||
|
||||
private final String dynamicQuestionLibraryId = "1752523715611987911";
|
||||
private final String staticQuestionLibraryId = "1752523715611987970";
|
||||
|
||||
private final String directoryId = "1796467642475745282";
|
||||
@Test
|
||||
public void setByFileAndMedical() throws Exception {
|
||||
|
||||
String medicalId = "";
|
||||
// 动态视频
|
||||
String dynamicFile = "D:\\virtual-patient-manage\\src\\main\\resources\\static\\medical\\" + medicalId + ".txt";
|
||||
// 静态视频
|
||||
String staticFile = "D:\\virtual-patient-manage\\src\\main\\resources\\static\\medical\\" + medicalId + ".silence.txt";
|
||||
|
||||
FileResource staticFileResource = fileManageService.uploadFile(new FileInputStream(staticFile));
|
||||
FileResource dynamicFileResource = fileManageService.uploadFile(new FileInputStream(dynamicFile));
|
||||
|
||||
|
||||
MaterialLibrary staticMaterial = new MaterialLibrary();
|
||||
staticMaterial.setDirectoryId(directoryId);
|
||||
staticMaterial.setMaterialType(1);
|
||||
staticMaterial.setMaterialName(staticFileResource.getFileName());
|
||||
staticMaterial.setFileResourceId(staticFileResource.getId());
|
||||
|
||||
MaterialLibrary dynamicMaterial = new MaterialLibrary();
|
||||
dynamicMaterial.setDirectoryId(directoryId);
|
||||
dynamicMaterial.setMaterialType(1);
|
||||
dynamicMaterial.setMaterialName(dynamicFileResource.getFileName());
|
||||
dynamicMaterial.setFileResourceId(dynamicFileResource.getId());
|
||||
materialLibraryManageService.uploadMaterial(List.of(staticMaterial,dynamicMaterial));
|
||||
|
||||
// 插入或更新病历视频
|
||||
updateMedicalAnswerVideo(medicalId, staticFileResource.getId(), "静态视频", staticQuestionLibraryId);
|
||||
updateMedicalAnswerVideo(medicalId, dynamicFileResource.getId(), "动态视频", dynamicQuestionLibraryId);
|
||||
}
|
||||
|
||||
private void updateMedicalAnswerVideo(String medicalId, String fileId, String fileName, String questionLibraryId) {
|
||||
// 插入或更新病历视频
|
||||
List<AskPatientAnswer> askPatientAnswerList = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, medicalId)
|
||||
.eq(AskPatientAnswer::getLibraryQuestionId, questionLibraryId).list();
|
||||
if (askPatientAnswerList.size() > 1){
|
||||
log.info("该病历存在多个"+fileName+"视频,请检查");
|
||||
throw new BusinessException("该病历存在多个"+fileName+"视频,请检查");
|
||||
}
|
||||
AskPatientAnswer askPatientAnswer = null;
|
||||
if (CollUtil.size(askPatientAnswerList)>0){
|
||||
askPatientAnswer = askPatientAnswerList.get(0);
|
||||
askPatientAnswer.setAnswerResourceId(fileId);
|
||||
|
||||
}else {
|
||||
askPatientAnswer = new AskPatientAnswer();
|
||||
askPatientAnswer.setMedicalId(medicalId);
|
||||
askPatientAnswer.setLibraryQuestionId(questionLibraryId);
|
||||
askPatientAnswer.setAnswer(fileName);
|
||||
askPatientAnswer.setAnswerResourceId(fileId);
|
||||
askPatientAnswer.setAnswerType(1);
|
||||
}
|
||||
askPatientAnswerService.save(askPatientAnswer);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue