From e59d342b9567a34127be1b2517784949ed10a28f Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Mon, 5 Feb 2024 11:25:35 +0800 Subject: [PATCH] manage : fix bug --- .../manage/dto/MedicalRecAnswerExcelDTO.java | 8 +++++++- .../MaterialLibraryManageServiceImpl.java | 19 +++++++++++++++---- .../impl/MedicalRecManageServiceImpl.java | 2 +- .../src/main/resources/application.yml | 2 +- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/dto/MedicalRecAnswerExcelDTO.java b/virtual-patient-manage/src/main/java/com/supervision/manage/dto/MedicalRecAnswerExcelDTO.java index 4c02f310..7e148c17 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/dto/MedicalRecAnswerExcelDTO.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/dto/MedicalRecAnswerExcelDTO.java @@ -83,6 +83,11 @@ public class MedicalRecAnswerExcelDTO { List askPatientAnswerList, List materialLibraryList, List questionTypeDicList){ + // 如果视频名称没有后缀,默认添加.mp4后缀 + if (StrUtil.isNotEmpty(this.answerVideoName) + && StrUtil.split(this.answerVideoName,".").size() >1){ + answerVideoName = answerVideoName + ".mp4"; + } this.absentCheck(); this.matchQuestion(questionLibraryList); this.matchAskPatientAnswer(askPatientAnswerList); @@ -207,12 +212,13 @@ public class MedicalRecAnswerExcelDTO { for (CommonDic questionTypeDic : questionTypeDicList) { if (this.questionTypeTwo.equals(questionTypeDic.getNameZh())){ + // todo:再次校验questionTypeOne是否正确 this.dictId = String.valueOf(questionTypeDic.getId()); this.dictNamePath = questionTypeDic.getNameZhPath(); return; } } - errorCodeEnums.add(ErrorCodeEnum.ANSWER_VIDEO_NAME_NOT_FIND); + errorCodeEnums.add(ErrorCodeEnum.DICE_NOT_FIND); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java index 57e09ec6..7d764445 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java @@ -40,7 +40,7 @@ public class MaterialLibraryManageServiceImpl implements MaterialLibraryManageSe // 校验素材名是否已经存在 Assert.notEmpty(materialLibraryList, "素材列表不能为空"); materialLibraryList.forEach(materialLibrary -> { - Assert.notEmpty(materialLibrary.getMaterialType(), "素材类型不能为空"); + Assert.notNull(materialLibrary.getMaterialType(), "素材类型不能为空"); Assert.notEmpty(materialLibrary.getFileResourceId(), "文件资源id不能为空"); }); @@ -94,9 +94,20 @@ public class MaterialLibraryManageServiceImpl implements MaterialLibraryManageSe Assert.notEmpty(materialLibrary.getId(), "id不能为空"); Assert.notEmpty(materialLibrary.getMaterialName(), "素材名不能为空"); - // 校验是否重名 - Integer count = materialLibraryService.lambdaQuery().eq(MaterialLibrary::getMaterialName, materialLibrary.getMaterialName()).count(); - Assert.isTrue(count == 0, "素材名已存在"); + MaterialLibrary material = materialLibraryService.getById(materialLibrary.getId()); + Assert.notNull(material, "素材不存在"); + + if (!material.getMaterialName().equals(materialLibrary.getMaterialName())){ + // 如果素材名发生改变,需要校验素材名是否已经存在 + Integer count = materialLibraryService.lambdaQuery().eq(MaterialLibrary::getMaterialName, materialLibrary.getMaterialName()).count(); + Assert.isTrue(count == 0, "素材名已存在"); + List split = StrUtil.split(material.getMaterialName(), "."); + if (split.size() > 1){ + //重新命名文件 添加后缀 + materialLibrary.setMaterialName(materialLibrary.getMaterialName() + "." + split.get(split.size()-1)); + } + } + return materialLibraryService.updateById(materialLibrary); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java index 618e60e9..a56f68c0 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java @@ -251,7 +251,7 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { Map videoInfoMaps = new HashMap<>(); if (CollUtil.isNotEmpty(answerResourceIds)){ Map videoInfoMapsTmp = materialLibraryService.lambdaQuery().in(MaterialLibrary::getFileResourceId, answerResourceIds) - .list().stream().collect(Collectors.toMap(MaterialLibrary::getFileResourceId, MaterialLibrary::getMaterialName, (v1,v2) -> v2)); + .list().stream().collect(Collectors.toMap(MaterialLibrary::getFileResourceId, MaterialLibrary::getMaterialName, (v1,v2) -> v1)); videoInfoMaps.putAll(videoInfoMapsTmp); } diff --git a/virtual-patient-manage/src/main/resources/application.yml b/virtual-patient-manage/src/main/resources/application.yml index 8d8f4111..19a40418 100644 --- a/virtual-patient-manage/src/main/resources/application.yml +++ b/virtual-patient-manage/src/main/resources/application.yml @@ -1,6 +1,6 @@ #服务器端口 server: - port: 8891 + port: 8892 servlet: context-path: /virtual-patient-manage undertow: