Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
appbuild
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
appbuild
Commits
6fac8380
Commit
6fac8380
authored
May 31, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改部分生成代码逻辑
parent
cde02a3d
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
771 additions
and
639 deletions
+771
-639
appbuild-manager/src/main/java/com/mortals/xhx/base/system/gentable/model/GentableEntityExt.java
...als/xhx/base/system/gentable/model/GentableEntityExt.java
+5
-0
appbuild-manager/src/main/java/com/mortals/xhx/base/system/gentable/service/impl/GentableServiceImpl.java
...ase/system/gentable/service/impl/GentableServiceImpl.java
+137
-49
appbuild-manager/src/main/java/com/mortals/xhx/common/utils/FreeMarkerUtils.java
...in/java/com/mortals/xhx/common/utils/FreeMarkerUtils.java
+7
-12
appbuild-manager/src/main/resources/template/doc/api-two.md.ftl
...ld-manager/src/main/resources/template/doc/api-two.md.ftl
+0
-327
appbuild-manager/src/main/resources/template/doc/api.md.ftl
appbuild-manager/src/main/resources/template/doc/api.md.ftl
+215
-240
appbuild-manager/src/main/resources/template/doc/api.md.ftl.bak
...ld-manager/src/main/resources/template/doc/api.md.ftl.bak
+380
-0
appbuild-manager/src/main/resources/template/sql/db.sql.ftl
appbuild-manager/src/main/resources/template/sql/db.sql.ftl
+9
-6
appbuild-manager/src/main/resources/template/sql/menu.sql.ftl
...uild-manager/src/main/resources/template/sql/menu.sql.ftl
+18
-5
No files found.
appbuild-manager/src/main/java/com/mortals/xhx/base/system/gentable/model/GentableEntityExt.java
View file @
6fac8380
...
@@ -4,8 +4,10 @@ import com.mortals.framework.model.BaseEntityLong;
...
@@ -4,8 +4,10 @@ import com.mortals.framework.model.BaseEntityLong;
import
com.mortals.xhx.common.utils.StringUtils
;
import
com.mortals.xhx.common.utils.StringUtils
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* Description:Gentable
* Description:Gentable
...
@@ -23,6 +25,9 @@ public class GentableEntityExt extends BaseEntityLong {
...
@@ -23,6 +25,9 @@ public class GentableEntityExt extends BaseEntityLong {
* 子表信息
* 子表信息
*/
*/
private
GentableEntity
subTable
;
private
GentableEntity
subTable
;
private
String
requestMapping
;
/**
/**
* 表列信息
* 表列信息
*/
*/
...
...
appbuild-manager/src/main/java/com/mortals/xhx/base/system/gentable/service/impl/GentableServiceImpl.java
View file @
6fac8380
This diff is collapsed.
Click to expand it.
appbuild-manager/src/main/java/com/mortals/xhx/common/utils/FreeMarkerUtils.java
View file @
6fac8380
...
@@ -74,18 +74,15 @@ public class FreeMarkerUtils {
...
@@ -74,18 +74,15 @@ public class FreeMarkerUtils {
*/
*/
@SneakyThrows
@SneakyThrows
public
static
void
initFreeMarkerPath
(
String
templatePath
)
{
public
static
void
initFreeMarkerPath
(
String
templatePath
)
{
//初始化模板引擎
//初始化模板引擎
cfg
=
new
Configuration
(
Configuration
.
VERSION_2_3_29
);
cfg
=
new
Configuration
(
Configuration
.
VERSION_2_3_29
);
cfg
.
setDirectoryForTemplateLoading
(
new
File
(
templatePath
));
cfg
.
setDirectoryForTemplateLoading
(
new
File
(
templatePath
));
//设置字符编码集
//设置字符编码集
cfg
.
setDefaultEncoding
(
"UTF-8"
);
cfg
.
setDefaultEncoding
(
"UTF-8"
);
//设置异常的处理方式
//设置异常的处理方式
cfg
.
setTemplateExceptionHandler
(
TemplateExceptionHandler
.
RETHROW_HANDLER
);
cfg
.
setTemplateExceptionHandler
(
TemplateExceptionHandler
.
RETHROW_HANDLER
);
//设置输出时间格式
//设置输出时间格式
cfg
.
setDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
cfg
.
setDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
}
}
...
@@ -102,16 +99,16 @@ public class FreeMarkerUtils {
...
@@ -102,16 +99,16 @@ public class FreeMarkerUtils {
templates
.
add
(
"entityQuery.java.ftl"
);
templates
.
add
(
"entityQuery.java.ftl"
);
templates
.
add
(
"dao.java.ftl"
);
templates
.
add
(
"dao.java.ftl"
);
templates
.
add
(
"daoImpl.java.ftl"
);
templates
.
add
(
"daoImpl.java.ftl"
);
//
templates.add("web.java.ftl");
templates
.
add
(
"web.java.ftl"
);
templates
.
add
(
"webBody.java.ftl"
);
templates
.
add
(
"webBody.java.ftl"
);
templates
.
add
(
"webForm.java.ftl"
);
templates
.
add
(
"webForm.java.ftl"
);
templates
.
add
(
"sqlMap.xml.ftl"
);
templates
.
add
(
"sqlMap.xml.ftl"
);
templates
.
add
(
"db.sql.ftl"
);
templates
.
add
(
"db.sql.ftl"
);
templates
.
add
(
"menu.sql.ftl"
);
templates
.
add
(
"menu.sql.ftl"
);
templates
.
add
(
"params.sql.ftl"
);
//
templates.add("params.sql.ftl");
templates
.
add
(
"api.md.ftl"
);
templates
.
add
(
"api.md.ftl"
);
templates
.
add
(
"api-two.md.ftl"
);
//
templates.add("api-two.md.ftl");
templates
.
add
(
"apidict.md.ftl"
);
//
templates.add("apidict.md.ftl");
templates
.
add
(
"httpclient.test.ftl"
);
templates
.
add
(
"httpclient.test.ftl"
);
if
(
GenConstants
.
TPL_CRUD
.
equals
(
tplCategory
))
{
if
(
GenConstants
.
TPL_CRUD
.
equals
(
tplCategory
))
{
templates
.
add
(
"service.java.ftl"
);
templates
.
add
(
"service.java.ftl"
);
...
@@ -168,11 +165,9 @@ public class FreeMarkerUtils {
...
@@ -168,11 +165,9 @@ public class FreeMarkerUtils {
* @return 模板列表
* @return 模板列表
*/
*/
public
static
Map
prepareSetFreeMarkerData
(
GentableEntity
genTable
)
{
public
static
Map
prepareSetFreeMarkerData
(
GentableEntity
genTable
)
{
Map
data
=
new
HashMap
();
Map
data
=
new
HashMap
();
String
moduleName
=
genTable
.
getModuleName
();
String
moduleName
=
genTable
.
getModuleName
();
String
businessName
=
genTable
.
getBusinessName
().
replace
(
"\\."
,
""
);
String
businessName
=
genTable
.
getBusinessName
().
replace
(
"\\."
,
""
);
String
packageName
=
genTable
.
getPackageName
()
+
"."
+
moduleName
+
"."
+
businessName
;
String
packageName
=
genTable
.
getPackageName
()
+
"."
+
moduleName
+
"."
+
businessName
;
String
tplCategory
=
genTable
.
getTplCategory
();
String
tplCategory
=
genTable
.
getTplCategory
();
String
functionName
=
genTable
.
getFunctionName
();
String
functionName
=
genTable
.
getFunctionName
();
...
@@ -435,9 +430,9 @@ public class FreeMarkerUtils {
...
@@ -435,9 +430,9 @@ public class FreeMarkerUtils {
}
else
if
(
template
.
contains
(
"serviceImpl-tree.java.ftl"
))
{
}
else
if
(
template
.
contains
(
"serviceImpl-tree.java.ftl"
))
{
fileName
=
StringUtils
.
format
(
"{}/{}/service/impl/{}ServiceImpl.java"
,
javaPath
,
businessName
,
className
);
fileName
=
StringUtils
.
format
(
"{}/{}/service/impl/{}ServiceImpl.java"
,
javaPath
,
businessName
,
className
);
}
}
//
else if (template.contains("web.java.ftl")) {
else
if
(
template
.
contains
(
"web.java.ftl"
))
{
//
fileName = StringUtils.format("{}/{}/web/{}Controller.java", javaPath, businessName, className);
fileName
=
StringUtils
.
format
(
"{}/{}/web/{}Controller.java"
,
javaPath
,
businessName
,
className
);
//
}
}
else
if
(
template
.
contains
(
"webBody.java.ftl"
))
{
else
if
(
template
.
contains
(
"webBody.java.ftl"
))
{
fileName
=
StringUtils
.
format
(
"{}/{}/web/{}Controller.java"
,
javaPath
,
businessName
,
className
);
fileName
=
StringUtils
.
format
(
"{}/{}/web/{}Controller.java"
,
javaPath
,
businessName
,
className
);
}
}
...
...
appbuild-manager/src/main/resources/template/doc/api-two.md.ftl
deleted
100644 → 0
View file @
cde02a3d
## ${functionName}
### 查询${functionName}列表
**请求URL:** ${RequestMapping}/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询${functionName}
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:---|:---
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
<#list columns as column>
<#if column.isQuery == 1>
<#if column.javaType=="String" >
${column.javaField}|${column.javaType}|${column.columnComment}|否|字段前后添加%%模糊查询
<#else>
${column.javaField}|${column.javaType}|${column.columnComment}|否|-
</#if>
</#if>
</#list>
**请求样例:**
```
{
<#list columns as column>
<#if column.isQuery == 1>
<#if column.javaType=="String" ||column.javaType=="Date">
<#assign fakeValue>"${column.randomStr(column.javaType)}"</#assign>
<#else>
<#assign fakeValue>${column.randomStr(column.javaType)}</#assign>
</#if>
"${column.javaField}":${fakeValue}<#sep>,</#sep>
</#if>
</#list>
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
<#list columns as column>
  ${column.javaField}|${column.javaType}|${column.columnComment}
</#list>
dict|object|字典对象
<#list columns as column>
<#if column.dict??&&(column.columnType?contains("tinyint") ||column.htmlType==3||column.htmlType==5)>
 ${column.javaField}|object|字典属性对象,详见附录
</#if>
</#list>
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看${functionName}
**请求URL:** ${RequestMapping}/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看${functionName},返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
${pkColumn.javaField}|${pkColumn.javaType}|是|ID
**请求样例:**
```
http://localhost/${RequestMapping}/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
<#list columns as column>
 ${column.javaField}|${column.javaType}|${column.columnComment}
</#list>
dict|object|字典对象
<#list columns as column>
<#if column.dict??&&(column.columnType?contains("tinyint") ||column.htmlType==3||column.htmlType==5)>
 ${column.javaField}|object|字典属性对象,详见附录
</#if>
</#list>
**响应消息样例:**
```
{
"code": 1,
"data": {
<#list columns as column>
<#if column.javaType=="String" ||column.javaType=="Date">
<#assign fakeValue>"${column.randomStr(column.javaType)}"</#assign>
<#else>
<#assign fakeValue>${column.randomStr(column.javaType)}</#assign>
</#if>
"${column.javaField}":${fakeValue}<#sep>,</#sep>
</#list>
}
}
```
### 保存更新${functionName}
**请求URL:** ${RequestMapping}/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新${functionName}:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
<#list columns as column>
<#if !column.isSuperColumn(column.javaField)>
${column.javaField}|${column.javaType}|是|${column.columnComment}
</#if>
</#list>
**请求样例:**
```
{
<#list columns as column>
<#if !column.isSuperColumn(column.javaField)>
<#if column.javaType=="String" ||column.javaType=="Date">
<#assign fakeValue>"${column.randomStr(column.javaType)}"</#assign>
<#else>
<#assign fakeValue>${column.randomStr(column.javaType)}</#assign>
</#if>
"${column.javaField}":${fakeValue}<#sep>,</#sep>
</#if>
</#list>
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|保存后主键id
 entity|object|保存更新实体
<#list columns as column>
  ${column.javaField}|${column.javaType}|${column.columnComment}
</#list>
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除${functionName}
**请求URL:** ${RequestMapping}/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除${functionName}
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
${pkColumn.javaField}|String|是|数组
**请求样例:**
```
http://localhost:8080/${RequestMapping}/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
<#if table.isGenExport==1 >
### 导入${functionName}模板下载
**请求URL:** ${RequestMapping}/downloadTemplate
**请求方式:** POST
**内容类型:** application/octet-stream;charset=utf-8
**简要描述:** ${functionName}导入模板下载
**请求样例:**
```
http://localhost/${RequestMapping}/downloadTemplate
```
**Response-example:**
```
...
```
### 导入${functionName}
**请求URL:** ${RequestMapping}/importData
**请求方式:** POST
**内容类型:** multipart/form-data
**简要描述:** 导入${functionName}
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
file|file|是|文件流
**请求样例:**
```
http://localhost/${RequestMapping}/importData --data 'updateSupport=true'
```
**Response-example:**
```
...
```
### 导出${functionName}
**请求URL:** ${RequestMapping}/exportExcel
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 导出${functionName}
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
idList|Arrays|否|id数组
<#list columns as column>
<#if column.isQuery == 1>
${column.javaField}|${column.javaType}|${column.columnComment}|否|参数查询条件
</#if>
</#list>
**请求样例:**
```
{
idList:[1,2],
<#list columns as column>
<#if column.isQuery == 1>
<#if column.javaType=="String" ||column.javaType=="Date">
<#assign fakeValue>"${column.randomStr(column.javaType)}"</#assign>
<#else>
<#assign fakeValue>${column.randomStr(column.javaType)}</#assign>
</#if>
"${column.javaField}":${fakeValue}<#sep>,</#sep>
</#if>
</#list>
}
```
**Response-example:**
```
...
```
</#if>
appbuild-manager/src/main/resources/template/doc/api.md.ftl
View file @
6fac8380
This diff is collapsed.
Click to expand it.
appbuild-manager/src/main/resources/template/doc/api.md.ftl.bak
0 → 100644
View file @
6fac8380
This diff is collapsed.
Click to expand it.
appbuild-manager/src/main/resources/template/sql/db.sql.ftl
View file @
6fac8380
<#list tableList as table>
-- ----------------------------
-- ----------------------------
-- ${functionName}表
-- ${
table.
functionName}表
-- ----------------------------
-- ----------------------------
DROP TABLE IF EXISTS `${tableName}`;
DROP TABLE IF EXISTS `${table
.table
Name}`;
CREATE TABLE ${tableName}(
CREATE TABLE ${table
.table
Name}(
<#list columns as column>
<#list
table.
columns as column>
<#if column.isIncrement==1 >
<#if column.isIncrement==1 >
<#assign autoInc>AUTO_INCREMENT</#assign>
<#assign autoInc>AUTO_INCREMENT</#assign>
<#else>
<#else>
...
@@ -34,5 +35,7 @@ CREATE TABLE ${tableName}(
...
@@ -34,5 +35,7 @@ CREATE TABLE ${tableName}(
</#if>
</#if>
`${column.columnName}` ${column.columnType} ${Required} ${autoInc} COMMENT '${column.columnComment}',
`${column.columnName}` ${column.columnType} ${Required} ${autoInc} COMMENT '${column.columnComment}',
</#list>
</#list>
PRIMARY KEY (`${pkColumn.columnName}`)
PRIMARY KEY (`${table.pkColumn.columnName}`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='${functionName}';
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='${table.functionName}';
</#list>
\ No newline at end of file
appbuild-manager/src/main/resources/template/sql/menu.sql.ftl
View file @
6fac8380
<#list tableList as table>
-- ----------------------------
-- ----------------------------
-- ${functionName}菜单 SQL
-- ${
table.
functionName}菜单 SQL
-- ----------------------------
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '${table
Comment}', '/${R
equestMapping}/list', 0, 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
INSERT INTO `mortals_xhx_menu` VALUES (null, '${table
.tableComment}', '/${table.r
equestMapping}/list', 0, 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- ----------------------------
-- ${functionName}资源路径 SQL
-- ${
table.
functionName}资源路径 SQL
-- ----------------------------
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '${functionName}-菜单管理-查看', '/${RequestMapping}/list,/${RequestMapping}/view,/${RequestMapping}/info,/${RequestMapping}/export,/${RequestMapping}/exportExcel,/${RequestMapping}/downloadTemplate,/${RequestMapping}/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '${table.functionName}-菜单管理-查看', '/${table.requestMapping}/list,/${table.requestMapping}/view,/${table.requestMapping}/info,/${table.requestMapping}/export,/${table.requestMapping}/exportExcel,/${table.requestMapping}/downloadTemplate,/${table.requestMapping}/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '${functionName}-菜单管理-维护', '/${RequestMapping}/add,/${RequestMapping}/edit,/${RequestMapping}/delete,/${RequestMapping}/logicDelete,/${RequestMapping}/save,/${RequestMapping}/importData', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '${table.functionName}-菜单管理-维护', '/${table.requestMapping}/add,/${table.requestMapping}/edit,/${table.requestMapping}/delete,/${table.requestMapping}/logicDelete,/${table.requestMapping}/save,/${table.requestMapping}/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- ${table.functionName}参数 SQL
-- ----------------------------
<#list table.columns as column>
<#if column.dict??>
<#list column.dict as dict>
INSERT INTO `mortals_xhx_param` VALUES (null, '${column.subComment(column.columnComment)}', '${table.className}', '${column.javaField}', '${dict.num}', '${dict.value}', 1, 4, 0, '${column.javaField}', NULL, NULL, NULL);
</#list>
</#if>
</#list>
</#list>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment