diff --git a/assets/res/Fields.ln b/assets/res/Fields.ln
index d42bcc60..52e35857 100644
--- a/assets/res/Fields.ln
+++ b/assets/res/Fields.ln
@@ -1,3 +1,7 @@
+上次执行时间
+上次执行状态
+上次执行耗时
+下次执行时间
不为其中之一
不以什么开始
不以什么结束
@@ -8,8 +12,11 @@
中专
中共党员
为其中之一
+人工审核
以什么开始
以什么结束
+作业名称
+作业状态
保密
信息
倒序排序
@@ -17,6 +24,7 @@
公告
共青团员
出生证
+创建时间
初中
删除
包含
@@ -24,13 +32,19 @@
博士后
发送失败
同步数据库结构
+响应体
+响应状态码
+唯一编码
+备注
外国人居留证
外部错误
大专
大于
大于等于
女
+字典内容导出
宕机
+客户端IP
小于
小于等于
小学
@@ -41,14 +55,29 @@
并且
成功
或者
+所属角色
+所属部门
手机
+手机号
+执行耗时
+执行计划
护照
指定部门数据
按钮
+排序
+接口名称
+接口导出
+接口描述
+接口路径
插入种子数据
+操作系统
+数据范围
无效操作
无效输入
+无限权限
日期范围
+是否启用
+显示仪表板
未处理异常
未婚
未读
@@ -59,13 +88,21 @@
框架
比较数据库结构
注册
+消息主题
+消息摘要
+消息类型
港澳台通行证
+用户代理
+用户名
+用户导出
电子邮箱
男
登录
硕士
+示例导出
离异
空闲
+站内信导出
等于
等待发送
管理模块
@@ -76,16 +113,30 @@
自定义
范围
菜单
+角色名称
+角色导出
解绑手机号码
警告
+计划作业导出
+计划作业执行记录导出
+请求方式
+请求日志导出
调试
跟踪
身份证
运行
通知
+邮箱号
+部门名称
+部门导出
+配置导出
重设密码
链接
错误
随机排序
+项值
+项名
顺序排序
-高中
\ No newline at end of file
+高中
+默认角色
+默认部门
\ No newline at end of file
diff --git a/assets/res/Statements.ln b/assets/res/Statements.ln
index 9265dfc6..ca76f9c1 100644
--- a/assets/res/Statements.ln
+++ b/assets/res/Statements.ln
@@ -93,6 +93,7 @@ XML注释文件不存在
配置文件初始化完毕
键值不能为空
键名称不能为空
+非JSON字符串
验证数据不能为空
验证码不正确
验证码不能为空
diff --git a/assets/seed-data/Sys_Role.json b/assets/seed-data/Sys_Role.json
index 32e91bf3..ffae04c6 100644
--- a/assets/seed-data/Sys_Role.json
+++ b/assets/seed-data/Sys_Role.json
@@ -9,7 +9,7 @@
"Sort": 100
},
{
- "DataScope": 1,
+ "DataScope": 4,
"Enabled": true,
"Id": 371729946431493,
"Name": "普通用户",
diff --git a/assets/seed-data/Sys_RoleMenu.json b/assets/seed-data/Sys_RoleMenu.json
index 1d33ef9e..85c84e93 100644
--- a/assets/seed-data/Sys_RoleMenu.json
+++ b/assets/seed-data/Sys_RoleMenu.json
@@ -1,11 +1,9 @@
[
{
- "Id": 396423792566281,
"MenuId": 373837717815301,
"RoleId": 371729946431493
},
{
- "Id": 396423792566282,
"MenuId": 374967228141573,
"RoleId": 371729946431493
}
diff --git a/assets/seed-data/Sys_UserProfile.json b/assets/seed-data/Sys_UserProfile.json
index 6944b9d8..9159fbe7 100644
--- a/assets/seed-data/Sys_UserProfile.json
+++ b/assets/seed-data/Sys_UserProfile.json
@@ -1,8 +1,10 @@
[
{
- "Id": 370942943322181
+ "Id": 370942943322181,
+ "AppConfig": "[]"
},
{
- "Id": 560217289236492
+ "Id": 560217289236492,
+ "AppConfig": "[]"
}
]
\ No newline at end of file
diff --git a/build/code.quality.props b/build/code.quality.props
index da9595a1..5e411972 100644
--- a/build/code.quality.props
+++ b/build/code.quality.props
@@ -23,7 +23,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/scripts/rename.csx b/scripts/rename.csx
index 83db1b63..d0b2029f 100644
--- a/scripts/rename.csx
+++ b/scripts/rename.csx
@@ -1,4 +1,4 @@
-#r "nuget: NSExt, 2.1.0"
+#r "nuget: NSExt, 2.2.0"
using NSExt.Extensions;
Console.WriteLine("请输入原始名称(NetAdmin):");
diff --git a/scripts/switcher.nsext.json b/scripts/switcher.nsext.json
index a861af95..301f0370 100644
--- a/scripts/switcher.nsext.json
+++ b/scripts/switcher.nsext.json
@@ -9,7 +9,7 @@
"packages": [
{
"packageName": "NSExt",
- "version": "2.1.0"
+ "version": "2.2.0"
}
]
}
diff --git a/src/backend/GlobalUsings.cs b/src/backend/GlobalUsings.cs
index 77dbb519..49e22f41 100644
--- a/src/backend/GlobalUsings.cs
+++ b/src/backend/GlobalUsings.cs
@@ -65,6 +65,13 @@ global using NetAdmin.Infrastructure.Utils;
global using NSExt.Attributes;
global using NSExt.Extensions;
#if !INFRAS
+global using CsvHelper.Configuration.Attributes;
+global using NetAdmin.Domain.Attributes;
+global using NetAdmin.Domain.Attributes.DataValidation;
+global using NetAdmin.Domain.DbMaps.Dependency;
+global using NetAdmin.Domain.DbMaps.Dependency.Fields;
+global using NetAdmin.Domain.DbMaps.Sys;
+global using CsvIndex = CsvHelper.Configuration.Attributes.IndexAttribute;
global using DynamicFilterInfo = NetAdmin.Domain.Dto.Dependency.DynamicFilterInfo;
global using DynamicFilterOperators = NetAdmin.Domain.Enums.DynamicFilterOperators;
#endif
\ No newline at end of file
diff --git a/src/backend/NetAdmin.AdmServer.Application/NetAdmin.AdmServer.Application.csproj.DotSettings b/src/backend/NetAdmin.AdmServer.Application/NetAdmin.AdmServer.Application.csproj.DotSettings
new file mode 100644
index 00000000..b8097e57
--- /dev/null
+++ b/src/backend/NetAdmin.AdmServer.Application/NetAdmin.AdmServer.Application.csproj.DotSettings
@@ -0,0 +1,2 @@
+
+ True
\ No newline at end of file
diff --git a/src/backend/NetAdmin.AdmServer.Host/Extensions/ServiceCollectionExtensions.cs b/src/backend/NetAdmin.AdmServer.Host/Extensions/ServiceCollectionExtensions.cs
index ab942d5e..e3a0c98a 100644
--- a/src/backend/NetAdmin.AdmServer.Host/Extensions/ServiceCollectionExtensions.cs
+++ b/src/backend/NetAdmin.AdmServer.Host/Extensions/ServiceCollectionExtensions.cs
@@ -1,6 +1,5 @@
using NetAdmin.AdmServer.Host.Filters;
using NetAdmin.Domain.Contexts;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.Enums.Sys;
using NetAdmin.Host.Extensions;
diff --git a/src/backend/NetAdmin.AdmServer.Tests/AllTests.cs b/src/backend/NetAdmin.AdmServer.Tests/AllTests.cs
index 268697bc..88944ab3 100644
--- a/src/backend/NetAdmin.AdmServer.Tests/AllTests.cs
+++ b/src/backend/NetAdmin.AdmServer.Tests/AllTests.cs
@@ -229,6 +229,14 @@ public class AllTests(WebApplicationFactory factory, ITestOutputHelper
return default;
}
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task CountRecordAsync(QueryReq req)
+ {
+ return default;
+ }
+
///
[InlineData(default)]
[Theory]
@@ -629,6 +637,166 @@ public class AllTests(WebApplicationFactory factory, ITestOutputHelper
return default;
}
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportContentAsync(QueryReq req)
+ {
+ return default;
+ }
+
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task ExportRecordAsync(QueryReq req)
+ {
+ return default;
+ }
+
///
[InlineData(default)]
[Theory]
@@ -920,6 +1088,14 @@ public class AllTests(WebApplicationFactory factory, ITestOutputHelper
return default;
}
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task GetRecordAsync(QueryJobRecordReq req)
+ {
+ return default;
+ }
+
///
[InlineData(default)]
[Theory]
@@ -1154,6 +1330,14 @@ public class AllTests(WebApplicationFactory factory, ITestOutputHelper
return default;
}
+ ///
+ [InlineData(default)]
+ [Theory]
+ public Task> PagedQueryRecordAsync(PagedQueryReq req)
+ {
+ return default;
+ }
+
///
[InlineData(default)]
[Theory]
@@ -1322,22 +1506,6 @@ public class AllTests(WebApplicationFactory factory, ITestOutputHelper
return default;
}
- ///
- [InlineData(default)]
- [Theory]
- public Task RecordGetAsync(QueryJobRecordReq req)
- {
- return default;
- }
-
- ///
- [InlineData(default)]
- [Theory]
- public Task> RecordPagedQueryAsync(PagedQueryReq req)
- {
- return default;
- }
-
///
[InlineData(default)]
[Theory]
diff --git a/src/backend/NetAdmin.AdmServer.Tests/NetAdmin.AdmServer.Tests.csproj b/src/backend/NetAdmin.AdmServer.Tests/NetAdmin.AdmServer.Tests.csproj
index aeb8f972..edf2ba66 100644
--- a/src/backend/NetAdmin.AdmServer.Tests/NetAdmin.AdmServer.Tests.csproj
+++ b/src/backend/NetAdmin.AdmServer.Tests/NetAdmin.AdmServer.Tests.csproj
@@ -4,6 +4,6 @@
-
+
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Application/Modules/ICrudModule.cs b/src/backend/NetAdmin.Application/Modules/ICrudModule.cs
index d7fedfb9..441b4368 100644
--- a/src/backend/NetAdmin.Application/Modules/ICrudModule.cs
+++ b/src/backend/NetAdmin.Application/Modules/ICrudModule.cs
@@ -43,6 +43,11 @@ public interface ICrudModule
Task ExistAsync(QueryReq req);
+ ///
+ /// 导出实体
+ ///
+ Task ExportAsync(QueryReq req);
+
///
/// 获取单个实体
///
diff --git a/src/backend/NetAdmin.Application/Repositories/BasicRepository.cs b/src/backend/NetAdmin.Application/Repositories/BasicRepository.cs
index a9b4f109..3c1651a1 100644
--- a/src/backend/NetAdmin.Application/Repositories/BasicRepository.cs
+++ b/src/backend/NetAdmin.Application/Repositories/BasicRepository.cs
@@ -1,5 +1,4 @@
using NetAdmin.Domain.Contexts;
-using NetAdmin.Domain.DbMaps.Dependency;
namespace NetAdmin.Application.Repositories;
diff --git a/src/backend/NetAdmin.Application/Services/RedLockerService.cs b/src/backend/NetAdmin.Application/Services/RedLockerService.cs
index 1949260d..3f69db2e 100644
--- a/src/backend/NetAdmin.Application/Services/RedLockerService.cs
+++ b/src/backend/NetAdmin.Application/Services/RedLockerService.cs
@@ -1,5 +1,4 @@
using NetAdmin.Application.Repositories;
-using NetAdmin.Domain.DbMaps.Dependency;
using RedLockNet;
namespace NetAdmin.Application.Services;
diff --git a/src/backend/NetAdmin.Application/Services/RepositoryService.cs b/src/backend/NetAdmin.Application/Services/RepositoryService.cs
index 067e394a..414a9cc2 100644
--- a/src/backend/NetAdmin.Application/Services/RepositoryService.cs
+++ b/src/backend/NetAdmin.Application/Services/RepositoryService.cs
@@ -1,6 +1,4 @@
using NetAdmin.Application.Repositories;
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
namespace NetAdmin.Application.Services;
diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/JsonStringAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/JsonStringAttribute.cs
new file mode 100644
index 00000000..fdb2d054
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Attributes/DataValidation/JsonStringAttribute.cs
@@ -0,0 +1,16 @@
+namespace NetAdmin.Domain.Attributes.DataValidation;
+
+///
+/// JSON文本验证器
+///
+[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)]
+public sealed class JsonStringAttribute : ValidationAttribute
+{
+ ///
+ protected override ValidationResult IsValid(object value, ValidationContext validationContext)
+ {
+ return (value as string).IsJsonString()
+ ? ValidationResult.Success
+ : new ValidationResult(Ln.非JSON字符串, new[] { validationContext.MemberName });
+ }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs
index bc15ad14..1ec658dc 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Dependency;
///
@@ -21,11 +18,13 @@ public abstract record ImmutableEntity : LiteImmutableEntity, IFieldCreate
{
///
[Column(CanUpdate = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public long? CreatedUserId { get; init; }
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual string CreatedUserName { get; init; }
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs
index ef329050..4a7d8fe6 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Dependency;
///
@@ -21,11 +18,13 @@ public abstract record LiteImmutableEntity : EntityBase, IFieldCreatedTime
{
///
[Column(ServerTime = DateTimeKind.Local, CanUpdate = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual DateTime CreatedTime { get; init; }
///
[Column(IsIdentity = false, IsPrimary = true, Position = 1)]
+ [Ignore]
[JsonIgnore]
public override T Id { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs
index be0f6195..ee457d37 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Dependency;
///
@@ -24,6 +21,7 @@ public abstract record LiteMutableEntity : LiteImmutableEntity, IFieldModi
///
[Column(ServerTime = DateTimeKind.Local, CanInsert = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual DateTime? ModifiedTime { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs
index f791d826..a36e261d 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Dependency;
///
@@ -24,6 +21,7 @@ public abstract record LiteVersionEntity : LiteMutableEntity, IFieldVersio
///
[Column(IsVersion = true, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual long Version { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs
index 37ee5975..50ae40b8 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Dependency;
///
@@ -24,11 +21,13 @@ public abstract record MutableEntity : LiteMutableEntity, IFieldModifiedUs
///
[Column(CanInsert = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public long? ModifiedUserId { get; init; }
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public string ModifiedUserName { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/SimpleEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/SimpleEntity.cs
index 8d4eab00..5af11ff7 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/SimpleEntity.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/SimpleEntity.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.Attributes;
-
namespace NetAdmin.Domain.DbMaps.Dependency;
///
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs
index 83b3859e..1bba5a7f 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Dependency;
///
@@ -20,11 +17,13 @@ public abstract record VersionEntity : LiteVersionEntity, IFieldModifiedUs
{
///
[Column(CanUpdate = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual long? CreatedUserId { get; init; }
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual string CreatedUserName { get; init; }
@@ -34,11 +33,13 @@ public abstract record VersionEntity : LiteVersionEntity, IFieldModifiedUs
///
[Column(CanInsert = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual long? ModifiedUserId { get; init; }
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual string ModifiedUserName { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs
index 723eb490..e538c007 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
@@ -12,12 +9,14 @@ public record Sys_Api : ImmutableEntity, IFieldSummary
///
/// 子节点
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(ParentId))]
public IEnumerable Children { get; init; }
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127, IsIdentity = false, IsPrimary = true, Position = 1)]
+ [Ignore]
[JsonIgnore]
public override string Id { get; init; }
@@ -25,6 +24,7 @@ public record Sys_Api : ImmutableEntity, IFieldSummary
/// 请求方式
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_15)]
+ [Ignore]
[JsonIgnore]
public virtual string Method { get; init; }
@@ -32,6 +32,7 @@ public record Sys_Api : ImmutableEntity, IFieldSummary
/// 服务名称
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string Name { get; init; }
@@ -39,6 +40,7 @@ public record Sys_Api : ImmutableEntity, IFieldSummary
/// 命名空间
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
#pragma warning disable CA1716
public virtual string Namespace { get; init; }
@@ -48,12 +50,14 @@ public record Sys_Api : ImmutableEntity, IFieldSummary
/// 父编号
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string ParentId { get; init; }
///
/// 角色集合
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_RoleApi))]
public ICollection Roles { get; init; }
@@ -62,6 +66,7 @@ public record Sys_Api : ImmutableEntity, IFieldSummary
/// 服务描述
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string Summary { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Config.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Config.cs
index 9086f3aa..f47ab15c 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Config.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Config.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
@@ -13,6 +10,7 @@ public record Sys_Config : VersionEntity, IFieldEnabled
/// 是否启用
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool Enabled { get; init; }
@@ -20,12 +18,14 @@ public record Sys_Config : VersionEntity, IFieldEnabled
/// 用户注册是否需要人工确认
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool UserRegisterConfirm { get; init; }
///
/// 用户注册默认部门
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(UserRegisterDeptId))]
public Sys_Dept UserRegisterDept { get; init; }
@@ -34,12 +34,14 @@ public record Sys_Config : VersionEntity, IFieldEnabled
/// 用户注册默认部门编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long UserRegisterDeptId { get; init; }
///
/// 用户注册默认角色
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(UserRegisterRoleId))]
public Sys_Role UserRegisterRole { get; init; }
@@ -48,6 +50,7 @@ public record Sys_Config : VersionEntity, IFieldEnabled
/// 用户注册默认角色编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long UserRegisterRoleId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs
index a5246585..f7213f50 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
@@ -12,6 +9,7 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
///
/// 子节点
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(ParentId))]
public IEnumerable Children { get; init; }
@@ -20,6 +18,7 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
/// 是否启用
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool Enabled { get; init; }
@@ -27,6 +26,7 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
/// 部门名称
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string Name { get; init; }
@@ -34,12 +34,14 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
/// 父编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long ParentId { get; init; }
///
/// 角色集合
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_RoleDept))]
public ICollection Roles { get; init; }
@@ -47,6 +49,7 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
///
/// 发送给此部门的站内信集合
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_SiteMsgDept))]
public ICollection SiteMsgs { get; init; }
@@ -55,6 +58,7 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
/// 排序值,越大越前
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long Sort { get; init; }
@@ -62,6 +66,7 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
/// 部门描述
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
+ [Ignore]
[JsonIgnore]
public virtual string Summary { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_DicCatalog.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_DicCatalog.cs
index 1a2963bb..a37448f1 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_DicCatalog.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_DicCatalog.cs
@@ -1,17 +1,16 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 字典目录表
///
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Code), nameof(Code), true)]
-[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_DicCatalog))]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Code), nameof(Code), true)]
+[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_DicCatalog))]
public record Sys_DicCatalog : VersionEntity
{
///
/// 子节点
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(ParentId))]
public IEnumerable Children { get; init; }
@@ -20,12 +19,14 @@ public record Sys_DicCatalog : VersionEntity
/// 字典编码
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string Code { get; init; }
///
/// 字典内容集合
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(Sys_DicContent.CatalogId))]
public ICollection Contents { get; init; }
@@ -34,6 +35,7 @@ public record Sys_DicCatalog : VersionEntity
/// 字典名称
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string Name { get; init; }
@@ -41,6 +43,7 @@ public record Sys_DicCatalog : VersionEntity
/// 父编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long ParentId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_DicContent.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_DicContent.cs
index 2c8cc50b..8114b890 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_DicContent.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_DicContent.cs
@@ -1,18 +1,19 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 字典内容表
///
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(CatalogId)}_{nameof(Key)}", $"{nameof(CatalogId)},{nameof(Key)}", true)]
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(CatalogId)}_{nameof(Value)}", $"{nameof(CatalogId)},{nameof(Value)}", true)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(CatalogId)}_{nameof(Key)}", $"{nameof(CatalogId)},{nameof(Key)}", true)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(CatalogId)}_{nameof(Value)}", $"{nameof(CatalogId)},{nameof(Value)}", true)]
[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_DicContent))]
public record Sys_DicContent : VersionEntity
{
///
/// 字典目录
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(CatalogId))]
public Sys_DicCatalog Catalog { get; init; }
@@ -21,6 +22,7 @@ public record Sys_DicContent : VersionEntity
/// 字典目录编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long CatalogId { get; init; }
@@ -28,6 +30,7 @@ public record Sys_DicContent : VersionEntity
/// 键名称
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string Key { get; init; }
@@ -35,6 +38,7 @@ public record Sys_DicContent : VersionEntity
/// 键值
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
+ [Ignore]
[JsonIgnore]
public virtual string Value { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Job.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Job.cs
index 52628ee8..88455261 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Job.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Job.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.Enums.Sys;
using HttpMethods = NetAdmin.Domain.Enums.HttpMethods;
@@ -13,6 +11,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
{
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool Enabled { get; init; }
@@ -20,6 +19,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 执行时间计划
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string ExecutionCron { get; init; }
@@ -27,6 +27,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 请求方法
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual HttpMethods HttpMethod { get; init; }
@@ -34,6 +35,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 作业名称
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string JobName { get; init; }
@@ -41,6 +43,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 上次执行耗时
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long? LastDuration { get; init; }
@@ -48,6 +51,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 上次执行时间
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual DateTime? LastExecTime { get; init; }
@@ -55,6 +59,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 上次执行状态
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual HttpStatusCode? LastStatusCode { get; init; }
@@ -62,6 +67,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 下次执行时间
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual DateTime? NextExecTime { get; init; }
@@ -69,6 +75,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 下次执行时间编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long? NextTimeId { get; init; }
@@ -80,6 +87,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string RequestBody { get; init; }
@@ -91,6 +99,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string RequestHeader { get; init; }
@@ -102,6 +111,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string RequestUrl { get; init; }
@@ -109,6 +119,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 作业状态
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual JobStatues Status { get; init; }
@@ -118,12 +129,14 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string Summary { get; init; }
///
/// 执行用户
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(UserId))]
public Sys_User User { get; init; }
@@ -132,6 +145,7 @@ public record Sys_Job : VersionEntity, IFieldEnabled, IFieldSummary
/// 执行用户编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long UserId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_JobRecord.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_JobRecord.cs
index 0fe21e68..ee341fc9 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_JobRecord.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_JobRecord.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
using HttpMethods = NetAdmin.Domain.Enums.HttpMethods;
namespace NetAdmin.Domain.DbMaps.Sys;
@@ -6,10 +5,11 @@ namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 计划作业执行记录表
///
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(JobId)}_{nameof(TimeId)}", $"{nameof(JobId)},{nameof(TimeId)}", true)]
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(CreatedTime), nameof(CreatedTime), false)]
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(JobId), nameof(JobId), false)]
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(HttpStatusCode), nameof(HttpStatusCode), false)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(JobId)}_{nameof(TimeId)}", $"{nameof(JobId)},{nameof(TimeId)}", true)]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(CreatedTime), nameof(CreatedTime), false)]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(JobId), nameof(JobId), false)]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(HttpStatusCode), nameof(HttpStatusCode), false)]
[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_JobRecord))]
public record Sys_JobRecord : LiteImmutableEntity
{
@@ -17,6 +17,7 @@ public record Sys_JobRecord : LiteImmutableEntity
/// 执行耗时(毫秒)
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long Duration { get; init; }
@@ -24,6 +25,7 @@ public record Sys_JobRecord : LiteImmutableEntity
/// 请求方法
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual HttpMethods HttpMethod { get; init; }
@@ -31,12 +33,14 @@ public record Sys_JobRecord : LiteImmutableEntity
/// HTTP 状态码
///
[Column]
+ [Ignore]
[JsonIgnore]
public int HttpStatusCode { get; init; }
///
/// 拥有者信息
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(JobId))]
public Sys_Job Job { get; init; }
@@ -45,6 +49,7 @@ public record Sys_JobRecord : LiteImmutableEntity
/// 作业编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long JobId { get; init; }
@@ -56,6 +61,7 @@ public record Sys_JobRecord : LiteImmutableEntity
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string RequestBody { get; init; }
@@ -67,6 +73,7 @@ public record Sys_JobRecord : LiteImmutableEntity
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string RequestHeader { get; init; }
@@ -74,6 +81,7 @@ public record Sys_JobRecord : LiteImmutableEntity
/// 请求的网络地址
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string RequestUrl { get; init; }
@@ -85,6 +93,7 @@ public record Sys_JobRecord : LiteImmutableEntity
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string ResponseBody { get; init; }
@@ -96,6 +105,7 @@ public record Sys_JobRecord : LiteImmutableEntity
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string ResponseHeader { get; init; }
@@ -103,6 +113,7 @@ public record Sys_JobRecord : LiteImmutableEntity
/// 执行时间编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long TimeId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs
index fb719d7a..c4115170 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.DbMaps.Sys;
@@ -7,20 +5,22 @@ namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 菜单表
///
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Name), nameof(Name), true)]
-[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_Menu))]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Name), nameof(Name), true)]
+[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_Menu))]
public record Sys_Menu : VersionEntity, IFieldSort
{
///
/// 子节点或详情页需要高亮的上级菜单路由地址
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string Active { get; init; }
///
/// 子节点
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(ParentId))]
public IEnumerable Children { get; init; }
@@ -29,6 +29,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 背景颜色
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_7)]
+ [Ignore]
[JsonIgnore]
public virtual string Color { get; init; }
@@ -36,6 +37,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 组件
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string Component { get; init; }
@@ -43,6 +45,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 是否整页路由
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool FullPageRouting { get; init; }
@@ -50,6 +53,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 是否隐藏菜单
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool Hidden { get; init; }
@@ -57,6 +61,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 是否隐藏面包屑
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool HiddenBreadCrumb { get; init; }
@@ -64,6 +69,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 图标
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string Icon { get; init; }
@@ -71,6 +77,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 菜单名称
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string Name { get; init; }
@@ -78,6 +85,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 父编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long ParentId { get; init; }
@@ -85,6 +93,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 菜单路径
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string Path { get; init; }
@@ -92,12 +101,14 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 重定向地址
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string Redirect { get; init; }
///
/// 拥有此菜单的角色集合
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_RoleMenu))]
public ICollection Roles { get; init; }
@@ -106,6 +117,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 排序值,越大越前
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long Sort { get; init; }
@@ -113,6 +125,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 标签
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string Tag { get; init; }
@@ -120,6 +133,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 菜单标题
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string Title { get; init; }
@@ -127,6 +141,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
/// 菜单类型
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual MenuTypes Type { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs
index ddef57fe..59c8a98b 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs
@@ -1,21 +1,19 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 请求日志表
///
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(ApiId), nameof(ApiId), false)]
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(CreatedTime), nameof(CreatedTime), false)]
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(UserId), nameof(UserId), false)]
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(HttpStatusCode), nameof(HttpStatusCode), false)]
-[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_RequestLog))]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(ApiId), nameof(ApiId), false)]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(CreatedTime), nameof(CreatedTime), false)]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(UserId), nameof(UserId), false)]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(HttpStatusCode), nameof(HttpStatusCode), false)]
+[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_RequestLog))]
public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedClient
{
///
/// 接口
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(ApiId))]
public Sys_Api Api { get; init; }
@@ -24,16 +22,19 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 接口编号
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string ApiId { get; init; }
///
[Column(Position = -1)]
+ [Ignore]
[JsonIgnore]
public int? CreatedClientIp { get; init; }
///
[Column(ServerTime = DateTimeKind.Local, CanUpdate = false, Position = -1)]
+ [Ignore]
[JsonIgnore]
public virtual DateTime CreatedTime { get; init; }
@@ -43,6 +44,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
#else
[Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string CreatedUserAgent { get; init; }
@@ -50,6 +52,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 执行耗时(微秒)
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long Duration { get; init; }
@@ -57,6 +60,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 程序响应码
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual ErrorCodes ErrorCode { get; init; }
@@ -68,6 +72,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string Exception { get; init; }
@@ -75,6 +80,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// HTTP状态码
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual int HttpStatusCode { get; init; }
@@ -82,6 +88,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 请求方法
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_15)]
+ [Ignore]
[JsonIgnore]
public virtual string Method { get; init; }
@@ -93,6 +100,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string RequestBody { get; init; }
@@ -100,6 +108,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 请求content-type
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string RequestContentType { get; init; }
@@ -111,6 +120,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string RequestHeaders { get; init; }
@@ -118,6 +128,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 请求地址
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string RequestUrl { get; init; }
@@ -129,6 +140,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string ResponseBody { get; init; }
@@ -136,6 +148,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 响应content-type
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string ResponseContentType { get; init; }
@@ -147,6 +160,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string ResponseHeaders { get; init; }
@@ -154,12 +168,14 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 服务器IP
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual int? ServerIp { get; init; }
///
/// 用户
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(UserId))]
public Sys_User User { get; init; }
@@ -168,6 +184,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldCreatedCli
/// 用户编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long? UserId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs
index 97eb6462..55874bfd 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.Dto.Sys.Role;
using NetAdmin.Domain.Enums.Sys;
@@ -8,27 +6,42 @@ namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 角色表
///
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Name), nameof(Name), true)]
-[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_Role))]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Name), nameof(Name), true)]
+[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_Role))]
public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary, IRegister
{
///
/// 角色-接口映射
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_RoleApi))]
public ICollection Apis { get; init; }
+ ///
+ /// 仪表板布局
+ ///
+ #if DBTYPE_SQLSERVER
+ [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_MAX)]
+ #else
+ [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
+ #endif
+ [Ignore]
+ [JsonIgnore]
+ public virtual string DashboardLayout { get; set; }
+
///
/// 数据范围
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual DataScopes DataScope { get; init; }
///
/// 角色-部门映射
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_RoleDept))]
public ICollection Depts { get; init; }
@@ -37,6 +50,7 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
/// 是否显示仪表板
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool DisplayDashboard { get; init; }
@@ -44,6 +58,7 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
/// 是否启用
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool Enabled { get; init; }
@@ -51,12 +66,14 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
/// 是否忽略权限控制
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool IgnorePermissionControl { get; init; }
///
/// 角色-菜单映射
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_RoleMenu))]
public ICollection Menus { get; init; }
@@ -65,12 +82,14 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
/// 角色名称
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string Name { get; init; }
///
/// 发送给此角色的站内信集合
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_SiteMsgRole))]
public ICollection SiteMsgs { get; init; }
@@ -79,6 +98,7 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
/// 排序值,越大越前
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long Sort { get; init; }
@@ -86,18 +106,20 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
/// 备注
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
+ [Ignore]
[JsonIgnore]
public virtual string Summary { get; init; }
///
/// 此角色下的用户集合
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_UserRole))]
public ICollection Users { get; init; }
///
- public void Register(TypeAdapterConfig config)
+ public virtual void Register(TypeAdapterConfig config)
{
_ = config.ForType()
.Map( //
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleApi.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleApi.cs
index db20f4fe..0722e97a 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleApi.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleApi.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
@@ -11,6 +9,7 @@ public record Sys_RoleApi : ImmutableEntity
///
/// 关联的接口
///
+ [Ignore]
[JsonIgnore]
public Sys_Api Api { get; init; }
@@ -18,12 +17,14 @@ public record Sys_RoleApi : ImmutableEntity
/// 接口编号
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public string ApiId { get; init; }
///
/// 关联的角色
///
+ [Ignore]
[JsonIgnore]
public Sys_Role Role { get; init; }
@@ -31,6 +32,7 @@ public record Sys_RoleApi : ImmutableEntity
/// 角色编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long RoleId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleDept.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleDept.cs
index 597d5aad..ed4ee0ca 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleDept.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleDept.cs
@@ -1,17 +1,17 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 角色-部门映射表
///
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(RoleId)}_{nameof(DeptId)}", $"{nameof(RoleId)},{nameof(DeptId)}", true)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(RoleId)}_{nameof(DeptId)}", $"{nameof(RoleId)},{nameof(DeptId)}", true)]
[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_RoleDept))]
public record Sys_RoleDept : ImmutableEntity
{
///
/// 关联的部门
///
+ [Ignore]
[JsonIgnore]
public Sys_Dept Dept { get; init; }
@@ -19,12 +19,14 @@ public record Sys_RoleDept : ImmutableEntity
/// 可访问的部门编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long DeptId { get; init; }
///
/// 关联的角色
///
+ [Ignore]
[JsonIgnore]
public Sys_Role Role { get; init; }
@@ -32,6 +34,7 @@ public record Sys_RoleDept : ImmutableEntity
/// 角色编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long RoleId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleMenu.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleMenu.cs
index 77c3be3f..39158152 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleMenu.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RoleMenu.cs
@@ -1,17 +1,17 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 角色-菜单映射表
///
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(RoleId)}_{nameof(MenuId)}", $"{nameof(RoleId)},{nameof(MenuId)}", true)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(RoleId)}_{nameof(MenuId)}", $"{nameof(RoleId)},{nameof(MenuId)}", true)]
[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_RoleMenu))]
public record Sys_RoleMenu : ImmutableEntity
{
///
/// 关联的菜单
///
+ [Ignore]
[JsonIgnore]
public Sys_Menu Menu { get; init; }
@@ -19,12 +19,14 @@ public record Sys_RoleMenu : ImmutableEntity
/// 菜单编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long MenuId { get; init; }
///
/// 关联的角色
///
+ [Ignore]
[JsonIgnore]
public Sys_Role Role { get; init; }
@@ -32,6 +34,7 @@ public record Sys_RoleMenu : ImmutableEntity
/// 角色编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long RoleId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs
index 0b3bd0ec..f147718b 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.Dto.Sys.SiteMsg;
using NetAdmin.Domain.Enums.Sys;
@@ -19,12 +17,14 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
public virtual string Content { get; init; }
///
/// 消息-创建者映射
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(CreatedUserId))]
public Sys_User Creator { get; init; }
@@ -32,6 +32,7 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
///
/// 消息-部门映射
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_SiteMsgDept))]
public ICollection Depts { get; init; }
@@ -39,6 +40,7 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
///
/// 消息-标记映射
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(Sys_SiteMsgFlag.SiteMsgId))]
public ICollection Flags { get; init; }
@@ -46,12 +48,14 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
///
/// 消息类型
///
+ [Ignore]
[JsonIgnore]
public virtual SiteMsgTypes MsgType { get; init; }
///
/// 消息-角色映射
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_SiteMsgRole))]
public ICollection Roles { get; init; }
@@ -60,6 +64,7 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
/// 消息摘要
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
+ [Ignore]
[JsonIgnore]
public virtual string Summary { get; init; }
@@ -67,12 +72,14 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
/// 消息主题
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
+ [Ignore]
[JsonIgnore]
public virtual string Title { get; init; }
///
/// 消息-用户映射
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_SiteMsgUser))]
public ICollection Users { get; init; }
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs
index bd36f336..41b7720e 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs
@@ -1,18 +1,17 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 站内信-部门映射表
///
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(DeptId)}_{nameof(SiteMsgId)}", $"{nameof(DeptId)},{nameof(SiteMsgId)}"
- , true)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(DeptId)}_{nameof(SiteMsgId)}", $"{nameof(DeptId)},{nameof(SiteMsgId)}", true)]
[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgDept))]
public record Sys_SiteMsgDept : ImmutableEntity
{
///
/// 关联的部门
///
+ [Ignore]
[JsonIgnore]
public Sys_Dept Dept { get; init; }
@@ -20,12 +19,14 @@ public record Sys_SiteMsgDept : ImmutableEntity
/// 部门编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long DeptId { get; init; }
///
/// 关联的站内信
///
+ [Ignore]
[JsonIgnore]
public Sys_SiteMsg SiteMsg { get; init; }
@@ -33,6 +34,7 @@ public record Sys_SiteMsgDept : ImmutableEntity
/// 站内信编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long SiteMsgId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs
index dc0cb016..cae4dd35 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.DbMaps.Sys;
@@ -6,8 +5,8 @@ namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 站内信标记表
///
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(SiteMsgId)}_{nameof(UserId)}", $"{nameof(SiteMsgId)},{nameof(UserId)}"
- , true)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(SiteMsgId)}_{nameof(UserId)}", $"{nameof(SiteMsgId)},{nameof(UserId)}", true)]
[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgFlag))]
public record Sys_SiteMsgFlag : MutableEntity
{
@@ -15,6 +14,7 @@ public record Sys_SiteMsgFlag : MutableEntity
/// 站内信编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long SiteMsgId { get; init; }
@@ -22,6 +22,7 @@ public record Sys_SiteMsgFlag : MutableEntity
/// 用户编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long UserId { get; init; }
@@ -29,6 +30,7 @@ public record Sys_SiteMsgFlag : MutableEntity
/// 用户站内信状态
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual UserSiteMsgStatues UserSiteMsgStatus { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs
index 4b7ce500..f892e4d3 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs
@@ -1,18 +1,17 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 站内信-角色映射表
///
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(RoleId)}_{nameof(SiteMsgId)}", $"{nameof(RoleId)},{nameof(SiteMsgId)}"
- , true)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(RoleId)}_{nameof(SiteMsgId)}", $"{nameof(RoleId)},{nameof(SiteMsgId)}", true)]
[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgRole))]
public record Sys_SiteMsgRole : ImmutableEntity
{
///
/// 关联的角色
///
+ [Ignore]
[JsonIgnore]
public Sys_Role Role { get; init; }
@@ -20,12 +19,14 @@ public record Sys_SiteMsgRole : ImmutableEntity
/// 角色编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long RoleId { get; init; }
///
/// 关联的站内信
///
+ [Ignore]
[JsonIgnore]
public Sys_SiteMsg SiteMsg { get; init; }
@@ -33,6 +34,7 @@ public record Sys_SiteMsgRole : ImmutableEntity
/// 站内信编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long SiteMsgId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs
index 547747ec..946e9d0a 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs
@@ -1,18 +1,17 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 站内信-用户映射表
///
-[Index($"{Chars.FLG_DB_INDEX_PREFIX}{nameof(UserId)}_{nameof(SiteMsgId)}", $"{nameof(UserId)},{nameof(SiteMsgId)}"
- , true)]
+[FreeSql.DataAnnotations.Index( //
+ $"{Chars.FLG_DB_INDEX_PREFIX}{nameof(UserId)}_{nameof(SiteMsgId)}", $"{nameof(UserId)},{nameof(SiteMsgId)}", true)]
[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgUser))]
public record Sys_SiteMsgUser : ImmutableEntity
{
///
/// 关联的站内信
///
+ [Ignore]
[JsonIgnore]
public Sys_SiteMsg SiteMsg { get; init; }
@@ -20,12 +19,14 @@ public record Sys_SiteMsgUser : ImmutableEntity
/// 站内信编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long SiteMsgId { get; init; }
///
/// 关联的用户
///
+ [Ignore]
[JsonIgnore]
public Sys_User User { get; init; }
@@ -33,6 +34,7 @@ public record Sys_SiteMsgUser : ImmutableEntity
/// 用户编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long UserId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs
index 40e8bdd4..b350ce1f 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.Dto.Sys.User;
namespace NetAdmin.Domain.DbMaps.Sys;
@@ -7,22 +5,24 @@ namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 用户基本信息表
///
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Email), nameof(Email), true)]
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Mobile), nameof(Mobile), true)]
-[Index(Chars.FLG_DB_INDEX_PREFIX + nameof(UserName), nameof(UserName), true)]
-[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_User))]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Email), nameof(Email), true)]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(Mobile), nameof(Mobile), true)]
+[FreeSql.DataAnnotations.Index(Chars.FLG_DB_INDEX_PREFIX + nameof(UserName), nameof(UserName), true)]
+[Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_User))]
public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
{
///
/// 头像链接
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string Avatar { get; init; }
///
/// 所属部门
///
+ [Ignore]
[JsonIgnore]
[Navigate(nameof(DeptId))]
public Sys_Dept Dept { get; init; }
@@ -31,6 +31,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
/// 部门编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual long DeptId { get; init; }
@@ -38,6 +39,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
/// 邮箱
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string Email { get; init; }
@@ -45,6 +47,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
/// 是否启用
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual bool Enabled { get; init; }
@@ -52,6 +55,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
/// 手机号码
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_15)]
+ [Ignore]
[JsonIgnore]
public virtual string Mobile { get; init; }
@@ -59,18 +63,21 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
/// 密码
///
[Column]
+ [Ignore]
[JsonIgnore]
public Guid Password { get; init; }
///
/// 用户档案
///
+ [Ignore]
[JsonIgnore]
public Sys_UserProfile Profile { get; init; }
///
/// 所属角色
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_UserRole))]
public ICollection Roles { get; init; }
@@ -78,6 +85,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
///
/// 发送给此用户的站内信集合
///
+ [Ignore]
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_SiteMsgUser))]
public ICollection SiteMsgs { get; init; }
@@ -86,6 +94,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
/// 描述
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
+ [Ignore]
[JsonIgnore]
public virtual string Summary { get; init; }
@@ -93,6 +102,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
/// 授权验证Token,全局唯一,可以随时重置(强制下线)
///
[Column]
+ [Ignore]
[JsonIgnore]
public Guid Token { get; init; }
@@ -100,11 +110,12 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
/// 用户名
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string UserName { get; init; }
///
- public void Register(TypeAdapterConfig config)
+ public virtual void Register(TypeAdapterConfig config)
{
_ = config.ForType()
.Map(d => d.Password, s => s.PasswordText.Pwd().Guid())
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs
index b3392337..17f522ac 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
using NetAdmin.Domain.Dto.Sys.UserProfile;
namespace NetAdmin.Domain.DbMaps.Sys;
@@ -17,13 +16,15 @@ public record Sys_UserProfile : VersionEntity, IRegister
#else
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
#endif
+ [Ignore]
[JsonIgnore]
- public virtual string AppConfig { get; init; }
+ public virtual string AppConfig { get; set; }
///
/// 出生日期
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual DateTime? BornDate { get; init; }
@@ -31,6 +32,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 证件号码
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string CertificateNumber { get; init; }
@@ -38,6 +40,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 证件类型
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual CertificateTypes? CertificateType { get; init; }
@@ -45,6 +48,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 工作地址
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string CompanyAddress { get; init; }
@@ -52,6 +56,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 工作地区
///
[Column]
+ [Ignore]
[JsonIgnore]
public int? CompanyArea { get; init; }
@@ -59,6 +64,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 工作单位
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string CompanyName { get; init; }
@@ -66,6 +72,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 工作电话
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string CompanyTelephone { get; init; }
@@ -73,6 +80,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 文化程度
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual Educations? Education { get; init; }
@@ -80,6 +88,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 紧急联系地址
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string EmergencyContactAddress { get; init; }
@@ -87,13 +96,15 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 紧急联系地区
///
[Column]
+ [Ignore]
[JsonIgnore]
public int? EmergencyContactArea { get; init; }
///
- /// 紧急联系人手机号码
+ /// 紧急联系人手机号
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_15)]
+ [Ignore]
[JsonIgnore]
public virtual string EmergencyContactMobile { get; init; }
@@ -101,6 +112,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 紧急联系人
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string EmergencyContactName { get; init; }
@@ -108,6 +120,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 毕业学校
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string GraduateSchool { get; init; }
@@ -115,6 +128,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 身高
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual int? Height { get; init; }
@@ -122,6 +136,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 住宅地址
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)]
+ [Ignore]
[JsonIgnore]
public virtual string HomeAddress { get; init; }
@@ -129,6 +144,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 住宅地区
///
[Column]
+ [Ignore]
[JsonIgnore]
public int? HomeArea { get; init; }
@@ -136,6 +152,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 住宅电话
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string HomeTelephone { get; init; }
@@ -143,6 +160,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 婚姻状况
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual MarriageStatues? MarriageStatus { get; init; }
@@ -151,6 +169,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
///
/// 7
[Column]
+ [Ignore]
[JsonIgnore]
public virtual Nations? Nation { get; init; }
@@ -158,6 +177,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 籍贯
///
[Column]
+ [Ignore]
[JsonIgnore]
public int? NationArea { get; init; }
@@ -165,6 +185,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 政治面貌
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual PoliticalStatues? PoliticalStatus { get; init; }
@@ -172,6 +193,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 职业
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string Profession { get; init; }
@@ -179,6 +201,7 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 真实姓名
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
+ [Ignore]
[JsonIgnore]
public virtual string RealName { get; init; }
@@ -186,12 +209,14 @@ public record Sys_UserProfile : VersionEntity, IRegister
/// 性别
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual Sexes? Sex { get; init; }
///
/// 用户基本信息
///
+ [Ignore]
[JsonIgnore]
public Sys_User User { get; init; }
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserRole.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserRole.cs
index 9706b102..e1cc70c0 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserRole.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserRole.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Sys;
///
@@ -11,6 +9,7 @@ public record Sys_UserRole : VersionEntity
///
/// 关联的角色
///
+ [Ignore]
[JsonIgnore]
public Sys_Role Role { get; init; }
@@ -18,12 +17,14 @@ public record Sys_UserRole : VersionEntity
/// 角色编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long RoleId { get; init; }
///
/// 关联的用户
///
+ [Ignore]
[JsonIgnore]
public Sys_User User { get; init; }
@@ -31,6 +32,7 @@ public record Sys_UserRole : VersionEntity
/// 用户编号
///
[Column]
+ [Ignore]
[JsonIgnore]
public long UserId { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_VerifyCode.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_VerifyCode.cs
index 7e2bb7e4..b830a2e4 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_VerifyCode.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_VerifyCode.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.DbMaps.Sys;
@@ -13,6 +12,7 @@ public record Sys_VerifyCode : VersionEntity
/// 验证码
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_7)]
+ [Ignore]
[JsonIgnore]
public virtual string Code { get; init; }
@@ -20,6 +20,7 @@ public record Sys_VerifyCode : VersionEntity
/// 目标设备
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)]
+ [Ignore]
[JsonIgnore]
public virtual string DestDevice { get; init; }
@@ -27,6 +28,7 @@ public record Sys_VerifyCode : VersionEntity
/// 设备类型
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual VerifyCodeDeviceTypes DeviceType { get; init; }
@@ -34,6 +36,7 @@ public record Sys_VerifyCode : VersionEntity
/// 发送报告
///
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
+ [Ignore]
[JsonIgnore]
public string Report { get; init; }
@@ -41,6 +44,7 @@ public record Sys_VerifyCode : VersionEntity
/// 验证码状态
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual VerifyCodeStatues Status { get; init; }
@@ -48,6 +52,7 @@ public record Sys_VerifyCode : VersionEntity
/// 验证码类型
///
[Column]
+ [Ignore]
[JsonIgnore]
public virtual VerifyCodeTypes Type { get; init; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/DbMaps/Tpl/Tpl_Example.cs b/src/backend/NetAdmin.Domain/DbMaps/Tpl/Tpl_Example.cs
index fdd06be0..1bcbaff2 100644
--- a/src/backend/NetAdmin.Domain/DbMaps/Tpl/Tpl_Example.cs
+++ b/src/backend/NetAdmin.Domain/DbMaps/Tpl/Tpl_Example.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.DbMaps.Tpl;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Dependency/DelReq.cs b/src/backend/NetAdmin.Domain/Dto/Dependency/DelReq.cs
index 712a9a1d..c1638384 100644
--- a/src/backend/NetAdmin.Domain/Dto/Dependency/DelReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Dependency/DelReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-
namespace NetAdmin.Domain.Dto.Dependency;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Api/CreateApiReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Api/CreateApiReq.cs
index 7c600097..ca86afe8 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Api/CreateApiReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Api/CreateApiReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Api;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Api/ExportApiRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Api/ExportApiRsp.cs
new file mode 100644
index 00000000..5996a866
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Api/ExportApiRsp.cs
@@ -0,0 +1,35 @@
+namespace NetAdmin.Domain.Dto.Sys.Api;
+
+///
+/// 响应:导出接口
+///
+public record ExportApiRsp : QueryApiRsp
+{
+ ///
+ [Ignore]
+ public override IEnumerable Children { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.接口路径))]
+ public override string Id { get; init; }
+
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.请求方式))]
+ public override string Method { get; init; }
+
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.接口名称))]
+ public override string Name { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.接口描述))]
+ public override string Summary { get; init; }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiReq.cs
index fb0e1310..92b07f7b 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Api;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs
index e94f1bcf..36465425 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs
@@ -1,16 +1,12 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Api;
///
/// 响应:查询接口
///
-public sealed record QueryApiRsp : Sys_Api
+public record QueryApiRsp : Sys_Api
{
///
- public new IEnumerable Children { get; init; }
+ public new virtual IEnumerable Children { get; init; }
///
public override string Id { get; init; }
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Config/CreateConfigReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Config/CreateConfigReq.cs
index cc4cc94b..134a6d3a 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Config/CreateConfigReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Config/CreateConfigReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Config;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Config/EditConfigReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Config/EditConfigReq.cs
index aa3bc995..4d482470 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Config/EditConfigReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Config/EditConfigReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.Dto.Sys.Config;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Config/ExportConfigRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Config/ExportConfigRsp.cs
new file mode 100644
index 00000000..d3ffbef5
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Config/ExportConfigRsp.cs
@@ -0,0 +1,60 @@
+using NetAdmin.Domain.Dto.Sys.Dept;
+using NetAdmin.Domain.Dto.Sys.Role;
+
+namespace NetAdmin.Domain.Dto.Sys.Config;
+
+///
+/// 响应:导出配置
+///
+public record ExportConfigRsp : QueryConfigRsp, IRegister
+{
+ ///
+ [CsvIndex(6)]
+ [Ignore(false)]
+ [Name(nameof(Ln.是否启用))]
+ public override bool Enabled { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.唯一编码))]
+ public override long Id { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.人工审核))]
+ public override bool UserRegisterConfirm { get; init; }
+
+ ///
+ [Ignore]
+ public override QueryDeptRsp UserRegisterDept { get; init; }
+
+ ///
+ /// 默认部门
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.默认部门))]
+ public string UserRegisterDeptName { get; init; }
+
+ ///
+ [Ignore]
+ public override QueryRoleRsp UserRegisterRole { get; init; }
+
+ ///
+ /// 默认角色
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.默认角色))]
+ public string UserRegisterRoleName { get; init; }
+
+ ///
+ public void Register(TypeAdapterConfig config)
+ {
+ _ = config.ForType()
+ .Map(d => d.UserRegisterDeptName, s => s.UserRegisterDept.Name)
+ .Map(d => d.UserRegisterRoleName, s => s.UserRegisterRole.Name);
+ }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs
index f5992068..96008bb5 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Config;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigRsp.cs
index ea293dda..84938ed3 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.Dept;
using NetAdmin.Domain.Dto.Sys.Role;
@@ -9,7 +6,7 @@ namespace NetAdmin.Domain.Dto.Sys.Config;
///
/// 响应:查询配置
///
-public sealed record QueryConfigRsp : Sys_Config
+public record QueryConfigRsp : Sys_Config
{
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
@@ -29,7 +26,7 @@ public sealed record QueryConfigRsp : Sys_Config
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public new QueryDeptRsp UserRegisterDept { get; init; }
+ public new virtual QueryDeptRsp UserRegisterDept { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
@@ -37,7 +34,7 @@ public sealed record QueryConfigRsp : Sys_Config
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public new QueryRoleRsp UserRegisterRole { get; init; }
+ public new virtual QueryRoleRsp UserRegisterRole { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Config/SetConfigEnabledReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Config/SetConfigEnabledReq.cs
index 73b9d70e..cf77c779 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Config/SetConfigEnabledReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Config/SetConfigEnabledReq.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Config;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs
index 78924630..5ba80ce9 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dept;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/EditDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/EditDeptReq.cs
index 2820e063..664e41e1 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/EditDeptReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/EditDeptReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.Dto.Sys.Dept;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/ExportDeptRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/ExportDeptRsp.cs
new file mode 100644
index 00000000..061c8529
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/ExportDeptRsp.cs
@@ -0,0 +1,47 @@
+namespace NetAdmin.Domain.Dto.Sys.Dept;
+
+///
+/// 响应:导出部门
+///
+public record ExportDeptRsp : QueryDeptRsp
+{
+ ///
+ [Ignore]
+ public override IEnumerable Children { get; init; }
+
+ ///
+ [CsvIndex(5)]
+ [Ignore(false)]
+ [Name(nameof(Ln.创建时间))]
+ public override DateTime CreatedTime { get; init; }
+
+ ///
+ [CsvIndex(4)]
+ [Ignore(false)]
+ [Name(nameof(Ln.是否启用))]
+ public override bool Enabled { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.唯一编码))]
+ public override long Id { get; init; }
+
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.部门名称))]
+ public override string Name { get; init; }
+
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.排序))]
+ public override long Sort { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.备注))]
+ public override string Summary { get; init; }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptReq.cs
index 0271798f..54225d4f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dept;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs
index cba55585..a3cdb87a 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs
@@ -1,16 +1,12 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dept;
///
/// 响应:查询部门
///
-public sealed record QueryDeptRsp : Sys_Dept
+public record QueryDeptRsp : Sys_Dept
{
///
- public new IEnumerable Children { get; init; }
+ public new virtual IEnumerable Children { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/SetDeptEnabledReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/SetDeptEnabledReq.cs
index cca5973c..aac2dfe5 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/SetDeptEnabledReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/SetDeptEnabledReq.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dept;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs
index 08da6f19..f66af602 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/EditDicCatalogReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/EditDicCatalogReq.cs
index cd2bf11f..8fb81ea0 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/EditDicCatalogReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/EditDicCatalogReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogReq.cs
index 7109e016..0d2081a9 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs
index 76d3cb10..f538d310 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs
index cbff60b0..44156f0a 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/EditDicContentReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/EditDicContentReq.cs
index 557a0954..59ff032a 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/EditDicContentReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/EditDicContentReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/ExportDicContentRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/ExportDicContentRsp.cs
new file mode 100644
index 00000000..2d80f8cf
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/ExportDicContentRsp.cs
@@ -0,0 +1,25 @@
+namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
+
+///
+/// 响应:导出字典内容
+///
+public record ExportDicContentRsp : QueryDicContentRsp
+{
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.创建时间))]
+ public override DateTime CreatedTime { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.项名))]
+ public override string Key { get; init; }
+
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.项值))]
+ public override string Value { get; init; }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/GetDicValueReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/GetDicValueReq.cs
index 6be897c4..1489eed0 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/GetDicValueReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/GetDicValueReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/QueryDicContentReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/QueryDicContentReq.cs
index 542721db..8e6f3c52 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/QueryDicContentReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/QueryDicContentReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/QueryDicContentRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/QueryDicContentRsp.cs
index f1fcdecd..7df2f013 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/QueryDicContentRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/QueryDicContentRsp.cs
@@ -1,12 +1,9 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
///
/// 响应:查询字典内容
///
-public sealed record QueryDicContentRsp : Sys_DicContent
+public record QueryDicContentRsp : Sys_DicContent
{
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Job/CreateJobReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Job/CreateJobReq.cs
index 80483d7b..a736fabc 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Job/CreateJobReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Job/CreateJobReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
using HttpMethods = NetAdmin.Domain.Enums.HttpMethods;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Job/ExportJobRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Job/ExportJobRsp.cs
new file mode 100644
index 00000000..a6fe2777
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Job/ExportJobRsp.cs
@@ -0,0 +1,81 @@
+using NetAdmin.Domain.Dto.Sys.User;
+using NetAdmin.Domain.Enums.Sys;
+using HttpMethods = NetAdmin.Domain.Enums.HttpMethods;
+
+namespace NetAdmin.Domain.Dto.Sys.Job;
+
+///
+/// 响应:导出计划作业
+///
+public record ExportJobRsp : QueryJobRsp
+{
+ ///
+ [CsvIndex(5)]
+ [Ignore(false)]
+ [Name(nameof(Ln.上次执行状态))]
+ public override string LastStatusCode => base.LastStatusCode;
+
+ ///
+ [CsvIndex(10)]
+ [Ignore(false)]
+ [Name(nameof(Ln.创建时间))]
+ public override DateTime CreatedTime { get; init; }
+
+ ///
+ [CsvIndex(9)]
+ [Ignore(false)]
+ [Name(nameof(Ln.是否启用))]
+ public override bool Enabled { get; init; }
+
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.执行计划))]
+ public override string ExecutionCron { get; init; }
+
+ ///
+ [CsvIndex(4)]
+ [Ignore(false)]
+ [Name(nameof(Ln.请求方式))]
+ public override HttpMethods HttpMethod { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.唯一编码))]
+ public override long Id { get; init; }
+
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.作业名称))]
+ public override string JobName { get; init; }
+
+ ///
+ [CsvIndex(7)]
+ [Ignore(false)]
+ [Name(nameof(Ln.上次执行耗时))]
+ public override long? LastDuration { get; init; }
+
+ ///
+ [CsvIndex(6)]
+ [Ignore(false)]
+ [Name(nameof(Ln.上次执行时间))]
+ public override DateTime? LastExecTime { get; init; }
+
+ ///
+ [CsvIndex(8)]
+ [Ignore(false)]
+ [Name(nameof(Ln.下次执行时间))]
+ public override DateTime? NextExecTime { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.作业状态))]
+ public override JobStatues Status { get; init; }
+
+ ///
+ [Ignore]
+ public override QueryUserRsp User { get; init; }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Job/FinishJobReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Job/FinishJobReq.cs
index 21ba8801..21384c0a 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Job/FinishJobReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Job/FinishJobReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Job;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Job/QueryJobReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Job/QueryJobReq.cs
index 2b8e4b09..6cb1ff1f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Job/QueryJobReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Job/QueryJobReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Job;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Job/QueryJobRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Job/QueryJobRsp.cs
index ab35051b..81e493fa 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Job/QueryJobRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Job/QueryJobRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.User;
using NetAdmin.Domain.Enums.Sys;
using HttpMethods = NetAdmin.Domain.Enums.HttpMethods;
@@ -10,10 +7,10 @@ namespace NetAdmin.Domain.Dto.Sys.Job;
///
/// 响应:查询计划作业
///
-public sealed record QueryJobRsp : Sys_Job
+public record QueryJobRsp : Sys_Job
{
///
- public new string LastStatusCode =>
+ public new virtual string LastStatusCode =>
#pragma warning disable IDE0072
base.LastStatusCode switch {
#pragma warning restore IDE0072
@@ -104,7 +101,7 @@ public sealed record QueryJobRsp : Sys_Job
public override string Summary { get; init; }
///
- public new QueryUserRsp User { get; init; }
+ public new virtual QueryUserRsp User { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Job/SetJobEnabledReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Job/SetJobEnabledReq.cs
index 30aaf62e..0ec6f97c 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Job/SetJobEnabledReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Job/SetJobEnabledReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Job;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/CreateJobRecordReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/CreateJobRecordReq.cs
index c9e6d53d..df6c3b8f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/CreateJobRecordReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/CreateJobRecordReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/ExportJobRecordRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/ExportJobRecordRsp.cs
new file mode 100644
index 00000000..e13c99b3
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/ExportJobRecordRsp.cs
@@ -0,0 +1,57 @@
+using NetAdmin.Domain.Dto.Sys.Job;
+
+namespace NetAdmin.Domain.Dto.Sys.JobRecord;
+
+///
+/// 响应:导出计划作业执行记录
+///
+public record ExportJobRecordRsp : QueryJobRecordRsp, IRegister
+{
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.响应状态码))]
+ public override string HttpStatusCode => base.HttpStatusCode;
+
+ ///
+ [CsvIndex(6)]
+ [Ignore(false)]
+ [Name(nameof(Ln.创建时间))]
+ public override DateTime CreatedTime { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.执行耗时))]
+ public override long Duration { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.唯一编码))]
+ public override long Id { get; init; }
+
+ ///
+ [Ignore]
+ public override QueryJobRsp Job { get; init; }
+
+ ///
+ /// 作业名称
+ ///
+ [CsvIndex(4)]
+ [Ignore(false)]
+ [Name(nameof(Ln.作业名称))]
+ public string JobName { get; set; }
+
+ ///
+ [CsvIndex(5)]
+ [Ignore(false)]
+ [Name(nameof(Ln.响应体))]
+ public override string ResponseBody { get; init; }
+
+ ///
+ public void Register(TypeAdapterConfig config)
+ {
+ _ = config.ForType().Map(d => d.JobName, s => s.Job.JobName);
+ }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/QueryJobRecordReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/QueryJobRecordReq.cs
index 3c3020eb..6c21476f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/QueryJobRecordReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/QueryJobRecordReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/QueryJobRecordRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/QueryJobRecordRsp.cs
index 70f06d9b..4c7b5366 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/QueryJobRecordRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/JobRecord/QueryJobRecordRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.Job;
using HttpMethods = NetAdmin.Domain.Enums.HttpMethods;
@@ -9,10 +6,10 @@ namespace NetAdmin.Domain.Dto.Sys.JobRecord;
///
/// 响应:查询计划作业执行记录
///
-public sealed record QueryJobRecordRsp : Sys_JobRecord
+public record QueryJobRecordRsp : Sys_JobRecord
{
///
- public new string HttpStatusCode =>
+ public new virtual string HttpStatusCode =>
base.HttpStatusCode == Numbers.HTTP_STATUS_BIZ_FAIL
? nameof(ErrorCodes.Unhandled).ToLowerCamelCase()
: ((HttpStatusCode)base.HttpStatusCode).ToString().ToLowerCamelCase();
@@ -36,7 +33,7 @@ public sealed record QueryJobRecordRsp : Sys_JobRecord
///
/// 作业信息
///
- public new QueryJobRsp Job { get; init; }
+ public new virtual QueryJobRsp Job { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs
index b4bc03e9..e0527c41 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.Menu;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/EditMenuReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/EditMenuReq.cs
index 768b59f5..ef1aed9b 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/EditMenuReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/EditMenuReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.Dto.Sys.Menu;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuReq.cs
index a1e19c05..4a0c612f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Menu;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs
index 3f04b5ff..0a51f482 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Menu;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/CreateRequestLogReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/CreateRequestLogReq.cs
index bbf1681a..f0000cd3 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/CreateRequestLogReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/CreateRequestLogReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.RequestLog;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/ExportRequestLogRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/ExportRequestLogRsp.cs
new file mode 100644
index 00000000..65646bcb
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/ExportRequestLogRsp.cs
@@ -0,0 +1,79 @@
+using NetAdmin.Domain.Dto.Sys.User;
+
+namespace NetAdmin.Domain.Dto.Sys.RequestLog;
+
+///
+/// 响应:导出请求日志
+///
+public record ExportRequestLogRsp : QueryRequestLogRsp
+{
+ ///
+ [CsvIndex(6)]
+ [Ignore(false)]
+ [Name(nameof(Ln.客户端IP))]
+ public override string CreatedClientIp => base.CreatedClientIp;
+
+ ///
+ [Ignore]
+ public override string LoginName => base.LoginName;
+
+ ///
+ [CsvIndex(7)]
+ [Ignore(false)]
+ [Name(nameof(Ln.操作系统))]
+ public override string Os => base.Os;
+
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.接口路径))]
+ public override string ApiId { get; init; }
+
+ ///
+ [CsvIndex(8)]
+ [Ignore(false)]
+ [Name(nameof(Ln.用户代理))]
+ public override string CreatedUserAgent { get; init; }
+
+ ///
+ [CsvIndex(4)]
+ [Ignore(false)]
+ [Name(nameof(Ln.执行耗时))]
+ public override long Duration { get; init; }
+
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.响应状态码))]
+ public override int HttpStatusCode { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.唯一编码))]
+ public override long Id { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.请求方式))]
+ public override string Method { get; init; }
+
+ ///
+ [Ignore]
+ public override QueryUserRsp User { get; init; }
+
+ ///
+ /// 用户名
+ ///
+ [CsvIndex(5)]
+ [Ignore(false)]
+ [Name(nameof(Ln.用户名))]
+ public string UserName { get; init; }
+
+ ///
+ public override void Register(TypeAdapterConfig config)
+ {
+ _ = config.ForType().Map(d => d.UserName, s => s.User.UserName);
+ }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/QueryRequestLogReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/QueryRequestLogReq.cs
index 9d175f7b..ca81e857 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/QueryRequestLogReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/QueryRequestLogReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.RequestLog;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/QueryRequestLogRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/QueryRequestLogRsp.cs
index bb2d296d..e9703a69 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/QueryRequestLogRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/RequestLog/QueryRequestLogRsp.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.User;
namespace NetAdmin.Domain.Dto.Sys.RequestLog;
@@ -7,22 +5,22 @@ namespace NetAdmin.Domain.Dto.Sys.RequestLog;
///
/// 响应:查询请求日志
///
-public sealed record QueryRequestLogRsp : Sys_RequestLog, IRegister
+public record QueryRequestLogRsp : Sys_RequestLog, IRegister
{
///
/// 创建者客户端IP
///
- public new string CreatedClientIp => base.CreatedClientIp?.ToIpV4();
+ public new virtual string CreatedClientIp => base.CreatedClientIp?.ToIpV4();
///
/// 登录名
///
- public string LoginName => RequestBody?.ToObject()?.Account;
+ public virtual string LoginName => RequestBody?.ToObject()?.Account;
///
/// 操作系统
///
- public string Os => UserAgentParser.Create(CreatedUserAgent)?.Platform;
+ public virtual string Os => UserAgentParser.Create(CreatedUserAgent)?.Platform;
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
@@ -94,14 +92,14 @@ public sealed record QueryRequestLogRsp : Sys_RequestLog, IRegister
public override int? ServerIp { get; init; }
///
- public new QueryUserRsp User { get; init; }
+ public new virtual QueryUserRsp User { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override long? UserId { get; init; }
///
- public void Register(TypeAdapterConfig config)
+ public virtual void Register(TypeAdapterConfig config)
{
_ = config.ForType().Map(d => d.ApiSummary, s => s.Api.Summary);
}
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs
index cf75bf71..4aad86af 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.Role;
@@ -8,13 +5,18 @@ namespace NetAdmin.Domain.Dto.Sys.Role;
///
/// 请求:创建角色
///
-public record CreateRoleReq : Sys_Role
+public record CreateRoleReq : Sys_Role, IValidatableObject
{
///
/// 角色-接口映射
///
public IReadOnlyCollection ApiIds { get; init; }
+ ///
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ [JsonString]
+ public override string DashboardLayout { get; set; }
+
///
[EnumDataType(typeof(DataScopes), ErrorMessageResourceType = typeof(Ln)
, ErrorMessageResourceName = nameof(Ln.角色数据范围不正确))]
@@ -55,4 +57,14 @@ public record CreateRoleReq : Sys_Role
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Summary { get; init; }
+
+ ///
+ public IEnumerable Validate(ValidationContext validationContext)
+ {
+ if (validationContext.MemberName != null) {
+ DashboardLayout = JsonSerializer.Serialize(JsonDocument.Parse(DashboardLayout));
+ }
+
+ yield break;
+ }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/EditRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/EditRoleReq.cs
index 53e8bb7e..b0b1a37c 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/EditRoleReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/EditRoleReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.Dto.Sys.Role;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/ExportRoleRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/ExportRoleRsp.cs
new file mode 100644
index 00000000..d9f21853
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/ExportRoleRsp.cs
@@ -0,0 +1,57 @@
+using NetAdmin.Domain.Enums.Sys;
+
+namespace NetAdmin.Domain.Dto.Sys.Role;
+
+///
+/// 响应:导出角色
+///
+public sealed record ExportRoleRsp : QueryRoleRsp
+{
+ ///
+ [CsvIndex(7)]
+ [Ignore(false)]
+ [Name(nameof(Ln.创建时间))]
+ public override DateTime CreatedTime { get; init; }
+
+ ///
+ [CsvIndex(4)]
+ [Ignore(false)]
+ [Name(nameof(Ln.数据范围))]
+ public override DataScopes DataScope { get; init; }
+
+ ///
+ [CsvIndex(5)]
+ [Ignore(false)]
+ [Name(nameof(Ln.显示仪表板))]
+ public override bool DisplayDashboard { get; init; }
+
+ ///
+ [CsvIndex(6)]
+ [Ignore(false)]
+ [Name(nameof(Ln.是否启用))]
+ public override bool Enabled { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.唯一编码))]
+ public override long Id { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.无限权限))]
+ public override bool IgnorePermissionControl { get; init; }
+
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.角色名称))]
+ public override string Name { get; init; }
+
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.排序))]
+ public override long Sort { get; init; }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/GetMenusRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/GetMenusRsp.cs
index 64c8153f..e7ab6c9d 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/GetMenusRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/GetMenusRsp.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Role;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/QueryRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/QueryRoleReq.cs
index 5be37137..9010121b 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/QueryRoleReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/QueryRoleReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Role;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/QueryRoleRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/QueryRoleRsp.cs
index 007b3b6f..6b912728 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/QueryRoleRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/QueryRoleRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.Role;
@@ -8,7 +5,7 @@ namespace NetAdmin.Domain.Dto.Sys.Role;
///
/// 响应:查询角色
///
-public sealed record QueryRoleRsp : Sys_Role, IRegister
+public record QueryRoleRsp : Sys_Role
{
///
/// 角色-接口映射
@@ -20,6 +17,10 @@ public sealed record QueryRoleRsp : Sys_Role, IRegister
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override DateTime CreatedTime { get; init; }
+ ///
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public override string DashboardLayout { get; set; }
+
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override DataScopes DataScope { get; init; }
@@ -69,7 +70,7 @@ public sealed record QueryRoleRsp : Sys_Role, IRegister
public override long Version { get; init; }
///
- public new void Register(TypeAdapterConfig config)
+ public override void Register(TypeAdapterConfig config)
{
_ = config.ForType() //
.IgnoreIf((s, _) => s.Depts == null, d => d.DeptIds)
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetDisplayDashboardReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetDisplayDashboardReq.cs
index a4c22f34..56642969 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetDisplayDashboardReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetDisplayDashboardReq.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Role;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetIgnorePermissionControlReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetIgnorePermissionControlReq.cs
index a6d3f4cb..02367a3a 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetIgnorePermissionControlReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetIgnorePermissionControlReq.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Role;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetRoleEnabledReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetRoleEnabledReq.cs
index adb8f04a..94b20278 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetRoleEnabledReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/SetRoleEnabledReq.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.Role;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs
index 749b8af7..f1d3800f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.SiteMsg;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/ExportSiteMsgRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/ExportSiteMsgRsp.cs
new file mode 100644
index 00000000..2d8f480d
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/ExportSiteMsgRsp.cs
@@ -0,0 +1,60 @@
+using NetAdmin.Domain.Dto.Sys.Dept;
+using NetAdmin.Domain.Dto.Sys.Role;
+using NetAdmin.Domain.Dto.Sys.User;
+using NetAdmin.Domain.Enums.Sys;
+
+namespace NetAdmin.Domain.Dto.Sys.SiteMsg;
+
+///
+/// 响应:导出站内信
+///
+public record ExportSiteMsgRsp : QuerySiteMsgRsp
+{
+ ///
+ [CsvIndex(5)]
+ [Ignore(false)]
+ [Name(nameof(Ln.创建时间))]
+ public override DateTime CreatedTime { get; init; }
+
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.用户名))]
+ public override string CreatedUserName { get; init; }
+
+ ///
+ [Ignore]
+ public override IEnumerable Depts { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.唯一编码))]
+ public override long Id { get; init; }
+
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.消息类型))]
+ public override SiteMsgTypes MsgType { get; init; }
+
+ ///
+ [Ignore]
+ public override IEnumerable Roles { get; init; }
+
+ ///
+ [CsvIndex(4)]
+ [Ignore(false)]
+ [Name(nameof(Ln.消息摘要))]
+ public override string Summary { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.消息主题))]
+ public override string Title { get; init; }
+
+ ///
+ [Ignore]
+ public override IEnumerable Users { get; init; }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs
index 24462671..d53f43b5 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsg;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs
index 144771b5..3c77ba3f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.Dept;
using NetAdmin.Domain.Dto.Sys.Role;
using NetAdmin.Domain.Dto.Sys.SiteMsgFlag;
@@ -12,7 +9,7 @@ namespace NetAdmin.Domain.Dto.Sys.SiteMsg;
///
/// 响应:查询站内信
///
-public sealed record QuerySiteMsgRsp : Sys_SiteMsg
+public record QuerySiteMsgRsp : Sys_SiteMsg
{
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
@@ -28,7 +25,7 @@ public sealed record QuerySiteMsgRsp : Sys_SiteMsg
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public new IEnumerable Depts { get; init; }
+ public new virtual IEnumerable Depts { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
@@ -49,7 +46,7 @@ public sealed record QuerySiteMsgRsp : Sys_SiteMsg
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public new IEnumerable Roles { get; init; }
+ public new virtual IEnumerable Roles { get; init; }
///
/// 消息发送者
@@ -66,7 +63,7 @@ public sealed record QuerySiteMsgRsp : Sys_SiteMsg
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public new IEnumerable Users { get; init; }
+ public new virtual IEnumerable Users { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs
index 145a52c1..3cd27ff2 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs
index ca632094..4e722d00 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs
index 97ecaf33..0674df0a 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs
index 442d5214..a8c37eda 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/EditSiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/EditSiteMsgReq.cs
index 63ce3bd9..b499a418 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/EditSiteMsgReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/EditSiteMsgReq.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.Dto.Sys.SiteMsg;
namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs
index de813a5e..b3e786b0 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs
index b2396079..41648337 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs
index 62ea48da..04e74c36 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs
index 0edc66ed..9912642d 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs
index a9796d27..e5b69d21 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs
index 477154b2..1568d1be 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs
index e4af9779..d90757c5 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs
index 1f650c82..5620466b 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckMobileAvailableReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckMobileAvailableReq.cs
index f05a0238..2fe31e7f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckMobileAvailableReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckMobileAvailableReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.User;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs
index 260b001b..96dd1520 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.User;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateEditUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateEditUserReq.cs
index e665a481..b541f285 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateEditUserReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateEditUserReq.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.User;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs
index 08ba8852..67a940ec 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.UserProfile;
namespace NetAdmin.Domain.Dto.Sys.User;
@@ -6,7 +5,7 @@ namespace NetAdmin.Domain.Dto.Sys.User;
///
/// 请求:创建用户
///
-public sealed record CreateUserReq : CreateEditUserReq, IRegister
+public sealed record CreateUserReq : CreateEditUserReq
{
///
[Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))]
@@ -16,7 +15,7 @@ public sealed record CreateUserReq : CreateEditUserReq, IRegister
public new CreateUserProfileReq Profile { get; init; }
///
- public new void Register(TypeAdapterConfig config)
+ public override void Register(TypeAdapterConfig config)
{
_ = config.ForType() //
.Map(d => d.Mobile, s => s.VerifySmsCodeReq.DestDevice)
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/EditUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/EditUserReq.cs
index c49d8a66..622c7dc5 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/EditUserReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/EditUserReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.UserProfile;
namespace NetAdmin.Domain.Dto.Sys.User;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/ExportUserRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/ExportUserRsp.cs
new file mode 100644
index 00000000..8ac7bead
--- /dev/null
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/ExportUserRsp.cs
@@ -0,0 +1,76 @@
+using NetAdmin.Domain.Dto.Sys.Dept;
+using NetAdmin.Domain.Dto.Sys.Role;
+
+namespace NetAdmin.Domain.Dto.Sys.User;
+
+///
+/// 响应:导出用户
+///
+public record ExportUserRsp : QueryUserRsp
+{
+ ///
+ [CsvIndex(7)]
+ [Ignore(false)]
+ [Name(nameof(Ln.创建时间))]
+ public override DateTime CreatedTime { get; init; }
+
+ ///
+ [Ignore]
+ public override QueryDeptRsp Dept { get; init; }
+
+ ///
+ /// 所属部门
+ ///
+ [CsvIndex(5)]
+ [Name(nameof(Ln.所属部门))]
+ public string DeptName { get; init; }
+
+ ///
+ [CsvIndex(3)]
+ [Ignore(false)]
+ [Name(nameof(Ln.邮箱号))]
+ public override string Email { get; init; }
+
+ ///
+ [CsvIndex(6)]
+ [Ignore(false)]
+ [Name(nameof(Ln.是否启用))]
+ public override bool Enabled { get; init; }
+
+ ///
+ [CsvIndex(0)]
+ [Ignore(false)]
+ [Name(nameof(Ln.唯一编码))]
+ public override long Id { get; init; }
+
+ ///
+ [CsvIndex(2)]
+ [Ignore(false)]
+ [Name(nameof(Ln.手机号))]
+ public override string Mobile { get; init; }
+
+ ///
+ /// 所属角色
+ ///
+ [CsvIndex(4)]
+ [Name(nameof(Ln.所属角色))]
+ public string RoleNames { get; init; }
+
+ ///
+ [Ignore]
+ public override IEnumerable Roles { get; init; }
+
+ ///
+ [CsvIndex(1)]
+ [Ignore(false)]
+ [Name(nameof(Ln.用户名))]
+ public override string UserName { get; init; }
+
+ ///
+ public override void Register(TypeAdapterConfig config)
+ {
+ _ = config.ForType()
+ .Map(d => d.DeptName, s => s.Dept.Name)
+ .Map(d => d.RoleNames, s => string.Join(',', s.Roles.Select(x => x.Name)));
+ }
+}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs
index b61aa031..8e40bc57 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.User;
///
@@ -8,7 +6,7 @@ namespace NetAdmin.Domain.Dto.Sys.User;
public sealed record LoginByPwdReq : DataAbstraction
{
///
- /// 用户名、手机号码、邮箱
+ /// 用户名、手机号、邮箱
///
[Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.账号不能为空))]
public string Account { get; init; }
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs
index a96748ba..987dd5f0 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.User;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs
index 7c15cc11..d27e2d9a 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.Dept;
using NetAdmin.Domain.Dto.Sys.Role;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs
index 26a3706c..5f755aef 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.VerifyCode;
namespace NetAdmin.Domain.Dto.Sys.User;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs
index 29906b96..c8fa6425 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
using NetAdmin.Domain.Dto.Sys.VerifyCode;
namespace NetAdmin.Domain.Dto.Sys.User;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs
index 8b71e7be..2792a5fe 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.User;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs
index 4d53a2e1..275fc461 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-
namespace NetAdmin.Domain.Dto.Sys.User;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetUserEnabledReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetUserEnabledReq.cs
index 8fdf5328..28932ceb 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetUserEnabledReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetUserEnabledReq.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.User;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs
index 6ec53a48..86897fd7 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.Dept;
using NetAdmin.Domain.Dto.Sys.Role;
@@ -7,7 +6,7 @@ namespace NetAdmin.Domain.Dto.Sys.User;
///
/// 响应:当前用户信息
///
-public sealed record UserInfoRsp : QueryUserRsp, IRegister
+public sealed record UserInfoRsp : QueryUserRsp
{
///
public override QueryDeptRsp Dept { get; init; }
@@ -16,7 +15,7 @@ public sealed record UserInfoRsp : QueryUserRsp, IRegister
public override IEnumerable Roles { get; init; }
///
- public new void Register(TypeAdapterConfig config)
+ public override void Register(TypeAdapterConfig config)
{
_ = config.ForType() //
.IgnoreIf((s, _) => s.Mobile == null, d => d.Mobile)
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs
index ab67718b..5875a02b 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.Dic.Content;
namespace NetAdmin.Domain.Dto.Sys.UserProfile;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/EditUserProfileReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/EditUserProfileReq.cs
index ed16df09..96e81a77 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/EditUserProfileReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/EditUserProfileReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.Dto.Sys.UserProfile;
///
@@ -7,6 +5,11 @@ namespace NetAdmin.Domain.Dto.Sys.UserProfile;
///
public sealed record EditUserProfileReq : CreateUserProfileReq
{
+ ///
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ [JsonString]
+ public override string AppConfig { get; set; }
+
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long Version { get; init; }
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/GetSessionUserAppConfigRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/GetSessionUserAppConfigRsp.cs
index 12a390f6..40c0ce43 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/GetSessionUserAppConfigRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/GetSessionUserAppConfigRsp.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.UserProfile;
///
@@ -11,7 +7,7 @@ public sealed record GetSessionUserAppConfigRsp : Sys_UserProfile
{
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public override string AppConfig { get; init; }
+ public override string AppConfig { get; set; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileReq.cs
index 12a13c4a..cb9a2d96 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.UserProfile;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs
index 052fd915..07ea21ad 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.Dic.Content;
namespace NetAdmin.Domain.Dto.Sys.UserProfile;
@@ -10,6 +7,10 @@ namespace NetAdmin.Domain.Dto.Sys.UserProfile;
///
public sealed record QueryUserProfileRsp : Sys_UserProfile
{
+ ///
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public override string AppConfig { get; set; }
+
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override DateTime? BornDate { get; init; }
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/SetSessionUserAppConfigReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/SetSessionUserAppConfigReq.cs
index 3da551ae..31786a04 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/SetSessionUserAppConfigReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/SetSessionUserAppConfigReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.UserProfile;
///
@@ -9,5 +7,6 @@ public record SetSessionUserAppConfigReq : Sys_UserProfile
{
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public override string AppConfig { get; init; }
+ [JsonString]
+ public override string AppConfig { get; set; }
}
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/CreateVerifyCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/CreateVerifyCodeReq.cs
index edad0698..5ac27f24 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/CreateVerifyCodeReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/CreateVerifyCodeReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.VerifyCode;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/QueryVerifyCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/QueryVerifyCodeReq.cs
index b8f83ffc..8abd3f58 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/QueryVerifyCodeReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/QueryVerifyCodeReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.VerifyCode;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/QueryVerifyCodeRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/QueryVerifyCodeRsp.cs
index 6a4bd20c..1180146c 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/QueryVerifyCodeRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/QueryVerifyCodeRsp.cs
@@ -1,7 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.VerifyCode;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs
index 3044492b..2ea0c9ca 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Sys.Captcha;
using NetAdmin.Domain.Enums.Sys;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeRsp.cs
index b4e248d7..35d11ed9 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeRsp.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.VerifyCode;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SetVerifyCodeStatusReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SetVerifyCodeStatusReq.cs
index 41dc43e7..3c2012b5 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SetVerifyCodeStatusReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SetVerifyCodeStatusReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
-
namespace NetAdmin.Domain.Dto.Sys.VerifyCode;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs
index 6011f228..0a374ebe 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs
@@ -1,6 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Sys;
-
namespace NetAdmin.Domain.Dto.Sys.VerifyCode;
///
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs
index a68a6e93..6de8758f 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.VerifyCode;
diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs
index 29033f47..dc14ce44 100644
--- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.Attributes.DataValidation;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.VerifyCode;
diff --git a/src/backend/NetAdmin.Domain/Dto/Tpl/Example/QueryExampleReq.cs b/src/backend/NetAdmin.Domain/Dto/Tpl/Example/QueryExampleReq.cs
index 67b2592d..dbeb8849 100644
--- a/src/backend/NetAdmin.Domain/Dto/Tpl/Example/QueryExampleReq.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Tpl/Example/QueryExampleReq.cs
@@ -1,4 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
using NetAdmin.Domain.DbMaps.Tpl;
namespace NetAdmin.Domain.Dto.Tpl.Example;
diff --git a/src/backend/NetAdmin.Domain/Dto/Tpl/Example/QueryExampleRsp.cs b/src/backend/NetAdmin.Domain/Dto/Tpl/Example/QueryExampleRsp.cs
index 46ce6cb8..27e7dffe 100644
--- a/src/backend/NetAdmin.Domain/Dto/Tpl/Example/QueryExampleRsp.cs
+++ b/src/backend/NetAdmin.Domain/Dto/Tpl/Example/QueryExampleRsp.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.DbMaps.Dependency;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.DbMaps.Tpl;
namespace NetAdmin.Domain.Dto.Tpl.Example;
diff --git a/src/backend/NetAdmin.Domain/Enums/Sys/JobStatues.cs b/src/backend/NetAdmin.Domain/Enums/Sys/JobStatues.cs
index 69ee91da..584d9174 100644
--- a/src/backend/NetAdmin.Domain/Enums/Sys/JobStatues.cs
+++ b/src/backend/NetAdmin.Domain/Enums/Sys/JobStatues.cs
@@ -1,5 +1,3 @@
-using NetAdmin.Domain.Attributes;
-
namespace NetAdmin.Domain.Enums.Sys;
///
diff --git a/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj b/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj
index 3d157497..65d44c2e 100644
--- a/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj
+++ b/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj
@@ -9,4 +9,7 @@
+
+
+
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Host/Utils/SqlAuditor.cs b/src/backend/NetAdmin.Host/Utils/SqlAuditor.cs
index 5a049d5b..383342a5 100644
--- a/src/backend/NetAdmin.Host/Utils/SqlAuditor.cs
+++ b/src/backend/NetAdmin.Host/Utils/SqlAuditor.cs
@@ -1,6 +1,4 @@
-using NetAdmin.Domain.Attributes;
using NetAdmin.Domain.Contexts;
-using NetAdmin.Domain.DbMaps.Dependency.Fields;
using Yitter.IdGenerator;
namespace NetAdmin.Host.Utils;
diff --git a/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs b/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs
index 9830743c..d2850dd3 100644
--- a/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs
+++ b/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs
@@ -47,6 +47,7 @@ public static class Chars
public const string FLG_FREE_SQL_GLOBAL_FILTER_MEMBER = nameof(FLG_FREE_SQL_GLOBAL_FILTER_MEMBER);
public const string FLG_FREE_SQL_GLOBAL_FILTER_SELF = nameof(FLG_FREE_SQL_GLOBAL_FILTER_SELF);
public const string FLG_FREE_SQL_GLOBAL_FILTER_TENANT = nameof(FLG_FREE_SQL_GLOBAL_FILTER_TENANT);
+ public const string FLG_FRONT_APP_SET_HOME_GRID = "APP_SET_HOME_GRID";
public const string FLG_HTTP_HEADER_KEY_ACCESS_TOKEN = "ACCESS-TOKEN";
public const string FLG_HTTP_HEADER_KEY_AUTHORIZATION = "Authorization";
public const string FLG_HTTP_HEADER_KEY_REFERER = "Referer";
diff --git a/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs b/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs
index 6de67565..1443f50d 100644
--- a/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs
+++ b/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs
@@ -17,6 +17,7 @@ public static class Numbers
public const long ID_DIC_CATALOG_GEO_AREA = 379794295185413; // 唯一编号:字典目录-行政区划字典
public const int MAX_LIMIT_BULK_REQ = 100; // 最大限制:批量请求数
+ public const int MAX_LIMIT_EXPORT = 10000; // 最大限制:导出为CSV文件的条数
public const int MAX_LIMIT_PRINT_LEN_CONTENT = 4096; // 最大限制:打印长度(HTTP 内容)
public const int MAX_LIMIT_PRINT_LEN_SQL = 4096; // 最大限制:打印长度(SQL 语句)
public const int MAX_LIMIT_QUERY = 1000; // 最大限制:非分页查询条数
diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs
index 4286f747..f3d79819 100644
--- a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs
+++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs
@@ -6,7 +6,7 @@ namespace NetAdmin.Infrastructure.Exceptions;
///
/// 参数格式错误、内容校验错误等
///
-#pragma warning disable RCS1194
-public sealed class NetAdminInvalidInputException(string message = null, Exception innerException = null)
- #pragma warning restore RCS1194
+#pragma warning disable DesignedForInheritance, RCS1194
+public class NetAdminInvalidInputException(string message = null, Exception innerException = null)
+ #pragma warning restore RCS1194, DesignedForInheritance
: NetAdminException(ErrorCodes.InvalidInput, message, innerException) { }
\ No newline at end of file
diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminValidateException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminValidateException.cs
index b3264d75..79260bd5 100644
--- a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminValidateException.cs
+++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminValidateException.cs
@@ -9,7 +9,7 @@ namespace NetAdmin.Infrastructure.Exceptions;
#pragma warning disable RCS1194
public sealed class NetAdminValidateException(Dictionary validateResults)
#pragma warning restore RCS1194
- : NetAdminInvalidOperationException(null)
+ : NetAdminInvalidInputException
{
///
/// 验证结果
diff --git a/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj b/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj
index fad99b56..0c7da1c9 100644
--- a/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj
+++ b/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs b/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs
index 13569216..d3b3aefb 100644
--- a/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs
+++ b/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs
@@ -14,6 +14,7 @@ public sealed class FreeSqlBuilder(DatabaseOptions databaseOptions)
public IFreeSql Build(FreeSqlInitMethods initMethods)
{
var freeSql = new FreeSql.FreeSqlBuilder().UseConnectionString(databaseOptions.DbType, databaseOptions.ConnStr)
+ .UseGenerateCommandParameterWithLambda(true)
.UseAutoSyncStructure(false)
.Build();
diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs
index 6b04d5f0..8321ad87 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs
@@ -49,6 +49,11 @@ public interface IDicModule
///
Task EditContentAsync(EditDicContentReq req);
+ ///
+ /// 导出字典内容
+ ///
+ Task ExportContentAsync(QueryReq req);
+
///
/// 获取单个字典目录
///
diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IJobModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IJobModule.cs
index 4eb1b95e..0cddc190 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IJobModule.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IJobModule.cs
@@ -14,6 +14,11 @@ public interface IJobModule : ICrudModule
{
+ ///
+ /// 作业记录计数
+ ///
+ Task CountRecordAsync(QueryReq req);
+
///
/// 编辑作业
///
@@ -24,6 +29,16 @@ public interface IJobModule : ICrudModule
Task ExecuteAsync(QueryJobReq req);
+ ///
+ /// 导出作业记录
+ ///
+ Task ExportRecordAsync(QueryReq req);
+
+ ///
+ /// 获取单个作业记录
+ ///
+ Task GetRecordAsync(QueryJobRecordReq req);
+
///
/// 获取作业记录条形图数据
///
@@ -39,15 +54,10 @@ public interface IJobModule : ICrudModule
Task> GetRecordPieChartByNameAsync(QueryReq req);
- ///
- /// 获取单个作业记录
- ///
- Task RecordGetAsync(QueryJobRecordReq req);
-
///
/// 分页查询作业记录
///
- Task> RecordPagedQueryAsync(PagedQueryReq req);
+ Task> PagedQueryRecordAsync(PagedQueryReq req);
///
/// 设置计划作业启用状态
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs
index 9ca28fea..c0174a64 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs
@@ -1,6 +1,7 @@
+using CsvHelper;
+using Microsoft.Net.Http.Headers;
using NetAdmin.Application.Repositories;
using NetAdmin.Application.Services;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys.Api;
using NetAdmin.SysComponent.Application.Services.Sys.Dependency;
@@ -57,6 +58,39 @@ public sealed class ApiService(
.AnyAsync();
}
+ ///
+ public async Task ExportAsync(QueryReq req)
+ {
+ req.ThrowIfInvalid();
+ var data = await QueryInternal(req)
+ #if DBTYPE_SQLSERVER
+ .WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
+ #endif
+ .Take(Numbers.MAX_LIMIT_EXPORT)
+ .ToListAsync()
+ .ConfigureAwait(false);
+ var list = data.Adapt>();
+ var stream = new MemoryStream();
+ var writer = new StreamWriter(stream);
+ var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
+ csv.WriteHeader();
+ await csv.NextRecordAsync().ConfigureAwait(false);
+
+ foreach (var item in list) {
+ csv.WriteRecord(item);
+ await csv.NextRecordAsync().ConfigureAwait(false);
+ }
+
+ await csv.FlushAsync().ConfigureAwait(false);
+ _ = stream.Seek(0, SeekOrigin.Begin);
+
+ App.HttpContext.Response.Headers.ContentDisposition
+ = new ContentDispositionHeaderValue(Chars.FLG_HTTP_HEADER_VALUE_ATTACHMENT) {
+ FileNameStar = $"{Ln.接口导出}_{DateTime.Now:yyyy.MM.dd-HH.mm.ss}.csv"
+ }.ToString();
+ return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
+ }
+
///
public Task GetAsync(QueryApiReq req)
{
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs
index 1113f312..e8cafc9b 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs
@@ -1,6 +1,7 @@
+using CsvHelper;
+using Microsoft.Net.Http.Headers;
using NetAdmin.Application.Repositories;
using NetAdmin.Application.Services;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys.Config;
using NetAdmin.SysComponent.Application.Services.Sys.Dependency;
@@ -74,6 +75,39 @@ public sealed class ConfigService(BasicRepository rpo) //
.AnyAsync();
}
+ ///
+ public async Task ExportAsync(QueryReq req)
+ {
+ req.ThrowIfInvalid();
+ var data = await QueryInternal(req)
+ #if DBTYPE_SQLSERVER
+ .WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
+ #endif
+ .Take(Numbers.MAX_LIMIT_EXPORT)
+ .ToListAsync()
+ .ConfigureAwait(false);
+ var list = data.Adapt>();
+ var stream = new MemoryStream();
+ var writer = new StreamWriter(stream);
+ var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
+ csv.WriteHeader();
+ await csv.NextRecordAsync().ConfigureAwait(false);
+
+ foreach (var item in list) {
+ csv.WriteRecord(item);
+ await csv.NextRecordAsync().ConfigureAwait(false);
+ }
+
+ await csv.FlushAsync().ConfigureAwait(false);
+ _ = stream.Seek(0, SeekOrigin.Begin);
+
+ App.HttpContext.Response.Headers.ContentDisposition
+ = new ContentDispositionHeaderValue(Chars.FLG_HTTP_HEADER_VALUE_ATTACHMENT) {
+ FileNameStar = $"{Ln.配置导出}_{DateTime.Now:yyyy.MM.dd-HH.mm.ss}.csv"
+ }.ToString();
+ return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
+ }
+
///
public async Task GetAsync(QueryConfigReq req)
{
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs
index bc380bb5..fa27b0a9 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs
@@ -1,6 +1,5 @@
using Microsoft.OpenApi.Extensions;
using NetAdmin.Application.Services;
-using NetAdmin.Domain.Attributes;
using NetAdmin.SysComponent.Application.Services.Sys.Dependency;
namespace NetAdmin.SysComponent.Application.Services.Sys;
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs
index 419f4b60..d8e184ad 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs
@@ -1,6 +1,7 @@
+using CsvHelper;
+using Microsoft.Net.Http.Headers;
using NetAdmin.Application.Repositories;
using NetAdmin.Application.Services;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys.Dept;
using NetAdmin.SysComponent.Application.Services.Sys.Dependency;
@@ -92,6 +93,39 @@ public sealed class DeptService(BasicRepository rpo) //
.AnyAsync();
}
+ ///
+ public async Task ExportAsync(QueryReq req)
+ {
+ req.ThrowIfInvalid();
+ var data = await QueryInternal(req)
+ #if DBTYPE_SQLSERVER
+ .WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
+ #endif
+ .Take(Numbers.MAX_LIMIT_EXPORT)
+ .ToListAsync()
+ .ConfigureAwait(false);
+ var list = data.Adapt>();
+ var stream = new MemoryStream();
+ var writer = new StreamWriter(stream);
+ var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
+ csv.WriteHeader();
+ await csv.NextRecordAsync().ConfigureAwait(false);
+
+ foreach (var item in list) {
+ csv.WriteRecord(item);
+ await csv.NextRecordAsync().ConfigureAwait(false);
+ }
+
+ await csv.FlushAsync().ConfigureAwait(false);
+ _ = stream.Seek(0, SeekOrigin.Begin);
+
+ App.HttpContext.Response.Headers.ContentDisposition
+ = new ContentDispositionHeaderValue(Chars.FLG_HTTP_HEADER_VALUE_ATTACHMENT) {
+ FileNameStar = $"{Ln.部门导出}_{DateTime.Now:yyyy.MM.dd-HH.mm.ss}.csv"
+ }.ToString();
+ return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
+ }
+
///
public async Task GetAsync(QueryDeptReq req)
{
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs
index e02a1851..70eb0217 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs
@@ -1,6 +1,5 @@
using NetAdmin.Application.Repositories;
using NetAdmin.Application.Services;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys.Dic.Catalog;
using NetAdmin.SysComponent.Application.Services.Sys.Dependency;
@@ -80,6 +79,12 @@ public sealed class DicCatalogService(BasicRepository rpo)
.AnyAsync();
}
+ ///
+ public Task ExportAsync(QueryReq req)
+ {
+ throw new NotImplementedException();
+ }
+
///
public async Task GetAsync(QueryDicCatalogReq req)
{
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs
index e5687b23..68a5eeee 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs
@@ -1,6 +1,7 @@
+using CsvHelper;
+using Microsoft.Net.Http.Headers;
using NetAdmin.Application.Repositories;
using NetAdmin.Application.Services;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys.Dic.Content;
using NetAdmin.SysComponent.Application.Services.Sys.Dependency;
@@ -94,6 +95,39 @@ public sealed class DicContentService(BasicRepository rpo)
.AnyAsync();
}
+ ///
+ public async Task ExportAsync(QueryReq req)
+ {
+ req.ThrowIfInvalid();
+ var data = await QueryInternal(req)
+ #if DBTYPE_SQLSERVER
+ .WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
+ #endif
+ .Take(Numbers.MAX_LIMIT_EXPORT)
+ .ToListAsync()
+ .ConfigureAwait(false);
+ var list = data.Adapt>();
+ var stream = new MemoryStream();
+ var writer = new StreamWriter(stream);
+ var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
+ csv.WriteHeader();
+ await csv.NextRecordAsync().ConfigureAwait(false);
+
+ foreach (var item in list) {
+ csv.WriteRecord(item);
+ await csv.NextRecordAsync().ConfigureAwait(false);
+ }
+
+ await csv.FlushAsync().ConfigureAwait(false);
+ _ = stream.Seek(0, SeekOrigin.Begin);
+
+ App.HttpContext.Response.Headers.ContentDisposition
+ = new ContentDispositionHeaderValue(Chars.FLG_HTTP_HEADER_VALUE_ATTACHMENT) {
+ FileNameStar = $"{Ln.字典内容导出}_{DateTime.Now:yyyy.MM.dd-HH.mm.ss}.csv"
+ }.ToString();
+ return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
+ }
+
///
public async Task GetAsync(QueryDicContentReq req)
{
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs
index 723777a5..69f7cac9 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs
@@ -66,6 +66,13 @@ public sealed class DicService(IDicCatalogService catalogService, IDicContentSer
return contentService.EditAsync(req);
}
+ ///
+ public Task ExportContentAsync(QueryReq req)
+ {
+ req.ThrowIfInvalid();
+ return contentService.ExportAsync(req);
+ }
+
///
public Task GetCatalogAsync(QueryDicCatalogReq req)
{
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobRecordService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobRecordService.cs
index 10711542..62128cfb 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobRecordService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobRecordService.cs
@@ -1,6 +1,7 @@
+using CsvHelper;
+using Microsoft.Net.Http.Headers;
using NetAdmin.Application.Repositories;
using NetAdmin.Application.Services;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys;
using NetAdmin.Domain.Dto.Sys.JobRecord;
@@ -63,6 +64,39 @@ public sealed class JobRecordService(BasicRepository rpo) /
.AnyAsync();
}
+ ///
+ public async Task ExportAsync(QueryReq req)
+ {
+ req.ThrowIfInvalid();
+ var data = await QueryInternal(req)
+ #if DBTYPE_SQLSERVER
+ .WithLock(SqlServerLock.NoLock | SqlServerLock.NoWait)
+ #endif
+ .Take(Numbers.MAX_LIMIT_EXPORT)
+ .ToListAsync()
+ .ConfigureAwait(false);
+ var list = data.Adapt>();
+ var stream = new MemoryStream();
+ var writer = new StreamWriter(stream);
+ var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
+ csv.WriteHeader();
+ await csv.NextRecordAsync().ConfigureAwait(false);
+
+ foreach (var item in list) {
+ csv.WriteRecord(item);
+ await csv.NextRecordAsync().ConfigureAwait(false);
+ }
+
+ await csv.FlushAsync().ConfigureAwait(false);
+ _ = stream.Seek(0, SeekOrigin.Begin);
+
+ App.HttpContext.Response.Headers.ContentDisposition
+ = new ContentDispositionHeaderValue(Chars.FLG_HTTP_HEADER_VALUE_ATTACHMENT) {
+ FileNameStar = $"{Ln.计划作业执行记录导出}_{DateTime.Now:yyyy.MM.dd-HH.mm.ss}.csv"
+ }.ToString();
+ return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
+ }
+
///
public async Task GetAsync(QueryJobRecordReq req)
{
@@ -170,7 +204,8 @@ public sealed class JobRecordService(BasicRepository rpo) /
.WhereDynamic(req.Filter)
.WhereIf( //
req.Keywords?.Length > 0
- , a => a.JobId == req.Keywords.Int64Try(0) || a.Id == req.Keywords.Int64Try(0));
+ , a => a.JobId == req.Keywords.Int64Try(0) || a.Id == req.Keywords.Int64Try(0) ||
+ a.Job.JobName == req.Keywords);
switch (req.Order) {
case Orders.None:
return ret;
diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobService.cs
index ddc4c703..eb9c8b81 100644
--- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobService.cs
+++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobService.cs
@@ -1,8 +1,9 @@
using Cronos;
+using CsvHelper;
using FreeSql.Internal;
+using Microsoft.Net.Http.Headers;
using NetAdmin.Application.Repositories;
using NetAdmin.Application.Services;
-using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys;
using NetAdmin.Domain.Dto.Sys.Job;
@@ -41,6 +42,12 @@ public sealed class JobService(BasicRepository rpo, IJobRecordSer
.CountAsync();
}
+ ///
+ public Task CountRecordAsync(QueryReq req)
+ {
+ return jobRecordService.CountAsync(req);
+ }
+
///
public async Task CreateAsync(CreateJobReq req)
{
@@ -132,6 +139,46 @@ public sealed class JobService(BasicRepository rpo, IJobRecordSer
.AnyAsync();
}
+ ///
+ public async Task ExportAsync(QueryReq