bug
lrj
2024-10-25 b470ed5451d0a4c34a2f71000e8c005e6ad626ad
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.ycl.scheme;
 
import com.ycl.scheme.entity.Keyword;
import com.ycl.scheme.entity.KeywordType;
 
import java.util.ArrayList;
import java.util.List;
 
public class KeywordExample {
 
    private static List<Keyword> keywords= new ArrayList<>();
 
    static {
 
 
        //表名
        Keyword table = Keyword.builder().name("警情通报").keywordType(KeywordType.TABLE_NAME).table("t_info").tableTimeField("create_time").build();
        keywords.add(table);
        Keyword table2 = Keyword.builder().name("案件系统").keywordType(KeywordType.TABLE_NAME).table("t_case").tableTimeField("create_time").build();
        keywords.add(table2);
        //符号
        Keyword s1= Keyword.builder().name("并且").keywordType(KeywordType.SYNTAX).code("and").build();
        keywords.add(s1);
 
        Keyword s2= Keyword.builder().name("或者").keywordType(KeywordType.SYNTAX).code("or").build();
        keywords.add(s2);
 
        Keyword s3= Keyword.builder().name("包含").keywordType(KeywordType.SYNTAX).code("like").regex("['\"]([^'\"]*)['\"]").build();
        keywords.add(s3);
        //字段
        Keyword c1= Keyword.builder().name("警情内容").keywordType(KeywordType.FIELD_NAME).table("t_info").field("content").dataType("String").build();
        keywords.add(c1);
        Keyword c2= Keyword.builder().name("部门").keywordType(KeywordType.FIELD_NAME).table("t_info").field("dept_name").dataType("String").build();
        keywords.add(c2);
        Keyword c3= Keyword.builder().name("案发地").keywordType(KeywordType.FIELD_NAME).table("t_info").field("address").dataType("String").build();
        keywords.add(c3);
        Keyword c4= Keyword.builder().name("涉案金额").keywordType(KeywordType.FIELD_NAME).table("t_info").field("amt").dataType("String").build();
        keywords.add(c4);
 
        Keyword c21= Keyword.builder().name("警情内容").keywordType(KeywordType.FIELD_NAME).table("t_case").field("content").dataType("String").build();
        keywords.add(c21);
        Keyword c22= Keyword.builder().name("部门").keywordType(KeywordType.FIELD_NAME).table("t_case").field("dept_name").dataType("String").build();
        keywords.add(c22);
        Keyword c23= Keyword.builder().name("案发地").keywordType(KeywordType.FIELD_NAME).table("t_case").field("address").dataType("String").build();
        keywords.add(c23);
        Keyword c24= Keyword.builder().name("涉案金额").keywordType(KeywordType.FIELD_NAME).table("t_case").field("amt").dataType("String").build();
        keywords.add(c24);
 
        //函数 \\((.*?)\\)
        Keyword f1= Keyword.builder().name("时间范围").keywordType(KeywordType.TIME_RANGE_FUNCTION).regex("\\(\\s*最近\\s*\\d+\\s*天\\s*\\)").build();
        keywords.add(f1);
        Keyword f2= Keyword.builder().name("计数").keywordType(KeywordType.FUNCTION).functionParameterNullable(true).code("count").regex("\\s*\\((.*?)\\)\\s*").build();
        keywords.add(f2);
        Keyword f3= Keyword.builder().name("合计").keywordType(KeywordType.FUNCTION).code("sum").regex("\\s*\\((.*?)\\)\\s*").build();
        keywords.add(f3);
        //特殊值
        Keyword p1= Keyword.builder().name("最近?天").keywordType(KeywordType.TIME_RANGE).regex("\\d+").build();
        keywords.add(p1);
    }
 
    public static List<Keyword> getKeywords(){
        return keywords;
    }
 
    public static class CanalTriggerBuilder {
 
 
 
    }
}