admin
2021-09-24 881f273bca0f94345efb2c0cac52279af4a7f4e4
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package com.generater;
 
import freemarker.cache.StringTemplateLoader;
import freemarker.template.Template;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Transient;
import org.yeshi.utils.FreemarkerUtils;
import org.yeshi.utils.generater.SpringComponentGenerater;
import org.yeshi.utils.generater.annotation.admin.form.CheckBox;
import org.yeshi.utils.generater.annotation.admin.form.Select;
import org.yeshi.utils.generater.annotation.admin.form.Text;
import org.yeshi.utils.generater.entity.KeyValue;
import org.yeshi.utils.generater.entity.MongoDBDaoData;
import org.yeshi.utils.generater.entity.admin.AdminGeneraterInfo;
import org.yeshi.utils.generater.mybatis.Column;
import org.yeshi.utils.generater.mybatis.MyBatisMapperUtil;
import org.yeshi.utils.generater.mybatis.Table;
 
import java.io.File;
import java.io.InputStream;
import java.io.StringWriter;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.*;
import java.util.regex.Pattern;
 
public class GeneratorTest {
 
    public static void main(String[] args) throws Exception {
        //SpringComponentGenerater.createMongoDao(new MongoDBDaoData.Builder().setBaseDaoClass(BaseDao.class).setDaoPackageName("com.generator.result").setEntityClass(Entity.class).create(), "D:\\workspace\\server\\utils\\src\\test\\java\\com\\generater\\result");
//        MyBatisMapperUtil.createMapper(Entity.class);
 
 
//打乱xml中的数据
//        Scanner scanner = new Scanner(new File("D:\\workspace\\Android\\buwan\\HanJuPlayer\\app\\res\\values\\strings.xml"));
//        List<String> lines = new ArrayList<>();
//        while (scanner.hasNextLine()) {
//            String line = scanner.nextLine().trim();
//            if (line == null || (line.startsWith("<?xml") || line.contains("<resources>") || line.contains("</resources>")))
//                continue;
//            lines.add(line);
//        }
//        scanner.close();
//        Collections.shuffle(lines);
//        for (String line : lines) {
//            System.out.println(line);
//        }
 
 
        AdminGeneraterInfo info = new AdminGeneraterInfo.Builder().setEntityClass(TestEntity.class).build();
 
        //将所有的控件模板加载进去
        String[] template = new String[]{
                "admin/form/checkBox.ftl",
                "admin/form/img.ftl",
                "admin/form/password.ftl",
                "admin/form/radioGroup.ftl",
                "admin/form/select.ftl",
                "admin/form/switch.ftl",
                "admin/form/text.ftl",
                "admin/form/textArea.ftl",
                "admin/add.ftl"
        };
 
        Map<String, InputStream> map = new HashMap<>();
        for (String st : template) {
            map.put(st, SpringComponentGenerater.class.getClassLoader().getResourceAsStream("generater/" + st));
        }
 
        String result = FreemarkerUtils.generateInputStream(info, "admin/add.ftl", map);
 
 
        System.out.println(result);
 
 
        //
//        boolean match = Pattern.matches("^(https://){1}.*(\\.m3u8)$", "https://n1.szjal.cn/20210805/qnDXhXBa/index.m3u8123");
//        System.out.println(match);
 
    }
 
 
    @Table("tb_test")
    public static class Entity {
 
        @Id
        @Column(name = "id")
        private String id;
        @Column(name = "`name`")
        private String name;
        @Column(name = "`age`")
        private Integer age;
        @Column(name = "create_time")
        private Date createTime;
 
 
        public String getId() {
            return id;
        }
 
        public void setId(String id) {
            this.id = id;
        }
 
        public String getName() {
            return name;
        }
 
        public void setName(String name) {
            this.name = name;
        }
 
        public Integer getAge() {
            return age;
        }
 
        public void setAge(Integer age) {
            this.age = age;
        }
 
        public Date getCreateTime() {
            return createTime;
        }
 
        public void setCreateTime(Date createTime) {
            this.createTime = createTime;
        }
    }
 
 
    public static class BaseDao {
 
    }
 
 
}