From 1d8ccfca40d317ee368917c512cb46e50549fbb1 Mon Sep 17 00:00:00 2001 From: zpc Date: Thu, 18 Jul 2024 15:12:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin-client/package.json | 2 +- .../low_code/components/CodeGeneration.vue | 10 ++++----- .../LowCode/Impl/DatabaseTableService.cs | 22 ++++++++++++++++--- .../LowCode/Impl/LowCodeTableService.cs | 20 +++++++++++++++-- .../MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml | 2 +- .../template/tempController.cshtml | 2 +- .../code_generation/template/tempModel.cshtml | 10 +++++++-- .../template/tempService.cshtml | 2 +- .../Entities/LowCode/LowCodeTable.cs | 5 +++++ .../MiaoYu.Repository.Admin.xml | 5 +++++ .../Migrations/AdminDbContextModelSnapshot.cs | 5 ++++- .../ChatAdminDbContextModelSnapshot.cs | 10 +++------ .../appsettings.Development.json | 9 ++++---- .../appsettings.Production.json | 9 ++++---- 14 files changed, 81 insertions(+), 32 deletions(-) diff --git a/admin-client/package.json b/admin-client/package.json index fda3d80..00f113c 100644 --- a/admin-client/package.json +++ b/admin-client/package.json @@ -1,5 +1,5 @@ { - "name": "hzy-admin", + "name": "MiaoYu-admin", "private": true, "version": "1.0.0", "type": "module", diff --git a/admin-client/src/views/development_tool/low_code/components/CodeGeneration.vue b/admin-client/src/views/development_tool/low_code/components/CodeGeneration.vue index 447abd3..4d77c9f 100644 --- a/admin-client/src/views/development_tool/low_code/components/CodeGeneration.vue +++ b/admin-client/src/views/development_tool/low_code/components/CodeGeneration.vue @@ -7,7 +7,7 @@ import CodeGenerationService from "@/services/development_tool/low_code/CodeGene //定义组件事件 const props = defineProps<{ rowData: any }>(); -const codeType = ref("HZY.Models"); +const codeType = ref("MiaoYu.Models"); const loading = ref(false); const csharpEditorContainer = ref(); // 修改 monaco editor 默认的右键菜单中的剪切、复制和粘贴菜单项的文本 @@ -69,7 +69,7 @@ async function getCode() { standaloneCodeEditor?.setValue(result?.data?.code); // 切换编辑器语言 - if (codeType.value == "HZY.Models" || codeType.value == "HZY.Services.Admin" || codeType.value == "HZY.Controllers.Admin") { + if (codeType.value == "MiaoYu.Models" || codeType.value == "MiaoYu.Services.Admin" || codeType.value == "MiaoYu.Controllers.Admin") { monaco.editor.setModelLanguage(standaloneCodeEditor?.getModel()!, "csharp"); } @@ -110,9 +110,9 @@ function downloadAll() {
- 实体 - 服务 - 控制器 + 实体 + 服务 + 控制器 客户端列表页 客户端表单页 客户端服务 diff --git a/admin-server/MiaoYu.Api.Admin/ApplicationServices/DevelopmentTools/LowCode/Impl/DatabaseTableService.cs b/admin-server/MiaoYu.Api.Admin/ApplicationServices/DevelopmentTools/LowCode/Impl/DatabaseTableService.cs index a5b9cd0..d98b6a2 100644 --- a/admin-server/MiaoYu.Api.Admin/ApplicationServices/DevelopmentTools/LowCode/Impl/DatabaseTableService.cs +++ b/admin-server/MiaoYu.Api.Admin/ApplicationServices/DevelopmentTools/LowCode/Impl/DatabaseTableService.cs @@ -1,4 +1,6 @@ -namespace MiaoYu.Api.Admin.ApplicationServices.DevelopmentTools.LowCode.Impl; +using MiaoYu.Repository.ChatAI.Admin.Entities; + +namespace MiaoYu.Api.Admin.ApplicationServices.DevelopmentTools.LowCode.Impl; /// /// 数据库表服务 @@ -12,6 +14,7 @@ public class DatabaseTableService : IDatabaseTableService private readonly IRepository _lowCodeTableRepository; private readonly IRepository _lowCodeTableInfoRepository; + private readonly IRepository _imageConfig; /// /// /// @@ -21,18 +24,31 @@ public class DatabaseTableService : IDatabaseTableService public DatabaseTableService( IMemoryCache memoryCache, IRepository lowCodeTableRepository, - IRepository lowCodeTableInfoRepository) + IRepository lowCodeTableInfoRepository, + IRepository imageConfig + ) { _memoryCache = memoryCache; _lowCodeTableRepository = lowCodeTableRepository; _lowCodeTableInfoRepository = lowCodeTableInfoRepository; + _imageConfig = imageConfig; } /// /// 获取所有的表 包含表下面的列 /// /// - public virtual List GetAllTableInfos() => _lowCodeTableRepository.UnitOfWork.FreeSqlOrm.DbFirst.GetTablesByDatabase(); + public virtual List GetAllTableInfos() + { + var list = _lowCodeTableRepository.UnitOfWork.FreeSqlOrm.DbFirst.GetTablesByDatabase(); + var tlist = _imageConfig.UnitOfWork.FreeSqlOrm.DbFirst.GetTablesByDatabase(); + tlist.ForEach(t => + { + t.Schema = t.Schema + "." + "MiaoYuChat"; + }); + list.AddRange(tlist); + return list; + } /// /// 获取所有的表 包含表下面的列 diff --git a/admin-server/MiaoYu.Api.Admin/ApplicationServices/DevelopmentTools/LowCode/Impl/LowCodeTableService.cs b/admin-server/MiaoYu.Api.Admin/ApplicationServices/DevelopmentTools/LowCode/Impl/LowCodeTableService.cs index 5deb421..490e684 100644 --- a/admin-server/MiaoYu.Api.Admin/ApplicationServices/DevelopmentTools/LowCode/Impl/LowCodeTableService.cs +++ b/admin-server/MiaoYu.Api.Admin/ApplicationServices/DevelopmentTools/LowCode/Impl/LowCodeTableService.cs @@ -11,12 +11,10 @@ public class LowCodeTableService : ApplicationService> private readonly LowCodeTableInfoService _lowCodeTableInfoService; private readonly IDatabaseTableService _databaseTableService; private readonly ICodeGenerationService _codeGenerationService; - public LowCodeTableService( IRepository defaultRepository, LowCodeTableInfoService lowCodeTableInfoService, IRepository lowCodeTableInfoRepository, - IRepository imageConfig, IDatabaseTableService databaseTableService, ICodeGenerationService codeGenerationService) : base(defaultRepository) { @@ -24,6 +22,7 @@ public class LowCodeTableService : ApplicationService> _lowCodeTableInfoRepository = lowCodeTableInfoRepository; _databaseTableService = databaseTableService; _codeGenerationService = codeGenerationService; + } /// @@ -33,6 +32,7 @@ public class LowCodeTableService : ApplicationService> /// public async Task FindListAsync(PagingSearchInput pagingSearchInput) { + var query = _defaultRepository.SelectNoTracking .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search.TableName), w => w.TableName.Contains(pagingSearchInput.Search.TableName)) @@ -51,6 +51,7 @@ public class LowCodeTableService : ApplicationService> w.Remark, w.LastModificationTime, w.CreationTime, + w.DataBase, }) ; @@ -97,10 +98,12 @@ public class LowCodeTableService : ApplicationService> var ids = new List(); foreach (var item in allTables) { + var table = oldAllTables.Find(w => w.TableName == item.Name); var id = Guid.NewGuid(); if (table == null) { + var lowCodeTable = new LowCodeTable { Id = id, @@ -108,11 +111,24 @@ public class LowCodeTableService : ApplicationService> TableName = item.Name, EntityName = item.Name.ToLineConvertHump() }; + if (item.Schema.Contains(".MiaoYuChat")) + { + item.Schema = item.Schema.Replace(".MiaoYuChat", ""); + lowCodeTable.Schema = item.Schema; + lowCodeTable.DataBase = "MiaoYuChat"; + } insertList.Add(lowCodeTable); } else { id = table.Id; + if (item.Schema.Contains(".MiaoYuChat")) + { + item.Schema = item.Schema.Replace(".MiaoYuChat", ""); + table.Schema = item.Schema; + table.DataBase = "MiaoYuChat"; + } + updateList.Add(table); } diff --git a/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml b/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml index 5e561ec..385e1a8 100644 --- a/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml +++ b/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml @@ -627,7 +627,7 @@ 数据库表服务 - + diff --git a/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempController.cshtml b/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempController.cshtml index ff43bac..7483942 100644 --- a/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempController.cshtml +++ b/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempController.cshtml @@ -6,7 +6,7 @@
 
 using @(Model.Namespace).Api.Admin.ApplicationServices.Apps;
-using @(Model.Namespace).Repository.EntityFramework.Admin.Entities.Apps;
+using @(Model.Namespace).@(Model.DataBase == "MiaoYuChat" ? "Repository.ChatAI.Admin.Entities.Apps;" : "Repository.EntityFramework.Admin.Entities.Apps;");
 namespace @(Model.Namespace).Api.Admin.Controllers.Apps;
 
 /// 
diff --git a/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempModel.cshtml b/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempModel.cshtml
index 5d7c638..a90e8db 100644
--- a/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempModel.cshtml
+++ b/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempModel.cshtml
@@ -11,7 +11,8 @@
         "LastModifierUserId" ,
         "DeletionTime",
         "DeleterUserId",
-        "IsDeleted"
+        "IsDeleted",
+        "TenantId",
     };
 
     var tableInfos = Model.TableInfos
@@ -68,6 +69,10 @@
     {
         var lowCodeTableInfo = Model.TableInfos.Where(w => w.ColumnName == "Id")?.FirstOrDefault();
 
+        if (Model.DataBase == "MiaoYuChat")
+        {
+            return "DefaultEntityV4";
+        }
         if (lowCodeTableInfo == null) return "DefaultEntity";
 
         if (lowCodeTableInfo.CsType.ToLower().Contains("string"))
@@ -86,7 +91,8 @@
 }
 
 
-namespace @(Model.Namespace).Repository.EntityFramework.Admin.Entities.Apps;
+ 
+namespace @(Model.Namespace).@(Model.DataBase == "MiaoYuChat" ? "Repository.ChatAI.Admin.Entities.Apps;" : "Repository.EntityFramework.Admin.Entities.Apps;")
 
 /// 
 /// @(string.IsNullOrWhiteSpace(classNameRemark) ? className : classNameRemark)
diff --git a/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempService.cshtml b/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempService.cshtml
index 1db36a7..bd3aea1 100644
--- a/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempService.cshtml
+++ b/admin-server/MiaoYu.Api.Admin/wwwroot/code_generation/template/tempService.cshtml
@@ -32,7 +32,7 @@
     }
 }
 
-using @(Model.Namespace).Repository.EntityFramework.Admin.Entities.Apps;
+using @(Model.Namespace).@(Model.DataBase == "MiaoYuChat" ? "Repository.ChatAI.Admin.Entities.Apps;" : "Repository.EntityFramework.Admin.Entities.Apps;")
 namespace @(Model.Namespace).Api.Admin.ApplicationServices.Apps;
 
 /// 
diff --git a/admin-server/MiaoYu.Repository.Admin/Entities/LowCode/LowCodeTable.cs b/admin-server/MiaoYu.Repository.Admin/Entities/LowCode/LowCodeTable.cs
index 65b3042..be2a6ec 100644
--- a/admin-server/MiaoYu.Repository.Admin/Entities/LowCode/LowCodeTable.cs
+++ b/admin-server/MiaoYu.Repository.Admin/Entities/LowCode/LowCodeTable.cs
@@ -11,6 +11,11 @@ public class LowCodeTable : DefaultEntity
     /// 
     public string? Schema { get; set; }
 
+    /// 
+    /// 所属数据库
+    /// 
+    public string? DataBase { get; set; }
+
     /// 
     /// 类型
     /// 
diff --git a/admin-server/MiaoYu.Repository.Admin/MiaoYu.Repository.Admin.xml b/admin-server/MiaoYu.Repository.Admin/MiaoYu.Repository.Admin.xml
index 4f28748..4a77c55 100644
--- a/admin-server/MiaoYu.Repository.Admin/MiaoYu.Repository.Admin.xml
+++ b/admin-server/MiaoYu.Repository.Admin/MiaoYu.Repository.Admin.xml
@@ -344,6 +344,11 @@
             
             
+ + + 所属数据库 + + 类型 diff --git a/admin-server/MiaoYu.Repository.Admin/Migrations/AdminDbContextModelSnapshot.cs b/admin-server/MiaoYu.Repository.Admin/Migrations/AdminDbContextModelSnapshot.cs index 69a5707..fa301b0 100644 --- a/admin-server/MiaoYu.Repository.Admin/Migrations/AdminDbContextModelSnapshot.cs +++ b/admin-server/MiaoYu.Repository.Admin/Migrations/AdminDbContextModelSnapshot.cs @@ -1,6 +1,8 @@ // using System; + using MiaoYu.Repository.Admin; + using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; @@ -388,7 +390,8 @@ namespace MiaoYu.Repository.Admin.Migrations b.Property("Schema") .HasColumnType("nvarchar(max)"); - + b.Property("DataBase") + .HasColumnType("nvarchar(100)"); b.Property("ServicePath") .HasColumnType("nvarchar(max)"); diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/Migrations/ChatAdminDbContextModelSnapshot.cs b/admin-server/MiaoYu.Repository.ChatAI.Admin/Migrations/ChatAdminDbContextModelSnapshot.cs index a095d6d..6a8ff2d 100644 --- a/admin-server/MiaoYu.Repository.ChatAI.Admin/Migrations/ChatAdminDbContextModelSnapshot.cs +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/Migrations/ChatAdminDbContextModelSnapshot.cs @@ -1,11 +1,7 @@ -using MiaoYu.Repository.ChatAI.Admin.Entities; - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; + +using MiaoYu.Repository.ChatAI.Admin.Entities; +#nullable disable namespace MiaoYu.Repository.ChatAI.Admin.Migrations { [DbContext(typeof(ChatAdminDbContext))] diff --git a/admin-server/MiaoYu.WinFormDemo/appsettings.Development.json b/admin-server/MiaoYu.WinFormDemo/appsettings.Development.json index f458c48..bd53dbd 100644 --- a/admin-server/MiaoYu.WinFormDemo/appsettings.Development.json +++ b/admin-server/MiaoYu.WinFormDemo/appsettings.Development.json @@ -7,13 +7,14 @@ // pi计算 数据库管理 "AdminRepositoryOptions": { //默认数据库类型 SqlServer 、MySql 、PostgreSql、Oracle - "DefaultDatabaseType": "MySql", + "DefaultDatabaseType": "SqlServer", //是否监控EFCore程序 - "IsMonitorEFCore": false, + "IsMonitorEFCore": true, // 连接字符串 - mysql - "ConnectionString": "Server=localhost; port=3306; Database=hzy_admin_mysql_20230227; uid=root; pwd=123456; Convert Zero Datetime=False" + //"ConnectionString": "Server=localhost; port=3306; Database=hzy_admin_mysql_20230227; uid=root; pwd=123456; Convert Zero Datetime=False" //// 连接字符串 - sqlserver - //"ConnectionString": "Server=.;Database=hzy_microservices_sqlserver_20230227;User ID=sa;Password=123456;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;", + //"ConnectionString": "Server=192.168.195.2;Database=MiaoYu;User ID=zpc;Password=zpc;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;", + "ConnectionString": "Server=192.168.195.2;Database=HZY;User ID=zpc;Password=zpc;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;" //// 连接字符串 - postgresql //"ConnectionString": "User ID=postgres;Password=123456;Host=localhost;Port=5432;Database=hzy_microservices_pgsql_20230227;Pooling=true;TimeZone=Asia/Shanghai", //// 连接字符串 - oracle diff --git a/admin-server/MiaoYu.WinFormDemo/appsettings.Production.json b/admin-server/MiaoYu.WinFormDemo/appsettings.Production.json index f458c48..bd53dbd 100644 --- a/admin-server/MiaoYu.WinFormDemo/appsettings.Production.json +++ b/admin-server/MiaoYu.WinFormDemo/appsettings.Production.json @@ -7,13 +7,14 @@ // pi计算 数据库管理 "AdminRepositoryOptions": { //默认数据库类型 SqlServer 、MySql 、PostgreSql、Oracle - "DefaultDatabaseType": "MySql", + "DefaultDatabaseType": "SqlServer", //是否监控EFCore程序 - "IsMonitorEFCore": false, + "IsMonitorEFCore": true, // 连接字符串 - mysql - "ConnectionString": "Server=localhost; port=3306; Database=hzy_admin_mysql_20230227; uid=root; pwd=123456; Convert Zero Datetime=False" + //"ConnectionString": "Server=localhost; port=3306; Database=hzy_admin_mysql_20230227; uid=root; pwd=123456; Convert Zero Datetime=False" //// 连接字符串 - sqlserver - //"ConnectionString": "Server=.;Database=hzy_microservices_sqlserver_20230227;User ID=sa;Password=123456;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;", + //"ConnectionString": "Server=192.168.195.2;Database=MiaoYu;User ID=zpc;Password=zpc;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;", + "ConnectionString": "Server=192.168.195.2;Database=HZY;User ID=zpc;Password=zpc;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;" //// 连接字符串 - postgresql //"ConnectionString": "User ID=postgres;Password=123456;Host=localhost;Port=5432;Database=hzy_microservices_pgsql_20230227;Pooling=true;TimeZone=Asia/Shanghai", //// 连接字符串 - oracle