|
@@ -6,6 +6,7 @@ import com.qmth.cqb.question.model.QuesOption;
|
|
|
import com.qmth.cqb.question.model.Question;
|
|
|
import com.qmth.cqb.question.model.QuestionSearchCondition;
|
|
|
import com.qmth.cqb.utils.BeanCopierUtil;
|
|
|
+import com.qmth.cqb.utils.CommonUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Example;
|
|
|
import org.springframework.data.domain.Page;
|
|
@@ -13,6 +14,7 @@ import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Set;
|
|
|
|
|
@@ -25,14 +27,34 @@ public class QuesService {
|
|
|
@Autowired
|
|
|
QuesRepo quesRepo;
|
|
|
|
|
|
+ /**
|
|
|
+ * 批量保存试题
|
|
|
+ *
|
|
|
+ * @param list
|
|
|
+ */
|
|
|
+ public void saveQuesList(List<Question> list) {
|
|
|
+ if (list != null) {
|
|
|
+ for (Question question : list) {
|
|
|
+ saveQues(question);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 保存试题
|
|
|
*
|
|
|
* @param question
|
|
|
*/
|
|
|
- public void saveQues(Question question) {
|
|
|
+ public Question saveQues(Question question) {
|
|
|
+ String now = CommonUtils.getCurDateTime();
|
|
|
Question saveQues = quesRepo.findOne(question.getId());
|
|
|
+ if (saveQues == null) {
|
|
|
+ question.setCreateTime(now);
|
|
|
+ question.setUpdateTime(now);
|
|
|
+ return quesRepo.save(question);
|
|
|
+ }
|
|
|
saveQues.setQuesAnswer(question.getQuesAnswer());
|
|
|
+ saveQues.setQuesAnswerAnalysis(question.getQuesAnswerAnalysis());
|
|
|
saveQues.setScore(question.getScore());
|
|
|
saveQues.setQuesBody(question.getQuesBody());
|
|
|
if (question.getQuesOptions() != null && question.getQuesOptions().size() > 0) {
|
|
@@ -43,12 +65,22 @@ public class QuesService {
|
|
|
} else {
|
|
|
for (int i = 0; i < quesOptions.size(); i++) {
|
|
|
saveQuesOptions.get(i).setOptionBody(quesOptions.get(i).getOptionBody());
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
- quesRepo.save(saveQues);
|
|
|
+ if (question.getQuesParams() != null) {
|
|
|
+ if (saveQues.getQuesParams() == null) {
|
|
|
+ saveQues.setQuesParams(new HashMap<>());
|
|
|
+ }
|
|
|
+ for (String key : question.getQuesParams().keySet()) {
|
|
|
+ saveQues.getQuesParams().put(key, question.getQuesParams().get(key));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (saveQues.getCreateTime() == null) {
|
|
|
+ saveQues.setCreateTime(now);
|
|
|
+ }
|
|
|
+ saveQues.setUpdateTime(now);
|
|
|
+ return quesRepo.save(saveQues);
|
|
|
}
|
|
|
|
|
|
/**
|