mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-11-07 18:04:45 +08:00
fix: 强化代码生成器
This commit is contained in:
@@ -280,6 +280,43 @@ namespace OpenAuth.App
|
|||||||
|
|
||||||
CheckExistsModule(sysTableInfo.ModuleCode);
|
CheckExistsModule(sysTableInfo.ModuleCode);
|
||||||
|
|
||||||
|
string updateColumns = string.Empty;
|
||||||
|
string insertColumns = string.Empty;
|
||||||
|
foreach (var column in sysColumns)
|
||||||
|
{
|
||||||
|
if(column.ColumnName.ToLower() == "id")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(column.ColumnName.ToLower() == "createtime" || column.ColumnName.ToLower() == "updatetime")
|
||||||
|
{
|
||||||
|
updateColumns += $" {column.ColumnName} = DateTime.Now,";
|
||||||
|
insertColumns += $" obj.{column.ColumnName} = DateTime.Now;";
|
||||||
|
updateColumns += "\r\n";
|
||||||
|
insertColumns += "\r\n";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(column.ColumnName.ToLower() == "createuserid" || column.ColumnName.ToLower() == "updateuserid")
|
||||||
|
{
|
||||||
|
updateColumns += $" {column.ColumnName} = user.Id,";
|
||||||
|
insertColumns += $" obj.{column.ColumnName} = user.Id;";
|
||||||
|
updateColumns += "\r\n";
|
||||||
|
insertColumns += "\r\n";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(column.ColumnName.ToLower() == "createusername" || column.ColumnName.ToLower() == "updateusername")
|
||||||
|
{
|
||||||
|
updateColumns += $" {column.ColumnName} = user.Name,";
|
||||||
|
insertColumns += $" obj.{column.ColumnName} = user.Name;";
|
||||||
|
updateColumns += "\r\n";
|
||||||
|
insertColumns += "\r\n";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//insert有map函数,所以不需要处理,只处理update即可
|
||||||
|
updateColumns += $" {column.ColumnName} = request.{column.ColumnName},";
|
||||||
|
updateColumns += "\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
string domainContent = string.Empty;
|
string domainContent = string.Empty;
|
||||||
//查找是否存在子表的情况
|
//查找是否存在子表的情况
|
||||||
var subTable = Repository.FirstOrDefault(u => u.ParentTableId == sysTableInfo.Id);
|
var subTable = Repository.FirstOrDefault(u => u.ParentTableId == sysTableInfo.Id);
|
||||||
@@ -300,6 +337,8 @@ namespace OpenAuth.App
|
|||||||
.Replace("{ModuleCode}", sysTableInfo.ModuleCode)
|
.Replace("{ModuleCode}", sysTableInfo.ModuleCode)
|
||||||
.Replace("{ModuleName}", sysTableInfo.ModuleName)
|
.Replace("{ModuleName}", sysTableInfo.ModuleName)
|
||||||
.Replace("{ClassName}", sysTableInfo.ClassName)
|
.Replace("{ClassName}", sysTableInfo.ClassName)
|
||||||
|
.Replace("{UpdateColumns}", updateColumns)
|
||||||
|
.Replace("{InsertColumns}", insertColumns)
|
||||||
.Replace("{StartName}", StratName);
|
.Replace("{StartName}", StratName);
|
||||||
|
|
||||||
//如果有外键(是一个子表)
|
//如果有外键(是一个子表)
|
||||||
@@ -334,6 +373,8 @@ namespace OpenAuth.App
|
|||||||
.Replace("{SubForeignKey}", subTable.ForeignKey)
|
.Replace("{SubForeignKey}", subTable.ForeignKey)
|
||||||
.Replace("{SubClassName}", subTable.ClassName)
|
.Replace("{SubClassName}", subTable.ClassName)
|
||||||
.Replace("{SubModuleCode}", subTable.ModuleCode)
|
.Replace("{SubModuleCode}", subTable.ModuleCode)
|
||||||
|
.Replace("{UpdateColumns}", updateColumns)
|
||||||
|
.Replace("{InsertColumns}", insertColumns)
|
||||||
.Replace("{StartName}", StratName);
|
.Replace("{StartName}", StratName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,11 +43,9 @@ namespace OpenAuth.App
|
|||||||
public void Add(AddOrUpdate{ClassName}Req request)
|
public void Add(AddOrUpdate{ClassName}Req request)
|
||||||
{
|
{
|
||||||
var obj = request.MapTo<{ClassName}>();
|
var obj = request.MapTo<{ClassName}>();
|
||||||
//todo:补充或调整自己需要的字段
|
|
||||||
obj.CreateTime = DateTime.Now;
|
|
||||||
var user = _auth.GetCurrentUser().User;
|
var user = _auth.GetCurrentUser().User;
|
||||||
obj.CreateUserId = user.Id;
|
//todo:补充或调整自己需要的字段
|
||||||
obj.CreateUserName = user.Name;
|
{InsertColumns}
|
||||||
if(obj.KeyIsNull()) //如果主键为空,则生成默认值
|
if(obj.KeyIsNull()) //如果主键为空,则生成默认值
|
||||||
{
|
{
|
||||||
obj.GenerateDefaultKeyVal();
|
obj.GenerateDefaultKeyVal();
|
||||||
@@ -92,9 +90,7 @@ namespace OpenAuth.App
|
|||||||
}
|
}
|
||||||
Repository.Update(u => new {ClassName}
|
Repository.Update(u => new {ClassName}
|
||||||
{
|
{
|
||||||
UpdateTime = DateTime.Now,
|
{UpdateColumns}
|
||||||
UpdateUserId = user.Id,
|
|
||||||
UpdateUserName = user.Name
|
|
||||||
//todo:补充或调整自己需要的字段
|
//todo:补充或调整自己需要的字段
|
||||||
}, u => u.Id == request.Id);
|
}, u => u.Id == request.Id);
|
||||||
SugarClient.Ado.CommitTran();
|
SugarClient.Ado.CommitTran();
|
||||||
|
|||||||
@@ -48,11 +48,9 @@ namespace OpenAuth.App
|
|||||||
public void Add(AddOrUpdate{ClassName}Req request)
|
public void Add(AddOrUpdate{ClassName}Req request)
|
||||||
{
|
{
|
||||||
var obj = request.MapTo<{ClassName}>();
|
var obj = request.MapTo<{ClassName}>();
|
||||||
//todo:补充或调整自己需要的字段
|
|
||||||
obj.CreateTime = DateTime.Now;
|
|
||||||
var user = _auth.GetCurrentUser().User;
|
var user = _auth.GetCurrentUser().User;
|
||||||
obj.CreateUserId = user.Id;
|
//todo:补充或调整自己需要的字段
|
||||||
obj.CreateUserName = user.Name;
|
{InsertColumns}
|
||||||
if(obj.KeyIsNull()) //如果主键为空,则生成默认值
|
if(obj.KeyIsNull()) //如果主键为空,则生成默认值
|
||||||
{
|
{
|
||||||
obj.GenerateDefaultKeyVal();
|
obj.GenerateDefaultKeyVal();
|
||||||
@@ -97,9 +95,7 @@ namespace OpenAuth.App
|
|||||||
}
|
}
|
||||||
Repository.Update(u => new {ClassName}
|
Repository.Update(u => new {ClassName}
|
||||||
{
|
{
|
||||||
UpdateTime = DateTime.Now,
|
{UpdateColumns}
|
||||||
UpdateUserId = user.Id,
|
|
||||||
UpdateUserName = user.Name
|
|
||||||
//todo:补充或调整自己需要的字段
|
//todo:补充或调整自己需要的字段
|
||||||
}, u => u.Id == request.Id);
|
}, u => u.Id == request.Id);
|
||||||
SugarClient.Ado.CommitTran();
|
SugarClient.Ado.CommitTran();
|
||||||
|
|||||||
@@ -46,31 +46,26 @@ namespace OpenAuth.App
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Add(AddOrUpdate{ClassName}Req req)
|
public void Add(AddOrUpdate{ClassName}Req request)
|
||||||
{
|
{
|
||||||
var obj = req.MapTo<{ClassName}>();
|
var obj = request.MapTo<{ClassName}>();
|
||||||
|
var user = _auth.GetCurrentUser().User;
|
||||||
|
//todo:补充或调整自己需要的字段
|
||||||
|
{InsertColumns}
|
||||||
if(obj.KeyIsNull()) //如果主键为空,则生成默认值
|
if(obj.KeyIsNull()) //如果主键为空,则生成默认值
|
||||||
{
|
{
|
||||||
obj.GenerateDefaultKeyVal();
|
obj.GenerateDefaultKeyVal();
|
||||||
}
|
}
|
||||||
//todo: 根据业务需要调整字段
|
|
||||||
obj.Createtime = DateTime.Now;
|
|
||||||
var user = _auth.GetCurrentUser().User;
|
|
||||||
obj.Createuserid = user.Id;
|
|
||||||
obj.Createusername = user.Name;
|
|
||||||
Repository.Insert(obj);
|
Repository.Insert(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Update(AddOrUpdate{ClassName}Req obj)
|
public void Update(AddOrUpdate{ClassName}Req request)
|
||||||
{
|
{
|
||||||
var user = _auth.GetCurrentUser().User;
|
var user = _auth.GetCurrentUser().User;
|
||||||
Repository.Update(u => new {ClassName}
|
Repository.Update(u => new {ClassName}
|
||||||
{
|
{
|
||||||
//todo: 根据业务需要调整字段
|
{UpdateColumns}
|
||||||
Updatetime = DateTime.Now,
|
},u => u.Id == request.Id);
|
||||||
Updateuserid = user.Id,
|
|
||||||
Updateusername = user.Name
|
|
||||||
},u => u.Id == obj.Id);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,32 +52,27 @@ namespace OpenAuth.App
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Add(AddOrUpdate{ClassName}Req req)
|
public void Add(AddOrUpdate{ClassName}Req request)
|
||||||
{
|
{
|
||||||
var obj = req.MapTo<{ClassName}>();
|
var obj = request.MapTo<{ClassName}>();
|
||||||
|
var user = _auth.GetCurrentUser().User;
|
||||||
|
//todo:补充或调整自己需要的字段
|
||||||
|
{InsertColumns}
|
||||||
if(obj.KeyIsNull()) //如果主键为空,则生成默认值
|
if(obj.KeyIsNull()) //如果主键为空,则生成默认值
|
||||||
{
|
{
|
||||||
obj.GenerateDefaultKeyVal();
|
obj.GenerateDefaultKeyVal();
|
||||||
}
|
}
|
||||||
//todo: 根据业务需要调整字段
|
|
||||||
obj.Createtime = DateTime.Now;
|
|
||||||
var user = _auth.GetCurrentUser().User;
|
|
||||||
obj.Createuserid = user.Id;
|
|
||||||
obj.Createusername = user.Name;
|
|
||||||
Repository.Insert(obj);
|
Repository.Insert(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Update(AddOrUpdate{ClassName}Req obj)
|
public void Update(AddOrUpdate{ClassName}Req request)
|
||||||
{
|
{
|
||||||
var user = _auth.GetCurrentUser().User;
|
var user = _auth.GetCurrentUser().User;
|
||||||
Repository.Update(u => new {ClassName}
|
Repository.Update(u => new {ClassName}
|
||||||
{
|
{
|
||||||
//todo: 根据业务需要调整字段
|
//todo: 根据业务需要调整字段
|
||||||
Name = obj.Name,
|
{UpdateColumns}
|
||||||
Updatetime = DateTime.Now,
|
},u => u.Id == request.Id);
|
||||||
Updateuserid = user.Id,
|
|
||||||
Updateusername = user.Name
|
|
||||||
},u => u.Id == obj.Id);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ permalink: /pro/devnewmulti/
|
|||||||
|
|
||||||
## 准备工作
|
## 准备工作
|
||||||
|
|
||||||
* 数据库OpenAuthPro中添加父表ParentTable,子表ChildTable,本文以该数据表为例。参考表结构如下:
|
本文以mysql数据库为例,在openauthpro数据库中添加父表parenttable、子表childtable,参考表结构如下:
|
||||||
|
|
||||||
```SQL
|
```SQL
|
||||||
CREATE TABLE `parenttable` (
|
CREATE TABLE `parenttable` (
|
||||||
`id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '父表ID',
|
`id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '父表ID',
|
||||||
@@ -18,12 +19,12 @@ CREATE TABLE `parenttable` (
|
|||||||
`status` int(11) NOT NULL COMMENT '状态',
|
`status` int(11) NOT NULL COMMENT '状态',
|
||||||
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
|
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
|
||||||
|
|
||||||
`CreateTime` datetime NOT NULL COMMENT '创建时间',
|
`createtime` datetime NOT NULL COMMENT '创建时间',
|
||||||
`CreateUserId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人ID',
|
`createuserid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人ID',
|
||||||
`CreateUserName` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人',
|
`createusername` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人',
|
||||||
`UpdateTime` datetime NULL DEFAULT NULL COMMENT '最后更新时间',
|
`updatetime` datetime NULL DEFAULT NULL COMMENT '最后更新时间',
|
||||||
`UpdateUserId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人ID',
|
`updateuserid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人ID',
|
||||||
`UpdateUserName` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人',
|
`updateusername` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人',
|
||||||
`orgid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门',
|
`orgid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门',
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '父表' ROW_FORMAT = DYNAMIC;
|
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '父表' ROW_FORMAT = DYNAMIC;
|
||||||
@@ -41,13 +42,13 @@ CREATE TABLE `childtable` (
|
|||||||
`proddate` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生产日期',
|
`proddate` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生产日期',
|
||||||
`expiredate` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '失效日期',
|
`expiredate` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '失效日期',
|
||||||
|
|
||||||
`CreateTime` datetime NOT NULL COMMENT '创建时间',
|
`createtime` datetime NOT NULL COMMENT '创建时间',
|
||||||
`CreateUserId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人ID',
|
`createuserid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人ID',
|
||||||
`CreateUserName` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人',
|
`createusername` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建人',
|
||||||
`UpdateTime` datetime NULL DEFAULT NULL COMMENT '最后更新时间',
|
`updatetime` datetime NULL DEFAULT NULL COMMENT '最后更新时间',
|
||||||
`UpdateUserId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人ID',
|
`updateuserid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人ID',
|
||||||
`UpdateUserName` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人',
|
`updateusername` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最后更新人',
|
||||||
PRIMARY KEY (`id`, `parentid`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '子表' ROW_FORMAT = DYNAMIC;
|
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '子表' ROW_FORMAT = DYNAMIC;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user