shikeying
2024-01-11 3b67e947e36133e2a40eb2737b15ea375e157ea0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.walker.etaa.util;
 
import com.walker.etaa.QuestionExtractOptions;
import com.walker.infrastructure.utils.StringUtils;
 
import java.util.List;
 
public class QuestionExtractUtils {
 
    /**
     * 判断给定的抽取规则集合中,是否存在大类、小类同时设置的错误情况。<p></p>
     * 如果要设置某类题型分类,只能使用小类,不能大类、小类同时设置。例如:
     * <pre>
     *     数学 --> 三角函数、几何函数,
     *     设置'数学'抽取判断题 10 道,同时设置'三角函数'抽取判断题5道,这样是不行的,只能从小类设置(三角函数)
     * </pre>
     * @param itemList
     * @return
     * @date 2023-03-07
     */
    public static final boolean isMajorAndMinorCatalogOk(List<QuestionExtractOptions.ExtractOptionItem> itemList){
        if(itemList.size() == 1){
            return true;
        }
 
        boolean hasMajorCatalog = false;
        for(QuestionExtractOptions.ExtractOptionItem item : itemList){
            if(StringUtils.isNotEmpty(item.getMajorCatalog())){
                hasMajorCatalog = true;
                break;
            }
        }
 
        if(hasMajorCatalog){
            for(QuestionExtractOptions.ExtractOptionItem item : itemList){
                if(StringUtils.isNotEmpty(item.getMinorCatalog())){
                    return false;
                }
            }
        }
        return true;
    }
}