From f980fc5afc705026b3edb7a3b1456e38510e05fb Mon Sep 17 00:00:00 2001 From: yubaolee Date: Thu, 10 Jul 2025 21:24:26 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9Bfix:=20#ICL05Q=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=97=A0=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/BuilderTable/BuilderTableApp.cs | 31 ++++++++++++++++--- OpenAuth.App/Test/TestBuilder.cs | 2 +- .../Template/BuildControllerApi.html | 2 +- OpenAuth.WebApi/Template/BuildEntity.html | 14 ++++----- .../Template/MultiTable/BuildApp.html | 2 +- .../MultiTable/BuildAppWithDynamicHeader.html | 2 +- .../Template/SingleTable/BuildApp.html | 2 +- .../BuildAppWithDynamicHeader.html | 2 +- 8 files changed, 39 insertions(+), 18 deletions(-) diff --git a/OpenAuth.App/BuilderTable/BuilderTableApp.cs b/OpenAuth.App/BuilderTable/BuilderTableApp.cs index 9254526a..2e92b82f 100644 --- a/OpenAuth.App/BuilderTable/BuilderTableApp.cs +++ b/OpenAuth.App/BuilderTable/BuilderTableApp.cs @@ -337,6 +337,7 @@ namespace OpenAuth.App .Replace("{ModuleCode}", sysTableInfo.ModuleCode) .Replace("{ModuleName}", sysTableInfo.ModuleName) .Replace("{ClassName}", sysTableInfo.ClassName) + .Replace("{Namespace}", sysTableInfo.Namespace) .Replace("{UpdateColumns}", updateColumns) .Replace("{InsertColumns}", insertColumns) .Replace("{StartName}", StratName); @@ -370,6 +371,7 @@ namespace OpenAuth.App .Replace("{ModuleCode}", sysTableInfo.ModuleCode) .Replace("{ModuleName}", sysTableInfo.ModuleName) .Replace("{ClassName}", sysTableInfo.ClassName) + .Replace("{Namespace}", sysTableInfo.Namespace) .Replace("{SubForeignKey}", subTable.ForeignKey) .Replace("{SubClassName}", subTable.ClassName) .Replace("{SubModuleCode}", subTable.ModuleCode) @@ -508,6 +510,7 @@ namespace OpenAuth.App domainContent = FileHelper.ReadFile(@"Template\\BuildControllerApi.html") .Replace("{TableName}", sysTableInfo.TableName) .Replace("{ModuleCode}", sysTableInfo.ModuleCode) + .Replace("{Namespace}", sysTableInfo.Namespace) .Replace("{ModuleName}", sysTableInfo.ModuleName) .Replace("{ClassName}", sysTableInfo.ClassName) .Replace("{StartName}", StratName); @@ -607,6 +610,7 @@ namespace OpenAuth.App domainContent = domainContent.Replace("{ClassName}", tableInfo.ClassName) .Replace("{AttributeList}", attributeBuilder.ToString()) + .Replace("{Namespace}", tableInfo.Namespace) .Replace("{Construction}", constructionBuilder.ToString()); @@ -621,10 +625,29 @@ namespace OpenAuth.App tableAttr.Append(" [Table(\"" + tableInfo.TableName + "\")]"); domainContent = domainContent.Replace("{AttributeManager}", tableAttr.ToString()); - FileHelper.WriteFile( - mapPath + - $"\\OpenAuth.Repository\\Domain\\", tableInfo.ClassName + ".cs", - domainContent); + // 检查命名空间是否以OpenAuth.Repository开头 + if (!tableInfo.Namespace.StartsWith("OpenAuth.Repository")) + { + throw new Exception("命名空间必须以OpenAuth.Repository开头!"); + } + // 获取OpenAuth.Repository后面的部分 + var subNamespace = tableInfo.Namespace.Substring("OpenAuth.Repository".Length).TrimStart('.'); + // 构建目录层级 + var domainPath = Path.Combine(mapPath, "OpenAuth.Repository"); + if (!string.IsNullOrEmpty(subNamespace)) + { + foreach (var part in subNamespace.Split('.')) + { + domainPath = Path.Combine(domainPath, part); + } + } + // 确保目录存在 + if (!Directory.Exists(domainPath)) + { + Directory.CreateDirectory(domainPath); + } + + FileHelper.WriteFile(domainPath, tableInfo.ClassName + ".cs", domainContent); } Dictionary PrimitiveTypes = new Dictionary() diff --git a/OpenAuth.App/Test/TestBuilder.cs b/OpenAuth.App/Test/TestBuilder.cs index 36ecd4d1..dd33c3d4 100644 --- a/OpenAuth.App/Test/TestBuilder.cs +++ b/OpenAuth.App/Test/TestBuilder.cs @@ -38,7 +38,7 @@ namespace OpenAuth.App.Test //模拟路径 var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) - .Replace("\\OpenAuth.App\\bin\\Debug\\netcoreapp3.1",""); + .Replace("\\OpenAuth.App\\bin\\Debug\\net9.0",""); var mockPathProvider = new Mock(); mockPathProvider.Setup(x => x.MapPath("",false)).Returns(path); services.AddScoped(x => mockHttpFac.Object); diff --git a/OpenAuth.WebApi/Template/BuildControllerApi.html b/OpenAuth.WebApi/Template/BuildControllerApi.html index a93502df..6c208cf5 100644 --- a/OpenAuth.WebApi/Template/BuildControllerApi.html +++ b/OpenAuth.WebApi/Template/BuildControllerApi.html @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Mvc; using OpenAuth.App; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository.Domain; +using {Namespace}; namespace OpenAuth.WebApi.Controllers { diff --git a/OpenAuth.WebApi/Template/BuildEntity.html b/OpenAuth.WebApi/Template/BuildEntity.html index 97ceebdc..2df9e9bd 100644 --- a/OpenAuth.WebApi/Template/BuildEntity.html +++ b/OpenAuth.WebApi/Template/BuildEntity.html @@ -1,16 +1,14 @@ -//------------------------------------------------------------------------------ -// This code was generated by a CodeSmith Template. -// -// DO NOT MODIFY contents of this file. Changes to this -// file will be lost if the code is regenerated. -// Author:Yubao Li -//------------------------------------------------------------------------------ +/* + * @Author: yubaolee | ahfu~ <954478625@qq.com> + * @Description: 实体类 + * Copyright (c) 2025 by yubaolee | ahfu~ , All Rights Reserved. +*/ using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations.Schema; using OpenAuth.Repository.Core; -namespace OpenAuth.Repository.Domain +namespace {Namespace} { {AttributeManager} public class {ClassName} : {BaseEntityName} diff --git a/OpenAuth.WebApi/Template/MultiTable/BuildApp.html b/OpenAuth.WebApi/Template/MultiTable/BuildApp.html index 756abc18..3823a6ea 100644 --- a/OpenAuth.WebApi/Template/MultiTable/BuildApp.html +++ b/OpenAuth.WebApi/Template/MultiTable/BuildApp.html @@ -5,7 +5,7 @@ using Infrastructure; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository.Domain; +using {Namespace}; using SqlSugar; namespace OpenAuth.App { diff --git a/OpenAuth.WebApi/Template/MultiTable/BuildAppWithDynamicHeader.html b/OpenAuth.WebApi/Template/MultiTable/BuildAppWithDynamicHeader.html index b20273c4..1821a197 100644 --- a/OpenAuth.WebApi/Template/MultiTable/BuildAppWithDynamicHeader.html +++ b/OpenAuth.WebApi/Template/MultiTable/BuildAppWithDynamicHeader.html @@ -5,7 +5,7 @@ using Infrastructure; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository.Domain; +using {Namespace}; using SqlSugar; namespace OpenAuth.App { diff --git a/OpenAuth.WebApi/Template/SingleTable/BuildApp.html b/OpenAuth.WebApi/Template/SingleTable/BuildApp.html index edabc248..eee5963d 100644 --- a/OpenAuth.WebApi/Template/SingleTable/BuildApp.html +++ b/OpenAuth.WebApi/Template/SingleTable/BuildApp.html @@ -6,7 +6,7 @@ using Infrastructure; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository.Domain; +using {Namespace}; using SqlSugar; diff --git a/OpenAuth.WebApi/Template/SingleTable/BuildAppWithDynamicHeader.html b/OpenAuth.WebApi/Template/SingleTable/BuildAppWithDynamicHeader.html index 97c3b6ae..f582decd 100644 --- a/OpenAuth.WebApi/Template/SingleTable/BuildAppWithDynamicHeader.html +++ b/OpenAuth.WebApi/Template/SingleTable/BuildAppWithDynamicHeader.html @@ -6,7 +6,7 @@ using Infrastructure; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository.Domain; +using {Namespace}; using SqlSugar;