From 9ff6fb8c9800bcc185b67473aed4c373563b33d6 Mon Sep 17 00:00:00 2001
From: izory <791736813@qq.com>
Date: Thu, 9 Sep 2021 18:18:37 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E4=BB=A3=E7=A0=81=E7=94=9F?=
=?UTF-8?q?=E6=88=90=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/CodeGeneratorController.cs | 42 ++-
.../Template/ControllersTemplate.txt | 14 +-
ZR.Admin.WebApi/Template/VueTemplate.txt | 9 +-
ZR.CodeGenerator/CodeGeneratorTool.cs | 331 ++++++++++--------
ZR.CodeGenerator/Model/GenerateDto.cs | 34 ++
.../Service/CodeGeneraterService.cs | 11 +-
ZR.Model/CodeGenerator/DataBaseInfo.cs | 14 -
ZR.Repository/ZR.Repository.csproj | 4 +
ZR.Service/IService/ICodeGeneratorService.cs | 23 --
ZR.Service/ZR.Service.csproj | 1 +
ZR.Vue/document/t4.tt | 0
ZR.Vue/document/template.vue | 71 ++--
ZR.Vue/src/api/tool/gen.js | 30 +-
ZR.Vue/src/views/demo.vue | 198 +++++------
ZR.Vue/src/views/tool/index.vue | 256 +++++++-------
ZRAdmin.xml | 15 +-
16 files changed, 557 insertions(+), 496 deletions(-)
create mode 100644 ZR.CodeGenerator/Model/GenerateDto.cs
delete mode 100644 ZR.Model/CodeGenerator/DataBaseInfo.cs
delete mode 100644 ZR.Service/IService/ICodeGeneratorService.cs
delete mode 100644 ZR.Vue/document/t4.tt
diff --git a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs
index 92bd1f5..49cb10b 100644
--- a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs
+++ b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs
@@ -9,9 +9,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using ZR.CodeGenerator;
+using ZR.CodeGenerator.Model;
using ZR.CodeGenerator.Service;
using ZR.Model;
-using ZR.Model.CodeGenerator;
using ZR.Model.Vo;
using ZR.Service.IService;
using ZR.Service.System;
@@ -21,7 +21,7 @@ namespace ZR.Admin.WebApi.Controllers
///
/// 代码生成
///
- [Route("codeGenerator")]
+ [Route("tool/gen")]
public class CodeGeneratorController : BaseController
{
//public ICodeGeneratorService CodeGeneratorService;
@@ -35,11 +35,13 @@ namespace ZR.Admin.WebApi.Controllers
/// 获取所有数据库的信息
///
///
- [HttpGet("GetListDataBase")]
+ [HttpGet("getDbList")]
//[YuebonAuthorize("GetListDataBase")]
public IActionResult GetListDataBase()
{
- return SUCCESS(_CodeGeneraterService.GetAllDataBases());
+ var dbList = _CodeGeneraterService.GetAllDataBases();
+ var defaultDb = dbList.Count > 0 ? dbList[0] : null;
+ return SUCCESS(new { dbList, defaultDb });
}
///
@@ -59,27 +61,35 @@ namespace ZR.Admin.WebApi.Controllers
}
///
- /// 代码生成器
+ /// 获取表格列
///
///
- /// 要生成代码的表
- /// 项目命名空间
- /// 要删除表名的字符串用英文逗号","隔开
+ ///
+ ///
+ [HttpGet("QueryColumnInfo")]
+ public IActionResult QueryColumnInfo(string dbName, string tableName)
+ {
+ if (string.IsNullOrEmpty(dbName) || string.IsNullOrEmpty(tableName))
+ return ToRespose(ResultCode.PARAM_ERROR);
+
+ return SUCCESS(_CodeGeneraterService.GetColumnInfo(dbName, tableName));
+ }
+
+ ///
+ /// 代码生成器
+ ///
+ /// 数据传输对象
///
[HttpGet("Generate")]
[Log(Title = "代码生成", BusinessType = BusinessType.OTHER)]
- public IActionResult Generate(string dbName, string baseSpace, string tables, string replaceTableNameStr)
+ public IActionResult Generate([FromQuery] GenerateDto dto)
{
- if (string.IsNullOrEmpty(tables))
+ if (string.IsNullOrEmpty(dto.tables))
{
throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空");
}
- if (string.IsNullOrEmpty(baseSpace))
- {
- baseSpace = "ZR.Admin";
- }
- DbTableInfo dbTableInfo = new() { Name = tables };
- CodeGeneratorTool.Generate(dbName, baseSpace, dbTableInfo, replaceTableNameStr, true);
+ DbTableInfo dbTableInfo = new() { Name = dto.tables };
+ CodeGeneratorTool.Generate(dbTableInfo, dto);
return SUCCESS(1);
}
diff --git a/ZR.Admin.WebApi/Template/ControllersTemplate.txt b/ZR.Admin.WebApi/Template/ControllersTemplate.txt
index 6ff88ef..2031f4e 100644
--- a/ZR.Admin.WebApi/Template/ControllersTemplate.txt
+++ b/ZR.Admin.WebApi/Template/ControllersTemplate.txt
@@ -17,7 +17,7 @@ using ZR.Model;
namespace ZRAdmin.Controllers
{
///
- /// T4代码自动生成
+ /// 代码自动生成
///
[Verify]
@@ -39,7 +39,7 @@ namespace ZRAdmin.Controllers
///
///
[HttpGet("list")]
- [ActionPermissionFilter(Permission = "<#=ModelName#>:list")]
+ [ActionPermissionFilter(Permission = "<#=Permission#>:list")]
public IActionResult Query([FromQuery] <#=ModelName#>QueryDto parm)
{
//开始拼装查询条件
@@ -59,7 +59,7 @@ namespace ZRAdmin.Controllers
///
///
[HttpGet("{{primaryKey}}")]
- public IActionResult Get(int {primaryKey})
+ public IActionResult Get({KeyTypeName} {primaryKey})
{
var response = _<#=ServiceName#>.GetId({primaryKey});
@@ -71,7 +71,7 @@ namespace ZRAdmin.Controllers
///
///
[HttpPost]
- [ActionPermissionFilter(Permission = "<#=ModelName#>:add")]
+ [ActionPermissionFilter(Permission = "<#=Permission#>:add")]
[Log(Title = "<#=FileName#>添加", BusinessType = BusinessType.INSERT)]
public IActionResult Create([FromBody] <#=ModelName#>Dto parm)
{
@@ -91,7 +91,7 @@ namespace ZRAdmin.Controllers
///
///
[HttpPut("edit")]
- [ActionPermissionFilter(Permission = "<#=ModelName#>:update")]
+ [ActionPermissionFilter(Permission = "<#=Permission#>:update")]
[Log(Title = "<#=FileName#>修改", BusinessType = BusinessType.UPDATE)]
public IActionResult Update([FromBody] <#=ModelName#>Dto parm)
{
@@ -109,9 +109,9 @@ namespace ZRAdmin.Controllers
///
///
[HttpDelete("{{primaryKey}}")]
- [ActionPermissionFilter(Permission = "<#=ModelName#>:delete")]
+ [ActionPermissionFilter(Permission = "<#=Permission#>:delete")]
[Log(Title = "<#=FileName#>删除", BusinessType = BusinessType.DELETE)]
- public IActionResult Delete(int {primaryKey} = 0)
+ public IActionResult Delete({KeyTypeName} {primaryKey} = 0)
{
if ({primaryKey} <= 0) { return OutputJson(ApiResult.Error($"删除失败Id 不能为空")); }
diff --git a/ZR.Admin.WebApi/Template/VueTemplate.txt b/ZR.Admin.WebApi/Template/VueTemplate.txt
index 7a2717e..b8e7b95 100644
--- a/ZR.Admin.WebApi/Template/VueTemplate.txt
+++ b/ZR.Admin.WebApi/Template/VueTemplate.txt
@@ -62,7 +62,7 @@
详情
编辑
- 删除
+ 删除
@@ -83,7 +83,7 @@
+
diff --git a/ZR.Vue/src/api/tool/gen.js b/ZR.Vue/src/api/tool/gen.js
index 88e4a3d..348f6c3 100644
--- a/ZR.Vue/src/api/tool/gen.js
+++ b/ZR.Vue/src/api/tool/gen.js
@@ -70,7 +70,7 @@ export function genCode(tableName) {
// 同步数据库
export function synchDb(tableName) {
return request({
- url: '/tool/gen/synchDb/' + tableName,
+ url: 'tool/gen/synchDb/' + tableName,
method: 'get'
})
}
@@ -80,9 +80,9 @@ export function synchDb(tableName) {
/**
* 创建数据库连接
*/
- export function createGetDBConn(data) {
+export function createGetDBConn(data) {
return request({
- url: 'CodeGenerator/CreateDBConn',
+ url: 'tool/gen/CreateDBConn',
method: 'post',
data: data,
})
@@ -92,7 +92,7 @@ export function synchDb(tableName) {
*/
export function codeGetDBList() {
return request({
- url: 'CodeGenerator/GetListDataBase',
+ url: 'tool/gen/getDbList',
method: 'get',
})
}
@@ -101,7 +101,7 @@ export function codeGetDBList() {
*/
export function codeGetTableList(data) {
return request({
- url: 'CodeGenerator/FindListTable',
+ url: 'tool/gen/FindListTable',
method: 'get',
params: data,
})
@@ -111,12 +111,26 @@ export function codeGetTableList(data) {
*/
export async function codeGenerator(data) {
return await request({
- url: 'CodeGenerator/Generate',
- method: 'get',
- params: data,
+ url: '/tool/gen/Generate',
+ method: 'post',
+ data: data,
timeout: 0,
})
}
+
+/**
+ * 获取表格列信息
+ * @param {*} data
+ * @returns
+ */
+export function queryColumnInfo(data) {
+ return request({
+ url: 'tool/gen/queryColumnInfo',
+ method: 'GET',
+ params: data,
+ })
+}
+
/**
*
* 数据库解密
diff --git a/ZR.Vue/src/views/demo.vue b/ZR.Vue/src/views/demo.vue
index 4d03edb..51f7a1e 100644
--- a/ZR.Vue/src/views/demo.vue
+++ b/ZR.Vue/src/views/demo.vue
@@ -36,13 +36,13 @@
- 新增
+ 新增
- 修改
+ 修改
- 删除
+ 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 标签
+
+
+
详情
- 编辑
+ 编辑
- 删除
+ 删除
@@ -84,57 +87,35 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{dict.dictLabel}}
+
+
+
+
+
+
+
+
+
diff --git a/ZRAdmin.xml b/ZRAdmin.xml
index 521037d..fe02fe5 100644
--- a/ZRAdmin.xml
+++ b/ZRAdmin.xml
@@ -47,14 +47,19 @@
分页信息
-
+
+
+ 获取表格列
+
+
+
+
+
+
代码生成器
-
- 要生成代码的表
- 项目命名空间
- 要删除表名的字符串用英文逗号","隔开
+ 数据传输对象