提交 | 用户 | 时间
e7c126 1 package com.iailab.module.infra.service.codegen;
H 2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.module.infra.controller.admin.codegen.vo.CodegenCreateListReqVO;
5 import com.iailab.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO;
6 import com.iailab.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
7 import com.iailab.module.infra.controller.admin.codegen.vo.table.DatabaseTableRespVO;
8 import com.iailab.module.infra.dal.dataobject.codegen.CodegenColumnDO;
9 import com.iailab.module.infra.dal.dataobject.codegen.CodegenTableDO;
10
11 import java.util.List;
12 import java.util.Map;
13
14 /**
15  * 代码生成 Service 接口
16  *
17  * @author iailab
18  */
19 public interface CodegenService {
20
21     /**
22      * 基于数据库的表结构,创建代码生成器的表定义
23      *
24      * @param userId 用户编号
25      * @param reqVO 表信息
26      * @return 创建的表定义的编号数组
27      */
28     List<Long> createCodegenList(Long userId, CodegenCreateListReqVO reqVO);
29
30     /**
31      * 更新数据库的表和字段定义
32      *
33      * @param updateReqVO 更新信息
34      */
35     void updateCodegen(CodegenUpdateReqVO updateReqVO);
36
37     /**
38      * 基于数据库的表结构,同步数据库的表和字段定义
39      *
40      * @param tableId 表编号
41      */
42     void syncCodegenFromDB(Long tableId);
43
44     /**
45      * 删除数据库的表和字段定义
46      *
47      * @param tableId 数据编号
48      */
49     void deleteCodegen(Long tableId);
50
51     /**
52      * 获得表定义列表
53      *
54      * @param dataSourceConfigId 数据源配置的编号
55      * @return 表定义列表
56      */
57     List<CodegenTableDO> getCodegenTableList(Long dataSourceConfigId);
58
59     /**
60      * 获得表定义分页
61      *
62      * @param pageReqVO 分页条件
63      * @return 表定义分页
64      */
65     PageResult<CodegenTableDO> getCodegenTablePage(CodegenTablePageReqVO pageReqVO);
66
67     /**
68      * 获得表定义
69      *
70      * @param id 表编号
71      * @return 表定义
72      */
73     CodegenTableDO getCodegenTable(Long id);
74
75     /**
76      * 获得指定表的字段定义数组
77      *
78      * @param tableId 表编号
79      * @return 字段定义数组
80      */
81     List<CodegenColumnDO> getCodegenColumnListByTableId(Long tableId);
82
83     /**
84      * 执行指定表的代码生成
85      *
86      * @param tableId 表编号
87      * @return 生成结果。key 为文件路径,value 为对应的代码内容
88      */
89     Map<String, String> generationCodes(Long tableId);
90
91     /**
92      * 获得数据库自带的表定义列表
93      *
94      * @param dataSourceConfigId 数据源的配置编号
95      * @param name 表名称
96      * @param comment 表描述
97      * @return 表定义列表
98      */
99     List<DatabaseTableRespVO> getDatabaseTableList(Long dataSourceConfigId, String name, String comment);
100
101 }