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 @@ 分页信息 - + + + 获取表格列 + + + + + + 代码生成器 - - 要生成代码的表 - 项目命名空间 - 要删除表名的字符串用英文逗号","隔开 + 数据传输对象