diff --git a/admin-generate-ef-seed-data/GenerateSeeds/Program.cs b/admin-generate-ef-seed-data/GenerateSeeds/Program.cs index 689874f..9d6e328 100644 --- a/admin-generate-ef-seed-data/GenerateSeeds/Program.cs +++ b/admin-generate-ef-seed-data/GenerateSeeds/Program.cs @@ -1,7 +1,7 @@ using GenerateSeeds; using System.Text; -var connectionString = "Server=.;Database=hzy_microservices_sqlserver_20230227;User ID=sa;Password=123456;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;"; +var connectionString = "Server=192.168.195.2;Database=MiaoYu;User ID=zpc;Password=zpc;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;"; IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.SqlServer, connectionString) diff --git a/admin-server/MiaoYu.Api.Admin/ApiAdminStartup.cs b/admin-server/MiaoYu.Api.Admin/ApiAdminStartup.cs index 9fbf267..ee6be9a 100644 --- a/admin-server/MiaoYu.Api.Admin/ApiAdminStartup.cs +++ b/admin-server/MiaoYu.Api.Admin/ApiAdminStartup.cs @@ -9,6 +9,7 @@ CoreRedisStartup, CoreIdentityStartup, AdminRepositoryStartup, + ChatAdminRepositoryStartup, CoreSwaggerJwtStartup, SharedAdminStartup>] public class ApiAdminStartup : AppStartupBase 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 4fb7071..5deb421 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 @@ -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; /// /// 服务 Low_Code_TableService @@ -10,9 +12,11 @@ public class LowCodeTableService : ApplicationService> private readonly IDatabaseTableService _databaseTableService; private readonly ICodeGenerationService _codeGenerationService; - public LowCodeTableService(IRepository defaultRepository, + public LowCodeTableService( + IRepository defaultRepository, LowCodeTableInfoService lowCodeTableInfoService, IRepository lowCodeTableInfoRepository, + IRepository imageConfig, IDatabaseTableService databaseTableService, ICodeGenerationService codeGenerationService) : base(defaultRepository) { diff --git a/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.csproj b/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.csproj index e8e38c4..2f30679 100644 --- a/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.csproj +++ b/admin-server/MiaoYu.Api.Admin/MiaoYu.Api.Admin.csproj @@ -18,6 +18,7 @@ + diff --git a/admin-server/MiaoYu.Api.Admin/Usings.cs b/admin-server/MiaoYu.Api.Admin/Usings.cs index e68f845..f24bb9a 100644 --- a/admin-server/MiaoYu.Api.Admin/Usings.cs +++ b/admin-server/MiaoYu.Api.Admin/Usings.cs @@ -80,3 +80,4 @@ global using System.Reflection; global using System.Text; global using System.Text.Encodings.Web; global using System.Text.Unicode; +global using MiaoYu.Repository.ChatAI.Admin; \ No newline at end of file diff --git a/admin-server/MiaoYu.Api.Admin/appsettings.Development.json b/admin-server/MiaoYu.Api.Admin/appsettings.Development.json index 2490b35..ffdfd5b 100644 --- a/admin-server/MiaoYu.Api.Admin/appsettings.Development.json +++ b/admin-server/MiaoYu.Api.Admin/appsettings.Development.json @@ -21,6 +21,10 @@ //"ConnectionString": "user id=hzy_admin_oracle_20221213;password=123456; data source=//127.0.0.1:1521/orcl;Pooling=true;Min Pool Size=1" }, "ChatAdminRepositoryOptions": { + //默认数据库类型 SqlServer 、MySql 、PostgreSql、Oracle + "DefaultDatabaseType": "SqlServer", + //是否监控EFCore程序 + "IsMonitorEFCore": true, "ConnectionString": "Server=192.168.195.2;Database=MiaoYu;User ID=zpc;Password=zpc;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;" } diff --git a/admin-server/MiaoYu.Core.EntityFramework/MiaoYu.Core.EntityFramework.xml b/admin-server/MiaoYu.Core.EntityFramework/MiaoYu.Core.EntityFramework.xml index a7fde06..ed67f99 100644 --- a/admin-server/MiaoYu.Core.EntityFramework/MiaoYu.Core.EntityFramework.xml +++ b/admin-server/MiaoYu.Core.EntityFramework/MiaoYu.Core.EntityFramework.xml @@ -366,5 +366,20 @@ 删除标识 + + + 妙语聊天项目 + + + + + 多租户 + + + + + 所属租户 + + diff --git a/admin-server/MiaoYu.Core.EntityFramework/Models/DefaultEntityV4.cs b/admin-server/MiaoYu.Core.EntityFramework/Models/DefaultEntityV4.cs new file mode 100644 index 0000000..1984846 --- /dev/null +++ b/admin-server/MiaoYu.Core.EntityFramework/Models/DefaultEntityV4.cs @@ -0,0 +1,23 @@ +using HZY.Framework.Repository.EntityFramework.Models; + + +namespace MiaoYu.Core.EntityFramework.Models; + +/// +/// 妙语聊天项目 +/// +public class DefaultEntityV4 : EntityIdentity, ITenantEntity +{ + public virtual Guid TenantId { get; set; } +} + +/// +/// 多租户 +/// +public interface ITenantEntity : IEntity +{ + /// + /// 所属租户 + /// + Guid TenantId { get; set; } +} diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminDbContext.cs b/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminDbContext.cs index 3b82218..7290dab 100644 --- a/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminDbContext.cs +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminDbContext.cs @@ -3,7 +3,7 @@ namespace MiaoYu.Repository.ChatAI.Admin { /// - /// 后台管理系统数据库上下文 + /// 后台管理系统数据库上下文 /// [DbContextConfig($"Repository.*.Entities.*")] public class ChatAdminDbContext : DbContext, IBaseDbContext diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminRepositoryStartup.cs b/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminRepositoryStartup.cs index d04815a..95c4463 100644 --- a/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminRepositoryStartup.cs +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminRepositoryStartup.cs @@ -4,7 +4,7 @@ using MiaoYu.Repository.ChatAI.Admin.Models; namespace MiaoYu.Repository.ChatAI.Admin { /// - /// 程序启动器 + /// 程序启动器 /// [ImportStartupModule] public class ChatAdminRepositoryStartup : StartupModule diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/T_Image_Config.cs b/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/T_Image_Config.cs new file mode 100644 index 0000000..bc9a83a --- /dev/null +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/T_Image_Config.cs @@ -0,0 +1,40 @@ +using FreeSql.DatabaseModel; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Threading.Tasks; +using Newtonsoft.Json; +using FreeSql.DataAnnotations; +using MiaoYu.Core.EntityFramework.Models; + +namespace MiaoYu.Repository.ChatAI.Admin.Entities +{ + + /// + /// 图片表 + /// + [EntityDescription(FieldIgnored = true)] + public partial class T_Image_Config : DefaultEntityV4 + { + + /// + /// 图片Id + /// + public int ImageId { get; set; } + + /// + /// 图片名称 + /// + public string Name { get; set; } + + /// + /// 图片url + /// + + public string Url { get; set; } + + } + +} diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/__razor.cshtml.txt b/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/__razor.cshtml.txt new file mode 100644 index 0000000..8997b3b --- /dev/null +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/__razor.cshtml.txt @@ -0,0 +1,67 @@ +using FreeSql.DatabaseModel;@{ +var gen = Model as RazorModel; + +Func GetAttributeString = attr => { + if (string.IsNullOrEmpty(attr)) return ""; + return string.Concat(", ", attr.Trim('[', ']')); +}; +Func GetDefaultValue = defval => { + if (string.IsNullOrEmpty(defval)) return ""; + return " = " + defval + ";"; +}; +}@{ +switch (gen.fsql.Ado.DataType) { + case FreeSql.DataType.PostgreSQL: +@:using System; +@:using System.Collections; +@:using System.Collections.Generic; +@:using System.Linq; +@:using System.Reflection; +@:using System.Threading.Tasks; +@:using Newtonsoft.Json; +@:using FreeSql.DataAnnotations; +@:using System.Net; +@:using Newtonsoft.Json.Linq; +@:using System.Net.NetworkInformation; +@:using NpgsqlTypes; +@:using Npgsql.LegacyPostgis; + break; + case FreeSql.DataType.SqlServer: + case FreeSql.DataType.MySql: + default: +@:using System; +@:using System.Collections; +@:using System.Collections.Generic; +@:using System.Linq; +@:using System.Reflection; +@:using System.Threading.Tasks; +@:using Newtonsoft.Json; +@:using FreeSql.DataAnnotations; + break; +} +} + +namespace @gen.NameSpace { + +@if (string.IsNullOrEmpty(gen.table.Comment) == false) { + @:/// + @:/// @gen.table.Comment.Replace("\r\n", "\n").Replace("\n", "\r\n /// ") + @:/// +} + [JsonObject(MemberSerialization.OptIn)@GetAttributeString(gen.GetTableAttribute())] + public partial class @gen.GetCsName(gen.FullTableName) { + + @foreach (var col in gen.columns) { + + if (string.IsNullOrEmpty(col.Comment) == false) { + @:/// + @:/// @col.Comment.Replace("\r\n", "\n").Replace("\n", "\r\n /// ") + @:/// + } + @:@("[JsonProperty" + GetAttributeString(gen.GetColumnAttribute(col, true)) + "]") + @:public @gen.GetCsType(col) @gen.GetCsName(col.Name) { get; set; }@GetDefaultValue(gen.GetColumnDefaultValue(col, false)) +@: + } + } +@gen.GetMySqlEnumSetDefine() +} \ No newline at end of file diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/__重新生成.bat b/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/__重新生成.bat new file mode 100644 index 0000000..db5a665 --- /dev/null +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/Entities/__重新生成.bat @@ -0,0 +1,2 @@ + +FreeSql.Generator -Razor "__razor.cshtml.txt" -NameOptions 1,0,0,0 -NameSpace MiaoYu.Repository.ChatAI.Admin.Entities -DB "SqlServer,data source=192.168.195.2;initial catalog=MiaoYu;User Id=zpc;Password=zpc;TrustServerCertificate=true;pooling=true;max pool size=2" -FileName "{name}.cs" diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/MiaoYu.Repository.ChatAI.Admin.csproj b/admin-server/MiaoYu.Repository.ChatAI.Admin/MiaoYu.Repository.ChatAI.Admin.csproj index c0d37d9..6a424b5 100644 --- a/admin-server/MiaoYu.Repository.ChatAI.Admin/MiaoYu.Repository.ChatAI.Admin.csproj +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/MiaoYu.Repository.ChatAI.Admin.csproj @@ -4,6 +4,8 @@ net8.0 enable enable + True + $(MSBuildProjectName).xml @@ -19,7 +21,6 @@ - diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/MiaoYu.Repository.ChatAI.Admin.xml b/admin-server/MiaoYu.Repository.ChatAI.Admin/MiaoYu.Repository.ChatAI.Admin.xml new file mode 100644 index 0000000..6da15e1 --- /dev/null +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/MiaoYu.Repository.ChatAI.Admin.xml @@ -0,0 +1,61 @@ + + + + MiaoYu.Repository.ChatAI.Admin + + + + + 后台管理系统数据库上下文 + + + + + 工作单元 + + + + + 模型创建 + + + + + + 程序启动器 + + + + + 程序启动器 + + + + + + Configure + + + + + + 图片表 + + + + + 图片Id + + + + + 图片名称 + + + + + 图片url + + + + diff --git a/admin-server/MiaoYu.Repository.ChatAI.Admin/Migrations/ChatAdminDbContextModelSnapshot.cs b/admin-server/MiaoYu.Repository.ChatAI.Admin/Migrations/ChatAdminDbContextModelSnapshot.cs new file mode 100644 index 0000000..a095d6d --- /dev/null +++ b/admin-server/MiaoYu.Repository.ChatAI.Admin/Migrations/ChatAdminDbContextModelSnapshot.cs @@ -0,0 +1,44 @@ +using MiaoYu.Repository.ChatAI.Admin.Entities; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MiaoYu.Repository.ChatAI.Admin.Migrations +{ + [DbContext(typeof(ChatAdminDbContext))] + public class ChatAdminDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__T_Image___3214EC072BCFE4E5"); + + entity.ToTable(tb => tb.HasComment("图片表")); + + entity.Property(e => e.ImageId).HasComment("图片Id"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .HasComment("图片名称"); + entity.Property(e => e.TenantId).HasComment("租户"); + entity.Property(e => e.Url) + .HasMaxLength(500) + .HasComment("图片地址"); + + }); + + + +#pragma warning restore 612, 618 + } + } +}