diff --git a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisQaRecordService.java b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisQaRecordService.java index 58eb2f23..e9e5cae5 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisQaRecordService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisQaRecordService.java @@ -1,5 +1,6 @@ package com.supervision.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.model.DiagnosisQaRecord; import com.baomidou.mybatisplus.extension.service.IService; import com.supervision.vo.ask.DiagnosisQaRecordHistoryResVO; @@ -14,5 +15,5 @@ import java.util.List; public interface DiagnosisQaRecordService extends IService { - List queryByProcessId(String processId,Integer pageNum,Integer pageSize); + IPage queryByProcessId(String processId, Integer pageNum, Integer pageSize); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisQaRecordServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisQaRecordServiceImpl.java index 550b9a08..c3e2c408 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisQaRecordServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisQaRecordServiceImpl.java @@ -1,8 +1,10 @@ package com.supervision.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.AskTemplateQuestionLibrary; @@ -24,39 +26,43 @@ import java.util.function.Function; import java.util.stream.Collectors; /** -* @author flevance -* @description 针对表【vp_diagnosis_qa_record(诊断问答记录表)】的数据库操作Service实现 -* @createDate 2023-10-20 17:19:21 -*/ + * @author flevance + * @description 针对表【vp_diagnosis_qa_record(诊断问答记录表)】的数据库操作Service实现 + * @createDate 2023-10-20 17:19:21 + */ @Service @RequiredArgsConstructor public class DiagnosisQaRecordServiceImpl extends ServiceImpl - implements DiagnosisQaRecordService{ + implements DiagnosisQaRecordService { private final CommonDicService commonDicService; private final AskTemplateQuestionLibraryService askTemplateQuestionLibraryService; + @Override - public List queryByProcessId(String processId,Integer pageNum,Integer pageSize) { + public IPage queryByProcessId(String processId, Integer pageNum, Integer pageSize) { Page page = this.lambdaQuery().eq(DiagnosisQaRecord::getProcessId, processId).page(new Page<>(pageNum, pageSize)); + List resVOS = BeanUtil.copyToList(page.getRecords(), DiagnosisQaRecordHistoryResVO.class); // 根据questionLibraryId找到对应的字典 Set questionIdList = page.getRecords().stream().map(DiagnosisQaRecord::getQuestionLibraryId).filter(StrUtil::isNotBlank).collect(Collectors.toSet()); - List askTemplateQuestionLibraryList = askTemplateQuestionLibraryService.listByIds(questionIdList); - Map questionLibraryMap = askTemplateQuestionLibraryList.stream().collect(Collectors.toMap(AskTemplateQuestionLibrary::getId, AskTemplateQuestionLibrary::getDictId)); - List commonDicList = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "AQT").list(); - Map dicMap = commonDicList.stream().collect(Collectors.toMap(CommonDic::getId, Function.identity())); - List resVOS = BeanUtil.copyToList(page.getRecords(), DiagnosisQaRecordHistoryResVO.class); - for (DiagnosisQaRecordHistoryResVO resVO : resVOS) { - Long dictId = questionLibraryMap.get(resVO.getQuestionLibraryId()); - if (ObjectUtil.isNotEmpty(dictId)){ - CommonDic commonDic = dicMap.get(dictId); - resVO.setCommonDic(commonDic); + if (CollUtil.isNotEmpty(questionIdList)){ + List askTemplateQuestionLibraryList = askTemplateQuestionLibraryService.listByIds(questionIdList); + Map questionLibraryMap = askTemplateQuestionLibraryList.stream().collect(Collectors.toMap(AskTemplateQuestionLibrary::getId, AskTemplateQuestionLibrary::getDictId)); + List commonDicList = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "AQT").list(); + Map dicMap = commonDicList.stream().collect(Collectors.toMap(CommonDic::getId, Function.identity())); + + for (DiagnosisQaRecordHistoryResVO resVO : resVOS) { + Long dictId = questionLibraryMap.get(resVO.getQuestionLibraryId()); + if (ObjectUtil.isNotEmpty(dictId)) { + CommonDic commonDic = dicMap.get(dictId); + resVO.setCommonDic(commonDic); + } } } // 分页转换 - Page resultPage = new Page<>(page.getPages(), page.getSize(), page.getTotal()); + IPage resultPage = new Page<>(page.getPages(), page.getSize(), page.getTotal()); resultPage.setRecords(resVOS); - return resVOS; + return resultPage; } } diff --git a/virtual-patient-web/src/main/java/com/supervision/controller/DiagnosisQaRecordController.java b/virtual-patient-web/src/main/java/com/supervision/controller/DiagnosisQaRecordController.java index 9940aa64..90397aa8 100644 --- a/virtual-patient-web/src/main/java/com/supervision/controller/DiagnosisQaRecordController.java +++ b/virtual-patient-web/src/main/java/com/supervision/controller/DiagnosisQaRecordController.java @@ -1,6 +1,7 @@ package com.supervision.controller; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.exception.BusinessException; import com.supervision.model.DiagnosisQaRecord; import com.supervision.service.DiagnosisQaRecordService; @@ -24,7 +25,7 @@ public class DiagnosisQaRecordController { private final DiagnosisQaRecordService diagnosisQaRecordService; @ApiOperation("查询问诊历史记录") @GetMapping("queryHistoryList") - public List queryDiagnosisHistoryQaList(String processId,Integer pageNum,Integer pageSize){ + public IPage queryDiagnosisHistoryQaList(String processId, Integer pageNum, Integer pageSize){ if (StrUtil.isEmpty(processId)){ throw new BusinessException("processId is empty"); }