diff --git a/Directory.Build.JiShe.targets b/Directory.Build.JiShe.targets
index e6d529b..dac38fd 100644
--- a/Directory.Build.JiShe.targets
+++ b/Directory.Build.JiShe.targets
@@ -1,71 +1,75 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Directory.Build.targets b/Directory.Build.targets
index e54ca85..9f890cd 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -27,11 +27,7 @@
-
-
-
-
-
+
diff --git a/JiShe.IoT.Admin.sln b/JiShe.IoT.Admin.sln
index cc8713e..3309979 100644
--- a/JiShe.IoT.Admin.sln
+++ b/JiShe.IoT.Admin.sln
@@ -34,20 +34,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.DbMigrator", "src
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0.Solution Items", "0.Solution Items", "{2C4A6DB8-8D9E-42E6-B7C3-1EDB7B3DE22E}"
ProjectSection(SolutionItems) = preProject
- NuGet.Config = NuGet.Config
+ Directory.Build.JiShe.targets = Directory.Build.JiShe.targets
Directory.Build.Microsoft.targets = Directory.Build.Microsoft.targets
Directory.Build.targets = Directory.Build.targets
Directory.Build.Volo.targets = Directory.Build.Volo.targets
- Directory.Build.Lion.targets = Directory.Build.Lion.targets
Dockerfile = Dockerfile
+ NuGet.Config = NuGet.Config
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{8C1B8C6C-C518-4290-B070-622CCA6004DA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.HttpApi.Host", "host\JiShe.IoT.HttpApi.Host\JiShe.IoT.HttpApi.Host.csproj", "{FB20372D-6C96-4733-9AAC-12522F15CAA6}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JiShe.IoT.FreeSqlRepository", "src\JiShe.IoT.FreeSqlRepository\JiShe.IoT.FreeSqlRepository.csproj", "{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gateways", "gateways", "{81A8FF2E-DE2E-479D-A209-EDA81C2AF08A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.IoT.WebGateway", "gateways\JiShe.IoT.WebGateway\JiShe.IoT.WebGateway.csproj", "{F1D46EE1-13D5-4227-80DC-066DEB0E4FD1}"
@@ -114,10 +112,6 @@ Global
{FB20372D-6C96-4733-9AAC-12522F15CAA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB20372D-6C96-4733-9AAC-12522F15CAA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB20372D-6C96-4733-9AAC-12522F15CAA6}.Release|Any CPU.Build.0 = Release|Any CPU
- {27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}.Release|Any CPU.Build.0 = Release|Any CPU
{F1D46EE1-13D5-4227-80DC-066DEB0E4FD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F1D46EE1-13D5-4227-80DC-066DEB0E4FD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F1D46EE1-13D5-4227-80DC-066DEB0E4FD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -141,7 +135,6 @@ Global
{EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
{AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
{FB20372D-6C96-4733-9AAC-12522F15CAA6} = {8C1B8C6C-C518-4290-B070-622CCA6004DA}
- {27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
{F1D46EE1-13D5-4227-80DC-066DEB0E4FD1} = {81A8FF2E-DE2E-479D-A209-EDA81C2AF08A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
diff --git a/host/JiShe.IoT.HttpApi.Host/appsettings.Development.json b/host/JiShe.IoT.HttpApi.Host/appsettings.Development.json
index 8d7b4f1..3949746 100644
--- a/host/JiShe.IoT.HttpApi.Host/appsettings.Development.json
+++ b/host/JiShe.IoT.HttpApi.Host/appsettings.Development.json
@@ -4,7 +4,9 @@
"CorsOrigins": "https://*.IoT.com,http://localhost:4200,http://localhost:3100,http://localhost:80,http://localhost"
},
"ConnectionStrings": {
- "Default": "Data Source=localhost;Port=3306;Database=JiSheIoTProDB;uid=root;pwd=admin123;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
+ "Default": "Data Source=localhost;Port=3306;Database=JiSheIoTProDB;uid=root;pwd=admin123;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true",
+ "PrepayDB": "server=118.190.144.92;database=jishe.sysdb;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False",
+ "EnergyDB": "server=118.190.144.92;database=db_energy;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False"
},
"Hangfire": {
"Redis": {
@@ -48,5 +50,14 @@
"Password": "1q2w3E*",
"Port": 5672
}
+ },
+ "FreeRedisOptions": {
+ "ConnectionString": "192.168.5.9:6380,password=1q2w3e!@#,defaultdatabase=1",
+ "UseDistributedCache": true
+ },
+ "FreeSqlProviderOptions": {
+ "UsePrepayDB": true,
+ "UseEnergyDB": false,
+ "PrintLog": false
}
}
\ No newline at end of file
diff --git a/src/JiShe.IoT.Application/GlobalUsings.cs b/src/JiShe.IoT.Application/GlobalUsings.cs
index ba34701..a55824f 100644
--- a/src/JiShe.IoT.Application/GlobalUsings.cs
+++ b/src/JiShe.IoT.Application/GlobalUsings.cs
@@ -8,7 +8,6 @@ global using JiShe.ServicePro.BasicManagement;
global using JiShe.ServicePro.DataDictionaryManagement;
global using JiShe.ServicePro.LanguageManagement;
global using JiShe.ServicePro.NotificationManagement;
-global using JiShe.IoT.FreeSqlRepository;
global using JiShe.IoT.Permissions;
global using Microsoft.AspNetCore.Authorization;
global using Microsoft.Extensions.Configuration;
diff --git a/src/JiShe.IoT.Application/IoTAppService.cs b/src/JiShe.IoT.Application/IoTAppService.cs
index 0d352e3..ec9ed93 100644
--- a/src/JiShe.IoT.Application/IoTAppService.cs
+++ b/src/JiShe.IoT.Application/IoTAppService.cs
@@ -1,9 +1,15 @@
+using JiShe.ServicePro.FreeRedisProvider;
+using JiShe.ServicePro.FreeSqlProvider;
+
namespace JiShe.IoT
{
/* Inherit your application services from this class.
*/
public abstract class IoTAppService : ApplicationService
{
+ protected IFreeSqlProvider FreeSqlDbContext => LazyServiceProvider.LazyGetRequiredService();
+ protected IFreeRedisProviderService FreeRedis => LazyServiceProvider.LazyGetRequiredService();
+
protected IoTAppService()
{
LocalizationResource = typeof(IoTResource);
diff --git a/src/JiShe.IoT.Application/IoTApplicationModule.cs b/src/JiShe.IoT.Application/IoTApplicationModule.cs
index 6583e59..923a45c 100644
--- a/src/JiShe.IoT.Application/IoTApplicationModule.cs
+++ b/src/JiShe.IoT.Application/IoTApplicationModule.cs
@@ -1,5 +1,7 @@
using JiShe.ServicePro.CodeManagement;
using JiShe.ServicePro.DynamicMenuManagement;
+using JiShe.ServicePro.FreeRedisProvider;
+using JiShe.ServicePro.FreeSqlProvider;
using JiShe.ServicePro.TemplateManagement;
namespace JiShe.IoT
@@ -14,7 +16,7 @@ namespace JiShe.IoT
typeof(CodeManagementApplicationModule),
typeof(TemplateManagementApplicationModule),
typeof(DynamicMenuManagementApplicationModule),
- typeof(IoTFreeSqlModule)
+ typeof(FreeRedisProviderModule)
)]
public class IoTApplicationModule : AbpModule
{
diff --git a/src/JiShe.IoT.Application/JiShe.IoT.Application.csproj b/src/JiShe.IoT.Application/JiShe.IoT.Application.csproj
index 7db4688..42ae8f0 100644
--- a/src/JiShe.IoT.Application/JiShe.IoT.Application.csproj
+++ b/src/JiShe.IoT.Application/JiShe.IoT.Application.csproj
@@ -1,4 +1,4 @@
-
+
@@ -7,23 +7,23 @@
-
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
diff --git a/src/JiShe.IoT.DbMigrator/appsettings.json b/src/JiShe.IoT.DbMigrator/appsettings.json
index 8fcd111..de97dee 100644
--- a/src/JiShe.IoT.DbMigrator/appsettings.json
+++ b/src/JiShe.IoT.DbMigrator/appsettings.json
@@ -1,5 +1,5 @@
{
"ConnectionStrings": {
- "Default": "Data Source=localhost;Port=3306;Database=JiSheServiceProDB;uid=root;pwd=admin123;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
+ "Default": "Data Source=localhost;Port=3306;Database=JiSheIoTProDB;uid=root;pwd=admin123;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
}
}
\ No newline at end of file
diff --git a/src/JiShe.IoT.Domain.Shared/IBasicEntiy.cs b/src/JiShe.IoT.Domain.Shared/IBasicEntiy.cs
new file mode 100644
index 0000000..83d494d
--- /dev/null
+++ b/src/JiShe.IoT.Domain.Shared/IBasicEntiy.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace JiShe.IoT.Domain.Shared
+{
+ ///
+ /// 基础实体
+ ///
+ public interface IBasicEntiy
+ {
+ ///
+ /// 备注
+ ///
+ string Remark { get; set; }
+
+ ///
+ /// 创建Id,需要主动调用,如果没有主动调用,Id值使用EF驱动时自动生成,使用FreeSql时,也会自动生成
+ ///
+ ///
+ void CreateId(TKey Id);
+
+ /////
+ ///// 处理自定义属性
+ /////
+ /////
+ //void HandleExtraProperties(ExtraPropertyDictionary keyValuePairs);
+ }
+}
diff --git a/src/JiShe.IoT.Domain.Shared/IoTDomainSharedModule.cs b/src/JiShe.IoT.Domain.Shared/IoTDomainSharedModule.cs
index 8474457..1e8fcd4 100644
--- a/src/JiShe.IoT.Domain.Shared/IoTDomainSharedModule.cs
+++ b/src/JiShe.IoT.Domain.Shared/IoTDomainSharedModule.cs
@@ -1,5 +1,6 @@
using JiShe.ServicePro.CodeManagement;
using JiShe.ServicePro.DynamicMenuManagement;
+using JiShe.ServicePro.FreeSqlProvider;
using JiShe.ServicePro.TemplateManagement;
namespace JiShe.IoT
@@ -12,6 +13,7 @@ namespace JiShe.IoT
typeof(CodeManagementDomainSharedModule),
typeof(TemplateManagementDomainSharedModule),
typeof(DynamicMenuManagementDomainSharedModule),
+ typeof(AbpFreeSqlProviderModule),
typeof(ServiceProCoreModule)
)]
public class IoTDomainSharedModule : AbpModule
diff --git a/src/JiShe.IoT.Domain.Shared/JiShe.IoT.Domain.Shared.csproj b/src/JiShe.IoT.Domain.Shared/JiShe.IoT.Domain.Shared.csproj
index 2a19f36..ef8c214 100644
--- a/src/JiShe.IoT.Domain.Shared/JiShe.IoT.Domain.Shared.csproj
+++ b/src/JiShe.IoT.Domain.Shared/JiShe.IoT.Domain.Shared.csproj
@@ -1,4 +1,4 @@
-
+
net9.0
JiShe.IoT
@@ -20,6 +20,6 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/JiShe.IoT.Domain/BasicEntiy.cs b/src/JiShe.IoT.Domain/BasicEntiy.cs
new file mode 100644
index 0000000..ac949f0
--- /dev/null
+++ b/src/JiShe.IoT.Domain/BasicEntiy.cs
@@ -0,0 +1,62 @@
+using FreeSql.DataAnnotations;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.Guids;
+
+namespace JiShe.IoT.Domain.Shared
+{
+ ///
+ /// jishe基础实体
+ ///
+ public class BasicEntiy : FullAuditedAggregateRoot, IBasicEntiy, IMultiTenant
+ {
+ ///
+ /// 租户Id
+ ///
+ [Comment("租户ID")]
+ public Guid? TenantId { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [Comment("备注")]
+ public string Remark { get; set; }
+
+ ///
+ /// 旧系统授权创建者Id
+ ///
+ [Comment("旧系统授权创建者Id")]
+ public int? OSACreatorId { get; set; }
+
+ ///
+ /// 旧系统授权最后修改者Id
+ ///
+ [Comment("旧系统授权最后修改者Id")]
+ public int? OSALastModifierId { get; set; }
+
+ ///
+ /// 旧系统授权最后删除者Id
+ ///
+ [Comment("旧系统授权最后删除者Id")]
+ public int? OSADeleterId { get; set; }
+
+ ///
+ /// 扩展属性,用于存储自定义字段,JSON格式
+ ///
+ [Comment("扩展属性,用于存储自定义字段,JSON格式")]
+ [JsonMap]
+ public new ExtraPropertyDictionary ExtraProperties { get; set; } = new ExtraPropertyDictionary();
+
+
+ public void CreateId(TKey Id)
+ {
+
+ base.Id = Id;
+ }
+ }
+}
diff --git a/src/JiShe.IoT.Domain/JiShe.IoT.Domain.csproj b/src/JiShe.IoT.Domain/JiShe.IoT.Domain.csproj
index 9d3329e..57a1269 100644
--- a/src/JiShe.IoT.Domain/JiShe.IoT.Domain.csproj
+++ b/src/JiShe.IoT.Domain/JiShe.IoT.Domain.csproj
@@ -16,6 +16,7 @@
+
\ No newline at end of file
diff --git a/src/JiShe.IoT.EntityFrameworkCore/Migrations/20250527071110_InitialCreate.Designer.cs b/src/JiShe.IoT.EntityFrameworkCore/Migrations/20250527071110_InitialCreate.Designer.cs
new file mode 100644
index 0000000..bf3bfd1
--- /dev/null
+++ b/src/JiShe.IoT.EntityFrameworkCore/Migrations/20250527071110_InitialCreate.Designer.cs
@@ -0,0 +1,2999 @@
+//
+using System;
+using JiShe.IoT.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace JiShe.IoT.Migrations
+{
+ [DbContext(typeof(IoTDbContext))]
+ [Migration("20250527071110_InitialCreate")]
+ partial class InitialCreate
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
+ .HasAnnotation("ProductVersion", "9.0.0")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
+
+ modelBuilder.Entity("JiShe.ServicePro.BasicManagement.UserRefreshTokens.UserRefreshToken", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExpirationTime")
+ .HasColumnType("datetime(6)")
+ .HasComment("过期时间");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("IsUsed")
+ .HasColumnType("tinyint(1)")
+ .HasComment("是否使用");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("RefreshToken")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("刷新token");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("Token")
+ .IsRequired()
+ .HasMaxLength(1024)
+ .HasColumnType("varchar(1024)")
+ .HasComment("Token");
+
+ b.Property("UserId")
+ .HasColumnType("char(36)")
+ .HasComment("用户id");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RefreshToken");
+
+ b.ToTable("ServiceProUserRefreshTokens", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.CodeManagement.DataTypes.Aggregates.DataType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.HasKey("Id");
+
+ b.ToTable("ServiceProDataType", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.CodeManagement.EntityModels.Aggregates.EntityModel", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AggregateId")
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("ParentId")
+ .HasColumnType("char(36)");
+
+ b.Property("ProjectId")
+ .HasColumnType("char(36)");
+
+ b.Property("RelationalType")
+ .HasColumnType("int");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Code");
+
+ b.ToTable("ServiceProEntityModels", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.CodeManagement.EntityModels.Aggregates.EntityModelProperty", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AllowAdd")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("AllowEdit")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("AllowSearch")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DataTypeId")
+ .HasColumnType("char(36)");
+
+ b.Property("DecimalPrecision")
+ .HasColumnType("int");
+
+ b.Property("DecimalScale")
+ .HasColumnType("int");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("EntityModelId")
+ .HasColumnType("char(36)");
+
+ b.Property("EnumTypeId")
+ .HasColumnType("char(36)");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("IsRequired")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("MaxLength")
+ .HasColumnType("int");
+
+ b.Property("MinLength")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EntityModelId");
+
+ b.ToTable("ServiceProEntityModelProperties", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.CodeManagement.EnumTypes.Aggregates.EnumType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("EntityModelId")
+ .HasColumnType("char(36)");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("ProjectId")
+ .HasColumnType("char(36)");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Code");
+
+ b.ToTable("ServiceProEnumType", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.CodeManagement.EnumTypes.Aggregates.EnumTypeProperty", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("EnumTypeId")
+ .HasColumnType("char(36)");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Value")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Code");
+
+ b.HasIndex("EnumTypeId");
+
+ b.ToTable("ServiceProEnumTypeProperty", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.CodeManagement.Projects.Aggregates.Project", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("CompanyName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("NameSpace")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("Owner")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ProjectName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("Remark")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)");
+
+ b.Property("SupportTenant")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.ToTable("ServiceProProjects", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.CodeManagement.Templates.Aggregates.Template", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("Remark")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.ToTable("ServiceProTemplates", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.CodeManagement.Templates.Aggregates.TemplateDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Content")
+ .HasColumnType("longtext");
+
+ b.Property("ControlType")
+ .HasColumnType("int");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ParentId")
+ .HasColumnType("char(36)");
+
+ b.Property("TemplateId")
+ .HasColumnType("char(36)");
+
+ b.Property("TemplateType")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TemplateId");
+
+ b.ToTable("ServiceProTemplateDetails", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionary", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasMaxLength(1024)
+ .HasColumnType("varchar(1024)");
+
+ b.Property("DisplayText")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.ToTable("AbpDataDictionaries", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionaryDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .HasColumnType("longtext");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DataDictionaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("Description")
+ .HasColumnType("longtext");
+
+ b.Property("DisplayText")
+ .HasColumnType("longtext");
+
+ b.Property("IsEnabled")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Order")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DataDictionaryId");
+
+ b.ToTable("AbpDataDictionaryDetails", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.DynamicMenuManagement.Menus.Menu", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Component")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasComment("组件地址");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("DisplayTitle")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("标准多语言");
+
+ b.Property("Enabled")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("HideInMenu")
+ .HasColumnType("tinyint(1)")
+ .HasComment("是否显示");
+
+ b.Property("Icon")
+ .HasColumnType("longtext")
+ .HasComment("图标");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("KeepAlive")
+ .HasColumnType("tinyint(1)")
+ .HasComment("是否缓存");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("MenuType")
+ .HasColumnType("int")
+ .HasComment("菜单类型");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("唯一编码");
+
+ b.Property("OpenType")
+ .HasColumnType("int")
+ .HasComment("打开类型");
+
+ b.Property("Order")
+ .HasColumnType("int")
+ .HasComment("排序");
+
+ b.Property("ParentId")
+ .HasColumnType("char(36)");
+
+ b.Property("Path")
+ .IsRequired()
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasComment("路由/接口地址");
+
+ b.Property("Policy")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("授权策略名称");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("标题");
+
+ b.Property("Url")
+ .HasColumnType("longtext")
+ .HasComment("内外链地址");
+
+ b.HasKey("Id");
+
+ b.ToTable("ServiceProMenus", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.LanguageManagement.LanguageTexts.Aggregates.LanguageText", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("CultureName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("语言名称");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("名称");
+
+ b.Property("ResourceName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("资源名称");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("Value")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("值");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "ResourceName", "CultureName");
+
+ b.ToTable("AbpLanguageTexts", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.LanguageManagement.Languages.Aggregates.Language", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("CultureName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("语言名称");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("显示名称");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("FlagIcon")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("图标");
+
+ b.Property("IsDefault")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("IsEnabled")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("UiCultureName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasComment("Ui语言名称");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CultureName");
+
+ b.ToTable("AbpLanguages", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.NotificationManagement.Notifications.Aggregates.Notification", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("Content")
+ .IsRequired()
+ .HasMaxLength(1024)
+ .HasColumnType("varchar(1024)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("MessageLevel")
+ .HasColumnType("int");
+
+ b.Property("MessageType")
+ .HasColumnType("int");
+
+ b.Property("Read")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ReadTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ReceiveUserId")
+ .HasColumnType("char(36)");
+
+ b.Property("ReceiveUserName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("SenderUserId")
+ .HasColumnType("char(36)");
+
+ b.Property("SenderUserName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.HasKey("Id");
+
+ b.ToTable("AbpNotifications", (string)null);
+ });
+
+ modelBuilder.Entity("JiShe.ServicePro.NotificationManagement.Notifications.Aggregates.NotificationSubscription", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExtraProperties")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property