|
@@ -215,28 +215,35 @@ public class QuestionProviderServiceImpl implements QuestionProviderService{
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Page<DefaultQuestion> findQustions(Long rootOrgId,Map<String, String> map,QuestionType questionType,int curPage,int pageSize) {
|
|
|
+ public Page<DefaultQuestion> findQustions(Long rootOrgId,Map<String, String> map,int curPage,int pageSize) {
|
|
|
Query query = new Query();
|
|
|
query.addCriteria(Criteria.where("orgId").is(rootOrgId.toString()));
|
|
|
query.addCriteria(Criteria.where("isolated").is(true));
|
|
|
- if(questionType == QuestionType.SINGLE_CHOICE){
|
|
|
- query.addCriteria(Criteria.where("questionType").is(QuesStructType.SINGLE_ANSWER_QUESTION));
|
|
|
- }else if (questionType == QuestionType.MULTIPLE_CHOICE) {
|
|
|
- query.addCriteria(Criteria.where("questionType").is(QuesStructType.MULTIPLE_ANSWER_QUESTION));
|
|
|
- }else if (questionType == QuestionType.ESSAY) {
|
|
|
- query.addCriteria(Criteria.where("questionType").is(QuesStructType.TEXT_ANSWER_QUESTION));
|
|
|
- }else if (questionType == QuestionType.FILL_UP) {
|
|
|
- query.addCriteria(Criteria.where("questionType").is(QuesStructType.FILL_BLANK_QUESTION));
|
|
|
- }else if (questionType == QuestionType.TRUE_OR_FALSE) {
|
|
|
- query.addCriteria(Criteria.where("questionType").is(QuesStructType.BOOL_ANSWER_QUESTION));
|
|
|
- }
|
|
|
if(map != null && map.size()>0){
|
|
|
for(Map.Entry<String, String> entry:map.entrySet()){
|
|
|
- String la = entry.getValue();
|
|
|
- la = la.replaceAll(",", "*");
|
|
|
- Pattern pattern=Pattern.compile(la, Pattern.CASE_INSENSITIVE);
|
|
|
- String key = "properties." + entry.getKey();
|
|
|
- query.addCriteria(Criteria.where(key).regex(pattern));
|
|
|
+ if(entry.getKey().equals("questionType")){
|
|
|
+ if(!StringUtils.isBlank(entry.getValue())){
|
|
|
+ if(entry.getValue().equals(QuestionType.SINGLE_CHOICE.toString())){
|
|
|
+ query.addCriteria(Criteria.where("questionType").is(QuesStructType.SINGLE_ANSWER_QUESTION));
|
|
|
+ }else if (entry.getValue().equals(QuestionType.MULTIPLE_CHOICE.toString())) {
|
|
|
+ query.addCriteria(Criteria.where("questionType").is(QuesStructType.MULTIPLE_ANSWER_QUESTION));
|
|
|
+ }else if (entry.getValue().equals(QuestionType.ESSAY.toString())) {
|
|
|
+ query.addCriteria(Criteria.where("questionType").is(QuesStructType.TEXT_ANSWER_QUESTION));
|
|
|
+ }else if (entry.getValue().equals(QuestionType.FILL_UP.toString())) {
|
|
|
+ query.addCriteria(Criteria.where("questionType").is(QuesStructType.FILL_BLANK_QUESTION));
|
|
|
+ }else if (entry.getValue().equals(QuestionType.TRUE_OR_FALSE.toString())) {
|
|
|
+ query.addCriteria(Criteria.where("questionType").is(QuesStructType.BOOL_ANSWER_QUESTION));
|
|
|
+ }else {
|
|
|
+ throw new StatusException("Q-", "题型格式不对!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ String la = entry.getValue();
|
|
|
+ la = la.replaceAll(",", "*");
|
|
|
+ Pattern pattern=Pattern.compile(la, Pattern.CASE_INSENSITIVE);
|
|
|
+ String key = "properties." + entry.getKey();
|
|
|
+ query.addCriteria(Criteria.where(key).regex(pattern));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
long count = this.mongoTemplate.count(query, Question.class);
|