1: 添加MedicalAiAnswerSetter测试类

pull/1/head
xueqingkun 11 months ago
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…
Cancel
Save