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
package org.yeshi.utils.generater.entity.admin;
 
import org.yeshi.utils.generater.annotation.admin.AdminController;
import org.yeshi.utils.generater.util.AnotationUtil;
 
import java.lang.annotation.Annotation;
import java.util.List;
import java.util.Map;
 
/**
 * @author Administrator
 * @title: AdminGeneraterInfo
 * @description: TODO
 * @date 2021/9/24 11:03
 */
public class AdminGeneraterInfo {
 
    //entity类
    private Class entity;
    //controller注解对象
    private Map<String, Object> controllerData;
    //修改的表单行数据
    private List<FormRowData> updateFormRows;
    //添加的表单行数据
    private List<FormRowData> addFormRows;
    //搜索的表单行数据
    private List<FormRowData> searchFormRows;
 
    private List<Map<String, Object>> showDataList;
 
 
    public Class getEntity() {
        return entity;
    }
 
    public void setEntity(Class entity) {
        this.entity = entity;
    }
 
    public Map<String, Object> getControllerData() {
        return controllerData;
    }
 
    public void setControllerData(Map<String, Object> controllerData) {
        this.controllerData = controllerData;
    }
 
 
    public List<FormRowData> getUpdateFormRows() {
        return updateFormRows;
    }
 
    public void setUpdateFormRows(List<FormRowData> updateFormRows) {
        this.updateFormRows = updateFormRows;
    }
 
    public List<FormRowData> getAddFormRows() {
        return addFormRows;
    }
 
    public void setAddFormRows(List<FormRowData> addFormRows) {
        this.addFormRows = addFormRows;
    }
 
    public List<FormRowData> getSearchFormRows() {
        return searchFormRows;
    }
 
    public void setSearchFormRows(List<FormRowData> searchFormRows) {
        this.searchFormRows = searchFormRows;
    }
 
    public List<Map<String, Object>> getShowDataList() {
        return showDataList;
    }
 
    public void setShowDataList(List<Map<String, Object>> showDataList) {
        this.showDataList = showDataList;
    }
 
 
    public static class Builder {
 
        private Class entity;
 
        public Builder setEntityClass(Class clazz) {
            this.entity = clazz;
            return this;
        }
 
        public AdminGeneraterInfo build() throws Exception {
            if (entity == null) {
                throw new Exception("尚未设置entity");
            }
            //查询是否需要生成管理界面与controller
            Annotation[] ans = entity.getAnnotations();
            for (Annotation an : ans) {
                if (an instanceof AdminController) {
                    Class searchFormClass = ((AdminController) an).searchForm();
                    AdminGeneraterInfo info = new AdminGeneraterInfo();
                    info.setControllerData(AnotationUtil.getParamsMap(an));
                    info.setSearchFormRows(AnotationUtil.getFormRowData(searchFormClass));
                    info.setAddFormRows(AnotationUtil.getFormRowData(entity));
                    info.setUpdateFormRows(AnotationUtil.getUpdateFormRowData(entity));
                    info.setShowDataList(AnotationUtil.getShowDataList(entity));
                    return info;
                }
            }
            return null;
        }
 
    }
 
 
}