|
@@ -1,15 +1,18 @@
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
import com.diagbot.dto.QuestionDTO;
|
|
|
+import com.diagbot.entity.QuestionDetail;
|
|
|
import com.diagbot.entity.QuestionInfo;
|
|
|
-import com.diagbot.exception.CommonErrorCode;
|
|
|
-import com.diagbot.exception.CommonException;
|
|
|
+import com.diagbot.enums.ControlTypeEnum;
|
|
|
import com.diagbot.service.impl.QuestionInfoServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.vo.QuestionVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
@@ -20,6 +23,8 @@ import java.util.Map;
|
|
|
@Component
|
|
|
public class QuestionFacade extends QuestionInfoServiceImpl {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ QuestionDetailFacade questionDetailFacade;
|
|
|
|
|
|
/**
|
|
|
* 根据参数返回标签内容
|
|
@@ -33,12 +38,30 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
|
|
|
paramMap.put("age", questionVO.getAge());
|
|
|
paramMap.put("id", questionVO.getId());
|
|
|
QuestionInfo questionInfo = this.getByParam(paramMap);
|
|
|
- if(questionInfo == null) {
|
|
|
- throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
- "未找到标签");
|
|
|
+ if(questionInfo == null) { //无数据直接返回,不通过报错的形式返回
|
|
|
+ return null;
|
|
|
}
|
|
|
QuestionDTO res = new QuestionDTO();
|
|
|
BeanUtil.copyProperties(questionInfo, res);
|
|
|
+
|
|
|
+ //获取明细项
|
|
|
+ if(ControlTypeEnum.EMPTY_TAG.getKey() != res.getControlType()) { //不为空标签
|
|
|
+ List<QuestionDetail> questionDetailList = questionDetailFacade.getByQuestionId(questionVO.getId());
|
|
|
+ res.setQuestionDetailList(questionDetailList);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取子标签
|
|
|
+ List<QuestionInfo> questionMapping = this.getByQuestionMapping(paramMap);
|
|
|
+ List<QuestionDTO> sonQuestionList = BeanUtil.listCopyTo(questionMapping, QuestionDTO.class);
|
|
|
+ res.setQuestionMapping(sonQuestionList);
|
|
|
+ //获取子标签的明细项
|
|
|
+ if(ListUtil.isNotEmpty(sonQuestionList)) {
|
|
|
+ for(QuestionDTO bean : sonQuestionList) {
|
|
|
+ List<QuestionDetail> questionDetailList = questionDetailFacade.getByQuestionId(bean.getId());
|
|
|
+ bean.setQuestionDetailList(questionDetailList);
|
|
|
+ }
|
|
|
+ }
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
}
|