diff --git a/ZR.Admin.WebApi/Template/ControllersTemplate.txt b/ZR.Admin.WebApi/Template/ControllersTemplate.txt
index e805591..6d8d8b2 100644
--- a/ZR.Admin.WebApi/Template/ControllersTemplate.txt
+++ b/ZR.Admin.WebApi/Template/ControllersTemplate.txt
@@ -22,90 +22,90 @@ namespace ZRAdmin.Controllers
///
[Verify]
- [Route("bus/<#=ModelName#>")]
- public class <#=ControllerName#>Controller: BaseController
+ [Route("bus/{ModelName}")]
+ public class {ControllerName}Controller: BaseController
{
///
- /// <#=FileName#>接口
+ /// {FileName}接口
///
- private readonly I<#=ServiceName#> _<#=ServiceName#>;
+ private readonly I{ServiceName} _{ServiceName};
- public <#=ControllerName#>Controller(I<#=ServiceName#> <#=ServiceName#>)
+ public {ControllerName}Controller(I{ServiceName} {ServiceName})
{
- _<#=ServiceName#> = <#=ServiceName#>;
+ _{ServiceName} = {ServiceName};
}
///
- /// 查询<#=FileName#>列表
+ /// 查询{FileName}列表
///
///
[HttpGet("list")]
- [ActionPermissionFilter(Permission = "<#=Permission#>:list")]
- public IActionResult Query([FromQuery] <#=ModelName#>QueryDto parm)
+ [ActionPermissionFilter(Permission = "{Permission}:list")]
+ public IActionResult Query([FromQuery] {ModelName}QueryDto parm)
{
//开始拼装查询条件
- var predicate = Expressionable.Create<<#=ModelName#>>();
+ var predicate = Expressionable.Create<{ModelName}>();
//TODO 搜索条件
//predicate = predicate.And(m => m.Name.Contains(parm.Name));
- var response = _<#=ServiceName#>.GetPages(predicate.ToExpression(), parm);
+ var response = _{ServiceName}.GetPages(predicate.ToExpression(), parm);
return SUCCESS(response);
}
///
- /// 查询<#=FileName#>详情
+ /// 查询{FileName}详情
///
///
///
[HttpGet("{{primaryKey}}")]
- [ActionPermissionFilter(Permission = "<#=Permission#>:query")]
+ [ActionPermissionFilter(Permission = "{Permission}:query")]
public IActionResult Get({KeyTypeName} {primaryKey})
{
- var response = _<#=ServiceName#>.GetId({primaryKey});
+ var response = _{ServiceName}.GetId({primaryKey});
return SUCCESS(response);
}
///
- /// 添加<#=FileName#>
+ /// 添加{FileName}
///
///
[HttpPost]
- [ActionPermissionFilter(Permission = "<#=Permission#>:add")]
- [Log(Title = "<#=FileName#>添加", BusinessType = BusinessType.INSERT)]
- public IActionResult Create([FromBody] <#=ModelName#>Dto parm)
+ [ActionPermissionFilter(Permission = "{Permission}:add")]
+ [Log(Title = "{FileName}添加", BusinessType = BusinessType.INSERT)]
+ public IActionResult Create([FromBody] {ModelName}Dto parm)
{
if (parm == null)
{
throw new CustomException("请求参数错误");
}
//从 Dto 映射到 实体
- var addModel = parm.Adapt<<#=ModelName#>>().ToCreate();
+ var addModel = parm.Adapt<{ModelName}>().ToCreate();
//addModel.CreateID = User.Identity.Name;
- return SUCCESS(_<#=ServiceName#>.Add(addModel));
+ return SUCCESS(_{ServiceName}.Add(addModel));
}
///
- /// 更新<#=FileName#>
+ /// 更新{FileName}
///
///
[HttpPut]
- [ActionPermissionFilter(Permission = "<#=Permission#>:update")]
- [Log(Title = "<#=FileName#>修改", BusinessType = BusinessType.UPDATE)]
- public IActionResult Update([FromBody] <#=ModelName#>Dto parm)
+ [ActionPermissionFilter(Permission = "{Permission}:update")]
+ [Log(Title = "{FileName}修改", BusinessType = BusinessType.UPDATE)]
+ public IActionResult Update([FromBody] {ModelName}Dto parm)
{
if (parm == null)
{
throw new CustomException("请求实体不能为空");
}
//从 Dto 映射到 实体
- var updateModel = parm.Adapt<<#=ModelName#>>().ToCreate();
+ var updateModel = parm.Adapt<{ModelName}>().ToCreate();
//updateModel.CreateID = User.Identity.Name;
- var response = _<#=ServiceName#>.Update(w => w.{primaryKey} == updateModel.{primaryKey}, it => new <#=ModelName#>()
+ var response = _{ServiceName}.Update(w => w.{primaryKey} == updateModel.{primaryKey}, it => new {ModelName}()
{
//TODO 字段映射
{updateColumn}
@@ -115,18 +115,18 @@ namespace ZRAdmin.Controllers
}
///
- /// 删除<#=FileName#>
+ /// 删除{FileName}
///
///
[HttpDelete("{{primaryKey}}")]
- [ActionPermissionFilter(Permission = "<#=Permission#>:delete")]
- [Log(Title = "<#=FileName#>删除", BusinessType = BusinessType.DELETE)]
+ [ActionPermissionFilter(Permission = "{Permission}:delete")]
+ [Log(Title = "{FileName}删除", BusinessType = BusinessType.DELETE)]
public IActionResult Delete({KeyTypeName} {primaryKey} = 0)
{
if ({primaryKey} <= 0) { return OutputJson(ApiResult.Error($"删除失败Id 不能为空")); }
- // 删除<#=FileName#>
- var response = _<#=ServiceName#>.Delete({primaryKey});
+ // 删除{FileName}
+ var response = _{ServiceName}.Delete({primaryKey});
return SUCCESS(response);
}
diff --git a/ZR.Admin.WebApi/Template/VueTemplate.txt b/ZR.Admin.WebApi/Template/VueTemplate.txt
index 7605e85..421fa82 100644
--- a/ZR.Admin.WebApi/Template/VueTemplate.txt
+++ b/ZR.Admin.WebApi/Template/VueTemplate.txt
@@ -223,18 +223,6 @@ export default {
}
});
},
- // 详情
- handleView(row) {
- this.open = true;
- this.title = "详情";
- // TODO 给表单赋值
- this.form = {
- content: row.content,
- userId: row.userId,
- name: row.name,
- sortId: row.sortId,
- };
- }
},
};
diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs
index 3912cae..3896d0d 100644
--- a/ZR.CodeGenerator/CodeGeneratorTool.cs
+++ b/ZR.CodeGenerator/CodeGeneratorTool.cs
@@ -272,7 +272,7 @@ namespace ZR.CodeGenerator
/// 数据库表实体内容
/// 主键数据类型
/// 如果目标文件存在,是否覆盖。默认为false
- private static void GenerateModels(string modelsNamespace, string modelTypeName, string tableName, string modelContent, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false)
+ private static Tuple GenerateModels(string modelsNamespace, string modelTypeName, string tableName, string modelContent, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false)
{
var parentPath = "..";
//../ZR.Model
@@ -285,7 +285,7 @@ namespace ZR.CodeGenerator
var fullPath = servicesPath + modelTypeName + ".cs";
Console.WriteLine(fullPath);
if (File.Exists(fullPath) && !ifExsitedCovered)
- return;
+ return Tuple.Create(fullPath, "");
var content = ReadTemplate("ModelTemplate.txt");
content = content
.Replace("{ModelsNamespace}", modelsNamespace)
@@ -295,6 +295,7 @@ namespace ZR.CodeGenerator
.Replace("{PropertyName}", modelContent)
.Replace("{TableName}", tableName);
WriteAndSave(fullPath, content);
+ return Tuple.Create(fullPath, content);
}
@@ -307,7 +308,7 @@ namespace ZR.CodeGenerator
///
///
/// 如果目标文件存在,是否覆盖。默认为false
- private static void GenerateInputDto(string modelsNamespace, string modelTypeName, string modelTypeDesc, string modelContent, string keyTypeName, bool ifExsitedCovered = false)
+ private static Tuple GenerateInputDto(string modelsNamespace, string modelTypeName, string modelTypeDesc, string modelContent, string keyTypeName, bool ifExsitedCovered = false)
{
var parentPath = "..";
var servicesPath = parentPath + "\\" + modelsNamespace + "\\Dto\\";
@@ -319,7 +320,7 @@ namespace ZR.CodeGenerator
var fullPath = servicesPath + modelTypeName + "Dto.cs";
Console.WriteLine(fullPath);
if (File.Exists(fullPath) && !ifExsitedCovered)
- return;
+ return Tuple.Create(fullPath, ""); ;
var content = ReadTemplate("InputDtoTemplate.txt");
content = content
.Replace("{DtosNamespace}", _option.DtosNamespace)
@@ -329,6 +330,7 @@ namespace ZR.CodeGenerator
.Replace("{PropertyName}", modelContent)
.Replace("{ModelTypeName}", modelTypeName);
WriteAndSave(fullPath, content);
+ return Tuple.Create(fullPath, content);
}
#endregion
@@ -342,7 +344,7 @@ namespace ZR.CodeGenerator
/// 表名
///
/// 如果目标文件存在,是否覆盖。默认为false
- private static void GenerateRepository(string modelTypeName, string modelTypeDesc, string tableName, string keyTypeName, bool ifExsitedCovered = false)
+ private static Tuple GenerateRepository(string modelTypeName, string modelTypeDesc, string tableName, string keyTypeName, bool ifExsitedCovered = false)
{
var parentPath = "..";
var repositoryPath = parentPath + "\\" + _option.RepositoriesNamespace + "\\Repositories\\";
@@ -353,7 +355,7 @@ namespace ZR.CodeGenerator
var fullPath = repositoryPath + "\\" + modelTypeName + "Repository.cs";
Console.WriteLine(fullPath);
if (File.Exists(fullPath) && !ifExsitedCovered)
- return;
+ return Tuple.Create(fullPath, "");
var content = ReadTemplate("RepositoryTemplate.txt");
content = content.Replace("{ModelsNamespace}", _option.ModelsNamespace)
//.Replace("{IRepositoriesNamespace}", _option.IRepositoriesNamespace)
@@ -363,6 +365,7 @@ namespace ZR.CodeGenerator
.Replace("{TableName}", tableName)
.Replace("{KeyTypeName}", keyTypeName);
WriteAndSave(fullPath, content);
+ return Tuple.Create(fullPath, content);
}
#endregion
@@ -376,7 +379,7 @@ namespace ZR.CodeGenerator
///
///
/// 如果目标文件存在,是否覆盖。默认为false
- private static void GenerateIService(string modelsNamespace, string modelTypeName, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false)
+ private static Tuple GenerateIService(string modelsNamespace, string modelTypeName, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false)
{
var parentPath = "..";
var iServicesPath = parentPath + "\\" + _option.IServicsNamespace + "\\Business\\IBusService\\";
@@ -387,7 +390,7 @@ namespace ZR.CodeGenerator
var fullPath = $"{iServicesPath}\\I{modelTypeName}Service.cs";
Console.WriteLine(fullPath);
if (File.Exists(fullPath) && !ifExsitedCovered)
- return;
+ return Tuple.Create(fullPath, "");
var content = ReadTemplate("IServiceTemplate.txt");
content = content.Replace("{ModelsNamespace}", modelsNamespace)
.Replace("{TableNameDesc}", modelTypeDesc)
@@ -397,6 +400,7 @@ namespace ZR.CodeGenerator
.Replace("{ModelTypeName}", modelTypeName)
.Replace("{KeyTypeName}", keyTypeName);
WriteAndSave(fullPath, content);
+ return Tuple.Create(fullPath, content);
}
///
@@ -407,7 +411,7 @@ namespace ZR.CodeGenerator
///
///
/// 如果目标文件存在,是否覆盖。默认为false
- private static void GenerateService(string modelsNamespace, string modelTypeName, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false)
+ private static Tuple GenerateService(string modelsNamespace, string modelTypeName, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false)
{
var parentPath = "..";
var servicesPath = parentPath + "\\" + _option.ServicesNamespace + "\\Business\\";
@@ -418,7 +422,7 @@ namespace ZR.CodeGenerator
var fullPath = servicesPath + modelTypeName + "Service.cs";
Console.WriteLine(fullPath);
if (File.Exists(fullPath) && !ifExsitedCovered)
- return;
+ return Tuple.Create(fullPath, "");
var content = ReadTemplate("ServiceTemplate.txt");
content = content
.Replace("{IRepositoriesNamespace}", _option.IRepositoriesNamespace)
@@ -430,6 +434,7 @@ namespace ZR.CodeGenerator
.Replace("{ModelTypeName}", modelTypeName)
.Replace("{KeyTypeName}", keyTypeName);
WriteAndSave(fullPath, content);
+ return Tuple.Create(fullPath, content);
}
#endregion
@@ -443,7 +448,7 @@ namespace ZR.CodeGenerator
/// 实体描述
///
/// 如果目标文件存在,是否覆盖。默认为false
- private static void GenerateControllers(string modelTypeName, string primaryKey, string modelTypeDesc, string keyTypeName, string updateColumn, bool ifExsitedCovered = false)
+ private static Tuple GenerateControllers(string modelTypeName, string primaryKey, string modelTypeDesc, string keyTypeName, string updateColumn, bool ifExsitedCovered = false)
{
var parentPath = "..";
var servicesPath = parentPath + "\\" + _option.ApiControllerNamespace + "\\Controllers\\business\\";
@@ -454,20 +459,21 @@ namespace ZR.CodeGenerator
var fullPath = servicesPath + modelTypeName + "Controller.cs";
Console.WriteLine(fullPath);
if (File.Exists(fullPath) && !ifExsitedCovered)
- return;
+ return Tuple.Create(fullPath, "");
var content = ReadTemplate("ControllersTemplate.txt");
content = content
//.Replace("{DtosNamespace}", _option.DtosNamespace)
- .Replace("<#=ControllerName#>", modelTypeName)
+ .Replace("{ControllerName}", modelTypeName)
.Replace("{ModelsNamespace}", _option.ModelsNamespace)
- .Replace("<#=FileName#>", modelTypeDesc)
- .Replace("<#=ServiceName#>", modelTypeName + "Service")
- .Replace("<#=ModelName#>", modelTypeName)
- .Replace("<#=Permission#>", modelTypeName.ToLower())
+ .Replace("{FileName}", modelTypeDesc)
+ .Replace("{ServiceName}", modelTypeName + "Service")
+ .Replace("{ModelName}", modelTypeName)
+ .Replace("{Permission}", modelTypeName.ToLower())
.Replace("{primaryKey}", primaryKey)
.Replace("{updateColumn}", updateColumn)
.Replace("{KeyTypeName}", keyTypeName);
WriteAndSave(fullPath, content);
+ return Tuple.Create(fullPath, content);
}
#endregion
@@ -484,7 +490,7 @@ namespace ZR.CodeGenerator
///
///
/// 如果目标文件存在,是否覆盖。默认为false
- private static void GenerateVueViews(string modelTypeName, string primaryKey, string modelTypeDesc, string vueViewListContent, string vueViewFromContent, string vueViewEditFromContent, string vueViewEditFromBindContent, string vueViewSaveBindContent, string vueViewEditFromRuleContent, bool ifExsitedCovered = false)
+ private static Tuple GenerateVueViews(string modelTypeName, string primaryKey, string modelTypeDesc, string vueViewListContent, string vueViewFromContent, string vueViewEditFromContent, string vueViewEditFromBindContent, string vueViewSaveBindContent, string vueViewEditFromRuleContent, bool ifExsitedCovered = false)
{
//var parentPath = "..\\CodeGenerate";//若要生成到项目中将路径改成 “..\\ZR.Vue\\src”
var parentPath = "..\\ZR.Vue\\src";
@@ -496,7 +502,7 @@ namespace ZR.CodeGenerator
var fullPath = servicesPath + "\\" + "index.vue";
Console.WriteLine(fullPath);
if (File.Exists(fullPath) && !ifExsitedCovered)
- return;
+ return Tuple.Create(fullPath, ""); ;
var content = ReadTemplate("VueTemplate.txt");
content = content
.Replace("{fileClassName}", FirstLowerCase(modelTypeName))
@@ -517,13 +523,14 @@ namespace ZR.CodeGenerator
fullPath = servicesPath + "\\" + FirstLowerCase(modelTypeName) + ".js";
Console.WriteLine(fullPath);
if (File.Exists(fullPath) && !ifExsitedCovered)
- return;
+ return Tuple.Create(fullPath, "");
content = ReadTemplate("VueJsTemplate.txt");
content = content
.Replace("{ModelTypeName}", modelTypeName)
.Replace("{ModelTypeDesc}", modelTypeDesc);
//.Replace("{fileClassName}", fileClassName)
WriteAndSave(fullPath, content);
+ return Tuple.Create(fullPath, content);
}
#endregion