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