|
@@ -21,6 +21,7 @@ import com.diagbot.service.QcQuestionMappingService;
|
|
|
import com.diagbot.service.impl.QcQuestionInfoServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.EntityUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
import com.diagbot.util.UserUtils;
|
|
@@ -40,6 +41,7 @@ import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description:
|
|
@@ -349,28 +351,61 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
|
|
|
}
|
|
|
|
|
|
|
|
|
+// /**
|
|
|
+// * 查询多个id返回标签内容
|
|
|
+// *
|
|
|
+// * @param questionIdsVO 获取标签内容参数
|
|
|
+// * @return 标签内容
|
|
|
+// */
|
|
|
+// public Map<Long, QuestionDTO> getByIds(QuestionIdsVO questionIdsVO) {
|
|
|
+// Map<Long, QuestionDTO> data = new HashMap<>();
|
|
|
+// if (StringUtil.isEmpty(questionIdsVO.getIds())) {
|
|
|
+// return data;
|
|
|
+// }
|
|
|
+// String[] ids = questionIdsVO.getIds().split(",");
|
|
|
+// for (String id : ids) {
|
|
|
+// QuestionVO questionVO = new QuestionVO();
|
|
|
+// questionVO.setId(Long.parseLong(id));
|
|
|
+// QuestionDTO item = this.getById(questionVO);
|
|
|
+// data.put(item.getId(), item);
|
|
|
+// }
|
|
|
+// return data;
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
- * 查询多个id返回标签内容
|
|
|
+ * 查询多个id返回标签内容【优化版】
|
|
|
*
|
|
|
* @param questionIdsVO 获取标签内容参数
|
|
|
- * @return 标签内容
|
|
|
+ * @return 标签内容Fac
|
|
|
*/
|
|
|
public Map<Long, QuestionDTO> getByIds(QuestionIdsVO questionIdsVO) {
|
|
|
- Map<Long, QuestionDTO> data = new HashMap<>();
|
|
|
- if (StringUtil.isEmpty(questionIdsVO.getIds())) {
|
|
|
- return data;
|
|
|
+ List<Long> idList = questionIdsVO.getIds();
|
|
|
+ if (ListUtil.isEmpty(idList)) {
|
|
|
+ return new HashMap<>();
|
|
|
}
|
|
|
- String[] ids = questionIdsVO.getIds().split(",");
|
|
|
- for (String id : ids) {
|
|
|
- QuestionVO questionVO = new QuestionVO();
|
|
|
- questionVO.setId(Long.parseLong(id));
|
|
|
- QuestionDTO item = this.getById(questionVO);
|
|
|
- data.put(item.getId(), item);
|
|
|
+ List<QcQuestionInfo> qcQuestionInfoList = this.list(new QueryWrapper<QcQuestionInfo>()
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .in("id", idList)
|
|
|
+ );
|
|
|
+ List<QuestionDTO> questionDTOList = BeanUtil.listCopyTo(qcQuestionInfoList, QuestionDTO.class);
|
|
|
+ if (ListUtil.isNotEmpty(questionDTOList)) {
|
|
|
+ List<Long> ids = questionDTOList.stream().map(r -> r.getId()).collect(Collectors.toList());
|
|
|
+ Map paramMap = new HashMap<>();
|
|
|
+ paramMap.put("ids", ids);
|
|
|
+ //获取子标签
|
|
|
+ List<QuestionInfoWrapper> questionMapping = this.getByQuestionMapping(paramMap);
|
|
|
+ Map<Long, List<QuestionInfoWrapper>> map = EntityUtil.makeEntityListMap(questionMapping, "parentQuestion");
|
|
|
+ for (QuestionDTO bean : questionDTOList) {
|
|
|
+ List<QuestionInfoWrapper> questionInfoWrapperList = map.get(bean.getId());
|
|
|
+ if (ListUtil.isNotEmpty(questionInfoWrapperList)) {
|
|
|
+ bean.setQuestionMapping(BeanUtil.listCopyTo(questionInfoWrapperList, QuestionDTO.class));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- return data;
|
|
|
+ return questionDTOList.stream().collect(Collectors.toMap(r -> r.getId(), r -> r));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// /**
|
|
|
// * 根据id返回被引用的父标签
|
|
|
// *
|