From 8b0f607f4a069e5993e7b4311c3655abfa229e0d Mon Sep 17 00:00:00 2001 From: walon Date: Thu, 2 Dec 2021 18:37:26 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=B8=80=E4=BA=9B=E5=B0=86field=E6=8B=BC=E6=88=90file?= =?UTF-8?q?d=E7=9A=84=E9=94=99=E8=AF=AF=20=E3=80=90=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E3=80=91=E5=BD=93table=E4=BB=8Exlsx=E4=B8=AD=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9Cvalue?= =?UTF-8?q?=E4=B8=8D=E5=8C=85=E5=90=AB=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4?= =?UTF-8?q?=EF=BC=8C=E5=88=99=E4=BD=BF=E7=94=A8table=E6=89=80=E5=9C=A8?= =?UTF-8?q?=E7=9A=84=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4=EF=BC=9B=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E5=8C=85=E5=90=AB=EF=BC=8C=E5=88=99=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=AE=83=E7=9A=84=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4=20?= =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E4=BF=AE=E5=A4=8D=E4=BB=8E?= =?UTF-8?q?xlsx=E8=AF=BB=E5=8F=96=E7=9A=84table=E5=AE=9A=E4=B9=89=EF=BC=8C?= =?UTF-8?q?=E6=9C=AA=E6=A3=80=E6=9F=A5table=E5=90=8D=E5=94=AF=E4=B8=80?= =?UTF-8?q?=E7=9A=84bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs | 8 +++++++- src/Luban.Job.Cfg/Source/Defs/DefAssembly.cs | 11 ++++++++--- src/Luban.Job.Common/Source/Defs/DefFieldBase.cs | 6 +++--- .../Source/Defs/TTypeTemplateCommonExtends.cs | 8 ++++---- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs b/src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs index 76cea4d..6cab180 100644 --- a/src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs +++ b/src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs @@ -8,6 +8,7 @@ using Luban.Job.Cfg.Utils; using Luban.Job.Common.Defs; using Luban.Job.Common.RawDefs; using Luban.Job.Common.Types; +using Luban.Job.Common.Utils; using Luban.Server.Common; using System; using System.Collections.Generic; @@ -312,7 +313,12 @@ namespace Luban.Job.Cfg.Defs ExcelTableValueTypeDefInfoCacheManager.Instance.AddTableDefInfoToCache(file.MD5, file.SheetName, tableDefInfo); } - var cb = new CfgBean() { Namespace = table.Namespace, Name = table.ValueType, Comment = "" }; + var ns = TypeUtil.GetNamespace(table.ValueType); + + string valueTypeNamespace = string.IsNullOrEmpty(ns) ? table.Namespace : ns; + string valueTypeName = TypeUtil.GetName(table.ValueType); + + var cb = new CfgBean() { Namespace = valueTypeNamespace, Name = valueTypeName, Comment = "" }; #if !LUBAN_LITE foreach (var (name, f) in tableDefInfo.FieldInfos) { diff --git a/src/Luban.Job.Cfg/Source/Defs/DefAssembly.cs b/src/Luban.Job.Cfg/Source/Defs/DefAssembly.cs index 1aa1a9d..eb2e325 100644 --- a/src/Luban.Job.Cfg/Source/Defs/DefAssembly.cs +++ b/src/Luban.Job.Cfg/Source/Defs/DefAssembly.cs @@ -57,7 +57,8 @@ namespace Luban.Job.Cfg.Defs private readonly ConcurrentDictionary _recordsByTables = new(); - public Dictionary CfgTables { get; } = new Dictionary(); + public Dictionary CfgTablesByName = new(); + public Dictionary CfgTablesByFullName { get; } = new Dictionary(); #if !LUBAN_LITE public RawTextTable RawTextTable { get; } = new RawTextTable(); @@ -83,15 +84,19 @@ namespace Luban.Job.Cfg.Defs public void AddCfgTable(DefTable table) { - if (!CfgTables.TryAdd(table.FullName, table)) + if (!CfgTablesByFullName.TryAdd(table.FullName, table)) { throw new Exception($"table:'{table.FullName}' duplicated"); } + if (!CfgTablesByName.TryAdd(table.Name, table)) + { + throw new Exception($"table:'{table.FullName} 与 table:'{CfgTablesByName[table.Name].FullName}' 的表名重复(不同模块下也不允许定义同名表,将来可能会放开限制)"); + } } public DefTable GetCfgTable(string name) { - return CfgTables.TryGetValue(name, out var t) ? t : null; + return CfgTablesByFullName.TryGetValue(name, out var t) ? t : null; } public void AddDataTable(DefTable table, List mainRecords, List patchRecords) diff --git a/src/Luban.Job.Common/Source/Defs/DefFieldBase.cs b/src/Luban.Job.Common/Source/Defs/DefFieldBase.cs index ff76454..11263fd 100644 --- a/src/Luban.Job.Common/Source/Defs/DefFieldBase.cs +++ b/src/Luban.Job.Common/Source/Defs/DefFieldBase.cs @@ -111,7 +111,7 @@ namespace Luban.Job.Common.Defs } if (!IgnoreNameValidation && !TypeUtil.IsValidName(Name)) { - throw new Exception($"type:'{HostType.FullName}' filed name:'{Name}' is reserved"); + throw new Exception($"type:'{HostType.FullName}' field name:'{Name}' is reserved"); } try @@ -120,12 +120,12 @@ namespace Luban.Job.Common.Defs } catch (Exception e) { - throw new Exception($"type:'{HostType.FullName}' filed:'{Name}' type:'{Type}' is invalid", e); + throw new Exception($"type:'{HostType.FullName}' field:'{Name}' type:'{Type}' is invalid", e); } //if (IsNullable && (CType.IsCollection || (CType is TBean))) //{ - // throw new Exception($"type:{HostType.FullName} filed:{Name} type:{Type} is collection or bean. not support nullable"); + // throw new Exception($"type:{HostType.FullName} field:{Name} type:{Type} is collection or bean. not support nullable"); //} switch (CType) diff --git a/src/Luban.Job.Common/Source/Defs/TTypeTemplateCommonExtends.cs b/src/Luban.Job.Common/Source/Defs/TTypeTemplateCommonExtends.cs index 6b353e8..eacddf2 100644 --- a/src/Luban.Job.Common/Source/Defs/TTypeTemplateCommonExtends.cs +++ b/src/Luban.Job.Common/Source/Defs/TTypeTemplateCommonExtends.cs @@ -71,9 +71,9 @@ namespace Luban.Job.Common.Defs return type.Apply(JavaBoxDefineTypeName.Ins); } - public static string JavaToString(string filedName, TType type) + public static string JavaToString(string fieldName, TType type) { - return $"{filedName}"; + return $"{fieldName}"; } public static string JavaConstValue(TType type, string value) @@ -128,9 +128,9 @@ namespace Luban.Job.Common.Defs return type.Apply(TypescriptDefineTypeNameVisitor.Ins); } - public static string TsToString(string filedName, TType type) + public static string TsToString(string fieldName, TType type) { - return filedName; + return fieldName; } public static string TsCtorDefaultValue(TType type)