|
@@ -8,13 +8,19 @@ import com.diagbot.entity.ModuleInfo;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.service.impl.ModuleInfoServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.EntityUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.vo.ModuleVO;
|
|
|
import com.diagbot.vo.QuestionVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description: 模型业务层
|
|
@@ -41,13 +47,23 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
|
|
|
queryWrapper.orderByAsc("id");
|
|
|
List<ModuleInfo> list = this.list(queryWrapper);
|
|
|
data = BeanUtil.listCopyTo(list, ModuleInfoDTO.class);
|
|
|
- for (ModuleInfoDTO bean : data) {
|
|
|
+ List<Long> ids = data.stream()
|
|
|
+ .map(artist -> artist.getId())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ Map<Long, List<ModuleDetail>> moduleDetailMap = new LinkedHashMap<>();
|
|
|
+ if (ListUtil.isNotEmpty(ids)){
|
|
|
QueryWrapper wrapper = new QueryWrapper();
|
|
|
wrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
- wrapper.eq("module_id", bean.getId());
|
|
|
- wrapper.orderByAsc("order_no");
|
|
|
+ wrapper.in("module_id", ids);
|
|
|
+ wrapper.orderByAsc("module_id", "order_no");
|
|
|
List<ModuleDetail> moduleDetailList = moduleDetailFacade.list(wrapper);
|
|
|
- List<ModuleDetailDTO> moduleDetailDTOList = BeanUtil.listCopyTo(moduleDetailList, ModuleDetailDTO.class);
|
|
|
+ if (ListUtil.isNotEmpty(moduleDetailList)){
|
|
|
+ moduleDetailMap = EntityUtil.makeEntityListMap(moduleDetailList, "moduleId");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ for (ModuleInfoDTO bean : data) {
|
|
|
+ List<ModuleDetailDTO> moduleDetailDTOList = BeanUtil.listCopyTo(moduleDetailMap.get(bean.getId()), ModuleDetailDTO.class);
|
|
|
bean.setModuleDetailDTOList(moduleDetailDTOList);
|
|
|
for (ModuleDetailDTO detailDTO : moduleDetailDTOList) {
|
|
|
if (null != detailDTO.getQuestionId()) {
|