zuohuaijun пре 7 месеци
родитељ
комит
18235259f2
25 измењених фајлова са 260 додато и 251 уклоњено
  1. 9 9
      Admin.NET/Admin.NET.Core/Entity/SysLang.cs
  2. 2 2
      Admin.NET/Admin.NET.Core/Entity/SysLangText.cs
  3. 1 0
      Admin.NET/Admin.NET.Core/Entity/SysUser.cs
  4. 4 3
      Admin.NET/Admin.NET.Core/Enum/DirectionEnum.cs
  5. 7 2
      Admin.NET/Admin.NET.Core/Enum/WeekEnum.cs
  6. 1 0
      Admin.NET/Admin.NET.Core/Extension/SqlSugarExtension.cs
  7. 4 2
      Admin.NET/Admin.NET.Core/Option/DeepSeekOptions.cs
  8. 0 2
      Admin.NET/Admin.NET.Core/SeedData/SysLangSeedData.cs
  9. 7 7
      Admin.NET/Admin.NET.Core/SeedData/SysMenuSeedData.cs
  10. 5 4
      Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs
  11. 1 2
      Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictDataOutput.cs
  12. 1 1
      Admin.NET/Admin.NET.Core/Service/Dict/SysDictDataService.cs
  13. 0 2
      Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs
  14. 19 20
      Admin.NET/Admin.NET.Core/Service/Lang/Dto/SysLangDto.cs
  15. 66 71
      Admin.NET/Admin.NET.Core/Service/Lang/Dto/SysLangInput.cs
  16. 34 35
      Admin.NET/Admin.NET.Core/Service/Lang/Dto/SysLangOutput.cs
  17. 1 1
      Admin.NET/Admin.NET.Core/Service/Lang/SysLangService.cs
  18. 12 13
      Admin.NET/Admin.NET.Core/Service/LangText/Dto/SysLangTextDto.cs
  19. 37 38
      Admin.NET/Admin.NET.Core/Service/LangText/Dto/SysLangTextInput.cs
  20. 24 25
      Admin.NET/Admin.NET.Core/Service/LangText/Dto/SysLangTextOutput.cs
  21. 8 2
      Admin.NET/Admin.NET.Core/Service/LangText/SysLangTextCacheService.cs
  22. 11 8
      Admin.NET/Admin.NET.Core/Service/LangText/SysLangTextService.cs
  23. 1 1
      Admin.NET/Admin.NET.Core/Service/Menu/SysMenuService.cs
  24. 3 1
      Admin.NET/Admin.NET.Core/Service/Org/Dto/OrgTreeOutput.cs
  25. 2 0
      Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs

+ 9 - 9
Admin.NET/Admin.NET.Core/Entity/SysLang.cs

@@ -15,7 +15,7 @@ public class SysLang : EntityBase
     /// <summary>
     /// 语言名称
     /// </summary>
-    [SugarColumn( ColumnDescription = "语言名称")]
+    [SugarColumn(ColumnDescription = "语言名称")]
     public string Name { get; set; }
 
     /// <summary>
@@ -39,8 +39,8 @@ public class SysLang : EntityBase
     /// <summary>
     /// 书写方向(1=从左到右,2=从右到左)
     /// </summary>
-    [SugarColumn(ColumnDescription = "书写方向",DefaultValue ="1")]
-    public DirectionEnum Direction { get; set; }= DirectionEnum.Ltr;
+    [SugarColumn(ColumnDescription = "书写方向", DefaultValue = "1")]
+    public DirectionEnum Direction { get; set; } = DirectionEnum.Ltr;
 
     /// <summary>
     /// 日期格式(如 YYYY-MM-DD)
@@ -57,13 +57,13 @@ public class SysLang : EntityBase
     /// <summary>
     /// 每周起始日(如 0=星期日,1=星期一)
     /// </summary>
-    [SugarColumn(ColumnDescription = "每周起始日", DefaultValue ="7")]
-    public WeekEnum WeekStart { get; set; }= WeekEnum.Sunday;
+    [SugarColumn(ColumnDescription = "每周起始日", DefaultValue = "7")]
+    public WeekEnum WeekStart { get; set; } = WeekEnum.Sunday;
 
     /// <summary>
     /// 分组符号(如 ,)
     /// </summary>
-    [SugarColumn( ColumnDescription = "分组符号")]
+    [SugarColumn(ColumnDescription = "分组符号")]
     public string Grouping { get; set; }
 
     /// <summary>
@@ -75,12 +75,12 @@ public class SysLang : EntityBase
     /// <summary>
     /// 千分位分隔符
     /// </summary>
-    [SugarColumn( ColumnDescription = "千分位分隔符")]
+    [SugarColumn(ColumnDescription = "千分位分隔符")]
     public string? ThousandsSep { get; set; }
 
     /// <summary>
     /// 是否启用
     /// </summary>
-    [SugarColumn( ColumnDescription = "是否启用")]
+    [SugarColumn(ColumnDescription = "是否启用")]
     public bool Active { get; set; }
-}
+}

+ 2 - 2
Admin.NET/Admin.NET.Core/Entity/SysLangText.cs

@@ -15,7 +15,7 @@ public class SysLangText : EntityBase
     /// <summary>
     /// 所属实体名
     /// </summary>
-    [SugarColumn( ColumnDescription = "所属实体名")]
+    [SugarColumn(ColumnDescription = "所属实体名")]
     public string EntityName { get; set; }
 
     /// <summary>
@@ -41,4 +41,4 @@ public class SysLangText : EntityBase
     /// </summary>
     [SugarColumn(ColumnDescription = "翻译内容")]
     public string Content { get; set; }
-}
+}

+ 1 - 0
Admin.NET/Admin.NET.Core/Entity/SysUser.cs

@@ -318,6 +318,7 @@ public partial class SysUser : EntityBaseTenantOrg
     /// </summary>
     [SugarColumn(ColumnDescription = "语言代码")]
     public string LangCode { get; set; } = "zh_CN";
+
     /// <summary>
     /// 验证超级管理员类型,若账号类型为超级管理员则报错
     /// </summary>

+ 4 - 3
Admin.NET/Admin.NET.Core/Enum/DirectionEnum.cs

@@ -16,10 +16,11 @@ public enum DirectionEnum
     /// 从左到右
     /// </summary>
     [Description("从左到右")]
-    Ltr=1,
+    Ltr = 1,
+
     /// <summary>
     /// 从右到左
     /// </summary>
     [Description("从右到左")]
-    Rtl=2
-}
+    Rtl = 2
+}

+ 7 - 2
Admin.NET/Admin.NET.Core/Enum/WeekEnum.cs

@@ -17,35 +17,40 @@ public enum WeekEnum
     /// </summary>
     [Description("周一")]
     Monday = 1,
+
     /// <summary>
     /// 周二
     /// </summary>
     [Description("周二")]
     Tuesday = 2,
+
     /// <summary>
     /// 周三
     /// </summary>
     [Description("周三")]
     Wednesday = 3,
+
     /// <summary>
     /// 周四
     /// </summary>
     [Description("周四")]
     Thursday = 4,
+
     /// <summary>
     /// 周五
     /// </summary>
     [Description("周五")]
     Friday = 5,
+
     /// <summary>
     /// 周六
     /// </summary>
     [Description("周六")]
     Saturday = 6,
+
     /// <summary>
     /// 周日
     /// </summary>
     [Description("周日")]
     Sunday = 7,
-
-}
+}

+ 1 - 0
Admin.NET/Admin.NET.Core/Extension/SqlSugarExtension.cs

@@ -324,6 +324,7 @@ public static class SqlSugarExtension
     }
 
     #endregion 视图操作
+
     /// <summary>
     /// 列表转换为树形结构
     /// </summary>

+ 4 - 2
Admin.NET/Admin.NET.Core/Option/DeepSeekOptions.cs

@@ -5,19 +5,21 @@
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
 namespace Admin.NET.Core;
-public sealed class DeepSeekOptions: IConfigurableOptions
+
+public sealed class DeepSeekOptions : IConfigurableOptions
 {
     /// <summary>
     /// 源语言
     /// </summary>
     public string SourceLang { get; set; }
+
     /// <summary>
     /// Api地址
     /// </summary>
     public string ApiUrl { get; set; }
+
     /// <summary>
     /// API KEY
     /// </summary>
     public string ApiKey { get; set; }
-
 }

+ 0 - 2
Admin.NET/Admin.NET.Core/SeedData/SysLangSeedData.cs

@@ -4,8 +4,6 @@
 //
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
-
 namespace Admin.NET.Core;
 
 /// <summary>

+ 7 - 7
Admin.NET/Admin.NET.Core/SeedData/SysMenuSeedData.cs

@@ -99,7 +99,7 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
             new SysMenu{ Id=1300200080701, Pid=1300200080101, Title="同步域账户", Permission="sysLdap:syncUser", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=150 },
             new SysMenu{ Id=1300200080801, Pid=1300200080101, Title="同步域组织", Permission="sysLdap:syncOrg", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=160 },
 
-            #endregion
+            #endregion 系统管理
 
             #region 平台管理
 
@@ -172,7 +172,7 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
             new SysMenu{ Id=1300200090301, Pid=1300200090101, Title="编辑", Permission="sysTenantConfig:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
             new SysMenu{ Id=1300200090401, Pid=1300200090101, Title="增加", Permission="sysTenantConfig:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
             new SysMenu{ Id=1300200090501, Pid=1300200090101, Title="删除", Permission="sysTenantConfig:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
-            
+
             // 语言管理
             new SysMenu{ Id=1300200100101, Pid=1300200000101, Title="语言管理", Path="/system/lang", Name="sysLang", Component="/system/lang/index", Icon="iconfont icon-diqiu", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2025-06-28 00:00:00"), OrderNo=190 },
             new SysMenu{ Id=1300200100201, Pid=1300200100101, Title="查询", Permission="sysLang:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
@@ -253,8 +253,8 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
             new SysMenu{ Id=1300300160601, Pid=1300300160101, Title="清除日志", Permission="sysUpdate:clear", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
             new SysMenu{ Id=1300300160701, Pid=1300300160101, Title="获取密钥", Permission="sysUpdate:webHookKey", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
 
-	        #endregion
-            
+	        #endregion 平台管理
+
             #region 日志管理
 
             new SysMenu{ Id=1300400000101, Pid=0, Title="日志管理", Path="/log", Name="log", Component="Layout", Icon="ele-DocumentCopy", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=12000 },
@@ -281,7 +281,7 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
             new SysMenu{ Id=1300400040201, Pid=1300400040101, Title="查询", Permission="sysDifflog:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
             new SysMenu{ Id=1300400040301, Pid=1300400040101, Title="清空", Permission="sysDifflog:clear", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
 
-            #endregion
+            #endregion 日志管理
 
             #region 开发工具
 
@@ -293,7 +293,7 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
             new SysMenu{ Id=1300500040101, Pid=1300500000101, Title="接口压测", Path="/develop/stressTest", Name="SysStressTest", Component="/system/stressTest/index", Icon="ele-DataLine", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
             new SysMenu{ Id=1300500050101, Pid=1300500000101, Title="系统接口", Path="/develop/api", Name="sysApi", Component="layout/routerView/iframe", IsIframe=true, OutLink="http://localhost:5005", Icon="ele-Help", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=140 },
 
-            #endregion
+            #endregion 开发工具
 
             #region 帮助文档
 
@@ -304,7 +304,7 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
             new SysMenu{ Id=1300600030101, Pid=1300600000101, Title="前端教程", Path="/doc/element", Name="sysElement", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://element-plus.gitee.io/zh-CN/", Icon="ele-Position", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
             new SysMenu{ Id=1300600040101, Pid=1300600000101, Title="SqlSugar", Path="/doc/SqlSugar", Name="sysSqlSugar", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://www.donet5.com/Home/Doc", Icon="ele-Coin", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
 
-	        #endregion
+	        #endregion 帮助文档
 
             // 关于项目
             new SysMenu{ Id=1300700000101, Pid=0, Title="关于项目", Path="/about", Name="about", Component="/about/index", Icon="ele-InfoFilled", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2023-03-12 00:00:00"), OrderNo=15000 },

+ 5 - 4
Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs

@@ -144,7 +144,7 @@ public class SysDatabaseService : IDynamicApiController, ITransient
             DataType = input.DataType
         };
         var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
-        db.DbMaintenance.AddColumn(input.TableName, column);        
+        db.DbMaintenance.AddColumn(input.TableName, column);
         // 默认值直接添加报错
         if (!string.IsNullOrWhiteSpace(input.DefaultValue))
         {
@@ -181,7 +181,7 @@ public class SysDatabaseService : IDynamicApiController, ITransient
             db.DbMaintenance.AddDefaultValue(input.TableName, input.ColumnName, input.DefaultValue);
         }
         if (db.DbMaintenance.IsAnyColumnRemark(input.ColumnName, input.TableName))
-        { 
+        {
             db.DbMaintenance.DeleteColumnRemark(input.ColumnName, input.TableName);
         }
 
@@ -213,6 +213,7 @@ public class SysDatabaseService : IDynamicApiController, ITransient
             case SqlSugar.DbType.MySql:
                 MoveColumnInMySQL(db, input.TableName, input.ColumnName, input.AfterColumnName);
                 break;
+
             default:
                 throw new NotSupportedException($"暂不支持 {dbType} 数据库的列移动操作");
         }
@@ -227,7 +228,7 @@ public class SysDatabaseService : IDynamicApiController, ITransient
     /// <param name="noDefault"></param>
     /// <returns></returns>
     /// <exception cref="Exception"></exception>
-    private string GetColumnDefinitionInMySQL(ISqlSugarClient db, string tableName, string columnName,bool noDefault = false)
+    private string GetColumnDefinitionInMySQL(ISqlSugarClient db, string tableName, string columnName, bool noDefault = false)
     {
         var columnDef = db.Ado.SqlQuery<dynamic>(
             $"SHOW FULL COLUMNS FROM `{tableName}` WHERE Field = '{columnName}'"
@@ -250,8 +251,8 @@ public class SysDatabaseService : IDynamicApiController, ITransient
             definition.Append($"COMMENT '{columnDef.Comment.Replace("'", "''")}'");
 
         return definition.ToString();
-
     }
+
     /// <summary>
     /// MySQL 列移动实现
     /// </summary>

+ 1 - 2
Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictDataOutput.cs

@@ -20,5 +20,4 @@ public class DictDataOutput
     public string Remark { get; set; }
     public int OrderNo { get; set; }
     public StatusEnum Status { get; set; }
-}
-
+}

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Dict/SysDictDataService.cs

@@ -73,7 +73,7 @@ public class SysDictDataService : IDynamicApiController, ITransient
     public async Task<List<SysDictData>> GetList([FromQuery] GetDataDictDataInput input)
     {
         var langCode = _userManager.LangCode;
-        var list =await GetDictDataListByDictTypeId(input.DictTypeId);
+        var list = await GetDictDataListByDictTypeId(input.DictTypeId);
         var ids = list.Select(d => d.Id).Distinct().ToList();
         var translations = await _sysLangTextCacheService.GetTranslations(
                                "SysDictData",

+ 0 - 2
Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs

@@ -4,8 +4,6 @@
 //
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
-using Aop.Api.Domain;
-
 namespace Admin.NET.Core.Service;
 
 /// <summary>

+ 19 - 20
Admin.NET/Admin.NET.Core/Service/Lang/Dto/SysLangDto.cs

@@ -15,95 +15,94 @@ public class SysLangDto
     /// 主键Id
     /// </summary>
     public long Id { get; set; }
-    
+
     /// <summary>
     /// 语言名称
     /// </summary>
     public string Name { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     public string Code { get; set; }
-    
+
     /// <summary>
     /// ISO 语言代码
     /// </summary>
     public string IsoCode { get; set; }
-    
+
     /// <summary>
     /// URL 语言代码
     /// </summary>
     public string UrlCode { get; set; }
-    
+
     /// <summary>
     /// 书写方向
     /// </summary>
     public DirectionEnum Direction { get; set; }
-    
+
     /// <summary>
     /// 日期格式
     /// </summary>
     public string DateFormat { get; set; }
-    
+
     /// <summary>
     /// 时间格式
     /// </summary>
     public string TimeFormat { get; set; }
-    
+
     /// <summary>
     /// 每周起始日
     /// </summary>
     public WeekEnum WeekStart { get; set; }
-    
+
     /// <summary>
     /// 分组符号
     /// </summary>
     public string Grouping { get; set; }
-    
+
     /// <summary>
     /// 小数点符号
     /// </summary>
     public string DecimalPoint { get; set; }
-    
+
     /// <summary>
     /// 千分位分隔符
     /// </summary>
     public string? ThousandsSep { get; set; }
-    
+
     /// <summary>
     /// 是否启用
     /// </summary>
     public bool Active { get; set; }
-    
+
     /// <summary>
     /// 创建时间
     /// </summary>
     public DateTime? CreateTime { get; set; }
-    
+
     /// <summary>
     /// 更新时间
     /// </summary>
     public DateTime? UpdateTime { get; set; }
-    
+
     /// <summary>
     /// 创建者Id
     /// </summary>
     public long? CreateUserId { get; set; }
-    
+
     /// <summary>
     /// 创建者姓名
     /// </summary>
     public string? CreateUserName { get; set; }
-    
+
     /// <summary>
     /// 修改者Id
     /// </summary>
     public long? UpdateUserId { get; set; }
-    
+
     /// <summary>
     /// 修改者姓名
     /// </summary>
     public string? UpdateUserName { get; set; }
-    
-}
+}

+ 66 - 71
Admin.NET/Admin.NET.Core/Service/Lang/Dto/SysLangInput.cs

@@ -15,78 +15,77 @@ public class SysLangBaseInput
     /// 主键Id
     /// </summary>
     public virtual long? Id { get; set; }
-    
+
     /// <summary>
     /// 语言名称
     /// </summary>
     [Required(ErrorMessage = "语言名称不能为空")]
     public virtual string Name { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     [Required(ErrorMessage = "语言代码不能为空")]
     public virtual string Code { get; set; }
-    
+
     /// <summary>
     /// ISO 语言代码
     /// </summary>
     [Required(ErrorMessage = "ISO 语言代码不能为空")]
     public virtual string IsoCode { get; set; }
-    
+
     /// <summary>
     /// URL 语言代码
     /// </summary>
     [Required(ErrorMessage = "URL 语言代码不能为空")]
     public virtual string UrlCode { get; set; }
-    
+
     /// <summary>
     /// 书写方向
     /// </summary>
     [Required(ErrorMessage = "书写方向不能为空")]
     public virtual DirectionEnum Direction { get; set; }
-    
+
     /// <summary>
     /// 日期格式
     /// </summary>
     [Required(ErrorMessage = "日期格式不能为空")]
     public virtual string DateFormat { get; set; }
-    
+
     /// <summary>
     /// 时间格式
     /// </summary>
     [Required(ErrorMessage = "时间格式不能为空")]
     public virtual string TimeFormat { get; set; }
-    
+
     /// <summary>
     /// 每周起始日
     /// </summary>
     [Required(ErrorMessage = "每周起始日不能为空")]
     public virtual WeekEnum? WeekStart { get; set; }
-    
+
     /// <summary>
     /// 分组符号
     /// </summary>
     [Required(ErrorMessage = "分组符号不能为空")]
     public virtual string Grouping { get; set; }
-    
+
     /// <summary>
     /// 小数点符号
     /// </summary>
     [Required(ErrorMessage = "小数点符号不能为空")]
     public virtual string DecimalPoint { get; set; }
-    
+
     /// <summary>
     /// 千分位分隔符
     /// </summary>
     public virtual string? ThousandsSep { get; set; }
-    
+
     /// <summary>
     /// 是否启用
     /// </summary>
     [Required(ErrorMessage = "是否启用不能为空")]
     public virtual bool? Active { get; set; }
-    
 }
 
 /// <summary>
@@ -98,31 +97,31 @@ public class PageSysLangInput : BasePageInput
     /// 语言名称
     /// </summary>
     public string Name { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     public string Code { get; set; }
-    
+
     /// <summary>
     /// ISO 语言代码
     /// </summary>
     public string IsoCode { get; set; }
-    
+
     /// <summary>
     /// URL 语言代码
     /// </summary>
     public string UrlCode { get; set; }
-    
+
     /// <summary>
     /// 是否启用
     /// </summary>
     public bool? Active { get; set; }
-    
+
     /// <summary>
     /// 选中主键列表
     /// </summary>
-     public List<long> SelectKeyList { get; set; }
+    public List<long> SelectKeyList { get; set; }
 }
 
 /// <summary>
@@ -136,80 +135,79 @@ public class AddSysLangInput
     [Required(ErrorMessage = "语言名称不能为空")]
     [MaxLength(255, ErrorMessage = "语言名称字符长度不能超过255")]
     public string Name { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     [Required(ErrorMessage = "语言代码不能为空")]
     [MaxLength(255, ErrorMessage = "语言代码字符长度不能超过255")]
     public string Code { get; set; }
-    
+
     /// <summary>
     /// ISO 语言代码
     /// </summary>
     [Required(ErrorMessage = "ISO 语言代码不能为空")]
     [MaxLength(255, ErrorMessage = "ISO 语言代码字符长度不能超过255")]
     public string IsoCode { get; set; }
-    
+
     /// <summary>
     /// URL 语言代码
     /// </summary>
     [Required(ErrorMessage = "URL 语言代码不能为空")]
     [MaxLength(255, ErrorMessage = "URL 语言代码字符长度不能超过255")]
     public string UrlCode { get; set; }
-    
+
     /// <summary>
     /// 书写方向
     /// </summary>
     [Required(ErrorMessage = "书写方向不能为空")]
     public DirectionEnum Direction { get; set; }
-    
+
     /// <summary>
     /// 日期格式
     /// </summary>
     [Required(ErrorMessage = "日期格式不能为空")]
     [MaxLength(255, ErrorMessage = "日期格式字符长度不能超过255")]
     public string DateFormat { get; set; }
-    
+
     /// <summary>
     /// 时间格式
     /// </summary>
     [Required(ErrorMessage = "时间格式不能为空")]
     [MaxLength(255, ErrorMessage = "时间格式字符长度不能超过255")]
     public string TimeFormat { get; set; }
-    
+
     /// <summary>
     /// 每周起始日
     /// </summary>
     [Required(ErrorMessage = "每周起始日不能为空")]
     public WeekEnum? WeekStart { get; set; }
-    
+
     /// <summary>
     /// 分组符号
     /// </summary>
     [Required(ErrorMessage = "分组符号不能为空")]
     [MaxLength(255, ErrorMessage = "分组符号字符长度不能超过255")]
     public string Grouping { get; set; }
-    
+
     /// <summary>
     /// 小数点符号
     /// </summary>
     [Required(ErrorMessage = "小数点符号不能为空")]
     [MaxLength(255, ErrorMessage = "小数点符号字符长度不能超过255")]
     public string DecimalPoint { get; set; }
-    
+
     /// <summary>
     /// 千分位分隔符
     /// </summary>
     [MaxLength(255, ErrorMessage = "千分位分隔符字符长度不能超过255")]
     public string? ThousandsSep { get; set; }
-    
+
     /// <summary>
     /// 是否启用
     /// </summary>
     [Required(ErrorMessage = "是否启用不能为空")]
     public bool? Active { get; set; }
-    
 }
 
 /// <summary>
@@ -222,7 +220,6 @@ public class DeleteSysLangInput
     /// </summary>
     [Required(ErrorMessage = "主键Id不能为空")]
     public long? Id { get; set; }
-    
 }
 
 /// <summary>
@@ -232,90 +229,89 @@ public class UpdateSysLangInput
 {
     /// <summary>
     /// 主键Id
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "主键Id不能为空")]
     public long? Id { get; set; }
-    
+
     /// <summary>
     /// 语言名称
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "语言名称不能为空")]
     [MaxLength(255, ErrorMessage = "语言名称字符长度不能超过255")]
     public string Name { get; set; }
-    
+
     /// <summary>
     /// 语言代码
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "语言代码不能为空")]
     [MaxLength(255, ErrorMessage = "语言代码字符长度不能超过255")]
     public string Code { get; set; }
-    
+
     /// <summary>
     /// ISO 语言代码
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "ISO 语言代码不能为空")]
     [MaxLength(255, ErrorMessage = "ISO 语言代码字符长度不能超过255")]
     public string IsoCode { get; set; }
-    
+
     /// <summary>
     /// URL 语言代码
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "URL 语言代码不能为空")]
     [MaxLength(255, ErrorMessage = "URL 语言代码字符长度不能超过255")]
     public string UrlCode { get; set; }
-    
+
     /// <summary>
     /// 书写方向
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "书写方向不能为空")]
     public DirectionEnum Direction { get; set; }
-    
+
     /// <summary>
     /// 日期格式
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "日期格式不能为空")]
     [MaxLength(255, ErrorMessage = "日期格式字符长度不能超过255")]
     public string DateFormat { get; set; }
-    
+
     /// <summary>
     /// 时间格式
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "时间格式不能为空")]
     [MaxLength(255, ErrorMessage = "时间格式字符长度不能超过255")]
     public string TimeFormat { get; set; }
-    
+
     /// <summary>
     /// 每周起始日
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "每周起始日不能为空")]
     public WeekEnum? WeekStart { get; set; }
-    
+
     /// <summary>
     /// 分组符号
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "分组符号不能为空")]
     [MaxLength(255, ErrorMessage = "分组符号字符长度不能超过255")]
     public string Grouping { get; set; }
-    
+
     /// <summary>
     /// 小数点符号
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "小数点符号不能为空")]
     [MaxLength(255, ErrorMessage = "小数点符号字符长度不能超过255")]
     public string DecimalPoint { get; set; }
-    
+
     /// <summary>
     /// 千分位分隔符
-    /// </summary>    
+    /// </summary>
     [MaxLength(255, ErrorMessage = "千分位分隔符字符长度不能超过255")]
     public string? ThousandsSep { get; set; }
-    
+
     /// <summary>
     /// 是否启用
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "是否启用不能为空")]
     public bool? Active { get; set; }
-    
 }
 
 /// <summary>
@@ -337,82 +333,81 @@ public class ImportSysLangInput : BaseImportInput
     [ImporterHeader(Name = "*语言名称")]
     [ExporterHeader("*语言名称", Format = "", Width = 25, IsBold = true)]
     public string Name { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     [ImporterHeader(Name = "*语言代码")]
     [ExporterHeader("*语言代码", Format = "", Width = 25, IsBold = true)]
     public string Code { get; set; }
-    
+
     /// <summary>
     /// ISO 语言代码
     /// </summary>
     [ImporterHeader(Name = "*ISO 语言代码")]
     [ExporterHeader("*ISO 语言代码", Format = "", Width = 25, IsBold = true)]
     public string IsoCode { get; set; }
-    
+
     /// <summary>
     /// URL 语言代码
     /// </summary>
     [ImporterHeader(Name = "*URL 语言代码")]
     [ExporterHeader("*URL 语言代码", Format = "", Width = 25, IsBold = true)]
     public string UrlCode { get; set; }
-    
+
     /// <summary>
     /// 书写方向
     /// </summary>
     [ImporterHeader(Name = "*书写方向")]
     [ExporterHeader("*书写方向", Format = "", Width = 25, IsBold = true)]
     public DirectionEnum Direction { get; set; }
-    
+
     /// <summary>
     /// 日期格式
     /// </summary>
     [ImporterHeader(Name = "*日期格式")]
     [ExporterHeader("*日期格式", Format = "", Width = 25, IsBold = true)]
     public string DateFormat { get; set; }
-    
+
     /// <summary>
     /// 时间格式
     /// </summary>
     [ImporterHeader(Name = "*时间格式")]
     [ExporterHeader("*时间格式", Format = "", Width = 25, IsBold = true)]
     public string TimeFormat { get; set; }
-    
+
     /// <summary>
     /// 每周起始日
     /// </summary>
     [ImporterHeader(Name = "*每周起始日")]
     [ExporterHeader("*每周起始日", Format = "", Width = 25, IsBold = true)]
     public WeekEnum? WeekStart { get; set; }
-    
+
     /// <summary>
     /// 分组符号
     /// </summary>
     [ImporterHeader(Name = "*分组符号")]
     [ExporterHeader("*分组符号", Format = "", Width = 25, IsBold = true)]
     public string Grouping { get; set; }
-    
+
     /// <summary>
     /// 小数点符号
     /// </summary>
     [ImporterHeader(Name = "*小数点符号")]
     [ExporterHeader("*小数点符号", Format = "", Width = 25, IsBold = true)]
     public string DecimalPoint { get; set; }
-    
+
     /// <summary>
     /// 千分位分隔符
     /// </summary>
     [ImporterHeader(Name = "千分位分隔符")]
     [ExporterHeader("千分位分隔符", Format = "", Width = 25, IsBold = true)]
     public string? ThousandsSep { get; set; }
-    
+
     /// <summary>
     /// 是否启用
     /// </summary>
     [ImporterHeader(Name = "*是否启用")]
     [ExporterHeader("*是否启用", Format = "", Width = 25, IsBold = true)]
     public bool? Active { get; set; }
-    
-}
+}

+ 34 - 35
Admin.NET/Admin.NET.Core/Service/Lang/Dto/SysLangOutput.cs

@@ -13,38 +13,38 @@ public class SysLangOutput
     /// <summary>
     /// 主键Id
     /// </summary>
-    public long Id { get; set; }    
-    
+    public long Id { get; set; }
+
     /// <summary>
     /// 语言名称
     /// </summary>
-    public string Name { get; set; }    
-    
+    public string Name { get; set; }
+
     /// <summary>
     /// 语言代码
     /// </summary>
-    public string Code { get; set; }    
-    
+    public string Code { get; set; }
+
     /// <summary>
     /// ISO 语言代码
     /// </summary>
-    public string IsoCode { get; set; }    
-    
+    public string IsoCode { get; set; }
+
     /// <summary>
     /// URL 语言代码
     /// </summary>
-    public string UrlCode { get; set; }    
-    
+    public string UrlCode { get; set; }
+
     /// <summary>
     /// 书写方向
     /// </summary>
-    public DirectionEnum Direction { get; set; }    
-    
+    public DirectionEnum Direction { get; set; }
+
     /// <summary>
     /// 日期格式
     /// </summary>
-    public string DateFormat { get; set; }    
-    
+    public string DateFormat { get; set; }
+
     /// <summary>
     /// 时间格式
     /// </summary>
@@ -58,53 +58,52 @@ public class SysLangOutput
     /// <summary>
     /// 分组符号
     /// </summary>
-    public string Grouping { get; set; }    
-    
+    public string Grouping { get; set; }
+
     /// <summary>
     /// 小数点符号
     /// </summary>
-    public string DecimalPoint { get; set; }    
-    
+    public string DecimalPoint { get; set; }
+
     /// <summary>
     /// 千分位分隔符
     /// </summary>
-    public string? ThousandsSep { get; set; }    
-    
+    public string? ThousandsSep { get; set; }
+
     /// <summary>
     /// 是否启用
     /// </summary>
-    public bool Active { get; set; }    
-    
+    public bool Active { get; set; }
+
     /// <summary>
     /// 创建时间
     /// </summary>
-    public DateTime? CreateTime { get; set; }    
-    
+    public DateTime? CreateTime { get; set; }
+
     /// <summary>
     /// 更新时间
     /// </summary>
-    public DateTime? UpdateTime { get; set; }    
-    
+    public DateTime? UpdateTime { get; set; }
+
     /// <summary>
     /// 创建者Id
     /// </summary>
-    public long? CreateUserId { get; set; }    
-    
+    public long? CreateUserId { get; set; }
+
     /// <summary>
     /// 创建者姓名
     /// </summary>
-    public string? CreateUserName { get; set; }    
-    
+    public string? CreateUserName { get; set; }
+
     /// <summary>
     /// 修改者Id
     /// </summary>
-    public long? UpdateUserId { get; set; }    
-    
+    public long? UpdateUserId { get; set; }
+
     /// <summary>
     /// 修改者姓名
     /// </summary>
-    public string? UpdateUserName { get; set; }    
-    
+    public string? UpdateUserName { get; set; }
 }
 
 /// <summary>
@@ -115,4 +114,4 @@ public class ExportSysLangOutput : ImportSysLangInput
     [ImporterHeader(IsIgnore = true)]
     [ExporterHeader(IsIgnore = true)]
     public override string Error { get; set; }
-}
+}

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Lang/SysLangService.cs

@@ -110,4 +110,4 @@ public partial class SysLangService : IDynamicApiController, ITransient
             }).ToListAsync();
         return data;
     }
-}
+}

+ 12 - 13
Admin.NET/Admin.NET.Core/Service/LangText/Dto/SysLangTextDto.cs

@@ -15,60 +15,59 @@ public class SysLangTextDto
     /// 主键Id
     /// </summary>
     public long Id { get; set; }
-    
+
     /// <summary>
     /// 所属实体名
     /// </summary>
     public string EntityName { get; set; }
-    
+
     /// <summary>
     /// 所属实体ID
     /// </summary>
     public long EntityId { get; set; }
-    
+
     /// <summary>
     /// 字段名
     /// </summary>
     public string FieldName { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     public string LangCode { get; set; }
-    
+
     /// <summary>
     /// 翻译内容
     /// </summary>
     public string Content { get; set; }
-    
+
     /// <summary>
     /// 创建时间
     /// </summary>
     public DateTime? CreateTime { get; set; }
-    
+
     /// <summary>
     /// 更新时间
     /// </summary>
     public DateTime? UpdateTime { get; set; }
-    
+
     /// <summary>
     /// 创建者Id
     /// </summary>
     public long? CreateUserId { get; set; }
-    
+
     /// <summary>
     /// 创建者姓名
     /// </summary>
     public string? CreateUserName { get; set; }
-    
+
     /// <summary>
     /// 修改者Id
     /// </summary>
     public long? UpdateUserId { get; set; }
-    
+
     /// <summary>
     /// 修改者姓名
     /// </summary>
     public string? UpdateUserName { get; set; }
-    
-}
+}

+ 37 - 38
Admin.NET/Admin.NET.Core/Service/LangText/Dto/SysLangTextInput.cs

@@ -15,37 +15,36 @@ public class SysLangTextBaseInput
     /// 主键Id
     /// </summary>
     public virtual long? Id { get; set; }
-    
+
     /// <summary>
     /// 所属实体名
     /// </summary>
     [Required(ErrorMessage = "所属实体名不能为空")]
     public virtual string EntityName { get; set; }
-    
+
     /// <summary>
     /// 所属实体ID
     /// </summary>
     [Required(ErrorMessage = "所属实体ID不能为空")]
     public virtual long? EntityId { get; set; }
-    
+
     /// <summary>
     /// 字段名
     /// </summary>
     [Required(ErrorMessage = "字段名不能为空")]
     public virtual string FieldName { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     [Required(ErrorMessage = "语言代码不能为空")]
     public virtual string LangCode { get; set; }
-    
+
     /// <summary>
     /// 翻译内容
     /// </summary>
     [Required(ErrorMessage = "翻译内容不能为空")]
     public virtual string Content { get; set; }
-    
 }
 
 /// <summary>
@@ -57,31 +56,31 @@ public class PageSysLangTextInput : BasePageInput
     /// 所属实体名
     /// </summary>
     public string EntityName { get; set; }
-    
+
     /// <summary>
     /// 所属实体ID
     /// </summary>
     public long? EntityId { get; set; }
-    
+
     /// <summary>
     /// 字段名
     /// </summary>
     public string FieldName { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     public string LangCode { get; set; }
-    
+
     /// <summary>
     /// 翻译内容
     /// </summary>
     public string Content { get; set; }
-    
+
     /// <summary>
     /// 选中主键列表
     /// </summary>
-     public List<long> SelectKeyList { get; set; }
+    public List<long> SelectKeyList { get; set; }
 }
 
 /// <summary>
@@ -95,34 +94,34 @@ public class AddSysLangTextInput
     [Required(ErrorMessage = "所属实体名不能为空")]
     [MaxLength(255, ErrorMessage = "所属实体名字符长度不能超过255")]
     public string EntityName { get; set; }
-    
+
     /// <summary>
     /// 所属实体ID
     /// </summary>
     [Required(ErrorMessage = "所属实体ID不能为空")]
     public long? EntityId { get; set; }
-    
+
     /// <summary>
     /// 字段名
     /// </summary>
     [Required(ErrorMessage = "字段名不能为空")]
     [MaxLength(255, ErrorMessage = "字段名字符长度不能超过255")]
     public string FieldName { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     [Required(ErrorMessage = "语言代码不能为空")]
     [MaxLength(255, ErrorMessage = "语言代码字符长度不能超过255")]
     public string LangCode { get; set; }
-    
+
     /// <summary>
     /// 翻译内容
     /// </summary>
     [Required(ErrorMessage = "翻译内容不能为空")]
     public string Content { get; set; }
-    
 }
+
 /// <summary>
 /// 翻译表输入参数
 /// </summary>
@@ -145,12 +144,13 @@ public class ListSysLangTextInput
     /// </summary>
     [Required(ErrorMessage = "字段名不能为空")]
     public string FieldName { get; set; }
+
     /// <summary>
     /// 语言代码
     /// </summary>
     public string LangCode { get; set; }
-
 }
+
 /// <summary>
 /// 翻译表删除输入参数
 /// </summary>
@@ -161,7 +161,6 @@ public class DeleteSysLangTextInput
     /// </summary>
     [Required(ErrorMessage = "主键Id不能为空")]
     public long? Id { get; set; }
-    
 }
 
 /// <summary>
@@ -171,43 +170,42 @@ public class UpdateSysLangTextInput
 {
     /// <summary>
     /// 主键Id
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "主键Id不能为空")]
     public long? Id { get; set; }
-    
+
     /// <summary>
     /// 所属实体名
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "所属实体名不能为空")]
     [MaxLength(255, ErrorMessage = "所属实体名字符长度不能超过255")]
     public string EntityName { get; set; }
-    
+
     /// <summary>
     /// 所属实体ID
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "所属实体ID不能为空")]
     public long? EntityId { get; set; }
-    
+
     /// <summary>
     /// 字段名
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "字段名不能为空")]
     [MaxLength(255, ErrorMessage = "字段名字符长度不能超过255")]
     public string FieldName { get; set; }
-    
+
     /// <summary>
     /// 语言代码
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "语言代码不能为空")]
     [MaxLength(255, ErrorMessage = "语言代码字符长度不能超过255")]
     public string LangCode { get; set; }
-    
+
     /// <summary>
     /// 翻译内容
-    /// </summary>    
+    /// </summary>
     [Required(ErrorMessage = "翻译内容不能为空")]
     public string Content { get; set; }
-    
 }
 
 /// <summary>
@@ -229,38 +227,38 @@ public class ImportSysLangTextInput : BaseImportInput
     [ImporterHeader(Name = "*所属实体名")]
     [ExporterHeader("*所属实体名", Format = "", Width = 25, IsBold = true)]
     public string EntityName { get; set; }
-    
+
     /// <summary>
     /// 所属实体ID
     /// </summary>
     [ImporterHeader(Name = "*所属实体ID")]
     [ExporterHeader("*所属实体ID", Format = "", Width = 25, IsBold = true)]
     public long? EntityId { get; set; }
-    
+
     /// <summary>
     /// 字段名
     /// </summary>
     [ImporterHeader(Name = "*字段名")]
     [ExporterHeader("*字段名", Format = "", Width = 25, IsBold = true)]
     public string FieldName { get; set; }
-    
+
     /// <summary>
     /// 语言代码
     /// </summary>
     [ImporterHeader(Name = "*语言代码")]
     [ExporterHeader("*语言代码", Format = "", Width = 25, IsBold = true)]
     public string LangCode { get; set; }
-    
+
     /// <summary>
     /// 翻译内容
     /// </summary>
     [ImporterHeader(Name = "*翻译内容")]
     [ExporterHeader("*翻译内容", Format = "", Width = 25, IsBold = true)]
     public string Content { get; set; }
-    
 }
+
 /// <summary>
-/// 
+///
 /// </summary>
 public class AiTranslateTextInput
 {
@@ -268,8 +266,9 @@ public class AiTranslateTextInput
     /// 原文
     /// </summary>
     public string OriginalText { get; set; }
+
     /// <summary>
     /// 目标语言
     /// </summary>
     public string TargetLang { get; set; }
-}
+}

+ 24 - 25
Admin.NET/Admin.NET.Core/Service/LangText/Dto/SysLangTextOutput.cs

@@ -13,63 +13,62 @@ public class SysLangTextOutput
     /// <summary>
     /// 主键Id
     /// </summary>
-    public long Id { get; set; }    
-    
+    public long Id { get; set; }
+
     /// <summary>
     /// 所属实体名
     /// </summary>
-    public string EntityName { get; set; }    
-    
+    public string EntityName { get; set; }
+
     /// <summary>
     /// 所属实体ID
     /// </summary>
-    public long EntityId { get; set; }    
-    
+    public long EntityId { get; set; }
+
     /// <summary>
     /// 字段名
     /// </summary>
-    public string FieldName { get; set; }    
-    
+    public string FieldName { get; set; }
+
     /// <summary>
     /// 语言代码
     /// </summary>
-    public string LangCode { get; set; }    
-    
+    public string LangCode { get; set; }
+
     /// <summary>
     /// 翻译内容
     /// </summary>
-    public string Content { get; set; }    
-    
+    public string Content { get; set; }
+
     /// <summary>
     /// 创建时间
     /// </summary>
-    public DateTime? CreateTime { get; set; }    
-    
+    public DateTime? CreateTime { get; set; }
+
     /// <summary>
     /// 更新时间
     /// </summary>
-    public DateTime? UpdateTime { get; set; }    
-    
+    public DateTime? UpdateTime { get; set; }
+
     /// <summary>
     /// 创建者Id
     /// </summary>
-    public long? CreateUserId { get; set; }    
-    
+    public long? CreateUserId { get; set; }
+
     /// <summary>
     /// 创建者姓名
     /// </summary>
-    public string? CreateUserName { get; set; }    
-    
+    public string? CreateUserName { get; set; }
+
     /// <summary>
     /// 修改者Id
     /// </summary>
-    public long? UpdateUserId { get; set; }    
-    
+    public long? UpdateUserId { get; set; }
+
     /// <summary>
     /// 修改者姓名
     /// </summary>
-    public string? UpdateUserName { get; set; }    
-    
+    public string? UpdateUserName { get; set; }
 }
 
 /// <summary>
@@ -80,4 +79,4 @@ public class ExportSysLangTextOutput : ImportSysLangTextInput
     [ImporterHeader(IsIgnore = true)]
     [ExporterHeader(IsIgnore = true)]
     public override string Error { get; set; }
-}
+}

+ 8 - 2
Admin.NET/Admin.NET.Core/Service/LangText/SysLangTextCacheService.cs

@@ -5,14 +5,18 @@
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
 namespace Admin.NET.Core.Service;
+
 public class LangFieldMap<TEntity>
 {
     /// <summary>实体名,如 Product</summary>
     public string EntityName { get; set; }
+
     /// <summary>字段名,如 Name/Description</summary>
     public string FieldName { get; set; }
+
     /// <summary>如何取主键ID</summary>
     public Func<TEntity, long> IdSelector { get; set; }
+
     /// <summary>如何写回翻译值</summary>
     public Action<TEntity, string> SetTranslatedValue { get; set; }
 }
@@ -77,7 +81,7 @@ public class SysLangTextCacheService : IDynamicApiController, ITransient
     /// 【批量翻译获取】<br/>
     /// 根据实体、字段和一批主键ID获取对应翻译内容,自动从缓存或数据库获取。<br/>
     /// 适用于:SKU、多商品、批量字典等需要高效批量获取的场景。<br/>
-    /// 
+    ///
     /// 【示例】<br/>
     /// var dict = await _sysLangTextCacheService.GetTranslations("SKU", "Name", skuIds, "en_US");
     /// </summary>
@@ -162,6 +166,7 @@ public class SysLangTextCacheService : IDynamicApiController, ITransient
 
         return list;
     }
+
     /// <summary>
     /// 【多字段批量翻译】
     /// 对列表中的实体对象,按配置的字段映射进行多字段翻译处理。<br/>
@@ -281,6 +286,7 @@ public class SysLangTextCacheService : IDynamicApiController, ITransient
 
         return list;
     }
+
     /// <summary>
     /// 删除缓存
     /// </summary>
@@ -293,6 +299,7 @@ public class SysLangTextCacheService : IDynamicApiController, ITransient
         var key = BuildKey(entityName, fieldName, entityId, langCode);
         _sysCacheService.Remove(key);
     }
+
     /// <summary>
     /// 更新缓存
     /// </summary>
@@ -306,5 +313,4 @@ public class SysLangTextCacheService : IDynamicApiController, ITransient
         var key = BuildKey(entityName, fieldName, entityId, langCode);
         _sysCacheService.Set(key, newValue, expireSeconds);
     }
-
 }

+ 11 - 8
Admin.NET/Admin.NET.Core/Service/LangText/SysLangTextService.cs

@@ -4,9 +4,6 @@
 //
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
-
-using AngleSharp.Dom;
-using Microsoft.AspNetCore.Components.Forms;
 using Newtonsoft.Json;
 
 namespace Admin.NET.Core.Service;
@@ -51,6 +48,7 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
             .Select<SysLangTextOutput>();
         return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
     }
+
     [DisplayName("获取翻译表")]
     [ApiDescriptionSettings(Name = "List"), HttpPost]
     public async Task<List<SysLangTextOutput>> List(ListSysLangTextInput input)
@@ -61,6 +59,7 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
             .Select<SysLangTextOutput>();
         return await query.ToListAsync();
     }
+
     /// <summary>
     /// 获取翻译表详情 ℹ️
     /// </summary>
@@ -137,6 +136,7 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
     }
 
     private static readonly object _sysLangTextBatchSaveLock = new object();
+
     /// <summary>
     /// 批量保存翻译表 ✏️
     /// </summary>
@@ -219,6 +219,7 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
     }
 
     private static readonly object _sysLangTextImportLock = new object();
+
     /// <summary>
     /// 导入翻译表记录 💾
     /// </summary>
@@ -233,7 +234,6 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
             {
                 _sqlSugarClient.Utilities.PageEach(list, 2048, pageItems =>
                 {
-
                     // 校验并过滤必填基本类型为null的字段
                     var rows = pageItems.Where(x =>
                     {
@@ -282,6 +282,7 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
             return stream;
         }
     }
+
     /// <summary>
     /// DEEPSEEK 翻译接口
     /// </summary>
@@ -352,6 +353,7 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
             return result.choices[0].message.content.Trim();
         }
     }
+
     // JSON 响应模型
     private class TranslationResponse
     {
@@ -377,6 +379,7 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
     {
         public string message { get; set; }
     }
+
     /// <summary>
     /// 生成提示词
     /// </summary>
@@ -393,8 +396,8 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
 
 ■ 符号保留规则
 ! 所有符号必须原样保留:
-• 编程符号:\${{ }} <% %> @ # & | 
-• UI占位符:{{0}} %s [ ] 
+• 编程符号:\${{ }} <% %> @ # & |
+• UI占位符:{{0}} %s [ ]
 • 货币单位:¥100.00 kg cm²
 • 中文符号:【 】 《 》 :
 
@@ -403,7 +406,7 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
 1. 成对符号必须保持完整结构:
    ✓ 正确:【Warning】Text
    ✗ 禁止:Warning【 】Text
-   
+
 2. 独立符号位置:
    • 优先句尾 → Text】?
    • 次选句首 → 】Text?
@@ -429,4 +432,4 @@ public partial class SysLangTextService : IDynamicApiController, ITransient
 ▸ 严格保持原始JSON结构
 ▸ 语言键名精确匹配(zh-cn/en/it等)";
     }
-}
+}

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Menu/SysMenuService.cs

@@ -20,6 +20,7 @@ public class SysMenuService : IDynamicApiController, ITransient
     private readonly SysCacheService _sysCacheService;
     private readonly UserManager _userManager;
     private readonly SysLangTextCacheService _sysLangTextCacheService;
+
     public SysMenuService(
         SqlSugarRepository<SysTenantMenu> sysTenantMenuRep,
         SqlSugarRepository<SysMenu> sysMenuRep,
@@ -84,7 +85,6 @@ public class SysMenuService : IDynamicApiController, ITransient
 
         // 转换为输出 DTO
         return menuTree.Adapt<List<MenuOutput>>();
-
     }
 
     /// <summary>

+ 3 - 1
Admin.NET/Admin.NET.Core/Service/Org/Dto/OrgTreeOutput.cs

@@ -16,10 +16,12 @@ public class OrgTreeOutput
     /// </summary>
     [SugarColumn(IsTreeKey = true)]
     public long Id { get; set; }
+
     /// <summary>
     /// 租户Id
     /// </summary>
     public long TenantId { get; set; }
+
     /// <summary>
     /// 父Id
     /// </summary>
@@ -39,4 +41,4 @@ public class OrgTreeOutput
     /// 是否禁止选中
     /// </summary>
     public bool Disabled { get; set; }
-}
+}

+ 2 - 0
Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs

@@ -209,6 +209,7 @@ public class SysUserService : IDynamicApiController, ITransient
             Input = input
         });
     }
+
     /// <summary>
     /// 更新当前用户语言 🔖
     /// </summary>
@@ -223,6 +224,7 @@ public class SysUserService : IDynamicApiController, ITransient
         user.LangCode = langCode;
         await _sysUserRep.AsUpdateable(user).UpdateColumns(it => it.LangCode).ExecuteCommandAsync();
     }
+
     /// <summary>
     /// 更新角色和扩展机构
     /// </summary>