From cd7cbcbe1de93748390f469d84eb4cbf7f2ca11d Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Tue, 7 Jun 2022 02:44:53 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=A7=8D=E5=AD=90?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20220606181747_CreateConfig.Designer.cs | 1062 +++++++++++++++++ .../Migrations/20220606181747_CreateConfig.cs | 883 ++++++++++++++ .../Migrations/TokenDbContextModelSnapshot.cs | 1060 ++++++++++++++++ 3 files changed, 3005 insertions(+) create mode 100644 src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.Designer.cs create mode 100644 src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.cs create mode 100644 src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.Designer.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.Designer.cs new file mode 100644 index 0000000..b6386a4 --- /dev/null +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.Designer.cs @@ -0,0 +1,1062 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Token.Management.EntityFrameworkCore.EntityFrameworkCore; + +#nullable disable + +namespace Token.Management.EntityFrameworkCore.Migrations +{ + [DbContext(typeof(TokenDbContext))] + [Migration("20220606181747_CreateConfig")] + partial class CreateConfig + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("MenuId") + .HasColumnType("char(36)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_menu_role_function", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("DepartmentId") + .HasColumnType("char(36)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DepartmentId"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_user_department_function", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_user_role_function", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Company", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Describe") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Logo") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.ToTable("Company"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext"); + + b.Property("CompanyId") + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("Index") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("ParentId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_department", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Component") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("Icon") + .HasColumnType("longtext"); + + b.Property("Index") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("ParentId") + .HasColumnType("char(36)"); + + b.Property("Path") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_menu", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("角色编号"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("Index") + .HasColumnType("int") + .HasComment("序号"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("角色名称"); + + b.Property("ParentId") + .HasColumnType("char(36)") + .HasComment("父节点"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("备注"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_role", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsCheck") + .HasColumnType("tinyint(1)"); + + b.Property("Message") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.Property("WorkFormCode") + .HasColumnType("int"); + + b.Property("WorkFormId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_system_message", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AccountNumber") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("EMail") + .HasColumnType("longtext") + .HasComment("邮箱"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("HeadPortraits") + .HasColumnType("longtext") + .HasComment("头像"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("MobileNumber") + .HasMaxLength(11) + .HasColumnType("bigint"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("用户昵称"); + + b.Property("Password") + .HasColumnType("longtext") + .HasComment("密码"); + + b.Property("Sex") + .HasColumnType("int") + .HasComment("性别"); + + b.Property("Statue") + .HasColumnType("int") + .HasComment("状态"); + + b.Property("WXOpenId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_user_info", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("Content") + .HasColumnType("longtext"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("SubmitTime") + .HasColumnType("datetime(6)"); + + b.Property("WorkFlowNodeStatus") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_work_demo_main", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("WorkflowNodeTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("WorkflowNodeTemplateId"); + + b.ToTable("token_workflow_approval_role", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.Property("UserName") + .HasColumnType("longtext"); + + b.Property("WorkFlowFormCode") + .HasColumnType("int"); + + b.Property("WorkflowInstanceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowInstanceId"); + + b.ToTable("token_workflow_approvers", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArchiveDate") + .HasColumnType("datetime(6)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("工作流实例code"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CurrentRoleCode") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("HasBeenRead") + .HasColumnType("tinyint(1)"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("工作流实例备注"); + + b.Property("SponsorId") + .HasColumnType("char(36)"); + + b.Property("SponsorName") + .HasColumnType("longtext"); + + b.Property("SponsoredDate") + .HasColumnType("datetime(6)"); + + b.Property("WorkFlowFormCode") + .HasColumnType("int"); + + b.Property("WorkFormId") + .HasColumnType("char(36)"); + + b.Property("WorkflowStatus") + .HasColumnType("int"); + + b.Property("WorkflowTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("SponsorId"); + + b.HasIndex("WorkflowTemplateId"); + + b.ToTable("token_workflow_instance", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AuditDate") + .HasColumnType("datetime(6)"); + + b.Property("AuditPersonId") + .HasColumnType("char(36)"); + + b.Property("AuditPersonName") + .HasColumnType("longtext"); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("NextNodeId") + .HasColumnType("char(36)"); + + b.Property("NextTemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("NodeStatus") + .HasColumnType("int"); + + b.Property("PrevNodeId") + .HasColumnType("char(36)"); + + b.Property("PrevTemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("TemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("WorkflowInstanceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowInstanceId"); + + b.ToTable("token_workflowNode_instance", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("NextNodeId") + .HasColumnType("char(36)"); + + b.Property("PrevNodeId") + .HasColumnType("char(36)"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("WorkflowTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowTemplateId"); + + b.ToTable("token_workflow_node_template", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("工作流模板编号"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("工作流模板名称"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("工作流模板备注"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_workflow_template", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Data.ExtraPropertyDictionary", b => + { + b.Property("Count") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.HasKey("Count"); + + b.ToTable("ExtraPropertyDictionary"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Management.Menu", "Menu") + .WithMany() + .HasForeignKey("MenuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Users.UserInfo", null) + .WithMany("MenuRoleFunction") + .HasForeignKey("UserInfoId"); + + b.Navigation("ExtraProperties"); + + b.Navigation("Menu"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => + { + b.HasOne("Token.Management.Domain.Management.Department", "Department") + .WithMany("UserDepartmentFunction") + .HasForeignKey("DepartmentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") + .WithMany("UserDepartmentFunction") + .HasForeignKey("UserInfoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Department"); + + b.Navigation("ExtraProperties"); + + b.Navigation("UserInfo"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") + .WithMany("UserRoleFunction") + .HasForeignKey("UserInfoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("Role"); + + b.Navigation("UserInfo"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Company", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.HasOne("Token.Management.Domain.Management.Company", "Company") + .WithMany("Department") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Users.UserInfo", null) + .WithMany("Department") + .HasForeignKey("UserInfoId"); + + b.Navigation("Company"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Role", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", "WorkflowNodeTemplate") + .WithMany("WorkflowApprovalRole") + .HasForeignKey("WorkflowNodeTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("Role"); + + b.Navigation("WorkflowNodeTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") + .WithMany("WorkflowApprovers") + .HasForeignKey("WorkflowInstanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("WorkflowInstance"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Users.UserInfo", "Sponsor") + .WithMany() + .HasForeignKey("SponsorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") + .WithMany("WorkflowInstance") + .HasForeignKey("WorkflowTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("Sponsor"); + + b.Navigation("WorkflowTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") + .WithMany("WorkflowNodeInstances") + .HasForeignKey("WorkflowInstanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("WorkflowInstance"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") + .WithMany("WorkflowNodeTemplate") + .HasForeignKey("WorkflowTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("WorkflowTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Company", b => + { + b.Navigation("Department"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.Navigation("UserDepartmentFunction"); + }); + + modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => + { + b.Navigation("Department"); + + b.Navigation("MenuRoleFunction"); + + b.Navigation("UserDepartmentFunction"); + + b.Navigation("UserRoleFunction"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.Navigation("WorkflowApprovers"); + + b.Navigation("WorkflowNodeInstances"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.Navigation("WorkflowApprovalRole"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => + { + b.Navigation("WorkflowInstance"); + + b.Navigation("WorkflowNodeTemplate"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.cs new file mode 100644 index 0000000..5c63ce0 --- /dev/null +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.cs @@ -0,0 +1,883 @@ +using System; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Token.Management.EntityFrameworkCore.Migrations +{ + public partial class CreateConfig : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "ExtraPropertyDictionary", + columns: table => new + { + Count = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn) + }, + constraints: table => + { + table.PrimaryKey("PK_ExtraPropertyDictionary", x => x.Count); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "Company", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Logo = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Describe = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_Company", x => x.Id); + table.ForeignKey( + name: "FK_Company_ExtraPropertyDictionary_ExtraPropertiesCount", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_menu", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Index = table.Column(type: "int", nullable: false), + Component = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Title = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Icon = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Path = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ParentId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_menu", x => x.Id); + table.ForeignKey( + name: "FK_token_menu_ExtraPropertyDictionary_ExtraPropertiesCount", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_role", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true, comment: "角色名称") + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true, comment: "角色编号") + .Annotation("MySql:CharSet", "utf8mb4"), + Remark = table.Column(type: "longtext", nullable: true, comment: "备注") + .Annotation("MySql:CharSet", "utf8mb4"), + Index = table.Column(type: "int", nullable: false, comment: "序号"), + ParentId = table.Column(type: "char(36)", nullable: true, comment: "父节点", collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_role", x => x.Id); + table.ForeignKey( + name: "FK_token_role_ExtraPropertyDictionary_ExtraPropertiesCount", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_system_message", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Title = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Message = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsCheck = table.Column(type: "tinyint(1)", nullable: false), + WorkFormCode = table.Column(type: "int", nullable: false), + WorkFormId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_system_message", x => x.Id); + table.ForeignKey( + name: "FK_token_system_message_ExtraPropertyDictionary_ExtraProperties~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_user_info", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + AccountNumber = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Password = table.Column(type: "longtext", nullable: true, comment: "密码") + .Annotation("MySql:CharSet", "utf8mb4"), + WXOpenId = table.Column(type: "varchar(50)", maxLength: 50, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Name = table.Column(type: "longtext", nullable: true, comment: "用户昵称") + .Annotation("MySql:CharSet", "utf8mb4"), + HeadPortraits = table.Column(type: "longtext", nullable: true, comment: "头像") + .Annotation("MySql:CharSet", "utf8mb4"), + Sex = table.Column(type: "int", nullable: false, comment: "性别"), + Statue = table.Column(type: "int", nullable: false, comment: "状态"), + MobileNumber = table.Column(type: "bigint", maxLength: 11, nullable: true), + EMail = table.Column(type: "longtext", nullable: true, comment: "邮箱") + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_user_info", x => x.Id); + table.ForeignKey( + name: "FK_token_user_info_ExtraPropertyDictionary_ExtraPropertiesCount", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_work_demo_main", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Remark = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Content = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Count = table.Column(type: "int", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + WorkFlowNodeStatus = table.Column(type: "int", nullable: false), + SubmitTime = table.Column(type: "datetime(6)", nullable: true), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_work_demo_main", x => x.Id); + table.ForeignKey( + name: "FK_token_work_demo_main_ExtraPropertyDictionary_ExtraProperties~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_template", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true, comment: "工作流模板名称") + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true, comment: "工作流模板编号") + .Annotation("MySql:CharSet", "utf8mb4"), + Remark = table.Column(type: "longtext", nullable: true, comment: "工作流模板备注") + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_template", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_template_ExtraPropertyDictionary_ExtraPropert~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_department", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ParentId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + Index = table.Column(type: "int", nullable: false), + CompanyId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_department", x => x.Id); + table.ForeignKey( + name: "FK_token_department_Company_CompanyId", + column: x => x.CompanyId, + principalTable: "Company", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_department_ExtraPropertyDictionary_ExtraPropertiesCount", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_department_token_user_info_UserInfoId", + column: x => x.UserInfoId, + principalTable: "token_user_info", + principalColumn: "Id"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_menu_role_function", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + MenuId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_menu_role_function", x => x.Id); + table.ForeignKey( + name: "FK_token_menu_role_function_ExtraPropertyDictionary_ExtraProper~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_menu_role_function_token_menu_MenuId", + column: x => x.MenuId, + principalTable: "token_menu", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_menu_role_function_token_role_RoleId", + column: x => x.RoleId, + principalTable: "token_role", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_menu_role_function_token_user_info_UserInfoId", + column: x => x.UserInfoId, + principalTable: "token_user_info", + principalColumn: "Id"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_user_role_function", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_user_role_function", x => x.Id); + table.ForeignKey( + name: "FK_token_user_role_function_ExtraPropertyDictionary_ExtraProper~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_user_role_function_token_role_RoleId", + column: x => x.RoleId, + principalTable: "token_role", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_user_role_function_token_user_info_UserInfoId", + column: x => x.UserInfoId, + principalTable: "token_user_info", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_instance", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + SponsorId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + SponsorName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true, comment: "工作流实例code") + .Annotation("MySql:CharSet", "utf8mb4"), + Remark = table.Column(type: "longtext", nullable: true, comment: "工作流实例备注") + .Annotation("MySql:CharSet", "utf8mb4"), + WorkflowTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkFormId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkflowStatus = table.Column(type: "int", nullable: false), + SponsoredDate = table.Column(type: "datetime(6)", nullable: true), + WorkFlowFormCode = table.Column(type: "int", nullable: false), + ArchiveDate = table.Column(type: "datetime(6)", nullable: true), + HasBeenRead = table.Column(type: "tinyint(1)", nullable: false), + CurrentRoleCode = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_instance", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_instance_ExtraPropertyDictionary_ExtraPropert~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_workflow_instance_token_user_info_SponsorId", + column: x => x.SponsorId, + principalTable: "token_user_info", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_workflow_instance_token_workflow_template_WorkflowTemp~", + column: x => x.WorkflowTemplateId, + principalTable: "token_workflow_template", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_node_template", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkflowTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Code = table.Column(type: "int", nullable: false), + PrevNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + NextNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + Remark = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_node_template", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_node_template_ExtraPropertyDictionary_ExtraPr~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_workflow_node_template_token_workflow_template_Workflo~", + column: x => x.WorkflowTemplateId, + principalTable: "token_workflow_template", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_user_department_function", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + DepartmentId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_user_department_function", x => x.Id); + table.ForeignKey( + name: "FK_token_user_department_function_ExtraPropertyDictionary_Extra~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_user_department_function_token_department_DepartmentId", + column: x => x.DepartmentId, + principalTable: "token_department", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_user_department_function_token_user_info_UserInfoId", + column: x => x.UserInfoId, + principalTable: "token_user_info", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_approvers", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + WorkflowInstanceId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkFlowFormCode = table.Column(type: "int", nullable: false), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_approvers", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_approvers_ExtraPropertyDictionary_ExtraProper~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_workflow_approvers_token_workflow_instance_WorkflowIns~", + column: x => x.WorkflowInstanceId, + principalTable: "token_workflow_instance", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflowNode_instance", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkflowInstanceId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "int", nullable: false), + TemplateNodeId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + PrevTemplateNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + NextTemplateNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + PrevNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + NextNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + Remark = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + AuditPersonId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + AuditPersonName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + AuditDate = table.Column(type: "datetime(6)", nullable: true), + NodeStatus = table.Column(type: "int", nullable: false), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflowNode_instance", x => x.Id); + table.ForeignKey( + name: "FK_token_workflowNode_instance_ExtraPropertyDictionary_ExtraPro~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_workflowNode_instance_token_workflow_instance_Workflow~", + column: x => x.WorkflowInstanceId, + principalTable: "token_workflow_instance", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_approval_role", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkflowNodeTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + ExtraPropertiesCount = table.Column(type: "int", nullable: true), + ConcurrencyStamp = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_approval_role", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_approval_role_ExtraPropertyDictionary_ExtraPr~", + column: x => x.ExtraPropertiesCount, + principalTable: "ExtraPropertyDictionary", + principalColumn: "Count"); + table.ForeignKey( + name: "FK_token_workflow_approval_role_token_role_RoleId", + column: x => x.RoleId, + principalTable: "token_role", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_workflow_approval_role_token_workflow_node_template_Wo~", + column: x => x.WorkflowNodeTemplateId, + principalTable: "token_workflow_node_template", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateIndex( + name: "IX_Company_ExtraPropertiesCount", + table: "Company", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_department_CompanyId", + table: "token_department", + column: "CompanyId"); + + migrationBuilder.CreateIndex( + name: "IX_token_department_ExtraPropertiesCount", + table: "token_department", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_department_Id", + table: "token_department", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_department_UserInfoId", + table: "token_department", + column: "UserInfoId"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_ExtraPropertiesCount", + table: "token_menu", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_Id", + table: "token_menu", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_ExtraPropertiesCount", + table: "token_menu_role_function", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_Id", + table: "token_menu_role_function", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_MenuId", + table: "token_menu_role_function", + column: "MenuId"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_RoleId", + table: "token_menu_role_function", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_UserInfoId", + table: "token_menu_role_function", + column: "UserInfoId"); + + migrationBuilder.CreateIndex( + name: "IX_token_role_ExtraPropertiesCount", + table: "token_role", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_role_Id", + table: "token_role", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_system_message_ExtraPropertiesCount", + table: "token_system_message", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_system_message_Id", + table: "token_system_message", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_department_function_DepartmentId", + table: "token_user_department_function", + column: "DepartmentId"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_department_function_ExtraPropertiesCount", + table: "token_user_department_function", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_department_function_Id", + table: "token_user_department_function", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_department_function_UserInfoId", + table: "token_user_department_function", + column: "UserInfoId"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_info_ExtraPropertiesCount", + table: "token_user_info", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_info_Id", + table: "token_user_info", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_role_function_ExtraPropertiesCount", + table: "token_user_role_function", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_role_function_Id", + table: "token_user_role_function", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_role_function_RoleId", + table: "token_user_role_function", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_role_function_UserInfoId", + table: "token_user_role_function", + column: "UserInfoId"); + + migrationBuilder.CreateIndex( + name: "IX_token_work_demo_main_ExtraPropertiesCount", + table: "token_work_demo_main", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_work_demo_main_Id", + table: "token_work_demo_main", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approval_role_ExtraPropertiesCount", + table: "token_workflow_approval_role", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approval_role_Id", + table: "token_workflow_approval_role", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approval_role_RoleId", + table: "token_workflow_approval_role", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approval_role_WorkflowNodeTemplateId", + table: "token_workflow_approval_role", + column: "WorkflowNodeTemplateId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approvers_ExtraPropertiesCount", + table: "token_workflow_approvers", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approvers_Id", + table: "token_workflow_approvers", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approvers_WorkflowInstanceId", + table: "token_workflow_approvers", + column: "WorkflowInstanceId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_instance_ExtraPropertiesCount", + table: "token_workflow_instance", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_instance_Id", + table: "token_workflow_instance", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_instance_SponsorId", + table: "token_workflow_instance", + column: "SponsorId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_instance_WorkflowTemplateId", + table: "token_workflow_instance", + column: "WorkflowTemplateId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_node_template_ExtraPropertiesCount", + table: "token_workflow_node_template", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_node_template_Id", + table: "token_workflow_node_template", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_node_template_WorkflowTemplateId", + table: "token_workflow_node_template", + column: "WorkflowTemplateId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_template_ExtraPropertiesCount", + table: "token_workflow_template", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_template_Id", + table: "token_workflow_template", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflowNode_instance_ExtraPropertiesCount", + table: "token_workflowNode_instance", + column: "ExtraPropertiesCount"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflowNode_instance_Id", + table: "token_workflowNode_instance", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflowNode_instance_WorkflowInstanceId", + table: "token_workflowNode_instance", + column: "WorkflowInstanceId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "token_menu_role_function"); + + migrationBuilder.DropTable( + name: "token_system_message"); + + migrationBuilder.DropTable( + name: "token_user_department_function"); + + migrationBuilder.DropTable( + name: "token_user_role_function"); + + migrationBuilder.DropTable( + name: "token_work_demo_main"); + + migrationBuilder.DropTable( + name: "token_workflow_approval_role"); + + migrationBuilder.DropTable( + name: "token_workflow_approvers"); + + migrationBuilder.DropTable( + name: "token_workflowNode_instance"); + + migrationBuilder.DropTable( + name: "token_menu"); + + migrationBuilder.DropTable( + name: "token_department"); + + migrationBuilder.DropTable( + name: "token_role"); + + migrationBuilder.DropTable( + name: "token_workflow_node_template"); + + migrationBuilder.DropTable( + name: "token_workflow_instance"); + + migrationBuilder.DropTable( + name: "Company"); + + migrationBuilder.DropTable( + name: "token_user_info"); + + migrationBuilder.DropTable( + name: "token_workflow_template"); + + migrationBuilder.DropTable( + name: "ExtraPropertyDictionary"); + } + } +} diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs new file mode 100644 index 0000000..4ff58e9 --- /dev/null +++ b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs @@ -0,0 +1,1060 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Token.Management.EntityFrameworkCore.EntityFrameworkCore; + +#nullable disable + +namespace Token.Management.EntityFrameworkCore.Migrations +{ + [DbContext(typeof(TokenDbContext))] + partial class TokenDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("MenuId") + .HasColumnType("char(36)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_menu_role_function", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("DepartmentId") + .HasColumnType("char(36)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DepartmentId"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_user_department_function", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_user_role_function", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Company", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Describe") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Logo") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.ToTable("Company"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext"); + + b.Property("CompanyId") + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("Index") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("ParentId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_department", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Component") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("Icon") + .HasColumnType("longtext"); + + b.Property("Index") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("ParentId") + .HasColumnType("char(36)"); + + b.Property("Path") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_menu", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("角色编号"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("Index") + .HasColumnType("int") + .HasComment("序号"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("角色名称"); + + b.Property("ParentId") + .HasColumnType("char(36)") + .HasComment("父节点"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("备注"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_role", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsCheck") + .HasColumnType("tinyint(1)"); + + b.Property("Message") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.Property("WorkFormCode") + .HasColumnType("int"); + + b.Property("WorkFormId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_system_message", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AccountNumber") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("EMail") + .HasColumnType("longtext") + .HasComment("邮箱"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("HeadPortraits") + .HasColumnType("longtext") + .HasComment("头像"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("MobileNumber") + .HasMaxLength(11) + .HasColumnType("bigint"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("用户昵称"); + + b.Property("Password") + .HasColumnType("longtext") + .HasComment("密码"); + + b.Property("Sex") + .HasColumnType("int") + .HasComment("性别"); + + b.Property("Statue") + .HasColumnType("int") + .HasComment("状态"); + + b.Property("WXOpenId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_user_info", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("Content") + .HasColumnType("longtext"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("SubmitTime") + .HasColumnType("datetime(6)"); + + b.Property("WorkFlowNodeStatus") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_work_demo_main", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("WorkflowNodeTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("WorkflowNodeTemplateId"); + + b.ToTable("token_workflow_approval_role", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.Property("UserName") + .HasColumnType("longtext"); + + b.Property("WorkFlowFormCode") + .HasColumnType("int"); + + b.Property("WorkflowInstanceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowInstanceId"); + + b.ToTable("token_workflow_approvers", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArchiveDate") + .HasColumnType("datetime(6)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("工作流实例code"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("CurrentRoleCode") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("HasBeenRead") + .HasColumnType("tinyint(1)"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("工作流实例备注"); + + b.Property("SponsorId") + .HasColumnType("char(36)"); + + b.Property("SponsorName") + .HasColumnType("longtext"); + + b.Property("SponsoredDate") + .HasColumnType("datetime(6)"); + + b.Property("WorkFlowFormCode") + .HasColumnType("int"); + + b.Property("WorkFormId") + .HasColumnType("char(36)"); + + b.Property("WorkflowStatus") + .HasColumnType("int"); + + b.Property("WorkflowTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("SponsorId"); + + b.HasIndex("WorkflowTemplateId"); + + b.ToTable("token_workflow_instance", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AuditDate") + .HasColumnType("datetime(6)"); + + b.Property("AuditPersonId") + .HasColumnType("char(36)"); + + b.Property("AuditPersonName") + .HasColumnType("longtext"); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("NextNodeId") + .HasColumnType("char(36)"); + + b.Property("NextTemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("NodeStatus") + .HasColumnType("int"); + + b.Property("PrevNodeId") + .HasColumnType("char(36)"); + + b.Property("PrevTemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("TemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("WorkflowInstanceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowInstanceId"); + + b.ToTable("token_workflowNode_instance", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("NextNodeId") + .HasColumnType("char(36)"); + + b.Property("PrevNodeId") + .HasColumnType("char(36)"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("WorkflowTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowTemplateId"); + + b.ToTable("token_workflow_node_template", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("工作流模板编号"); + + b.Property("ConcurrencyStamp") + .HasColumnType("longtext"); + + b.Property("ExtraPropertiesCount") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("工作流模板名称"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("工作流模板备注"); + + b.HasKey("Id"); + + b.HasIndex("ExtraPropertiesCount"); + + b.HasIndex("Id"); + + b.ToTable("token_workflow_template", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Data.ExtraPropertyDictionary", b => + { + b.Property("Count") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.HasKey("Count"); + + b.ToTable("ExtraPropertyDictionary"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Management.Menu", "Menu") + .WithMany() + .HasForeignKey("MenuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Users.UserInfo", null) + .WithMany("MenuRoleFunction") + .HasForeignKey("UserInfoId"); + + b.Navigation("ExtraProperties"); + + b.Navigation("Menu"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => + { + b.HasOne("Token.Management.Domain.Management.Department", "Department") + .WithMany("UserDepartmentFunction") + .HasForeignKey("DepartmentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") + .WithMany("UserDepartmentFunction") + .HasForeignKey("UserInfoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Department"); + + b.Navigation("ExtraProperties"); + + b.Navigation("UserInfo"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") + .WithMany("UserRoleFunction") + .HasForeignKey("UserInfoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("Role"); + + b.Navigation("UserInfo"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Company", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.HasOne("Token.Management.Domain.Management.Company", "Company") + .WithMany("Department") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Users.UserInfo", null) + .WithMany("Department") + .HasForeignKey("UserInfoId"); + + b.Navigation("Company"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Role", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", "WorkflowNodeTemplate") + .WithMany("WorkflowApprovalRole") + .HasForeignKey("WorkflowNodeTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("Role"); + + b.Navigation("WorkflowNodeTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") + .WithMany("WorkflowApprovers") + .HasForeignKey("WorkflowInstanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("WorkflowInstance"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.Users.UserInfo", "Sponsor") + .WithMany() + .HasForeignKey("SponsorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") + .WithMany("WorkflowInstance") + .HasForeignKey("WorkflowTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("Sponsor"); + + b.Navigation("WorkflowTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") + .WithMany("WorkflowNodeInstances") + .HasForeignKey("WorkflowInstanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("WorkflowInstance"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") + .WithMany("WorkflowNodeTemplate") + .HasForeignKey("WorkflowTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExtraProperties"); + + b.Navigation("WorkflowTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => + { + b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") + .WithMany() + .HasForeignKey("ExtraPropertiesCount"); + + b.Navigation("ExtraProperties"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Company", b => + { + b.Navigation("Department"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.Navigation("UserDepartmentFunction"); + }); + + modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => + { + b.Navigation("Department"); + + b.Navigation("MenuRoleFunction"); + + b.Navigation("UserDepartmentFunction"); + + b.Navigation("UserRoleFunction"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.Navigation("WorkflowApprovers"); + + b.Navigation("WorkflowNodeInstances"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.Navigation("WorkflowApprovalRole"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => + { + b.Navigation("WorkflowInstance"); + + b.Navigation("WorkflowNodeTemplate"); + }); +#pragma warning restore 612, 618 + } + } +} -- Gitee From ff5b4d9d6235f4b35bec9db75ce0dcf00ed872a1 Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Tue, 7 Jun 2022 02:45:05 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/Management/DesignTimeBuild/.dtbcache.v2 | Bin 329208 -> 329208 bytes .vs/Management/v17/.futdcache.v1 | Bin 1434 -> 1434 bytes .vs/Management/v17/.suo | Bin 109568 -> 161280 bytes .vs/ProjectEvaluation/management.metadata.v2 | Bin 249584 -> 257081 bytes .vs/ProjectEvaluation/management.projects.v2 | Bin 1961354 -> 2611688 bytes src/Token.HttpApi/Token.HttpApi.csproj | 6 +- ...en.Management.Application.Contracts.csproj | 2 +- .../Token.Management.Application.csproj | 6 +- .../EntityFrameworkCoreConfig.cs | 9 +- .../EntityFrameworkCoreInitialData.cs | 33 +- .../EntityFrameworkCore/TokenDbContext.cs | 8 +- ... => 20220606183717_CreateData.Designer.cs} | 460 ++++++++---------- ...Config.cs => 20220606183717_CreateData.cs} | 326 ++++--------- .../Migrations/TokenDbContextModelSnapshot.cs | 456 ++++++++--------- ...oken.Management.EntityFrameworkCore.csproj | 6 +- .../Token.ManagementApi.Host.csproj | 16 +- .../Base/WorkFlowStatue.cs | 4 +- .../AccessFunction/MenuRoleFunction.cs | 6 +- .../AccessFunction/UserDepartmentFunction.cs | 4 +- .../AccessFunction/UserRoleFunction.cs | 4 +- .../Management/Company.cs | 4 +- .../Management/Department.cs | 4 +- src/Token.Mangement.Domain/Management/Menu.cs | 4 +- src/Token.Mangement.Domain/Management/Role.cs | 4 +- .../SystemService/SystemMessage.cs | 4 +- .../Token.Mangement.Domain.csproj | 4 +- src/Token.Mangement.Domain/Users/UserInfo.cs | 4 +- .../WorkContent/WorkDemoMain.cs | 2 +- .../WorkFlow/WorkflowApprovalRole.cs | 4 +- .../WorkFlow/WorkflowApprovers.cs | 4 +- .../WorkFlow/WorkflowInstance.cs | 4 +- .../WorkFlow/WorkflowNodeInstance.cs | 4 +- .../WorkFlow/WorkflowNodeTemplate.cs | 4 +- .../WorkFlow/WorkflowTemplate.cs | 11 +- 34 files changed, 595 insertions(+), 812 deletions(-) rename src/Token.Management.EntityFrameworkCore/Migrations/{20220606181747_CreateConfig.Designer.cs => 20220606183717_CreateData.Designer.cs} (71%) rename src/Token.Management.EntityFrameworkCore/Migrations/{20220606181747_CreateConfig.cs => 20220606183717_CreateData.cs} (73%) diff --git a/.vs/Management/DesignTimeBuild/.dtbcache.v2 b/.vs/Management/DesignTimeBuild/.dtbcache.v2 index 3b689f307ad848a3babf1d0f2a1aedc37151ffeb..5072b378397d998d12731f32db0637e44e68283a 100644 GIT binary patch literal 329208 zcmdRX2Y}nwkv0^?af@R+?uqRva!YK9OD?y{ag5cjWUZ~T-d#zK!`J~qaF-TI&;+=v zReJBuX_w?`F4ueSz4zXG?|0DYO71SX{NFs_0S|?{AoxJtALmIU0(dj?%Dj0q^X3_s zDvI*F1*6(qd+l6%YtQ`B$=52k9qculwRufnH|EW@tu@-#lGe2wT600OHRY1STGKL= z=Pz~5rwrXb+-R>E-A=dBwiUHJTQ6$H?4({E*NSzcJYK39GZV(t#AMyj=(mzFUDC@_ z)AeaxFP6*I39U3)F3;-a=~{huVp6$*p+4;!-8g4-=gpd->@LmBD!0s=%_cCe z^w!o4%QkAK&F-0|snsmy1>U2>U9Dwo;^$?fZgh>dZdl3<#~OOqw9L9)IDTk#-s~EM zxlTvfJ=bh1cPty0+1xNZUV^U{46Cu$UTw6Dab;=YKxMg6GrHbeR^^!1*4B)c(Y7mA zSFfy^XN-2?h;4V~I*m%T(XOx-t+Wk$s!$9+F4TZ_A@s$*J*SMW)iB!+lnO=qZ{MEz zUeoS%jR)FB&+cl?eS4OA)n-F~#MokAKG5!=mS@}Do}t`TD14&S^h9g9Kd(KtY>YBt)wKtsK& z>9*C6>7Bk~&G0I>8FqR%Yr~xO8)hdAUQ_M#8gD#3b=$e)zOZ1nAQ)1#mHQ%Voa3>^ zaUW)FjcKtp!gTqVLO*kEyQ#VLrn$#%VP#$G8nyIXyYDmRPx>S!)|s^p9unIivF7+l z@Vdk!&Jz$^gwD0K<`(3x6^KCP_45ZR5PoZru6qtQnub-WnKq|)*k;H?T5mw%M%|+C5CF3JnI3 zWmPr^j|My%@U$47ict5>e%&-sL<+77Jy9MU6rYazL`--1^)1wD;`%Bg4akYSq&z$* z{u;1=UA~Hoq+C01wmJ}2f*iYitZnLMyWUt+E*tB$Ev;_sS1uoeqN|@VYWtNvc)qE1 z+XqV1#nL|fF;0JY(0H*pqg*johw9bQ>~#xp+qCRjvr)ZIxo*tpcFk_r=$Kvm05q;v z$5t*KW0g%QpW8K7GwO}DabR_MZvN2y3x^J#eCU2?qg1AzEYe@|CzcP*EiDl^`DF3Q z6U$FNgdbK9Eqm`oe(_!}#a{Ivl#;&~@At*{lYPG!Pp+!muc~sWD&<q@rUr#b!fmuN^qIzJLC>a`o7HV{ILZb=T}{ZD{u?*Nl;_t5uuE0i#WSDaIK4 zl9c-cDTj+ND@vqemn!HqQqL`0YuB`HZ5%%ZQ^AiA|FJb%W!1%CM_l+LjfxcH6Yss$o^ei{oGe`;8cH#md8mebD`4F8G46DWczt z=1g4XQ!hH`8NTZY#H_g1wCzUSghJ5WBJ6vW_w5qc9|8WJO@oW;{BubePrAPB_%e`?dN z8qnywp1$VI9NM%e58v?T4{zEB+2?E~ySBJC{~jffSa zyJ2)Mia-;3;OmIK1~FQUaUug3)bk2=aTxN*Q?-pmy5s2*q|es+5gb1BuYX#OHfP z+d~l&1VaU*X2jxSp`oqOR=1&JVT<+7Xm=1IEf>2jju=|gUY{rHfw#atJyKD|_#dsd zcLc)#7GMZ3vX(IdMy%}-1%x|35VuC!_?!;b1|yc39Ji;{#G7Koiq;Xk)lBG+kyByA z&>E9Z?;5S>CO0rS6McmX`d4<;Hz5Izlozf2RTQFVOKA)OJS3i1kt;BP16Y5g(Ja zKDAJN+t{?>)kD-LtyU=)Dx&MS{~?Rc0cFZ-Mm|QDwR7ghu~t(PFzibdSmKV35!>I0 zgjH?rh|xs2j7P#n7@(&b#%5S|-yG>U5XQi0wPqLbau2Fw%Uh}5FHX(;#T0fdaHLrV z1%oHsdPb}|L@Uuc z;B>I2_`ql-cBCm*yILC}ylWR8?KM1=`6z~o3h+E&o&*sO71N}JfyM-Enh-e$8#p`SZTCkJXwtV`Xl+11{85}#aAm^?HlBTn zVN>QK7ju{#YHu`f3YpINp3=GvI(^_N+@shJ_iY%G-NHlGPNQ(O3pnB5#vvL$ofg{- zcesqgn%S2MZm!#_j3PX$FByoZTQa)TM{b*3)Co;z$5srz>+8E0b)5L-=22_~gbrHZ zr}MTJ+my0^EGO|LU=-$@9f)F6`QxJ%d163aD4;FgLL;76eJNwjGy=z+&|6_c@Q9Tc z5+>L6 zqi~rBock24;J`Z9n@6k+g?!BMQ8)tIgU}!$Vpxxic+<%P@!}0J3JZRyCER2S;a$YV z7^J*OKne0dU6f5PCxNAmaz({xr6VVRwf`vm>ogh<)pA? z812AV>NZ-ioNw^Od<1?Aq2FP;Kh)NdDu{;!eL@_U1BWwXFU3NmTd1*#)H%VKL&S=e zW|Pxs1W5t7c5{q<9$itDPf4VW;@38fs!d4-tqjDGT?~!K(vLCor4sTD57}}}H*r!1 zy13ZINLD^9vAsIn#YQwCn_^NvlztryF*`fh9$sN*sZDR2HG&vD&eHusU$d z)0ohZJG4|7FO;_*u+-^DGs?Q#7I3DH${WCWd8%RcwB|t#mJGxVaId{NLac0=%bU&9 zjdppw5MAEH4$Y%+U98K-8fA6!j_6c#Y1$U0q(W{RSF08CXUXGBNT%hYIV-S|ay|qx z+XY(m3RQ~SrhHwAiL`=1Z8x6&AbmnYP#mAxFjq=Q(U+7ZtXPR+C4^a6ZP-ZIXCcqA zakhZ9z&6g>NM48epEUcA)7x|O_Mx+wi0o~~YG}Kbme(+9vs-JlSqxoj{J|%T2yuF5 zp~2QH6BLbruI_1c^m$47R|j%Chty0@EtpGLzvbGR3^7BK>mnyc0gan*Ge3mWPr4?$f-)_yg2vr9Vm*QDuv1RlZ%JQZM8+w2#k&v(7rmHnSBrbhT(QFf zj7x(?p`?mD<4}fvhWY(mc0+rzT=}JYC{ELX&MrfL6vimJiDJYPY!%){ugx=!@U%;- z*yb@e>&V6!VfJIPUY+M!p8x8-(A745UaUNM;h3Vjm}rWTKUKEc8ZwC&LZ{(dd9vxI z=RlaJ)h@ZSFxMGD0fIq-q^HIpkn?c5LJi>gXle4>_nl~34} z?7GbgNG-pOZ_it8!(L?1Z-%V$)bC2JTGiqS(op?80tewUZF+||a@|Qr@UmXdbt4x+ z7(~Xpb1PTXJc9f2Mu*V5i1j>W2oSTD%~fXu5}`HcbW)p`g3bena+Mxo?2Ox78s@sxgXKlo1T@_7Nzuc|MC6X=Ov%F1t`9)! z9#CcXbk&G)PbJNyVGOY80_LSg$7tf%g!7)9lyDZ#a4#kEskyH*bPL|A zJV-;yl!!d-OkpUIM$yYcin+E;qGM}p~60rxDk+W{j)f*+?4c`keDsH2iP_8y$fm;fu ziJJa%m5iiE_qwo+LKmacBJQBdncV=T3ms#I5D)i=*ma%CF1y+C&83!EUZ!etXuxQP zghxy*vTK?k&9u=Uz|oyN zB7C8jtEu0|%@(&@H6|Ywdb+JQIy?(tt}AK+Qk*canVX)vma8h`BWHjCU%NlUbJf~B zrQEdw!no@0vvSo;J(Qt1@m%*I6ro-4rRF>m&Ing?y!(@ z*yb8Iw(8@eyM~)ur^An=<~v(_v~E%aI*(Ovnw##x%~g*NIQH`~?9FydVp=UGiZLo2 zM%vQhIHX(`IDv20-EQZOXgIsbgG_*<8dJD-(6d$N>UYL592kgsDiAs~pRXJg(XnK( zZfEA|JUpc}d&X+7!^6&V4K4Fm&0GfxVWHda+>3m?h=E*9>mfZl*A^VjR*0~$07teq z<|@AkmFxHt{Xw}N+$EG@vm#?NS5294KDJ=$Fdp+zq+I6!!`EttG3MT?z{(qz3+P;x zIL76YX0N+~GFOjyfGg6EVymVM;--6Z&zVTd$g?&exs{NB$+F?Y(z>;ABt}}rtB>PV z9GnRfJSa~J0l*6fD$6)w*2RXC^72|0*O^NLtzvcc3OhB%1R}BmR?O;C6?R&^(l%_0 z67L%I@GI1oiny+(Lja#sS3{z@o^JOLj=l|^@S6->D1~r3d;ynq%UYAHR1^^6X8_oa zf}Or)G>QG1nxr*@P4ES?r8U|qNpN3gI78OP)JSoLLBLvAS=YKoZ7}5SH;e{R$4NP! zH_RrI)m1w}sxORaq{!Rf)q`}EG}=zln{#+mFbdLm3%N@N#@eeP?J)L_m`^rK|B!%P zoKyi7{7Zk>uqF_lD_Mydm;`EuENOv*#_!qda9W&mCqgJ=alAA7G>2G2ENO9QbPnDw zLfz>bNBD?!jc6jxKmz6^cHiA?@t1^A+Oth|+KX*Blu%ajL9thn!C|dy_S!WHV@IB| zZHW-3%0d6b)9#0?Aw(PIpro(^Ln+6Ee`07Dgf*BR(z46b#wc0xcl(o}R;v}z)&9CL zuxMC71&Ip_YyHp-1cNqzgtpWT6QPI%#xT=?$f&ssRm!nIZ6d5zU$sk6Lk4aH%4*xF z_Hcx=i3^uWd}k3^2)5yb}=ZO2HiYS?OB#H*Pb4jEqlBoT-WX<|(Q33QZ*j_H>lk~R zjsIb|ZuOcr@?f>Kww@j}eY5I*!w48kalob;JAAl%k%MOd;p?7+VIC3YW~0_0N|$%( zAXR!`DoC4_A^t7zBw^Yy;0GWKyY5(qO?%DMvKLtw+54>bhgx?mN@&Z%abW03k3aMk zqeAqB4LbF0?o>?M@PUJB*hvqo*#N^0hBH3SL}S*V{PxVvw49!FU8~ARhf#|+AhNMr zB2!itnGbgk|2!t~huJFxWTkBlffDNYp%f3?vToy^kve5uVM#4g6XAX+5YTYg6soY*n>Di1Ye?eaf|CO|88K8?}Y8dw}j$Qf9|+tf;wl&gf$I zjqBhKY-iCd7%<|Q-kZu=^wYr_#5*B~)GjLrdyQu85UU$TK2Q-xghc)kBKsZ2rA5z;kQ%3k!SW3y2^_N#7Z@CVlqkV9sb=GH-K~s#?OdGzBG2I%Ag;}|obff1>5r4aLTSTc44BR^t67){wvq-O8L`rDb z9B!QDk-#6zw@tdH)!b@N6pGYMLF))nJ^Xe!ue1C!<=43OT6n`q#uju-d5IU18S;!R z7#*!^liS35N^kB>dUF}~z6$TW*nj7wMMhlulg?WSuk7<*A%pE8uj@d^rF zAQtfL^O7$=utCyr&a#YFwYfECdv-XBDtKTp3V0>dko5WW;>vU1f#WAjQ^iT;PA}`k z$^3Bp?PtTlU4nFkmg%Pu ztp;vQ!O3Nz;T}(^Uu$rz(Ebswm=ay!m3Yn3T-f{a%9M5M7Tli=y3)+3lnXP-H)hSR zEYnMDp`hmMrmXxa!-jH%V~z!cs+u-y39B+*97pyw_&1?Ckz-x-u03qn2i-5`f-l%U ztOJ~oQ)^wVwTDzxtKu$AmDFnqR6Fj+4}_$+gy0HOq)WmTN-PXYdE>79QNjy}naBO{ z@mSu_uwRxN0D>fNt+97AE;nC$E0;*b9G-ti=b}=dKB2)Xi}M!i0qh zv6-IptOKgR5lQ{rcP+K7v%( zNfZA3XS8^;N=zxtUlSJ5kDg&9O>ElhY`^L*7q#5`o0z0cO}?tm5!14PK!CACdS6 zMmp2n#Q~I2a%l;wc`Ns>|2@*?cOT*L9Lr3;ZeX$CohTR{4IObxFLB&Xx}rG5xs>f z+s39%cUaeLlK&}1KhbjB|Ily!_DEWPSvzOCk|KX=2rNTqX`$J zD>X(lyiPTY&5$PgRPG%bbY}jVwu_4=@1*JTruEhxF zLzut+AwWpZ2ZTTH%bZ4_)p)oc!KFuCTomW4s3YrJj+y4^oAZ~A5q?=pBZ@;VJleyp z)kMVGE+P@aT{j~TS}VAKmICXE>k;%f0@AeRvS>lfe*?ebBlY4=@|TbtCAI2na#vu3;H6qyzkGnWW@*hAz=;qDhAycnP+od~Z>I; zF*zBS1QT;#tuQAMkbpY4yHm-@!!9CaryP3Tsv1+7M$q6P0uCa_uxEA3$;sW9ckJpX?(vUr`5GD(nD>WmNMHE*?vmHy%AOKGL+mlVtpwgIVn7(*2u|W zDPVEW`0&xc*lsXEos-R~FJ6C5$|E~ZVt+656~C;p;pzX)!dBQd2K-Y zB41j^F-oM_7||+29q%4mq;xVk&g16M$zP}Akw~$rozwnOXmF02W^zukFd{Yz6(Lml zD~o=i^+#F%U0gBY!0!2YbvjN( zQd~>^(}`mzUi0tc@C|E9PL^Y#3t?70)Yg$g!3#EcKaHxv!U&=4<5;b|)j}=JaB`rj zLTNVn@Nr;sp6do&u~Ic&>xxT}H)>67NYUq1zI4kG0<(nu+ouwFE3x*O>}6k&8-;vy0Qu$Xx! zqnTTCn2yUlh=kFjr}bNi$K^vAV-gS7KfJ;Y%$e>cA*bLSB*I|{`wK9u_#$I%V2MF} ztRd%rsW2X7VHZ;q1fz~R5!VB-?juAPcRQyg7{KG>UUQDzSa3S~+ns98h-k{>!3;8e zmB$N_HN?n)85a>QWuqj=?s4vu($KUhLk99yus(lGTD3y<3sy53-_po}AV{)6OG%+h zp^}suWSnOj5Jzqh8R`0e57H;p-*m7p1G-8Hw-qF1At_d(s0d4HrjXJMDHXPmCFLx; zoxnJ2BX=DpWFk}a_8h%^=qxFNlzU8MVD!8NII2A?p*WN#T5v8`Fi z$CZvt|9UuutN^J|!SUbZC$wtD(>((t1^@MJR4iUIKz@Yb z3FtKj#eZ^$5lHEd{hUpLb5RWt#^XALFy#ZNRYfLp@gEF;8Ghpsv&NTTmL9nf{Hk2-HAq0J!w>*8?A9!9sr*zp$^9I^xtL16X(ghwvKz|?= zx?mEcxg))q7_MAa2rLyZhV)4oLetRJ+LTvA7i{gRmm@)6 zgi2EglI{v7lmy;F&WzMX-?TDDWRLvjUItK>Vw6URJj*}=Yf$5m7&9l$OXLh8$@&@Q zBw=GQb)Z|8R;26b-CJ52!lSTC7;SHFkn1E^H7U@WIxY2(%*0>B*OcoBp(f<<8!NI` zJ8CNF>)S$C+vF72WmC*6k7ypLt+=WCd#kOrpl*vt6kjcy8TarqBD1V^DW75M-X_KG zdYspqh(*-Aot|{vDU6K9R%(A>+HMJ>h-e9^9YGem9HJ2Rl)27?0@9am1t&J-Q$f8 zVPv>Y$)3=_MNKAMM?t+pGtKFwGce`SbR!C-PvtN|;z|078b+~z^p1wFb4iyQVPuiT zBaaCybk}K0%;Tv)($_;Uwus#%vfS4wR1aC2*$7OXU?i>J1s?Zw61z5`M(nwoR_c{^ z0OcRZmKq%c7e{(X@(>Dy0ZVUeE>&_63NEf(Rz$Sb$u^EJq33IE53S(Dvesh5K>EHJ zXQZBHHIr2^m5JS5YSESW&eN&L!N8o&r5WytVV(u|Rfb~0d)4;=r%r^Kc0e;UNOt6{ zs_tNxE=L)bB@OpWG!cwL13>zc%}_krL+XBVIx!q{yMj~)fp9SKwCuVmh=CeL`n>a_ zBdB)iJ?q!*pW%`|L^+Dk20E8!I;J(;(J6g>A|8%wEdwb?%qEhyqa6;*RDNwc&`X8m&;rP zGaOYu%T%w0tk}A%fXJUEy!KOwgYhmuQ>4!lHx}OY=Taj{-@n0C;05xquo>D>1tUy) zyoG>`xJkXmNvnGb^&e_AT*)QfZ4*VZc+|TBkFSf;trSs=M;mMF_NGC9GFc;C5{L-t zvTHJrx${W6NnSt|N(Y-KPZ2FZx*<;Bi9G8OYpQfnL@Hpf3)2-;4+>XiVuOOV{{#qaHPV5hY({c%$Pu*UhNMmA}(`Zq!YW5C$N!j829(=al^QDDe2>yZ)y$iemv>D79bICGn;F!;r>B; z-NPzf3rWU0@8#hb6*_Cc6cuR~gJka5!BuV+OP#D?IGl7IZN+kJmm?ZFkqMtVPs4DG zJ~mmLoj1C;rk8Ha_1t2q_lyJh-je&4%NyyoR39BJ5z@5=zjkz5TW@r{1U%B0q69oR zlUFl0T`fiW+V10HfB}ympLf!g6;G{nZ9A}qF|A*^+T~#p!y%>X%M_Ma@P*Voj>iW# z2}n2VhLO?WmTnUZqlj#2q)(*~HjC`ZY$V7_`|5>OF+9E!m(L);N!eag>qfo5^4n}3 zo_L(CM2?+x4d>py;8gi-=HsD(CO!6J)vuoJ@M>zEj(0Rj{*d-Dxd%QeOuybVH`!2= zu73u61;}{^iP`Zl@A>A6OE3F)zvHPpa7FQ$e~j)t4~$fvAs&$ zuqgntYt+N9uv%X|WUV2j1>Nd^I5?6zTXd$NY1oERO@{$C{;q}uGdUSiA^%Dkbm4ixw##iJAKO-eE3CC-GjdUFnM3Pwa)P1(KngQ4ox z8tmF$NLZVli%vi(irD})|I(kAti@^bl!=0Y@e;$SQy&Ix+q2i8btc z2@q?DWn-j!69#Mmp}uTHP*afMc~HENATS)zq8c4#L6?_=(bls~cGkq*gposgAdFR< zcV6q7y>^Xaf|1>3Tg1XJKj?pW+Wn9XHBy8J!p{ylY{#pBGIYveAS^W)NYXOq=R8QA zRMa2HwOXx!-t(8ofhX_+Do9*kS>uuqWiYnG^rUWq2o;%zGPOm`T@F)rFEKByiJ#mx zFuRo3uTkyckXO^x&yYbei!edLFv2k6G?8;8hjihWMJ9O z=}0>meAF}w1{N>IS>0gim|@thHPIuf(ee*jY!G+b49soa&`1kUE!9FdkDMKJ0IuN{ z39UIOPWP~O2s4@32b$??y+$oHlMm6$Ori|jpX+p=LzYQJR;2jo9eBAQ{Aq^}LrJ4{ zU@Vj|Gc6Y12Q&C`0U<>R#ImbB5Kln`G0{Md{(%OONKab!LnKgR53E_Y8f{9`m~xRg z#@=RwcVPZny(Th#BZ)6=nM#e1zFBp@$+if?001KgoT|tvF@OMc&k8U%2y=~5+YYS9 zy0}TB92hexm6^q^WgveclB=g}W#3UxTn;ScEyJe$Qfm2!#98cp)}I3ld5aSNvG5WK zqfgCY=qrXf?b%>oy|lU8FD=r*?UZR|!qPXuuz|6Uj~9x27)bK;%+0hso%GzC>_)bM zkZeF!Vk1Cyt1K%RoH+dRn5Z3iqZiPUmTv()b>_e;H?Fa?dr(d&BLO=>o*J?Hp^&M8 z@XI?g@40`F%-jvozuP-{$Bx2oAYa46BRGL!AR8*qL@XE=vU0Qc-V!#VF#H7X zC^sGKHJY|(T|UvXJ3ad$Y;ikEO6zK}tuSuzirJmSts6Dco*m!V4I`X#>vpdx&t}5n z_`udWftWby$|ET(@M+sY*#vQDZXw0Jp9+7EdkSLDiVfS8Ss5>mkKAO6ESQZy9{lgcITUpEKu2}Vl1s;Ft}4}T}1xWnUP&a#YF zwYinZ#wB&FX&K7#Ip1itZ;#id50of5J^tIbXC5jS_G}NdjUEhv&3${8dR3TIa2G3^ zCl6GO*(tp?u9s(wdZ}2PRG$BuBRJSh9<#$;v$bd&t=B2X=U0{uBpIjH2#}NuGsrcb z0>`YTO=;!g^lW)@rZ!QYR-Sm+un%@&+{Yd~$iy4eJTX2oUf}=VnTJxbRMd*Knc7r& zrdS@IRP^M&!FeW}(nrSdtpF8uW~zqLYSmeAFf%?|t7*nmQMu|h%i1Oha!NJuI>k!H z32Q7&72L%mu5~hKXs1CsZ<=RtW4a7{XVT#lM@jYuuBSjIgQ-pmJOw0LJ7~aF(+y*U zw|3|885=syG#F1{Vy}m>WgDnQUu?dgKn9xrO!;UEOD1HGl-ZZuY2;ppi@c2t6V!S> zVj28Z6Pq!>C_PBkQfn1FY%x24KprGJaj5v4AIaC7FxlBZL? zI&qls6yq{lOH0H+4qn)n^vK3G+cr9RY>7@(8H^+^aw3+(vWYB{a+cKOj^XK_Wbl(L zDUWUF($|}0S;jDR8aN2qggG%{Psz5!?9*sqDQvOKzHQkSgOq8XY+9qnB3(YwOq!jY zS0+wQAd@k``g0;=XCXl#1KCskIANv|&4#jT6>v&J2Cn`yN0bIKF!kpuxbZdKg4v{K zvY@7cx2&BrrOeOdy|9mh9f_CGZ2j@9YHLS~CPIOw%+>w_;S^kPGS#P7B@SnAh}m3U-ja-AP`4pmmB^Ww4hl@O(tUH7YWYCGUcljZK6I z3C_9fYeTZWpFCtTnCd0Uq6ky$EPKc7+J#4Z4Jk^|*}>3y*`H-F zoIJx;+>4!LAn4O`2rbf@%MwjI$=kgZACDZbbD!pNvB+qyWS>1}gFF(ZPFD)X^}B4F zqh#9%?q)<(0);Q+DE;8rlQ@u*`yV*mgbI>E99DvfI!|XLvsm@2#d3YJK3y-BYLi8+ ztSQ4EYaesZYmY^#WASXlk{uWc3wh~P!hBD_=3d((W1z8sQ?9LIf-9YczCCuscrP|D!!Trf`ip+QHHxJmE@4`pyHI9Gy-vHFRlb+O%$fl9Cr^hG6W^$>i$eR08Izhrc&No8=CW>Qe7 zI*vJX5w(}(bpx;f5Bm2 z5Pj*=c}*U*{m{!`STGO^tt-Q?shdW2aGK9(CCs`;+jL8r@F$w*{(k%d+ z3|5lWC*EQV(+az4D1T(IPU?m{WP;^dXhZkNG-W-N!O&)+K6rva-=njh0XQ|BPdr|oU=w^KHr<#;z(;d|+m#X#h z%;c0-D^E=rfiJf#RkVX%$u+t4@7Bg?`T$kXjrwc<_l%snC zYG`n!?2lOWs{z^6?#SmEw0H?eF_GhJ=fh~QOixdgXD6o0(^K{0#JKWAP^){q7>CCj z(a5O*4wOc1-^1rzjoZGXgfc7mD-szInuxV~nl_5r?}xv8VtXFwe7i7saEiY?E?meQ z@Q~WAA7depZiv#!xqM*hoHVZMF47XGt}sbVEVSlW5>nr{3E=OzNdbWo8%ohav$QgVneg zs*znHk(Ib(tST?D0y~efK=-o;)s?_2dS~as#CUy(RfmLs9n*?9bH>qR=_`8V_{p^< z(pZUvjHm3*(qvVio7nllXZJsQ>~TQ&>M!(Kt0e zH91|Io|vAPEly9)mX+G}C~yUG1}wFiiQ4RJy;>}lCnquT6@7awCl@mynHVpR>$9_^ z@#$(=AD^61R=pc>kjEl6^0Ti!Pe_x1G4hyzdDQ#)V6TqcHd%D7m^2*zVg@b^!?ZDa zU+w)SPCYa?(tIH?k05KZxA^dPG)BlzCY5n>GR}=S6jM&z*it|Ih4I_4KnmBBak>kO ztya$_;U$BE;jduZh6A6{z9Z_m*=Dz|X9{48bw{ovDj=0{qb2mr3gvvG1dW*-KQVTO zzvOG1z7c3;{M3AYyz~^Fog*ptP4+oI{54WBmim#)xLQxSGw$?c#)q7v^q1 zodRkZPxWM;R<}CAjW06#EA{=YJMKnP5X?9`?Y}5k`2$u`i-lMZ4S%;%tcL^&8SPxN zgm#wE^%kRAx@PIo#^^onx3w4zoxX{qwu|92Q^uOO>t?3pS|iC`?6NcF0f@D(bgfaK zkF_w@-P!N-2NK{0K9VfMI@;#aHLYY)L*s>BkwLrk@xo{qwRJIwi?*ojPM3i6?CO(r zZ9S1v*6OeHW~ul_R-b!p2FNp!_M?*Vz}Kq~4-IXtjU+P-J+pT@wh@=UUTsG(PaL*X+uq`yJ)n+r#QP+oV z#%GdDT}AYYl(CnqOl4Fu9=P2@oN2=a`^09Ebh}3%S{Xk{5`p;17T_A=C0B{y(aHE& zbmveo^|LF~E3)SY=|+5)ve4BwLv5R$&ZyU3`Yy$zjkRZm%Osax$)0Yy?+5FSkU)Kq z{NAF!wJ({Bi&yZ+TWzg{h>7JM5(w}*)i95EPW=g9~MwyUqDi4zw?(T3;1ZQ#rM$#{* zQAVU2lOv1-)H0s<7AEr6X5k7_ojWD65ePD&Wx z*5jW-Z_Mem|7C`%Op)|4Stxy5zYV>NFTOa1-jmT0(if)?g^YHtD1@IZAi209%giEO zQRqV}D!t(nT!i={={Q9mj}BMyGA@qv8B+RmQt0uBtjV{e1n4*mKq%cH|A#I zAilxz*CSRhc22T|d>*SSH9>?_)=J9}Ze)zrN)CPO(oZX`AO%mhksJjRtmY2Y6{IB7 zS~57uLkcDm%ld%3ZIR{WX&KZ@cf%23j8ZP+*bm&Q5Y7Qd@zJH3G-1QVdU4v&Cnjpf zl%~&=$CbyuvB+vihG1`7Bt`Df#l=$PPLxR2K3rR350^Atxz;qYoS=;9ebTk15QU6( zzK>&19_`_tG+B|5()V#;5*hVN-q^{UfGQ^EAD2C1T+$e|$2@9rPAr)4>Gzk>P0eZ9 zq|*5{lC^wwpnubOwt(35d&elT(pLvg9HW@eK>x>#sgPpBLHY~~QOIcL@{d0m!ZQ~m zU%LE@5*ZsW$FxQk(HEmUm+?ZxF^c($M(og4j>y|$vEJ$-%S(6j#0^wJMQCL7^YHiRv&EzA%&oLtm-O)W?FeR^ zaX)tS#iNb2b$ipGKV=Ls>3-~O=w*EI^;&%IEaILi?nYQLQmY)XaVLGfPNbCa!UJoC zH-@+(Fvf}Wz}f^l`}K+3&2yf85>U!`;bCI}uXK1*ZX}%aIHJDPGM>1eLN>8p7m+Nm z4rtjfKZp%7>3T|($VjgQ9JtUi<~R%`fJqys7By(+&?|kY?b9pnVGbE$ImcdciDVo! zJnx4WGR;CD5nq6u{>%dS5g1X4&zW?JIQ;j6gGs5Xm_3_ha5e2mzMgDYA9W zZo-qV`zKM#c!{p}Azp-=sAUMa+}8VkL^BR~3M)Po!!KtHv51X4=_#!GlbfR7f(_pP zNBtHM%{cUTrHNxV+oe{qZj-mZ*zwNAV73P|2CT^x)m&1^B*|!tXp*fWN@_akX{UZ6#p}y3n;mMK` z=qFt+^x?_sFrIiq!sNHu)fJLriKHjJ+n!{`-I}-8NPd+r1X!`MgxkeN;?uIX7u!2kiH#Fq?GZ(jRV-EQCOjyZ<7q4^&L6k_w0XNQg4-uLXP9v6mhD$fjgh^!7b2BI9tHL$cx`|64=(fO`v4pc~ zQl^J=GiM)K89zK=GW1R`n6g`%qz6ofC}gzrfS>Rax#oZA0YCkSWgPKUB=nL+(V!W+ zB(|zbUq#|%GA>p;g@`@QXg`V(|0>x!k53(=IW(_vtx>P3btRut%x7N5X$_C0bsU>@ zWz@QctK2dr&5L!0{E-wRGdz;`;|$XvrcB8nNt`-HGe2a%>i>FT!{|1(PDjr52GS4N zClSgx@#U+}3A>Z1K#6FjDxrob6?ANYj8{m=P1Pj zLK!Csa~`Q2r38oNIp>K+Mn6ABgRG^9oYLv^s<6#SzgvnPgOGlVMkJ6??rXCG@tlTz|^kQkYa3m$}jN^ACv)m}$TvPP|+>T1>)_0ogz1M(QvJPAQ)>yUo1M2%w`bAQ#}-T-u~V7OUB?s_>GrG;g^YGC3)z!aQzrG&WnqNI*!aP7K7{1xTDgp$ z5S5GvZo6XqEot_8Ab7Ix4W(NgeCim@{K!!7tJIM%{m4)Pos5swRVclWo9(1q(I(Sg z`fQ9Bwd!=OSeu=go}HN}DG#4Ao4EA3+7Ye@4mx#`^tUt#&DcH2%RybeTElit|FMgT z2CMT(tj?^|JucK_uOl|+91FMv@3^BqwsRPa%45lOXC+nWl%8#}G?c=QY%tOu^+`L3 zn_SkqX0Kg4jU+jt>w*WXa>1`Moc}IsE#W)32CL;2J}nEiS^>8=Hz|;SGKweMku_M= zC;C-Ae76#<3ua4e2p41zM%T`A~B;>UotWg8v4jY=?LlVZU#2xor&&{|$Y<-7<`g)C8X0n1d zqur#G4h@7sI7{AOEg#ep_J|EuOCSuG9Yv;uKk9dYSasInaoDfzSfkyj3mf{u7!Ig9 z)@$00Rimx7^~|*e0?$nz!R+Sb9m~pQuq=AnDB$K9qPk#u@(7Tugo!oTq^M+`QNcuK zcVDwGwy+IyupV9XM}}{B&dOvk$e=k6(d_d+Nhd|G)?j>{_A7xYu2GYxdIh>tP;u54 z3&i88M%V6X%^=@-)+&#C=B0zUdpf8iwUs6og(NS*u|OExU)<&8?=V(+osQXsIRp>p;^jRZNt`0xXnAAQlY3^Rls%0dq@x5!~Q8gErp-rpTX1d@VD%r z;?vN#NUI$Fc3iA^ynufO-(triK4t$DpN48Kqvq$}DK=2bWsDVq=ojo~yo)JL=Wu4MwDfVkF+XJwFSE)mUqfF&l((iTl@`X+BXN zmC_?MhM#d=R9?D0Vs`7HN9r9ZUR9Q)kZ9ADkRFBi_`*10aEvj*zQ3y%%F3&mJG5(}*@>*=OQ=ojxA>l$^VYqWLa zKuQcPe?lg-LVWT}R+^1!#g#)lO=e-@vB~mg+2nb0CN)Krci@X;6H(|IxLE|cmDU`T zo@M__);^yej6*TtDEf-L_beNU3bbww>zmk%K^5~}72@8S5&1FMM7E5U+1+AI zR~nc+A%XihOC!u|*Bfg+tbk;$i7g)kv|*^CSWC+5?hu|TLjH}eD^b(8XQ+yUtP0lM z-Shb~gw&e20cI#laaAAH17D-T$o)tz$@g-;4b{xFB?XADLY6cER)}W zv*=e7ld?mu_x|84BoG}Q1q0DZQsJv*jZd0JovyjjfZ(^bS+V+3NRtOgdb|o^ZTPkM z5Q;^hV_FS+&?O*DE#212YLPqV!)&C;%Gne{dg*< zucD;v@FnkKMxZnWk6O@ThiuoHW)*75TFUuCt>+#_AtwcW$Ox0BFRhyva{~7lIe~iI zN1z|^s)$XM&&Zl8O%uJzJq0mJcOHVGJ0RpxVQu;DJjhHrIYN|?9Q>p_V)~kVlJ|(g zjOF&7Sckq-GI8NKu;W1EbWuBfuPjnb=9RPxx~P_9*27MCwatsQMN~0qt>}?HU@LMG zsTJQYs}(z4xG!wnT>p z_c_CorR6(j%YbPt$spv~oWNoj@sj(+p#+;Q>|;;6(V=h4(DEs5bYdfHYks2<@FB@` z#0+t%sbRK5)=e)TGkf*{v-(tJ!Kn7uxP@)iJY%#AZf0EC=Hc)%+1a;4W`5@ z@Oz_eS5ntxj&ZxaD;_cu#l1GQV=D)Hjb`l-BCpJ@Dmfm zTWmutYE25CB1Cs3yy6Z=pDcRq!M?8r!$08_{NarpZKslH!qlU|@lzDM}rP&WDKhB}?Ju#vC|YgEypY!%H}7B+&-EgBb8 z&FdEqRF-MejlDD3G2q^WtXVTiQdg|5o=WIeu))bF^k=iNLF+}vPdl}$GMkNH`t(B? zJi1AaX2G+x?WQAPv5YDBn=%|_gHl0V@IE<>A- z+$C*es|$99eXO7Ey3E~Fv0*)AZ-%JEgqP@2`U;8dmzN*uUGiw`w^dEmtt2PDLmn;I z(v8Yv^feNxCQD*w^F(-_kZmzyoA|IqO6B>6WX_Vj974nOae_l-8+q8*s*=hJlx3|A z*0uyn!?SuI;%H8PYN#I1 z$)uUq|DG!O8SdZHhMjW5xPOmMChxY*mazNx_)Y-tJ)CgB4N3H-vRh-;n2Tu4^H>1I zh&(OOCPJA`<*-TkaD4C&l}lWlr}Ak6WhDnAsnRzuj8!|sBzw77tgO_|h-Xf4Ca8d) zDmFVol<=hBJyGT{wP4kSWxBQJFeyRYcQiol%C*5U3JH03Macwb;>g#H!&m$E%;P94&R##zHhK^q$e6#>tKwAuBgPhM zsRy)Lb#{8TJTpF9t7*nmQF-;Y=wx6xvn_@~aK1nWvPYRGALbM{x*({Mg(0MAp<20I zD;tw#O`ELG=(FRBzEj*lfP{q{q(L&S>l3pxlQZKJ6BD!JrK+;BT|hv9V6bze!IAEy zk;MG^S*up{TDexOj!%!5ip9w)_^4|}v8c~#ReicNg~Y(q#?0(&xi&djDosq)jdF3e zI8`5?)n`lNwJBX!c9*6nl)`oq1@K^XHJtM6=`^HS1j0yD zJ<5Cv&0;5}6t$+6wbJB7wWJlb>5?%uS)Q#H$BkLt&p zygu*qo$=D=33y)=$4deCT6@c@d2jrMfC}%OTjTE#o8Hqs$xm0ihSC3fBGr3(o%cOm z<+0fA^jN6K3%noQ?uO~6(e|IcF!YR%1h2Mz-a~%?xbZE~QQ*COZ}e^c9>$U%0_44W z&-U-)=!W;=-ThwVLvSbL6ay4_x6rRndY2kA(hPkW6XT0^qL)tq@4bCYkOkrbZN#%; zL91lR&McQqn%#?iR-fSeK9V#Z?vo;JNT4Oi(1qM{;eem}v(iMe`Tjo3^^OeD(vTVR zP#=@(keO`y_|3c0E%ZCJK|fVwr|+0%d+z`X=-uhwRUXTWFXdzkm1ZZl4s56nvj`^$?5v^RIxZynw&KZBoEP` zA)(K z@UfO&XL7>?y>xqp^g7ZDC}mFtIt4;(-F=O_10|VxBYVb|t`!@};#g?x^#^;1el#r0 zPf15_KNnJ$ydF5-iGR%mgQ^nINtm`IDhJ`f(*6CvjA}E4sNDZ`T7&}af$K2z(Ka~f zBat|I{RRPtr?1e@Hw!-pc<9OVg(pOG^fy94zuoR0OhfaNlIrEkKZcft@RR_H{YlCveego+En5Dd+p+-S1>{3Gh764K@IKy^6<-Y%6^n4?_rzc3Nb zXQ6RkxZT5>`aD#Q$RbTSly2SLfy3=W(?g$PJY$FPRDm6?IgJawSI#s#bNu9sa@8V^ z05tT5&7Ldj)I_%gSSPhIR(?=w_1}2X_>ZTSdiK8vO+!KcQ z-aZnpAiQ(?_U|Z5vguZir4x!Nn?X4?=m^_hNUDZWn=a|aqBc39l}ox&){Rnqa$;iK zsLtx;VtrzI!q8_Xri^KW8G*77&WW`{*3OAnG@ec);7l-G;1sRsgJmhyaNj^((-GH!ys7+nHN5hbIrjnU zz%0qXyow7(5dB#5(+c_7i7L|t%9JOZwC8wzZ=+SfhSJMw6r>}f9?g<)Kp+c#+Cpus zt+g6D6uz^4Gv$^1wg64^(SrLCqFByuvG#dmhI8*ayu`HgH7UQVwbj;fmfYx4UVEg6 zMgH4xtIWG^&(qs;^!8%#HY4GQ!Mk3d0LGw5-T@IIwe@g$O{#iRU=rgkn%aT1IyY^i z7$bTRp9S2q&ls~gq@HR)A8c0Gzq~9Tu;S?H0^)70O;d?lr^A ztWSeDFjp9E+MkgHo{AF3EKY)e0zq*R$HJg!!^j+rqMT4w?xM@GTT770c{FVcEZCv<;Tk z-m0*7R@l#;VaMziy7VD(QbL+QFz!|KC{;1#x33!@d&>^Px8Kx7`jJzOTSLhe^VIevm zDIY(jK4dC1?7D8JeOywb4MwaNz3xt~D5Wep>|W(|tg3d`Y&OaN1%;>44t^lp=WW41 z5!+?7d%?eBkICB>e*EI#pFwV(;5VvaJou-@JZYhvJlxY0yhPvJ;)TT^b_i|F^y5yk zhuc2KG;hVotTGrnC*GP z%o@E-^vGUGh~_APJ0Ya;9B19{|SN5sCgh@j>7D*ui5#uL#$7GDF>UNun3#& z%oc?wMQtY7g}e0yd@)l+8orEjxjHpnD_5(NlQSh_LRlG{ubu4_#|5ebBC%bd|8{Qt ziQ;svR-7r$)NnYUTGN%mPY6r4bqHr&63ih1i>Z%s==yXOZppe{8%H$IWGPd+q$HzW zOOgp?Em+GFB?ntf0>+umCQaYQjuD+oIRN?AC#`|zVQ=RX(3tul&-jEsUZ0*E*Jcb{ zJyj|yZ%KO^)FUz<3(u?gUQXx`&jKWa$*sXULgaB+qfruPo>55#XQ`7!@b1gi5T)^M zOg2^p3^Th|nmH94uV)7A%ApKgr+j__%U8ezvzKLJ;^|CG=)+jc9t*PqWtt3W0W-`5 zmx-BdJ(AJ*b~4Nc8RY^VXcbPS0>wtv*_0i!!7m<@X1EfrIFDJjM9$bMw6lJ}u1$Yx zU~aNoz#fX)#j+CJ9h7K69fjJK$$s{TPkbM(Zje^r`K*G!A>2N=VSjpi6&dvQr*~pg zFwFq95BNF-& z3R7RQHqKxK?raIm5d9@MXHvRRgfE!;WbjPHLJe`8QOmaIaDvIJLxHFBW@n3rOw+K9 zEa!X@JV9|n5`9?-U$RDc|KNv>5~_+55o?WvuM%4&{q3-m@-KXyRBraPoU!PRP`M`d z%cb7C%7d8e?kR=suL8FEgaat|a@{Jv3By4lm^T6^zH)W+hZpq!ICTqol!@D~K0ySE z@BB;NX^cf2>&n&9A8zOLCRd=G9IQ3rzD(obS8nmq20Mx|wvkXSasRq5;SEI{lp0pM z;MP~}3Rmmt|6>u)yK;5(2bPBco8Uso0k0g*L{Og{jIuXO9BK7z#0idhcf^T5JU{-C zvY3giq`io8x33!tOPhyMJU92kZQfIkrKD#g)xJUzaJd@0NXRt-A?`!v;K0~p`v7Gn zCPRhwC(!k=?Mi0=WgC=vcz3s}ciV@az*b%vt06(UXQgl@iNb{XYbT74tEqw+W2f8q0h)_F^Y{@_f_~UZ{PonAf+y140{XU(-p@ll zsq72TFXGNkx;}`RrVB(Oc0X+VTcEWxTPP~e@&3Lm)mN#VBLT^{E`!m)%6#&m8Ptyg>c8N^BjO$HJX=B8ZY{&i#WODu6)D*Z*k5p+FsftG|*&I0Y;%;Ds9&aSt2fm^)h2J?4zqA0Xig zLxS4zDKfs%vm5avE*WyAG`~v@zh9qN(+zA!c}?hkNtG1)*kk;*jvdGP@fwM;Yu$xd{OPLDPs)So;uQPhR9=?iNXj-} z@6f#4o8zv+SlPgsrB1Ugj$_)fX}bfbN20h7g0u4UKOvgjkTv%1v*-pl9#fy!k^a1LNev)A!y z!)oB-aYFZWuYt9Gl_l5ouc%Y5T(p8(uRxMEv%SU$yv!&2dCP7NS5C&IUamzPV{Plr zUX8cfRS*xtKd)YBXlre{id8>qY#2@DYT~9*Z|JlQ735VpCsKsVu0bI&y!kVBU8 zY(~a&j+>{oZd4?-pStQ~XVt_N zSjI7}d&cN0&*d+&&#v~UIk91MyIB9IMUXYp?G@$f!_*b-KiKP6xDDuHJltzG8FcBg zY1#{ouGPTqL)E5AAN zAgJKF$P?CL(boeyXe2`bWAwO85H3wW!#KD;^b_x)tNek&MjZ%-M`^>T9qyVf3jNye!tqIcMyNiqbzv;K7_xi{=+C&;5pUZuil67 zjMsY&-aUeUFQO1F52HMSaunql%5jtvC`%}hq7aT{loga!l#?jWK^>>?H+_E^h4^?3 zg>c-0XVm7@-eOzRyRSfb9EG>{D*>l%^Jp7WA6M`_^*Qm9g^y?9Ti&LZ0e%(gq5pmB z!;0c4Z*g`x&vJG<&vq_xp7Yu3oJ*fkKImNb%&rePm(Mv@I9EQi>!Z$d4_;vZbFOlp z=UnZ=_|ti=4_2?+{oX#3GdwOKX7jJ z!3)kU{GAuzofrBKoLhYGf^+LLyFTXJHh;mn4e#8Jzi-FiFT&q1y5Q`=UwbY%FUDUl zzToV|Uwbb&cRaJ}gU+4L?E0{C*8w=YsPR=cUnK@4evM=j@CAy8nVx zaK@h5_4yC&a*C=`Qk`+tDXY$e>P)K6l52?-()mc=XhgIhh)j6s<$5iLI>YPxWCDnOUb(U3UMRitH z=cMYKQk~PP^O)+qLUkTjomZ+(MRi`KI!~z1ldAJ-)zMU^sye#r)Kte%ox19*sm{9U zG*ss))j6X&P1R|sPFrby;L-mW_DP@Q+G&bw6S-Kz5*)p@V#yiaxBuR0%4 zoe!$chg9bo)%mdMd_;9VsyZK2osX-|7pcxCROgeb^C{K&V%7N))%jA@`7+h{a@F|? z)%mpQe5LAqMs>bQb-r44zD9MvR&~Bkb-rG8zCm@qQFXpab-r13zD0GuRdv2ib-rD7 zzC(4sQ+2*eb-r75zDISwS9QKmb-rJ9en548P<4Jtb$(cNenfSCRCRt#b$(oRenNGA zQgwbxb$(iPenxeER&{<(b$(uTenEA9QFVSvb$(fOenoYDRds$%b$(rSenWMBQ+0kz zb$(lQen)kFS9N|*b$(xU{y=s9P<8%Db^cg&{zP^DRCWGLb^cs+{z7&BQg!}Hb^cm) z{zi5FR(1YPb^cy;{y}yAQFZ=Fb^cj({zY{h)j6*^|Ef9{ROjDR=igQ5KUC*GRp+y+ z^Ixj-->UOJs`EM3`Mm1)Q7%Kd9OVj>D^Z?{ zauv$+P_9O~2IX3m=c8PQay`loC^w?qgmN>=EhsNQc_GTJD7T^9j`AXuJt!|m*^6=q z%AF{8q1=sf56VkWUW#%r%6%yNQ1+t~P{vS-C?%9}lrqW$$|TAZ$~4Lh$}GwOl>1R$ zhVlT)%TXRgQBmel4x-GXET9}hIgIiU$`O=Bl!s9sK{<+Y4COe=36v$2M^TnhR!~+^ zPNJMbIgRod$}3PFM|mYm1?5#JPoO-B@@frPO_UZ& z8^uKFpgfJzMX^w9lpe|k$|lNLlr5BVD6c_zEz0XqUXStylsBTh3FXZwZ$Wu0%G*%h zj`9waccQ!t<=rUnL3uCA`%vDG@&S|&qI?MD8I%vBd<5mAC?7-lILa5Hd;;Z@D4#<4 zVw5jI`BIcGL-}%)uR!@U%2%R%2IZ?zz8d9gP`(!B>rlQPU56ma&;OMB*H62D{fzt9&*F{G8@tZ`+^)kH@W+MoKTp8V1Na33egVKQ67Y)v zeu;oz0`SWO{4#)FA>da4{3-#z3gFiW_%#5(PQb4N_zePn1Hf+*@S6aBi-6w(@Y@9Z zHh|wD;CBH0E&;y_;P(jlJpjK?!0!Y20|Nd4z#kIuhXDSFfIkB8#{~Q_fIlJNPXPQW z0e=eM&j|Q40Dn%vp9A;{0{#NPUlQ<_0RD=AzXI^r1pGCCzaijn0Q@Zhe+%I62>3ey ze^0>Q1Na95{sF*067Y`z{)vEp0`SiS{4;=mA>dyCI0QHV&J%DRz`qjkuK+F(Z~?%- z5%6yS{+)n-2k;*R{0D&lB;Y>*e3pRE0{AZi{tLi=6Y$>v{)d470q{8jJ_q3Q1biOA z{}S-O0KP!L7XT>F0-!wW!ueeU>;mvC0-gn6Hvzi=Jez=L1Gt2MO8`8Ffad_Xlz>YC zTt>iU04^usasXEla0P%X3Ahr#a|w7ZfU5|&3c&LScpiYO3Ah@-H3VD(;93H%1@L?V zo)6$U0P^0`>rSF##_Iu$O?n0PY~*4ghx&a3_Gf2)GNt-2~hX;2r|* z0q_z6UIO5y1iTc$y#(9~;64KG1F(;PeE{|oupdByfC7Lq0>%Io2`B<65l{j!PQW;T zG67`(69h~Em?U5lz!U*f0Hz6;1~5aw41iezW&s=^-~fR83Ai7?%LsTGfCmV80Km%$ zcsYOv33w2IN`MMrj(|A;2MIU`V4i?^01E^x060XzApnO7I1Jz+0v-Zzgn%Oe7717c z@Gt=n19*ghM*tip;3$A&1RMi!oPgs1P7rVcz!CvV03IdaQ2@&XECW~}UMyhky=%rwMo(K$n0n0E++%fK7l6phrLtzy<*u05%EO1aOvs zvjDaT*aC2lfO7y|L%?eQyq1910(cz(uLJOU0$vZ`4FtRaz#9p8BY-y%@FoCnCg9Bg z-a^1z0KAoew*q(@0dE8Fb^_iG;2i|K1Hd~8cqf2&5%4Ym?QSA>bnbK1#qx0ep;rj{*2N z0UrnOMFe~ifKL$c2>_oY;FAD8MZl*3d@%uE4B$%$_!0nLO2C%__%Z^%48WHY@Z|u$ zf`G38@M!`*4d5#Y_(}kuA>cCrzKVda0`S!Yd^LctA>eBOd@TWA3*hSr_&NYzPr%m$ z_yz*L0l+sB@QnbziGXhc@XZ8#Gk|X);9CHED*@jM;M)lJHUQsFz_$bV4g$Udz;_bx zodCXzfbRnE-2{9$fbSvTdjNbd0pAPY`v~|x0N+o*_XGF=0)7C%4-)W$0Dg#o9|G{h z1pF|7A0gmJ0Q@KcKMLT-2>3AoKTg1p1NaF7egeQx67Z7%eu{vf0`SuW{4{`{A>d~K z{44=K3*hGn_&ESSPr%Ou_yq!f0l+U3@QVO`iGW`M@XG}JGJszp;8y_rDgnO=;MWNF zH2}X(z^?=N4FY}xz;6=pn*e@`fZqb}+XVbJfZrkDcL4k@0ly32_Xzks0KZSb?*sS) z0{#HN9}@6~0RD)8KLYT_1pG08KOx{x0Q@Nde+uBw2>3Gqe@?)k1NaL9{sO>X67ZJ* z{)&LV0`S)a{562TA>eNS{4D{03*hev_&Wf9Pr%;;_y+?10l+^J@Q(ogiGY6s@XrMN zGk|{~;9meZ1ULZB6L22DzY_4T04@-40l>cz@NWSAoq&G_@E-*H2Y~-1;6DL;mVnO! z_%8zf3&4L9@ZSLbhk*Y9@HqlL2jKGrd>+9667atOzCgei04TcwD7&Hh5U>ltvj}(= zfZe+fpMUml{N+6N{3U>&vm1Xo*POo;@MXL4mvi0u%K=}p8-F=Bp1%_Cb9dt}=a%zV zQ6*QQlIIcdJOEb{a5aEy2)G8owFF!X;Q0hRAHa14TnFHK05fY5r91e>;dp%0$vPY zF9CZ2+(Ez{0PZB^bd z0PH7VKY#)O1ps3Ni~%STPy|pSpafu?fN=oj-L#{bz@Hy>?s>>JOaZtz^soKmzs^tM z{STd=+I_@%9(F(g&QI^AKWBEIpWS`_!0z++?>_%B)Q+DX*nR%xyU#zk`@FjQ{2W7e zko`H2Kc8_fU%cR4etrS39@>q%4)0!s60`gKL+l4=FL>$yv3DL|QWR_32D)cZBw2iWYi@dXYiDP=tE;Ndb>uUshB$(8aH7@F3C^S%f$?CD7ufzx#Kul= zre#H(b+Kp)z&a6|IKi2i6>(O^qA38Mi+HmWoT=SnzBF6GshffIqTT8Q=Wz)dPV9{K zg=n`q!C78{hSNTyeJNT~CpZU8&~Q>{v<;%&?gVFu2^vlrjkZy=W=?SaXn$6mOX9&* zM*K>|=1y>anXo^ca2josXf2%J>@z{b>8R1Z7OkZdoSP%K zT018=pH9$lf^D>&qP2H|v+V>8r{6~VMzju2a4w#p;pE(CyF}~g1ZV0A8cyAfwp+AL zPH-Ndpy9;cXnRDv(+SS<6EvLm8|_=sIy*rhK!S!&0i*2|t&0=%5F}{mGBDbAqTS^L z{RaseIuwkyPqeO1(7TYJp}WCo`$g;K1bq()8agA4c0jc5PS7)vprNb6Xa_~>;RO8_ z2^u;wjCM%0o=(uKk)WZQ!)S*^>*WM}9tj#cL5y}pwBAn8Ba)z@i^OP0MeE}P{Ur$+ zI#7&uOtijE(3_H=p?k$>-;37I3Hn+RG<3cg?FZ5NJ3&uOf`+acqa7D*fD`o7BxvZk zG1`x!4RnHDoCFQsI!5zF8{`CiJP8^)eT+t;4R(SapaczFLPq;Zw7Z?4e<(pihmq0J zL>uA+y+;Wex|57{LbRby(6^MJp|iC%~TD1F}phql0Ll>FR z&WQGa6ZDrQXy`yQ+F8*abb{Wr1P$G5Mms0k2q)-kOVH5yX0+c#d&miT;u17;%^B^y zXb(Fg?M0*lP*w|l!h6=N{sAx|)LEmG77PVSt z(VoUJy51Wq%-${$?HMQNw@ldEC04ssv}bXYulI%uv$rgwJ?8{{o(X%)VztXe8;SD- zy*E^ty=4_`loRxqChRS%)v}2;+6j776SQnr%P!g&C+KTU(6U=ChiGG+peHs#%VD*g zqK$Kce%b^rr`2+a_Pi7H;wEUhtd?7}@lMdko1o>kS{~6RI6)6^f|kc>c}1J(1pUJa zT3)N=6K#?c^d2W@`K*>-w8>7;x16Bmw^{+wrZ_>*bAndDY6V4`>ID7L30gs`C5bl8 z33{y)v?Qw~i#FW}`m__YWUHl!Hp2;eyc4t(tEGxI(+T>+6SP#T6%y?QC+ICt&BBKw3yY3h&I~^`r#9_B38Rxw3nTrmp(ze+-gNdo8tt1 z_z7B3s}&RN6({K7Ptb~4t+;4&ouL0eK`U;xD@2>;1Xl+Vv@5JuLbUl#aP1&LD`B;g zqP^+_R~8bql2$7v+5#uI?vS9Bvf7oRz2*d0B@(nNtyWsJ*PY;+MS@n^YGp)w!wIfv zBxq%zdQSBdtP6I=~R(5|vtInfq6!L^bEt(?`$i}tn?TuDjL%3H01 zXzw_|b(RFJg4HUD_O26Lg-OsVTJ37l-gAO$Gzr?(R=Y;D_nqJhPJ(ug)hdbhffHQc zNzf`;t+HqzI>FVS1g)~wt`%(&xkRSN6Xtah3qun6dQuN|z4HZVKCfYLe^k@wgMyoE`a`Xgg4HZVaQM484 zEz%k)jCPY~E77B*HB=bQ6KxfGowSAuqty^?HF~DBh6(I5Pe^OMK zpR~ScpF6>I!-T!nw^{?y);qyf#RRQ^)f$TSg%ezJOwbxyt&wP7I>8mm1g(+P8jH5U z39eV#1LVem!BysmXd>c9C%B$z#U@5H1rDii7V#@5xZY{Sn~i7+h_{Hi$qBB9TJaVm zngZgjB7W@z*GsKAQ$TDg;ua^k-kQ)jO#>U+?V@dUf~&C! z+U-_rCfYV9xK?YwY%}v^O@aM27jZkfv-EL9bGyG5qU}UKmDXBVt)*zY&;g~jmR4&e z+8*>QX|0vjT8p+9T}E1KZM8O{?L%LX*4kL@4$%%c!S!d`BzFV`SDBYpTM-XB!S!h? zwl$(D(01)aJmdt|udUe5h^BzpUc|#raDCf~?Tu&(h#f>c;sn>ft=PecrhwQ{#G_7d zecXy2jc5vpokTq51lP~4*vW{dfOw~f-#fwebt~R!L{mWQEaDGNaQ)qiosDP;h+RZH z?gZE8t=Pqgrhs^th(9{P^?NJcWkgdz>?)#AB@&|SgogMC(*g0wVqb%CE989nrN+;)q0C|7TqCQ>ut3@qWy+`4z2aE zT3^vJxRlXVCkuV8)=#udE;(B3XSM#Kxh_St*57IaM2otVS!)BVHc+%nT)I?i1Fbel zv@9-NrnNy<8!TE@m$GSXu+{DsExSuOw05`EhKQEarCeGYVzr^7<#s8L)`nVbm}q%j z%BQtqRvRu_ewPYpZMfC$5v`z0Nm{$dYWIqk>{5!>?zP%|qNTdQn3IH$mHVuAzi5SA zDy;W*zttWPE#^`Ytvz712SvNwrJ`DU&}t(@E9O#ht&OnSL!w>bQVFd+WVMGyE9p`x ztvzhDM?|~QrP5k^#A=Uq~WT6@%LkBN4bOXalonAIK^t-MPWwD!2wo)E2~OIK^{ z39CIR+BGg!(%O?&drGv*E?uj&r>yq0XxF)Pz1E(#+B2e6ajB}-p0V1qqTS#IV~Xrs z{Rp!I^IT5S5R9)}yIjfBn?M9bw(%ML?jS|gssfN}@S#7jvHC?Kuwb51^BU){j z>S%3@)y9fe*QI(|8*8<3qSbe)f!4-Z?Rn7}y3|N(&s%N0XpLQJqP6i>n;_cFF5RNF z309jZ+O00#rnQMynXzko!#F>5l&Ik;yGOyp6BDQy_gWlgvtGysv zN0&Nj?FFmN675cxI%{o~)m{{>i%WND?M17-BwAOOx@qkttIZazyGuQ^Hrr}1i`LVn zURrzEYI8*E?NT4D&9T}mqV;vDpVnTn+Fa54yEH&+bFDT{w1F-S(%L+$%@=L3OLuE+ zzSUk8ZHP-lwf3sj7Kk>?rQupzV71poyT_$_wf36TUKi~?m+sfv>sEV1vGz)s~6&f=jcsw#;hFMSIbum$bIrYAZyW?b6FyTVb`8qRnyX6|Jqb+A7iJx-?H~ ztE{$KwD~T*sVlYF~)%%$a8+hDbgqOEXgrPelD?JLn%xwKkqUs-LFXlq>hL~EO@_O)oA zy0lhnUt4XnXrH;XPHUU3wnenhU0ScTEmqqq+7~W;skN&!^Ur{woA0_F742J+hw)gqV2@q zw6@!7dqmsi(r&HovD&wy?Q!W_t$k~?y`t@P={v3Mwc2;0?Q?0r*1ogaKG6=ibWm&i zthQgYLoOZG+J37Y5bcOdN40jqY6nF-=F<0CJ7~2-qW$2~ajhM)+F{XtbjjD+VXGYx zja>RkYe%ehRJ1ggPH63@)sBhwvrE5d?U>cR7wuPA!rdjzv+3P27KOGJYCBzBKEjA#moIYlgq zS4z4)f_aao0OS&}R3w;>V)ux-DJ+@-kXytn@uEt%M=*<~0OS#|bR?M1V)ux-Ei9S> zkXOVqc>Sf@BbY@~0P=}gHWJK-v3tba7#2+d$S>kmc&Vn_BbY@~01Aj$E)vYAv3tba z8Wv3fC@5liysFdf5zL|~07)WNhy?R->>e>UhecBWl0~eDKY(<51hZ%gK#GW0M}ql0 zc8{3b!=fnwsUlv3zm;@*1hZ%gKp_z;MS}T2c8{1F#G)wxg+;84KdW?m1hZ%gKupAI zBf)$kyGP6|V$l?UA|hUgzrb{R1hZ%gz~v%d9|`6o**#)z5{sq)6cw=w{#euP5zL|~ z0L4VC8VTkz**#)z6N{z*6c_P^NHE{YikSPvqA37Zh*&KW%!jff=0>q-3P1@Ft4D(Q zQdY#=DHcruC@JENkzhWR6*0GpMNQ`DRwc+%w*zDF78k ztRD&HqgfGi(^xbG;A#;YM5v+u@W2GN;6aTdV>3>s#*s$UBtkc%xFtfjqPQ(WO;Ow) zp=KzWN2mpgmJw=&qIHDYptvJKZBev~j2O}W!rD~>DrShUT}AC9euO$i{&4lGu@`ei zsquP6De4%hh0FT*sXH-rieP;yv&K}h3(HB3r#mCT8d20a60`)4@~8{`!(9>T`uk_P z;hFA{KVEE#dKf>xG8OfN-YY`AfA>TmJkd82EJT&>Z!bi36R*TX{UTV21{r`1L zX^b>MZboiFZbOqCDICMjkH1TK-wbhkoHIiq$AP^xfAJ(bV2Syx+2|> z?nn=$C(;Y)jr2kKBK?s5$N*#@G6)%r+>H!D?m_NF?nfR#9!4HP9z~u&oY zJi$*R&mbd_G00eC95No6fJ{UtA(N3Q$W&w+G98(LynxI?UPN9(W+N{nqp<(c$XxI| zWIpmLvH;-)k;dS;H&EIIk;YFK7BDOTyvFbv;B|)A0dFw80eF+)O~6|WZvhrEECjsG@HXHbhIat(GQ10T zkKsMQ`wZ^`K4AC&@FBy8fJF?803R`Y1o)WYW58mD#egLYO8`q5mI9VBECVcOSPodh zumZ4>VI`nB&!=yW_wyDEEdVVUS^`=zv;wqdXbo7!|7#WgR~xQrgPOJsZ2|2V+5y@# zvy73W*7{(o8fN25QZUup$tO-!x)AEhBFKY z+{17W;9iD%0rxZ94|ss#0lCc{j?3k)v+W--hHglnRp5tedmECnoMSO!?mupIE;vnI+e{*ia#N8Zh_8?c9A z58zvdZvlH5_5#ACP|yhHxi!uM{$eSVKU?PH_p6)y#S$jJU$A5izk#p88~7&-p8)=1 z2@_ech$IjK^6FRvh8e8u~OsYlE{J>h}A(#AQlw%95~7NuR_`UbbW` zeHLkq(7Fi!dp#EQh|u~7eG#EA@x@TJAwnA?^i_mcEZG#{B~E5X0Q7b6FaE>k2rqH6 zB|=;AAMix=zgXe~D;*~;al%WQoZXAV9NT%?=`wV zp77wR;DLiED{hYjM^skC(G`oP0L&M0MlDFCmDh&hFPL}x`Xi>3g)E+S?X@)4gE!7Q2r@P>$(SI9?%Rs^$X3c#Bp zVrC&9FKR%+hBA7)}0NxW36aM&!*NR{kO#ygcM9jY9BVsFpSu_RU z0}(O*j*pnF2xid~fDc9dzzL41t%##*7EJ+IBqHYE@e#Kb!7Q2r@R5j^g~vzaRs^$X z3c$xAVjdnJv0D+$qA382MZ|13KBBiGm_<_nmWYV?ZhXXVMKFt|04x;|Gv4@&z=~iN zO#xUYBBr158G{wUESdtaTtrOr;xh^>f>|^LV1FSJ@(@ta6+7HL}% zXO!HErT}!6<_Rb51TE7?8YG;w6Ew(RX^^bpq#gd-xmOzGFDLEXFIqSoCwL)+vvIf? zf@OOR{LR@o&&dlZoMaO;;PcWT4gXUo*-ViiA)GxE{4sD>r#&4GXU_yL^KkZzd7FIQ z4s#1<&zJ^z*EUEvd&V@#$F@Pj*)yg=!r3!w%yl?>Mm0z{dqy?LHv1m(FPS|PPKz;b zT;a4B^|B17#i#}er^ToSIceXx!f7$)Jp`Bg4g8Cy#a#T^F8{(QCl`N$$Qrpcu`3dc zkFb{}FjfK&t}?&APej}u3C2%Y5o0M>GzH*aIOXJTPZ0SRPUi?`Y5cp+()jnBe9_^; z$*{a=`T@%-;5U;Npei_yWnhYbJVyodk2ISzj~zagC45YBD*XU}c; zXU=KZi+Kg#A%8ZfVIQ7LKc~UYXV{PW1IR(-5W;g54x{|TISPKxI{XQL#7s&!YKmi~ z2&O3P_=715|IM=w{y!%hgmVlqMEGLei8Y*KfW{2(yNX8mPrUDHIL83LxYIms04s!C zwA-!zlja!wN6si1ec`61-}8um+;aB&2>lS@e=(r{crc*<#|Zft<%+6*d_e!Ui$0(~ z90MPYfxj^LJsbmX$LNG(;Q0gvQ-Fg9rU2W9`Cq(e#((F~_He|ydC6gNw}EiPx@iYY zS2qxjSU2r}3HS!W5$mQM!uv<4YsXL7SIEV^e?&N9-MrqgWQ2im#JXt*EP`QRnj9~M z_j|a|B;oxY%u8dQeT{_odoT_1rfrb$eh;QW-nR`B-tWOQ$P(Ki;r$*=gM{~cPzQS9 z{T@_A-YLIZmx@wSc#JXybaKt)3 zcP`dV5-$FT^>BRoU*0Yt9A6%eFaJjt_wRUNeED|?kSFjyw-n)yJsk`bY!h|Kh6p|ICr+Coo$4XXMXD zp8ta9{%GX+uc$wXoI*|`XOOeVIpjCwJdz>mQAQ*a;vg;(L83@z8@ zWJhu!IT0Swo(tt4jcA|X=Ltr%=Z*$N9#iBsMLtvHH$^zU{SQ{v568D-FlxAlJ{loh zLm!RsA&*b~5U_}05#S?+j{qMtU_l&O%&-`+gaMZb!Zq}Fq7lOJ?P!E>eEXFS{wQ#h zINbjYfSbVKmT!PEfU*p@i5u?E2Ea|)aQ`&`Zo-CJt^sh9HQW{rfP16iwrBv{{fw@` zYVxD068;^dR>J4C?#EDpD35l}gOUnH`Cp87Pm1#L^~q66iQ=A&(Qvf89YhK;- zaK(4N92Ktk{(pVN_i!P1d?MSmO*#eFrTGqE=JH}V+TFB6INDuZGYUt$s|E>2yQ>BX zN4u*A2}irD2Ek1Z&AaPZ83a|=rFyQ?a0^7EjT5cDOAWLZj&@h=7LInmOTR{5v@fM_ zw7dC}3P-!EKbml~yK0bdw7Y7MaJ0K>kZ`oSYLIZWyK0bdw7Y7M9ridR9PMt7L%y>O zvQLij54dztAHRj8-PH>z9PO?eBpmIo8YCR;t{Nm9?H-PHHy=8w4wqyKK)9MZmBLU0 zdo2je&0`9{m5#kW?nQ#J3s%H91{O^LC@o@*NHDg+iWuj>qA37nM64MJ#y(iFj1f%% zv8;%-BH?KFe`K_Kr#~F+o*Kny_d?N=dHl>{GmQ2x;ZY-(*6_3VmoX*P~hxdJJHltfA)S0bg6GDunEDx@4z9;tv-M6O1zK`J4Yk!z9bkn52u zNLAzpq#9Bkxe>Vu@sJuwO{5l58>xfTMd~5{sYBfF#rJ+c@&NKM@(A)M@&xiE^3NRJ zUKB&eiy?FIb><=Skynug$ZJS(JoiV#+pj=<38W-a3b_&~jg&#kB3B{hkn%_cq#|-P zat%@msf=8UT!&nbR6(jDHz3uJ>d1}AO$ZNh_fY=v5cmAS*!CJ`7<)}q)G|eFQ`9j< zFvNX(xP*Hvyy3Ry(YdVw;ShH;LO8@7jSvoTMZ9^(xVAgJg>~`mNjex0t_mKs zP;Qv_s)LQV2xid~fVV|_%?a0b57%}NULDKiMG>y;&VMc8+U|73p$_;cweL4zZWvPl zI?AQOqYgIWBA7)}06K|y%;BN!vd3_=dm5c}=o~)fZV7r^x!urU;b?c&AmM0t)ga+$ zchw-_Xm`~h;b?c&AmM0t)gY7Xn4c-~`P|&47JAIj6st`Yt))w?v=)wb4@bMF(L8yL z40LIbevO2q-PNC9INDt`NI2SEHApzxT{TEJ+FdnBINDt`NI2SEHApzxT{TEJ+Fdos z5qpe(RF2=$TsonT-@?)Es@=lT?y5n;(eA22!qM*N&komiM^Fc z{O>$}pXcxQ`~#kU(DM&@{$bBQ;`v8C|Cr~0@A*G?{&CO$(eugkfAah^&p+Y$KYRW! zp8u=opY;4wo`2f&&v^b>&p+q+zj+s9e0VrE+@t0gbKC-HiL^pmBW;j7khVxWq&?CB z>4gYKS^!!yV06P@EwkN~ovv`YF?0iTXXp;-!O#QH zlc6V|7eg;VZw6euralaP0DT$y0{SuZ1N3L;4;a8O05FhYAYc#!uJqDihQWZl8SVxQ zVHg4!$}ki#jA0mHIKyzjJq)-mO7}9{3kXLOqY-{Tns_F+&rCe^0>cY{Sq!rPFEU_} z9(sx4CBSTk*?^ZBUIxrzm;-o);T6DKhPi-w4Cv&i`3&;`uQI#}SirCV@EXHwfY%vb z2fV@X2H;Hwbcxej3~vDzGAsnV&G0th9fo%R?=rj#c#q*d!21m7K&B5EJ^+M+h|vh) zAYwGa34TeO0Q}7GGvF77UjV-{{0cb9fD>4Z9|l~^LBxNsO7!RpBW61WBW9DRW0X2Y z`Cp8fy)zgw+c`>Iq8LT>=ObqC`X5Kk@&|#PH2R`LFX@3s_=GTrf6YbP?$8dc;q$|2 zEkxVt&^KDcr;E{Ainhz4-CDzEkI`C*w#T7wwbsgNtwr1G(05vEZMDC-j%>K1s%iXi zjF~zW3dfkK1_{TQsRjwhn5hPN%D(qLEpO4+xpck0Z1A+zo)N8zOI5Y@jMbhKt(r^K zwf3CVMv8W$OE+n4q}4`==DAcuYon|-TC|!j)zaE%tBnz@wo7%i7LGAfuaHT$-Ts}& zn9Y>mX?vGC=-(;Ml*}jQ3!-&&sgu@l9%ZyyqTT6IXRYBZ%V;l(*2Sf8=vX*(%)Bmw zGhy=zc~f2?BV2k&zmUSAW9qF2Xa1($K9F`B?a~<+J~Zzb!nW|KD62*(Vll{ zyw(<3?IY19xHM5~A6e~V(I&YxS!=j&m-*fni#EljsanHby^OX*v}rC)*IGDqOua(F zp<}8+!l7fTLBgS9szJh`W2!;Ip<}8+!l7fTL45n^O!DcRF+!R2mG^Mym})olyqlw% zQ_^m^B9vRV8~Wvqc3QMN5z4Ez(^fkpTD}P7*V-AYofWM>gbHfytkuqmmK336t(~*l zZ=$6{C{=5}S?#=Ng(6f~Yv-+&L56U|B2+|c8SD^_jG|p0p`u#LXtn><0U@0)3{s)Ek#Y zP_-dK8zb~pggl4(@MRS08wF6m;9vZQ{=s#W0Z|%=|9~gbtvnK}aQIHfKOImq=ywB3 zXfQ6$-;E5xQ`J2h3LFN!(erQee9!Z1cz#XKujTo*J-?3U*Y*5*o?qYd8+d+0&u`@U zjXl4K=ilu4w|M@oo`0L?H}(A6J-?afH~0J&p5M~*TX}wK&u`=TcX)nV&u{1X?LEJP z=Xdn{PM&|K=Xdt}E}nmv=Xdq|Zl2%W^Lu!HPtWh=`Mo{AkLUOG{C=L_-}47}{y@(k z-o=l{z%Us<@uvMe~jmk^=LSnU>rtI;3n$*kpU6Uf8O)Q zd;SE^pXm9MJb$w1Px1VzouQ!}H(t{I@)Rq36Ht`R{oCyPp4^=fCgyA9((Up1;WR zKl1#KJ%6$1FY)}Pp1;iVmwWyS&tK{Jt2}?T=dbbnPdxuqJu--%!FT8$5rb z=YQq-n>_z(&)@9%TReIeKiIwab>D~Fk34`ph>SoU!uP+`^S62a_KPvR$o~gN7-hhy zk&H+t#6esng8bDgl-clnxDq7>jiDWGMQ%fyBDW*Wkbj2}M?>&^3`K?^!;y#aQo9Ew zuTc32_&$`6qO_}3K8WoR$YcDHM9HgHJ`T1kSU$$vh+WC@IlQDtBI#GOd=}3?hm1r< zA)}Eo$XH|?@;ovgnSe}0CLxoNDacf08ZsT3fy_i+K>ldt)D!r=o{cac$eel#)$8HBxEweBdw;O z4pwA;v$$uQvhC+J-!shMqC85XbQk=5nqmCBQAnjGzH)@`O=LYY{W${ zi>3gq6S0YdjkpMA(G-BsMZDR;hC0wgMev~YqTT9XLusfm+83hT=Fk^fLxs`46s@U4 zUuq2%M%y6T?GA0w8Y+yoQM6_bZG>jW*MjljDkFX+VsnSS()&Y&(Kd{L~E!p+ELN^ICNBNs4&_w(fT@cOlznx+V`UMbLe}mp~7fCh}PesAGC%F zqa7D*fJ4W%h6S zhB%a_HB=bwglIz@I-xaG80}}#hB@@J)=*)zUql=3&@a&Jn=}{?t}^1UBHrWBuX=x| zFxpAc?se#-)=*)zQ=;AH&?&8H?5((?Lxs^U6Ky0G zwAC6ajFwfjQ4VF*8Y+yIO|;PtWz!lejFw%rF%D(d8Y+yIL$t9D<q7${h0zVPsHsJY{W${i>3g~7jZ`f8*vfLqA37HDJVYK3+&2^}_)=*)zD@2>; z&=p!kh0#igHs7HVT0@1=N{WUBkxOa~6-Fy1+5(44X$=)dyHYf)ntY|!P+_#vqP^}= zX|18cXk|ou!=W--Lxs`GiuR^MWwnM1qg^H1TMk{NHB=a_oM;OjDyKD67;UcnP0WkZ z+;o2vU_7|Wh~;H}Z#z_8?++D5t03At4pq<^DvVZ9w09kqPs=q3g7U3Zq>w z+Q$xEuQgN{t%_)i9jc-=R2Z$QXiFTbsx?#??FP}7I&_29P+_!cqAhc%n$}QZwCbWQ zcc{A7P+_ziMO)#}jaoy6(QXoLr9(Gq4HZW7L|f&Mr!`am6#KHB=a_p=e(?)KF`vFj^zgzI3RO)=*)z#-eR-s4+DA zxeCUEtBlx0#EqDFo=ya_XbQm1B7WsyBfdv4i>3hFBH|_o8*vfLqA38kiukpIjkpMA z(G-B&MBMCPBQAnjGzFlkh+7UB6o59;DErU@re~M6u}yM^Xa^j+BVF5pd4Hw=v=#B7gN^v_ z7R;h40PRFP|^LpuLEP9c;u!FpH)DbP(~#|Mtr5cgmOk9`hH|eUD)N9!&vQ zEx(sKtrO#yga#5bbYh>KtrO#ygQ z#J8f@h>KtrO#xUa;@eSd#6>WRrU1Mn;=567#6>WRrU1Mr;`>o-#6>WRrT}!72LHjq zMqC85XbM0V5sy3Ah>KtrO#!$|#2+1O#6>WRrT~O9D7ihtRr)W}1I`BpFBG)QV0kHJ zbt#+H23zfJ(XzXgLu+?iZHQ<&UCO1kAyykIT5gx}Xlc&X0_p><#(xo z)`nZ{9?=TAl%%zLtah(x$u6a6?Ov)=iFTDs<+S#g)gBkEyh|0d_PEua5Urw1S8MGFt34^&H7-@s z+LKm$O0>!@U8}XHtafoHT0SdZ^ahunP4|`$=65(#0KyrW<}YuY{XIM{E!WVcM*7$F zyw%2w*4U*cS{rY*38LNX(k)t>V6};&-Rjb9TAOIKNuo7%>2|G6vf5FC&R*N>@rB}7K+G=Y=Tj0`bT3chaPegm& zr8l(piPb(8?M;{7(%Pq1TPxZ^m)_ReTC05~+B+`2tF_OpwobJ7TzX$?>#X*o~(U!TiTx%Pwwo$YdF0Its zMyq`#+A5b;YwatmZ4zybOP^?MlhwW!?NgW5YVB*QZ5Hh_m)2=*v(>hU_PI;zwYJ4- zTSfcAr7yL%)oR;B+u+hht!=Z~cG13aX_MBrTWyDEU%RwfYdfsAQ?xBEZPnUNt9>Kd zHkZE9hmEK(@8r8g+wRg1y|-Of+b!Bo>`iOCt+q$BT`uj`+8(QYE7~5HzSY{dR@*Du zUYEYp+Fq-DC)z%j_G|4stL+o*fJ+Cpw$Ez&MLXouVXf`A+5ypyxO7x&2ds8bv|}!P zueF0#J0#ijp#YS8NvuFxHUfJWty2V0%+2d81E}ias1oM|R1)zY4oxUbRw8V zQvhNjUK_zi{CfnmXbM0P5wF9%@^m7YMN#3Y5wIXE>H7|q9}@YJpS*W;1lIj zhEEyr)1G^f=f2hrCb(kmDuCy-zQDk9R@Y_(U;--UmI8Rr>1>ACfY10TOc2G~PXH!> zV!9`Q=X|bb;8~qtFz~$1FBy1d<^~3yd%2MTQzag%fK`9 z_A>C?yYCoycHKS(oN=Y$<+;8|ZkGVr`EpMhs?5d+W7`iX&OU!^hd{HhZSJcH_I2A(7J3j@!B z`jvraIh|zSc}%Amc&5^62A+#_hJj}ron_$pMCTZI#?WsJJSXTp1JC-&kO`0h=lU5L zG6FI&WCA!04!~t_0TG4>Aj%L0WM;?=xP;*nz@-eA0-7l_+OVZTn;G8 zP!v#%p%|bzLvg?r3|9b3Fq8n4WGD$J#ZU@xCBv0~(hQ{mWf;l;$}*G%T*Yt|pd3Rv zz+C>Gc}#bCt|^b23Jeth6&Wf5u4cFza1FyXfJzLN0F@ak1FmJb7H}QIb%5&`t_M_M zr~;_UP!(_k!wrCH4AlVD8L9(rWVjJ<69b0uV!$rI1Jq!s0jSAP6Htqx7N9mmZ9pA{ zI)J(ibpiDl>H+FA)CV+RXaH!)fPtqNW(vU2Qj8h}GzK(bz|c^P`UGI;Cq{JwFtih+ zHUSvAiBXw=+W<`&F!&NfEdjR!nlUs3G-qfIXu;3|(2}7gpcO+aKx>B9fK~k3ScTU{ z8?I@CnmZWo0JLRj3uwpC4$z*VJ)i?a2S7)Lj(|=Kod9<-+zD9Cd*;z~^ZD1!qvsYd z@aVYL8F=*Dn+!ahg}%D0PbSA3(%FJE1(-gH$ZoW z?tmT)Jper!dIEYe^aAu|=nd$@&y73W*7{( zo8fN25QZUup$tO-!x)AEhBFKY{Qed(_wiHr;i-RU6p42Bti@HR4Ngpav3J_amiSPWRgumrG_0hiur8N)Kba)#xA6$~o?D;ZV- zRxzvstY%mZSi`Ue@Cm~wfKM4d1*~OQ3;2xTGr&5Ab%4(qJ_oF4SP%Gu;S0c*3||5^ zFl+#9WY`G!is383CWcLbuNl4uY-ZRD*ut;{u$5seU>n0Wz;=f1fE^4w06Q6W0={AR z2C$1^7hpHTZonP}bluap4BrCwGVBF>$M79sAHzPteun*k0}KZM2N@0m4lx`89A-ES zIKprQaFpRF;26U(!1oN_1Abum0dSn*IN(Qy9|1mt4^Qaq6bQ-~cu zKV1gSiV47upG4~*eI7+Yv$=~8yXSts5BPI{`|+}K4Laq}-v;1*xSR~=R6~Cmfcw!F zvCREsxw(e>!SXP0Ki9|n6!&B0<(j;x$;Xfnke`A3nF=s)KT<&k?k7rO;C`Sr{AtGh zJfARdKTa|~#r-rX4BQWs%E0|Bg&4RWr7#2clf)RfAEXEaIyKN=0pNa&q73MiKz{>( z`yq-m6bD?v!2Jj%7`UIHBm?&Ylwv3axRT*YKxu~3fHDka0A(4<05+PMnQbf!zr{rT01!JtrML7rtwR%3x4=7qV(m3XEp@=fx$Byqxch! z(xwZ~d>wygGoINJrL7m9*%p6hJD%AQrJWa^`6m9%EMW@2k^|nC>=7-_$Byz55Bd-c;ZNuj{fe6V|e2GsDEYfW5)l3Upmb%<6ky5<3vAe z&0sHSem0!(<}l2A%_^AY=d?~PIJxBsKc`@tpT|0R;pCGi{5*nq`^|Vkq96E7`?&eZ zSinm&*`OCyh&$&^s{& zzxjIjM(|RgPb0L}^j~g_a@~a&0cdluec@M+?d`$#gvAp1l^JHSN$h)L(++K;=&)m z&+$KiU+{ANHA*KhJd^Iv_7t8u9i=nBf95QnITxkhE0j^pRXo3{=ilJ@)&AR;we-jR zW6N0n%a^eHi{&fBE3P?rdYUCQE z5>gqt7P$_&9;t#6e=PXD=~%X=abIAb)mq-plYDFE44Al+?>fX2tW_ zknBhfBqx#!$&KVe@*??={0J{6SpX$3Cux>1HXnj~8R2<9Yj72zVCJAmGDWf}f}Z!b z8N)vGun)cNe{COnjL&joIH)PYPy}!}!{vaY3`GIO7>WUkGZY70!Egnj1VafxNrsYu zQVgX4S2A1)D9unBP==ulpe#dKz*P)a0m?Cy1C(bd52(OU0Z@^lBH(IDH!$1)sK!tYP@SPV;6{cU0XH$+1n?L< zKn;c(fSL?70ks%v0ctbU2Gn7w1E|YT7f_F(9-ux$eLw?-27rbP4FQc98UY$JGzK(b zXacyI;by=s47UJoWw;e^8^djYrVLF1w=>)hXvWYC(43(;panw4{dNcF}^kL`&=*!R-(2t=Xpg%)@zyO8;fPoAH z0fQI@0R}S+2HeeXH(&_E5WrA|p@3lw!vMn>h6CCLm7{M?C@DRg8fQK0#20X&>2;fnMM*)v9JO+52;c>td3{L=_WOx$r6vI=1rx~6G zJj3t|;8})e0naf!2N=mP5-^Hk6ks&NXuueTF@UiQV*%qB#sQvZcpfmGVLV_0!vw%Y zhKYbl43hwp872d!FiZhVWta+>#xM;qonbm)2Ez=%Ooo|&7Z_du%wm`Yc#+{nz)K7- z0cJDI2E5GhGGGqF9Kb6KuK?yU%mvJ2mfP=3=06SF}wzNo#A!B8w_s% z-ehu#sUS;46l&0Gk*#0lsGV z8nBsRGhhqD7Qj}9t$=L|+W^}cwgYxB>;UX!*a`TC;Tym%hFyT&47&k)81?|ZW%w4b zmtim9JBIH7`xy2C_A~4U9AG#AILL4iaERd$;4s5sz!8QcfTIjY0mm4Q0lsJW9`FOh z4}jwg#{oYw{0Q(Fd;l>J;3tNk0BHy(y$=)cqbES=52?_>UbkMdviAO8pT z7GJn`3ilIEq+fzQybHZj=(IZ(Y+vY$!uDCUogp*#AztWr0=dEVh2AD?XXb6`15}-U ze4~~zl#&@YU%?fKl+2Wxng6{W3o~Y>s#te1GsVy+g{taU*9&WQVLdLawZ$EOWCmRo z$=n2o8d3TiU4}Sp!GAp0hR>MneAC9^iuHC8-f+cw(_fCab=xH2iuFO0@L)Fs;fnR9 z9l{msaS~^)Dw+lfSFBeJ60TSuu2|1QUG0HJxMKZ&5NFiyEi?L#TO!oGoLoZ=4MZyPpEE9i8yex}|7On;#G)PHlkZ?8lph5oT zYVhGA@7!9!e3+LBJV+i)RqPb7kLjFBwXYjJ>YhEh1-IUXuf0` zJaEa>9zceRykBUN*3u+*4nG*U5;c zfcUr9ZV%TSPv2$M!@df8N<*K-?Ev+QwWrm3iFO+I`O{i2tMwM`EN>zJKdbc@&2=fFwf7w1?Qd_NI(3sI?h}O;xMv&RVDvTz>gR6`*!J^t-WBiS)$$PQfIBrvf7KHb#dt~tzj^m`QBaMw=~K zcb9r-4Flnf_OfU_UFxMZ43jh39MO8a)JJO=L}#>DMCaBlTyxyC0|r+c2-h4p?XcH2NVw*>X%Gy6HxRBlZrTAu`VIK< z>3rU$3|I~%;qpHQ{2MJ?bKJB8rZ5-?*Bm$PfJqq!&dUp_5Y`jcFCs*5S(5yt)=17YaaGSv9&=Bv^6FcF1A%Ef!4yxJty@ zkzhqGD`Isn7EJ*tCt{sQuws`L|MOP1z8H&9j~EeYMC~FYMsO?PL3OiTfcn`QVUlSc zR4q)R`q?mf6Ko$`5j?1&Xm2NBLusfm+AX5JlSH>@4HZUfD%!hA)KqJzFj`B|-bT0@1=#*4N;iNGNh0#`s zmMxi9r2Dd9Jh;k;YemeNOu3TP{?=M;ooM-!sesnjS#5)8$;p(WwGCF=BwFEQDx$Sb zR@*9Cv1BT)wXIg$CR)j4Dy6k;R{KV@vdQ#Kx+Vd0lb8aqN5l%r*ogniz$}^qa7e^! zlCcpN!7Q2ra7@JOld%yO!7Q2r@S}(~Bx55kf>|^L;Dm@?GB)BOm_<_nPKj7685?mC z%%Uj(=R~ZZjE%SmX3-P?C%gT$ZIq0SxCmy^6oAYk-ja-sxCmy^6oAV_Y?h3TxCmy^ z6oA|!woIlr`Zt|Bu%YD_tz9y;*IIt7rHa-mnYw5#)oL-(x+PP0t;MWXOtfCf)K_c8 ztX5LA0m(E_YbC8#Mzq1nG(>AQ=i+v}cm(Ij!AfwOXQ$Nv5${t7WzNqD@GqNm{FKwZ@`NO{QsDYizY! zM4OpRv$S@L)tZU+ax%@)S~IJ)6m4EIy{fgAR=Y#A*OTc@t=(a@cA~wVOz&u|oz*&t z_F*zD(po30-6h)MWLl!NyR6nzw3W%!6MupUhtQ}99@Iy)HOcg;-di85^%w2)WLmGa z{#F|#+JsI@^>8!FnCWZJ5=p;j9%+77(GYi+pI?iX!OGVRsc{Z<DTO?(Ewb8T(Q2hoU9By) z+A`4^q)tD*a}I3iD>OMzmW~sHxuD8mp}pt$7Ny(Arw7eJ)y?6l$xr z&#ksmv<@lMQEMBmwpp~!DYQA=>le(gUsC|KiP$}bdg%Rav-{g2TJIF{nYQAWXr_d8x^R1R9+LI~t zl-AO$_N!=5r_eK6`_*b^M0+-cp3~YHtDP5ZWD1Sa+Ig#G%3%*}$EMKpTFZ1{;dja` z+Qbx^thLNm%Ocve6q>HJELO`V+N>0MNo(1xmQS=fDfEig@>wlOwD~FYs@9UM78C9D z6naZ*F{_ml?VS{QS8JuLRzb86QfQIZDp;*>PTRaoQfR5x3SU?#pNfgLB866Jt(etH ziuOqgt<_pdtCbb)^AuXIwX#+#FWQC_+NibiR;w)9<`mkhwaQkjD%$oG+M%_oR;w=B zHz~ABYt^k*L$q&GXs_04SgoFD`%-AX*6LZUp=bwF=#bVLTJ2`hj-=2rt=(+3+eG_5 zg^p|OHmfxk%}*iHT63$l7A-A>PH3&Q)!K^oOA4LTT3f4i7VUHjozYrntKB8qxfD9D zwY#j=OSFuslqppmC-t&gAJN=YifXNo)dq@oNh)2cwSiU}D%xeKluc_xtu{im9I2F3 zYa^`ouxPncDX-QZw%X&OE0juwwRXa4zlv5Ql`hxX zuU0!FTJco6LThKNc22aCsZ?5P=d6|~mwiVnn@Z)hmMPbTBN11$>r$zz)?BMaMXQ-g zwX_zsS{Bi2r&1lQWwBZ|(dwpBJ*{Q4T29gGr&0s0<+NH}(Hf>wBdz7NTC!-3Q>ls8 zlC4%)w3}1u7OfSwT2aw%O{LqkR@7=GMQfT$w`;AW)yjz0ES1XSQh$J`2p&{HwC1VQ zLhr4D)hdbBGL>3st&-KMh_jrBtu|4#>tb}h)+SnQ zvS?LeR8?z}tu{@x8)8&VYtyVYQ?%+ax>0L0t@e^=H^s=)+DlfOBU+6Z)zsP?tIZRw zR*Y(EZJyN@h*l>?3-C^EukeBK;41T8zCpx#G1`z$1hZ%gz*Z3(#;_6JBbY@~0CtLa za||1C5zL|~0N;stTMQd<5zL|~0Q*I37Q;qd1hZ%gz)=xf#jp_jN<`^B&k7r`u=0+3zAK{0H^MKFt|0OS>MXbc;15zL|~07)X=8^cCi1hZ%gKp_zy z#5-0x5zL|~07XT7B!-Rn9>FY{0#HK4C-AP7P6V@P3P3p#pNU~3zDF>NrT|Z{_ z;v$$uQvj|LaZC&waS_a-DFD?(9FI4WbRw8VQvf^>C*wULod{;p6oA?yPRE~rIuXpG zDFBT`oE5`H{CfnmXbQmXBF>IsBQAnjGzFlAh_A%35f{NMngY;9#8+e3h>KtrO#x^t z;+rvS#6>WRrU0}T@$DEk;v$$uQvf=N_+AVfaS_a-DFEF?Tol7bTm-Xd3P5iWm&C9U z7r`u=0?=Q?6)|kYMKFt|01OgwbqpJE5zL|~0K-IF8^cCi1hZ%gz=I;Lk6|M&f>|^L z;2{w=#ON#i;qg#lL)#h~n{hI2k2Rs4G5Q9@?ilSs@okLuqS%KwVH5{rbQr}EywjpM zhWAkv$7A#(3W|*w@oLcw!6S2d-0rXHBmND3HNU!lqkog{oy_Cc7@J|VUlWUp`}J!0 z5BrbteFUGV#osO#As^$9^T!+J%_juY{HfNN0cVyx;ZGGz^IzoqG0m=-=Ff&R2jv`; z^HI)E^Iu2tdYb<>7AE)K;V=K8xhLhv!T99oRN{{wB}=+Vi)0{vOZY>-qaV|FGvD^ZetUPoAIV`9FL9NzXs+`DZ=< zJnmA3yGCV2av-^p0!S)yIl^}<MAZ=?^>59yB#Ldk>Bvmv1!NZT5;7Z^gYcccUPWF* z_|9H$A#Wq^BJU#~A|D}(k)_CTWF@j1`2<;utV7l#Um_ckO~__s3$hj2j(mgcM)o56 zkb}r!;(|3-T*+5;=vOM$RB-k#opz$ay3~CJ(F3dXx!qktmWGxfHn!$&Tbi z@*??=f=Dt_5-E+8Mam%+kgJhvkt#?v5KG71|oxzA;>+*{m2O9VdN3yapXzlX=Efa8X1R7Kqezo zkr~J=WHvGvS%AEbyoJ1nEJ8j;mLkiMRmdmEdSnB#5!r%lMYbc~AiI!nk-f-1WIu8c zIfNWWjw0V9#}Oa-2|0oMf}BFmBIl6vNG1or8zh2cMlMCNAeSN8knBhfBo~q!$&2Ji z3L?o!DpCk3id=z|K*|R9K)5RSw>6>_|Y1z@kjr( z;ozSP+kvA4qBloxM1PL{h`}6#5kokJAVzSEKxA`dBSv$KMvUVahnUDQ5ix^f24WV+ zEW~V%*@(Fua}o16<{=hwEJ7^hSc+J|u>$cn$J>at9BUC9IW{6Tb8JTBbL1mF=J*(~ zgJTEcGmg&?J2`eD{=xAN#9ofQhbia5q`3~`dylte^1qKGmaWe^oODj+IzR7TX`sDY@(Q43L*qb?$o zBNNe(qamU(M`J`Yj%J9K94!&8Irz^($>PXDwCCVIq@*K9M?@EnE{LuiT@l?lx*>XS z^g#6F=!xjf(Hqf+qYt7VM?b`49Q+4m4CWY&7|JmeF@l5t0E%pmY{b(X{HH^V<`|85 zj^jDRc#iRi$sCgrIUG5NsT@-g(>bOiW^&9#_3}43Wo?hgiw667ep_yNLHV-b1YCSdZAqu@SMEV>2S3BOkGqV=H1i$9BYS zj@^j89D5OmI1V9>avVjR;5dOe&2buWmg6kqJjZ#&MUIPzD;!r4S2?aCu5(;R+~Bx@ zxXp1Jk-$HDJpunSvBDgM5k)wPAd)ze5XCr(A(Aszj!}qbIi5v~;TVH>p5uAM1da)aNgR_9Q#hs|ayW7jQ#qz0rgKb3%;1=T zc$wp6#4L_kh+K|b#H$>yBIa<+LA=KC8e%@je8fVIg@`2_OAyOBmLu{w@(?RIRwCZv zcn7hDV+~>*$2!D@#4P$C5legqZARxOVu>%NtqisTZ0FdH_>AK-#7>T#h&>$mndh{R zV;|y6jxP}hI1V5Va~wt-fr(F#ZT zyzP{O*jh1^1u;(HSf97uau8cDhO!_gDty7`ZO0tM){LPnh#3lVeBO4=L2TU^%7U1s zaE8y@&N+y!9Ya|VvlZt0yzQQY*!nS)1u<9Q9G|xxba1XfSperLT5C>8A#k;d)5e1!c|r)Z8*$ zEeX4%>_I=ZvFws#SCn<|Q%B3LICfQ8S3f;u*;U7`E9>E>UY6l1O}@5U%KG}LpJlj) z6ISRh_v<#$PlGJO6`ruWlnwLKaLaK0C#;yVY(I^%3|EK3{L04oX{=?qb`+MP>;*qf zvV1$1+?=3#+VbouAfQhU;u$HI#km zr+mwB6)vonvTc6aVOcH5>MGmmr(Kre3SM3^bhWi=9x+wd_Pd6;X-40=0mEG}Ep=9&Dx2t2_lqDroG0SkL zL|(0jvb&S%9?NhaMOaT|C6ei0%W#)PSZ`&ek||;t?!gG_qpVCam9-3aXoU4sRwTKE5j*V8$=;1Gw|BrzFud`H>?VKbFY z!KbwhciDvHDw~!}(=Ee2IAO0Uo0&{6TZTJy!saM@J((6+hWmHI<|!+ZN<~x6f2p{; zC+u})X{nTM8SecFTc|9QN@2@zXHeJ@WzkeBV;Sxn3R|YELMm0X40jcUy@=hrFNF#UZ=2)$~vV| zXUlLWRM=)^52sRh%W$7mSiZ8}snpjp+(i|(RoQ@48fY2ru?pL+Y-lPCvuwL#yOoVd zrID85{;a&(US*?F>1oSw_g2^;WzVM47|U>PSJ+WyV^isQ%W&sc*a>9^)95fBH~Pa3 zoD+_nR(2|lPFse%#`0=smHn7T=PkoMWnt%)#nXr^!yRW~7nNO4qn|Cq{b*rVl-)_A z-z>Z0*i~go=~N64H~itB6!)^_)vhZmo=&Nj;ZC=(8_I&|lwld}gA2Q@ER;?qExYYl zLSo0?@3)msr!tn|9=g0*VP)0QsfJ~R9V?=&UOHu3hWqdGYDvnPrc*P^aCcr6+28;@VHwVK!oa2fL2(Bb1Y$fl&uWVD$Dvf)?eA`0IjjCzheWGtqah4%Wy&_ zpLCG2jRE?=GMt|Y8=`DWfbuQF>6)4g~0H%W&o=?0IG12I!b&I1v;!LD`7_owRI%W0RD97ohJg zo8;IOWj_SyoMkv`luwF33hwvc+Aaj>l4UrF6gE}al>o&po9ftfW!D1qAIorxDX%s| z*^L0*vvy>GHQex2jzJT*lVY$kR1<7Ywu4At%O9@hO%W$?T zuQo^7y+I0ChLcxeuPF-$sgz|nmlZZ&Su9AUEyJm;u!YJh2C0%|3msdctZI;|S+>Nn z<;rRWskUV}50+1wrz|r_4K2%aY^AaXg4EbDoF&Vvy`!vIkXl%VlV)LSlw}2}tz|fe z7Pd}V$Dns8?JkRPK#e#4kie}9y9T|(X$Nso%}^G^c7;8H-r==_ILKxw3*s|{eS+TM zwu3n6W+)3{r^3gA-r=`{I0$Db3u2GLp+WC(+(8_aGn56fPhob@J3M!ApFmjvzf?FT z=pC**h=X>1MOhFB6pjyihwl#JAfBNth{Fme2ff322XRo(P!_~dg`Wn!!+Qsh3X}!# zxWc~&y~BM6j|-Fq@RY(mLGSS2K|Bb+pIR2gj|#sCdJhLUhzA82%7Qqr@av%W@PLDO zkbt2qhzkmj1igm~9K?eL3}r!FQg|%rJ$&HcC4sU4URHQ2=sld^ARbiUSCj=o3eN<+ zhZh{ggA5F1L0nV#W6*oJ!9hIez)%*%FAD!J=so=4ARdHZC=23Og+B$oha()sgAxp7 zLEKSDLGR%S2k{^ULs<|BN$xkB{{+2dz!e4{l z!x;|ZK@EnoAc`rx6QtklHxxY0;k{Ae41Og3u8huXSG==d0EypIppEQpVHW&+F$`hSRz*DQ!n;z!~qWa648aV;jKqw>JcD@_GZynAW;$jDW)@~wDjtW%?7{5E9KamH9KjsJoWgvMIg2@m zxq!Khxq=}~0p>d97tBq}9ZW(R9&g6ngGs{#Fd3LIrWB?$W@b7b*T>AkyoQ;N`MCuC zeoUcz@oR}m#1zFOV^T0_n0ql9m{OQ1rYxocrYfd7rWU3)rXHpNrV*wwrYWWwrX}V< zOctgyrW>Xo=26T*%;T8hm=TyKF=H_AV?Mxa#cacD$9#_2h509DFXlH)LI96@WA4Hv zVv;aLF+NN(=59<1rZ^@Ila48Y31BiXAxtSu1XCJQ26Imk7E=Nf#AIMfVj`F*rVOS$ zrUs@a=6+0FOnpoPOmj>tOlwRVOnXdc%tM&&m|mDiFnuxoF#|D!F;8HIVMbs^VxGi2 zg?SqDEM^>L0%js+5@re}2Qw8j4f7IaCgx?#EKDxuRm^P69L#G${+=+;dp{rV=h1>- z8+>!2*JXJ_mPN8GfxtuSOM`eCZYjQ@F5_5+$m7UEyv^}8Vim_K#Je2tBGz!ML9FFi zi&)RG9{v#j!zJub9|22#jy*qn`1X( zFUMZQK8}5e{T%xdUvYeeILL7jahT&U;wZ;a#J3#ZB93z$N1Wt1iTIA=JH+=K-y_a) zoJIV=@dM%<$2r7#j`N5M92XE5IW8iua9lyeIpT<`99Izq90iDL9M=%nIj$pq=J*+L zgX0F`CdW<0Esk4=+Z?wMg)$I@GVr@DM*^YQ38>{k%1`5 zQ4$g1h#;aIQACU*hA7QZ8c~L$45BPYSwuOGa)|OA^)ZwUusLN3oQIDe@ zqCQ7`L?%Zjq5($(L_>~-h(;WZ5D#!XfN0Fo7}12I38E=SQ$#b4W{Bn-%@Hj)S|D0- zv_!PxXoYCa(Hij}$AgGA9BmL;99f9A9BmQpINBlFbF@cv;OKzp$k7qeiK7#uGe>7c z7mhB7t{hzv4{Ag^ zF#$1=V$uSf03dbvmT#j7CUpW4Pn9VU8 zF^6LgVlKyA#5|69hy@%A5N~k2fmq0~5V4qJF=7eF62zMvZz7g+EJv*1Sb=zp<1NHW zj+KaaINm|5=2(qb!?6ajmSZhqJ;!>)296Dg4>&$RY~t92*vzpRv4vv`;zN!P5&0bX zh`(|C4e=4jM~JN)TM^qhwjp+K>_B|V@hM^_$4g`* zz!8okh+`bb5GOcJAWn0fMx5a|gE-4^7IB{AJmMn9MZ{%}%ZNBf98thgfVj?a9dU!> z2I5zaUlF%CZX*&xh=dTn9di^xByuDoigFZ1_&9usyE*Pgq;RAlQaMr)X&h;Y5*#HE z!4Ur@pW(d^Ey4mc-njp};IEe{To|H7 zc$LKhS$TU3i9BU*hP(}idp&G67|McpTjBDMw*hewn-PYxAXX`SE97lZ9K>dYp)81Z z6|M?-8yE+%nPDgkVvWMpA#a1@AT~P;WkIY}_+H4{06B=w5JOoI>lLmKc^f1Lu~}j$ z3u1%9jUjIX(F}mZ2<&{R$6-ybZ2{*z7Wt1@V=_BOz}C>>xJ73}rza zRQPSk+aNo5P@pV;hZUX((MkJXHFnhA8+O$0yTqvweP^1{ATc0NS^XBqbS!oFAb6TUX=t=%sP8gKj|foBz7!B_V` z5Y12)#19H7^G6_Bv2$_j_6 zh-J7w5>}urF-%F8;p$1)HD$%ZzpP-GGAt{U@jFXU z77A0?vINJ9C@UGJQkE5QEKyk`Oi{}c9rG!Rg{ib5T?eKRdlS9vL<0_Y8mb`$k$d`S+g)Tw+we7gjG@2B1|nUtKwKy zWv#;0+On#SRa5q0nA%uY&9UmrvclBXGTi-;udRl%c42C7Sq;bTQ`Rv|oh-wh6M40o z%DUj^xmi}zv0BQy;pe$ohPy8EYWFMa9;P0a;hv1J+RA!|=@H9t$3|EkW&Og`-?BQ6 z)m8Rngr35mRr-f3jk=E2Q}%R(Mq7q^LGnrKD;pc3=Pj%6Sf;Xx5t?LKreh71mV$tP{0Y)ypLS=Pd_ zmdZ9nXrpB<9c!g*ON2hO40r70leSj2HA34gYwg&B%07wErj)jRtes=+m35jtsE2gf=p zI~}1jmf`-Td~KbS{TQKhmUVKhv$Bg3x?~ydeafqKQFbLlam%_m)>YZH2wk@f_f6&1 z9#VEALN_hLT~%S-l--HYZ#M9vl&V^WJJ9lK{gmAorJ9!YbF9CzI#H@;S%1eKRn{;{jVycAu>s1OMya`F0~~uy zS?egZu?+XcOPx`pBeo^Xg+2f8q zp=@B323z)oV?&e;iPBKZhB!7<*~ln8X&LVH%hxtc+0#*a#xk4(2pg{KxhOqv*>J~3 zDEm{C{%qL@$3`lf7NwUg8|m1S%3g`mEX#2IAYWUyve{9ZV_CLiPbqsXO7ktl*@e8? zC}j(yw8*kij*V8fBuZ~uHrlZ<%2q@v&$2O&jaBw`lvY|c*0FKQR!3=#W#b&1pln@~ z-nVRmV-uBq5T(tQO>}IMvivCh&9X_3O;NTjO4}`);#iKd9Z~wkvK+^zD*HT2J1xU0 zko?P7W*c@eNqIA|WoO%hHtL$8q&RaIuv3bgViqd7v zaAGE}wm{j{C>2*+Rz_D=QMCMEptkf4EFp?AQ`z zz8Lu}TjJQ8%I=9#s%39Fwp`i0F$!3=+_4qPO2#N+*$T(rQdTBLWi5Nlv6ady#i+7n zD;;}BS+y9|uncF9^2@tg*?lppW!Y-S)+nnTqdJzYacr%!`Z3D1Y^`JKl{Jdd1D36K zY=g4KF=}ENPDJG&;R9t&W7N#D4;yr;hDZ_IS)YhIW_5J3YZ4lCSQN!l5zm zINHHO0%gIy_ah2N#JuBb2agDp1@M@{?3j0)?cgzivH+e?I4b5HcRP4Ope%r=6+RR5 zj>8>1El?J~GYZGVyyJ2Q&j^$S@T|h;W8QJPgJ%WG0(f5G_?UOx?%;WWvH)IG_(IG( zj&~48^LXPA$uIb2g_C36alM0=1f}Uh!9fvH;#zI4kBoZs6c; zfwBN5gxqmJZp?ce!9hHlz@J(cL=lCvW8UKm4&u=ThO!_M70$u$Y&Z>a5Y12)L{WvW z#k|KI9K@p!3}r$16fTH)k3%?!MoMZ@X% w>D?Hu#`0c_)?!%~qxD$ckI@D!8)Nh}mV@|Kg5^kzzQOV>z71eG9?Qx3e~2{IQ~&?~ literal 329208 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 z zz>(IXApe{bl}u1-&OHK<+*>I@MEnI%hD1{~mp@~}RHxSNw9K;_W```+w297kiWKIG zJZ`vK&x(vc<-v2iABuhkSWOZ`I(g1#T zaD7iajkCA3N6};kJ`!wuKMD?a|0vWr()|a(%6aFY$RDRPh($=VeL<*8|Ky;ZnJJU% z1nJIH^p^f;kaMx>1E|Lr=H&;$yvLw;GObSfhXB%b2;w*A%*9U4Xi1?CW!e%B#K?@x zX2p-<$~68J$U7a2uOx2=yHVkK|6xGe1ZduDTcX&qP+I1umJAvmsZt+ChNSXnLkkf! znR_>2NbK{+|2gxHr%{S=5IO1%fluCybrDF>a(IO49|79xCy$FFSfgF+a|M^cVQb5Y z2nGSsA>ky6Fz2HfNn@Cn9|JLNv;_yzMwdnQsd|->_;@_+cM^ z#F!mQvWpK@M#hGRCWc3c#zrgo;X(ZqVAs=mn!8(o*INsQO)hLWup(-N4=wR#7a3ol zM3<-+9J*l4GtoN=>YoCsoWAALsBsP#KJsw3na=<<*I?^+0`out>FRB@Asm@lPCvt^ zkk5id&OyWH5myrw{%BnyVPth}DBpHNJ?o>(_{0q0@RewX${Xe3iaA;wG)4{6EPKI!NMBAj#KNxBi4|+bP;d|R zaerh4nL}U3aQ+II;|aAA4Y{3GDV1d-vh1oCY9nYeJ$%^tD(Gt1+_(Xs(`jqNON#nf&x9AF{dHiBgk;{jfxkd_ z-rKI$(ghiebO7f%yA>U*+_Nl%Ez^Yap8hWY=iXn7Sf!Fr@34JV`K>hvH(>6C2@g1w zCdW0r6e*7oPIxhgAB$154Q8M1C>{r1yT)+5gZT3P8l9d1<;HLqIi}+ApkgNocmis> zsOCvLcu`zw|9|*?bQnpdiWBv1070Cn?;_{;g?Guwp!U{*sai0PV96vs5!B41qZUvg zAE3UGe)IJA`0V^?t3-E2Qbn!|ueUmq|EbsC2he27P61^XVBoo88^2SpsU+q?w6A>S z4I#?pJPG9Z=@L&xAISrdzH!H(8i_QM0T{rN>3SB1-IGCF5jD=Dcp8XvwPnnVS);w= zuX?Gq8R`{f9(GI&GC%5n4Pq)F<|(KxqQ;36pNdD$o_IQHb^PHB)EZRtLf!Z+s+@M} zL*2yS$vi+lNc~KZ#R(gCJDczp!g8n#FbnIm$w6B=f_L@wW?sHCHlzKMU!?cTbu0dDpi z=(pf21Dr)tJ3)SBK+l77oLN$8j}jBf@6n?^5CTaVt8{3Yb);?#zC550MqVD|#E!xD z2KAxPdvqv}U*Sie${_+d%wPB<&~Ms(=#>%r@_zg?YWRgFtv*6;v!>Vi8-5$*-%#9! zVjKmuoB9N5o2k&w-Mx3QR;@?@WGTQTF9K^DK?g>PrLpmWykV9G2Z|%6{xk-F;w-dn z%r6`EQn6DyNHK6H?dEQ?jqb|P&x?z}m6T{pavUBV932@ej}4CvPvpl&CWiE90N688 zoDGQO)gjWblUKTgK+EI9<%x+(F+VUgGBT7m^hvU(vg60xZH;V6|*n@)AZLDdV#p8EToQL9jC|Fs=dZal#ejmj=iaSxT ziev$`AD}QW5ci_?LlpZ^;LNM@ne<0^+>hdX6c?bl5XD6(3Mei{aS4h8D4vDFKv6_d zLQzIxqNt!)M6raTisDif2T{~e)KN50SSXq(4xwnFuu-&8bWj{dv5evfiWL+`QCx=N z*(feYaRn8g>Q278y$-L{$Vv4%fOI8_=c2d@#q&@+AH_>hycEUDP+WuJHiCGoMW9ct8*%K&Z5pK$B}4U|2U9wGa@(%RBP2n zDz~8s=WYi4ucFwFI6Vssq|p2SXgdoqtE%>I4>-WgoH+p~iYTI@7)YlG3?0&-qGAw( zA}OWVfn9*z-HP4ag`y&g7>I;|qGySPf`0e2pS>Pf8{Yp5zJ6TSZ?Bs(_pB2$bIxA1 z*CFG_m3JCHj)5^QVzK@&wrK<2Za3#ms=P^~p~G5^Xf&dAvzDz}HEUcjV1teCMvRhm zg0eh+}$^-^Pkq#-)ibObol6_CXSynZiHMLJ(vx+We={i zRT-{=`=_ zu_xYb%BT_l_^)F9FJ3rnXNw+D!NK-mqE6{iC+NmaLy z0f0WAj+!`m%Fr=#IW+A&{D&`GbS4m;lN1cvysPcWxWne}e_e3o|5&SD zA~3#Fwkw%1ar`lyP)wNCX*_$Alus@%7`A!$@ZYZOH_^854ozv&Z|-PokGHxDVz_c<;TZ4eZ}5>cZ?PFTw%xBK&W=@r)mK410JDn{w0;?YR5z+c}m^ z)NA3isWWWKs4*kj)EURe=hX5xb%xW3=$uQQx;7{fftFg!ala-6f_I*K}|MNXn zez$h`zl?%D|I3HY#ve5W`)|f2cQ^e3uyJJ-K9h@ZelC~)?6ZFRpY>-wy2N91dK8A0 zw{9_fM3do7Ta}M&+^A9W3SUdjE9LNmRNr!=*J$&8#ua{&?{2c?-(BHn`Nm56i*n!= z{|q+q=r;bnEf~0EKa0((w8Ag)!2ja}fJq}p50TFGri~g688~7z8~cqKK5=|BON_yc z2HZ4cax@aMiLW$>zf#bN&j8l+aPgn9b>wV!(vT73C-Y`9WD9Dq@T)w|svF&X!72aB zi~Zl<qV%rhup#X)^%_P|MZEpkVVjCa_Aw4fpQmnY}Q{c@1hkB5xwr_=mr1IpYuk)VHIY{ zL--f|rZ=v6sk|WH$-&9tcRBnmhsrWskn4h8GmqR}#rf1|%>?E1gZP5s4e`Yxj3 zyUlsu-)Ol=ZFw$r<+-fyNt5UD4}Yl&HoOGu#^-kHYyIbscu#r64dfATczubD@2kOp za<=WHYvvzKGTrEfY9e>rJi2eWkjB13U7&*Xy)L~+jSI$Ax9okToz&P#4&CL@TMqr@ zaDW_!$YHn~M#*8K98Q$OX>vGU4m0I&C5H{(?$-CctbggZ>|xy~wcaj=`{eMD93JOT z(4RBqW5+P8Axjs>Z!m1afcoYQn~Z4MbVSqg=1qqVZ9cNq@YYQVhW8skwtUQZ7L0G) zDv0iF{gc@2-=8MKhc|28s(Gs>&6+i9&7gI`Kzp0s#NDjFgDrZMHt0a!M5PU)HpM@! zdV|ldDU-+RmcjqDuJ!%g$u{l(JUq3&FF8^5KYgt0yKH@X_@CCazROm(*8N}WD;v>b zSSzMLjA+zyM00+D%UiV?+M-pXCc}n}XxVt=@Zl|nHE!Oz(a4c4h7KFqvT>89&6+lE z)v9I7@|KMnH)+yhXzQj0TQzRfq@bq#BFZbK<5Uf!U%P_poA^>e*_QSMjG)>P(eRhH zfeRWp95H_Qz8ihqZS*0okEOx!W7!zC;rJ<&H~(9tebuHR{cD^2E^Z$+Zt}+M-}wII zn};^^ty*n4{vUUJRJqKej9<70euB}6-UB;Iqqz&?uH)J0I%%LF{Fp|;K=UW{+0pd6UNh2A3t%LeCIy@`8#`;kDIdLH;Uf$KkITo>-P)y z_x4}zBl+M&-)4jRkY47Y-Iz}E)Sb4pTWxrK;C~l(GK3v+w?-U-&o2YfuVja8tO+8e3Haq?Y zgD#-xrQ7Js{^844H?CeD^M5z|gWdE!Z1~mI|M{II@wYl={IH>8Hr(O7<>r2CVqfrr z`v3VG`Gwl>4MN^s>i_rMn>Tpx+x)uaopSSS*|2)^ABot*H@l4muf+p zi|J1-ZTxM{$YOp<{YXE*~qS&IMHt#?^R*{nm zisTD|1x4NY;FWpbeCw!5qlV#gcgIc{HF2YvxCN;mlh)T-!bQ-=k2@-QfJOGOGx1gV z{llmdUp=QF-DBMFF;hnPS1rxQI&oaV*8U@3o)uU-#4p#yTljPS5Q6imFN{q>gyke{3gq2LP1r15^`V635%Y=*1=8w zCzQ6qn&`KV2h2rqruMjcKTDCoC&b%dkx@#73{^p9%7=GD0VtZ-AU`i)?|3gA|X;k-rs&^iauQ!ML5&xf0 zgKaA)6I^ue{dPNPep`^M(1Md}%(H zubQuZ+G(e)jKA7v7rt6{X1+tdW4=?qbG}Qy>+jX`-DVZc$akMrVP?KZ2e+`2TU2RQ zg&FQ^j+eTnl{&5F;J&Hkz7_m7!j*z6E3I~`BK4=}_zTCiZ@S+qmAN(KPqLQ$MgArg zDwnyfNF`E*6q6JwB^i<<)yUSQ2HBnLLG~i`Nh8vfG$$=dYtn|aCGANE(wTH6J;?r~ zFX>MXAP12{$PjV_8Ae8skz^DZL&lS1$s{tB98XRlCy`UgY2*xY7CDbxNG>6>$Q9&D zat*nj+(d36x05@_ePlLyh&)0bBTta0$+P4I@)CKKyg}X}?~xD4M`Qu{jC@HJlcnSv zvXZPKKa!uwFXVUfCs{`ds_?p#N~DOCkW!K%IkGj`mTXUUBz4FxWH+)0*_$*VjY)IT zinJl^NEzu&9w0A}m&vQ-4e}28fXpKwlZE69vWR?5mXUABx8ysLCyuNpKa*d{@8l1% zmaHRxlL|#VA5uuFkRnn-QY1~Xq$;UKwk9>mwxlMhMRp`Rkve1-vMbq*>`wL|dy>7$ z!Q@afgd9eWAVbM;QcgyZF=RYBmP{g3$$iCT?m_Yhd5Szso+mGnm&xnJ^4IldbbOoR z74F^QE~{6sc5}7(P>YYW_(Y3^T6~Vb_D1(*ao5!xR=dRli-BbV%YbhMz6HJ)_#XIC z;74G!z-r)kf!~2Y1^xv77Wf;eSOQcmS?wwdR0fI!ihz_r3djg#fNBEOfEofdfLa2z zfL#T41@;!$8)ziZ2xu?R9_S#@0q7#o1?VZz6X+w*2k0-*9~dk!7&u(uaNtORBY|N8 z!+_xe!-0_kBY|TCjseCBj0MICi~}YJOaP_`OaZ0|Oao34I0ZOE;0$28z;xhTfpdZL z1JaJ_SA#_zd_$;0s`pz#?Fo zz%t+)fp35n0xN)30;_-@1%3p668H)DS>R{jH-X=PKLq{&)(NZwDx`o4snxDfpb)4c zPz5L!CHhBrpg#NZ=sgV1a{yLj?{64i`8a7$z_b zC>JOPjuto?7$YzS7$-0em@F_Em?|(8I9cFi;BW54cF+BH$8% zOMqDdvw+J4E(5L-xC*#N;2Pitfg6CE1#Sjz6}T0+OW-cx9)Wv+*#fhH2L&Dk9u{~Q zcvRp~;0b{zfTskW0-jCDJNt9d@db`E-HWO2a_01IG30uc%CS$W>sRXfm%4$a?!Z$1 z`cm%TQg>*nJG|5#QRMluYd^oB0qiM5B-Q`J*k1o|#n|5`nyDq8m!KT{prrlENZcS=@?5Xyr zX?K;ndy*O-imLr>+JmL;rKHA3rfL;S{LA}#se3c2@qwyZWz*g*b?+xNK5kVjGVP;M zH$SQIVXRupv`EYSl8PeNpPZOlldgRWt4DQnxgz@iDKp)iCXwQnwAm7P7zew)wF!6`zfh$0-@U8ru|y#eoJbcUZ~c{v_DGS+N8$GhidIj`@7T? zq!WKKoSLZC!L+T?t}v-_;-Xp?(~8qBmDD(`QLU$G*|e*g)Hvx;t&eFn(ynGw>*KZl zrqxcnost?SOj_Gu({@X{dP$AbDb)@)ZSS;ekkmNYQte37nxtLRq{gY3YQs!xm3I3k zHBQu28*WYHX!W|NNSuQsy5EF zA!&C+QXA*B38oECyOBwalS{2_ifN3CN)lKRhw?w^t3xWsd37y+PS8kmv$EYMiWl8mrdI_<911EH1Je= z)wFsUw?|T=`KQ_&rtO_^`y@3QhpN40TEmQMoYZJKsy4^8rWw~PsnM`h?LE_4W?ZYJ z_MX>1Fs)6-?U&SOlxl7BOly~MWl4=Dt7`L2>yUAsk{S(K)jlz;YsPg?YBYCM`_#0a z8P_YR(HK_kGt>HJT>qp-Q(3hyOdFJO2P8Eb(yA>oZE(gNoYZJ$tG3LvAsKgAQlk;B z+Bc>R&A4GnjV8KkD@+@napg&k2E1ykOgkpy#w0bG_p1G9+W3q+HmTA0SM4X$re@r< zq(;|(YCoHHO2(a<)aW=+?KjiT%D8iq8r=%2{bAbq8Fz6~qtijPb*9b8xS2_fE(z5t zq}H?)9Wb_l;_GOnWQi-cD+C?x?n_Y42s++@wa=k7~P__F=|-l+@@LQmvk8pJd#E zq(--qYI~UWdB%O2)b{Y&UZyS1xFt!AE+?(6zG=%d?%SkBhm>mjnD$-9tx9TiSE<&> zw0y?>l+@_VQmwIRzhvBRNsX>9)tZ_1XU45fYR$aX!nA^{tB_56h|^7`wY4&>a@JKz zYILHh*4ng^tSe1wbg`+{#uXy3tm}}}=#ErvplMyRu3J*0vr@G|ruE9Y-brnc*A6mmVAc&v zYIJmJZ3mlnaMm4?)aV9P?NHN>%(`JojZRY44mWLN)*Y49=t5O(m}z6PZd_8MgH^S1 z)23wI@kx#DSJjR-?c}UGC8-_lwK1km&$_dc8eO+q+c?wC%eo7a8Xdc;O*U;t*3C?6 zlf5?8w9B*Z%A`i8u-106X*XxxElG_oW7SSK?XIl5JE_s3tlD(b9?ZIjk{aF3s-11x z6Iu6EQlm3kwew7SF6&-QYUg?FBGX>Ux>u7L9obsjC8oWVb#Es%y17-GW!k%0_g+$? z6I`{+O#2|~<|VbuympmopJd&Fq(%q2)^?3)pJm;bNsaDx)ow6tan^mE)aZOy?Pk-K zWZlxFM%TP*x0<#h>sBT;I__1w%d{V}E}zuy^4dM7{hW2bBsDtywYJ%&{h4*^k{Uw- zsy%30LC#goB|eN8Fi`Db)2ifLQBq?#LA6Is%j8@(sXgkoCrsNR=XOkL3`J;dPnouJ z&h3)a7^qNf_uQ-sSGzrPz1-e8SD&Im&NZfJl5@={TIO79iZ(gdmZDwGwWsKia~&x< zcqZn@J=`!1eY(zzisODde1uaqy&r}H)PHS^muvt(zPS<*yCFWPo+Lkittg|jNm zaz_+)j2}aJp*yP39bKsZ<;d5J8M!rabR>>l|3$vGfjEJBFLTEhGArfS$ebiNDZ(j& zQwmqR;{=WareV);CvcqUPA=>$^|({Cx;$gxr=gr)=+5Bl>$a`n&MYi*)5%%nY;q1c zmz+n=Cl`$Zh0yawoZm+(%}U2gyU^5%L&$ zoIFXMCC`%=$;;#w@)~)AyhYw2?~=LX12T`yC!df{$!Fwq@+J9-EGA3HGP0bkA?wIr zqylqx3Q1*BM2bm@q)C=kCDq9`WLr{;>_~PZb;!lX_%NvKOgO8jwb$ z328=Jkd~wsX-)PeZODG4Eon#ElQPnQbR?ZfXVQgqCEZAO(u4FQ`;%UzH|azAl76H= z89)Y-LF52(AUTK(CI^#4$f0BiIgA`ZhLYi=oE$|)kGkk7w9-GrfG4a z7AI?Qsuri?uU+V-S7!8idS%AQ1?o*j|DykJ{9;B_(I?d;46WzfF%M;faL;&v8uq&{;!0y0a0($}b2mkC@3TrO}qaFxJSz%>Hb0M`jz2izcV18|eTO~5Szw*a>Z+y>ksa0hUgz+J#S z0`~y-3ET(F7MKk@EATAvoWOIyivlkKuM4~mye;rH@UFnSz+8d3zc}Q6Yz_`FTigCzX59m)&PGB{0aOe@E5=`7dh}Z zCQuQmBv1*cEKnIJ7AOWv1xkU8KnBPOi9i#esX$YpnLsn3 zxj=KEg+L3Sr9exdl|U;~`U&&{`U~_21_%rQ1{QU7gNi6P(RT;%p9701IGJ|`iEUGnU^(!uz_-8(ffc}a0^b3v1Xck*7RiTxp5si~8r{}6 zJ|Gv}y1J;lw2P)xcB_lrb|rG$zQpZN;%b+;ol4v;Ol;()x+QM661RJat5@RoDv>(t zN5_U7X>c)JtgUN;+O$L}YtF4}7jUM)z(Z?>AzYi1=(M4o4oL`0J4g%QY!f?`xXx75 zEgrjwG|n@kf1GFd`g)f{Cmp^%PC)o4H>r4mi33WalM*j-f+C_8z{MsWP!gTAc##tr z5w!qjns{(YbW-C*PH;rj0=Ue?!%Cu)9xrkNB%&6;RVJQZ5}g!zkrN~lwE(U)@vM^Q zq{)k%K#8aYaHEMAltd?0UgQKzL@j_@O}wlmI_dHvCtxCK0o-Zg)g{qMnHM=h6HyD` z9usdYiB8(Qc#n!&Al`4{9VO98ofkR5lNz-E9yIZ>lIWz*i<|(8s0Hw(i7%8yCxu?* z1W`mSfagqntt2{W^dcvaB5DD=Y~nj5(MhEjIl&ZB3*dDV-!F+yI=#pVsEAqsZ<+XU zNpw=`MNUvf)B}XW9O*daIPH zluG>Za}KWB64OdjE}hgkLsxCNY1LA0o2171yJ{;;+dk!XNNSwjtMDR*a5qkXB`?xx+Jat|c6-MzM# zX^*7bV@Zv+sn)iSX-}ry(@AX~uQf95`ILJpsnM?0+M1g7O3J;O)M)jp*21*cQ|`^A zMw?i*)~3Cca_=NHTFk1oHSN8Wdq1hso>r~BX&MA8QdKXkXz_co*t~jY3;I#uyD=l^Dq(;w#);8F* zT&b&?)abWR?NHOUE_F4M8oe5-4KZ!IQn!6l8{)OYO{-n%c1mjWh-hs`nzmc1tC!U1 zFHvonX$?wUqohV}ifSWFYgOv@OKKy$Hqx|(rS7w&HqvWHoAymhTNp$Stj;PyMD>~=r2?49McX; zyF-#1y=khQXWFo|D^F_lwW)T2X~(49*rY~JoN5=DHZkocC$)>bc8O^xq}@qLjb1#h zZKi2wq}`cGjXplrE;H@Iw7WQ|(F3U3<)&Slc9$o$%e{7$Y1gLR^+}E1L#^!^({4$- z+mjl7i>h5`+U&G@FsWVVwHr)(GVPv8YV=ELZ8w?rV%oi&)abQT?H1EsOS{*T8hx6o z-DcWbY4>(gyUlBNm^LTv<|ef}ympsq^V06)q(*P4-swH2eUWxwB{lj|RlCo$Z_;i> zQlqC;wb`cS({6QAqaRkaXHEMp?bal`_r`3GVY9|M*qHQf0=e}#$Axq=>1o%plJWN zg*q$aE>CKV4X9Spv}-f&`lQClfohdZyEWr(OKOZOs8-puyEE?Iq{gU&YQ?5KlyMIy zHO3@VD>dzjjC(SvF=C-w#m2qDuHAY!f+rhMNGHyjuV+=;M+NS-GaX%(C zMrc&q*|eWC?$@No_>F3HP5UF`)+IGYcT}rqTE(m@WI|W)-pkmJYI~VhoOP+B#>kLr z^-arWUDc$}F(X@D$Y@jigsahw~-qKmJ zfyPLuYMo7sXUPT{lQ}y-bT|$p#wZzN+;$EuJMC zXp9Q0*2lDXmTaIgW~^FY)8bjOfyRikYW+-$XUPT{ zMFad^WUyaEEr59@F3v?00KCX#01>qS=9~C+E}9_VMJ5Y~s0HweiA!?P1OhKInLtD> zfKN?anu{hFc#+8lB5DCFG;vujntC>>#2Rz!DQzUSu+ah*|*4OkA0ZCP;X3nTlEl z)B;##VmzNdctc@ENA%DAJM-zkkLT0>-Glk`JDi!{F<(1hC%Fde# zj;0;*&GOBeO`mTWPo~ee%D2w%s}F`_zNO*nd>ild#M$4zkZ)tSI^T=wr}^HUR_A-; z^r7rS*_X2K>U=+neyj8SDf+L@51<&ZIzNypC;36MDqNXAAeuv;KQO8-Uwd`_pw;=o z`GfV=L+sW=SLcW14@=&9#OnN!`JsC2Fmp$&&X?y$>a9oHt)o`wkI9eLTgTX~<5uS< zO?owPbXIX{It{1;TnA6J&2R+c}ZEPrBI{-m<}$z}Od%JQd`B{`Ru`9cB5u%JTP?C1S$Ii8$AP9mp})5sZQIysx1OU@@3l8ea_qC2oyjg_S5lYkPWB*sk@}WiN=_$dlC#J;X3oHMy2tPi`bPk(_4w*yVCGU~Bb@GWgg_}==d|o%iJ#& zqXiYeYVn&EziY7uW8IJn?vIL0&HSSxla&Sj1l9_y1=b0y1O5{D3;0{$Z=hf+pkOPm zFDXy~s3=eo*h*k4pirO?s3cGcs4P$!s3K4WC=w_FiUo>+5`hvRC6EG21xkUmKpMyh zWPq$d7RU+YfT{vjfocNPfa(I(fvp9$2DTB{2B;xW1K3tzTVOkZ?SPsBHG%B~wg+kn z)B<)8*a6s4U`L>~Ky6?rft`Rl0(F3$1$G8@5!eOTRbW@3u0UO2H-X)N-34|B>Iu{X z_7Kpc2lf%z2WTMB0B9)C5NIUO2xu(O7-%BU1ZXPI6lf;U z3}`OU9B3iX0%$4F5@;pR3TQ3R8rWB0U!aXZ8(=?y{eZRtZGm3fH=w&fcc6zr51^+&Phfw6{efNry@1{Vy@5Ug zeSp3KeSv-g{eb=g{eb}j1Au`71A##TgMb4B4gd}mI1o5U;2>bIz+m8DfrEiV1P%cX z6*v?aA}|CvOyDr!aDl^tBLt2Bjubc&7%DIn7$z_b7%ngz7$GnMC>JOPMhc7sjuJQu zI9lLnV3fcp;242pfYAb@fiVJOfUyE&fpG%kfbjz3fe8W=fMW%Y1ttni1SSbg0wxPg z2Brv10j3H}1&$Lq4me)mcwm~qG~fh*6Mz#1P6SR8I0-me;AG$wfm47}1x^J{6F3bx zUEp-!41qI%GX>5BrVC65&Js8aI9uRs;2eQ-fO7@T1(`oeBc6s3xEp+E(9(T zxCppd;9}qsflGiH0yBV_0yBYG0<(Zi1ug|H6SxexT;Oux3V|ztD+R6ut`fKkxLV+9 z;2MEzfNKS=1+Ejg4!B<6df*0u8-N=HZUk-;xCyvf;AY?!fm?uE1#Sgy6SxhyUEp@$ z4uLy>I|c3p?h?2QxLe?E;2wc{fO`e*1@05L54d08eqgr1Y~TTb2Y?3!9t0i|cnEk{ z;9=kqfk%Kx1s(++6L<`GT;Orw34teoCk37ao)UNpcv|3T;2D8ufM*4s1)dXl4tQSR zdEfO^Q511=37kFRbec%Iu4}cE^J_P0o%mY3W_z0LUFdz6>;A7wu zflq)10tRZ6Zj1HT;Oxy3xO|yF9p5?76~i@z7qHfSS+v@_*&p=V2QvI zV5z`TV41)&V7b6@;2VK&fNur91y%^G09FdD1ilma4)|W+dtjBoD&Pl!AAlbPegyIY zdB6!c;3t8ffYk!4fu99_27VFv1^89qSKv2+-+cG|lTLaq&Yy;E~r~zy% zur08iz;-}QfttYf0^0+%1Zn|02?*J; zP*I3@->;p6qXaF=6Xb3bC zXaqDCXbdzFXaY1X?CP2oQsi5@=5Pzv3l-+uxRxTcL}(?@3TQ3R8rWB0U!aXZ8(=?y z{eZRtZGm3fH=w&fcc6zr z51^+&Phfw6{efNry@1{Vy@5UgeSp3KeSv-g{eb=g{eb}j1Au`71A##TgMb4B4gd}m zI1o5U;2>adbV-SWIbNARs2ja++7|{KD*w|yFyM&beqYL(BKKC2d#A{~ z8!bG0KU!k;VG-9B|ES1)%>QQPo3dD}sasIQBc;mEihA-cS>!&K|MRAZvhEORB{6ej zG2NZ+>!PT&v{bu3h4~j3z@H|5QxvtPyhzJRL@j`|Cax@sT3g?1jbcU3FNJlc{ZJIO z#R84SnQDKT_ES;RQVTSiZmRul+RsH%J1)>@*r`^qm4CLs6h*DPKr7fP)+(6xYf;n& z^v|_IWXMfgUqustD~j5PL46gywv}mXilP=|pl#)~Leth2MeWN#EA(0=(+Y~C)@Ptq z@>*rn3X7w*X`og1S{2i(6h|%BK&#@lBGXdEQM)$Kio8~ATDCZ9^#)q8*Gf#=x;SbR z2U>~OQl`}`j#|utmhxJuX|;=^_H>|?dM$0*F2zx6JJ8Zz%a~TLIBJUrTE=Tx)AlZo zTIzw8^;*ufhQ(1kKG1Srt7=-4;;5A$XjQ#d&9vslQ6E5{Rr6YP(^?ltJp_SP-D_K$ z)~-0}KM1s~y|#^MBZ{Nmg+SZJYc)(8T^#j21X>NRZEM=3;;3gL(6;s3cBUOy9Q9iS z+IC*6Y1*m9QLjdz)%4o-rqwKo`aA+{d#}|pZI66=-{SZBNsxr=otVK-<%6dzn@{ z74>Qb+FoAU+qAl=sLw0V_V!wR)Ame7Jz{}Y-)sAr)*u!2mj&8BUTa`llT_537HAE; z*3h)(si?0l&>DKJk!ky;qMo=wYvi@YrnO5&{d9rW*lSHp>y(Om@dB-h*P5EvJr(uw z`5%7M$dH@#hu_S^-l?b$FsQGY*P5HwKNa;523m8kwJ_~~RMdYMXf3?f(zGF|sCO~Y zT6(ROX~R=d-(#S)@>*-tMx~;j$v|uEwS7&Sn2P!>18rZgwK46)RMe{(Xl=Zy&oIjF6>*Ls-tb}H(54zwO# z>uK7%sixpDHbaf3d#UZ#D*rba(D>zFzBRT7yi~mmX;Syw=~eE?oINd8gc6vI$BDm8- zy*9+Oi!#xeMW7Aw+F_<$%7yilcghWVr-z$%O(q)e2x>drYe$%NQzjY>3A7`;cBE-{ zvC<=Xr`(`-I@Gk;nP?;>sBNg%hMD#V7yVDx#tmBAaMPa7M58c4ZNt4b!n7AN(HKpj zjqqBzX>YKFK=MwxLGN^=Y42vD@tvTykzPB>wE3B6^e51c^4ig+EzCq?LxFa**G8GP zC=-nw1==XD9b?+EOf;?(XvcVMv}xaGqEV+n8|}3*rmbePgyajt4f=wNHEm5M8nFs$ z8|$@kru~(P#Y1?I^QMN#v4ykyOTdtZqT3UG}GE;qmjX&wrO5F!L%;fXxuQ+PVm}^rtP1N zMim3?M6aD>+JI~{=IBq5Pl^n=Ngv(GCJxC)W0GDxSw$^qPn}}o2(CNMv-Kj(KeIon1>bR+iBq%Dn5P#{Q&9`V(@i`*8;yy2@pKinKs>|5bF$HxY4GBl z;UD3drd^ngMpOgsOs`EhZB{lKZ}oROUGG*4?)EGbugbcsSymI&cb2d3Y}0PYx*L<) z*fFS|DCz;>X!&4BCqqsi+0w#U?JwMq|`oyjVpo5HB&Y zc`h2m_TnWfYJoVz#ICt$jN6MdRMY}-ris0B(HOWFXR4?L;w%&U=AtojFV0d?3&cxJ z9GHv7(7kx6idrCEX5vA)XpG&9m#L@);^ihDmW#&Vy?D8bS|DCw;_#ds$pWh2m-ULs zM!V9qQ8_m{sa@%{t4y1abH^sNtGsr#X~*T<@k#A!uU%u>$vJmQQoF`$*P3=_&Yhjq zuJzh=rk$U27bLaoymq~5@m89_3v#{JZZIw0N;A-I@Y;>0#an3x+Kpbj$+UPY%|N@! zYd4z~Z>1S%H+$_C)8ef(1ML>C-D+CAm1dyb>b2WUi?`AYwA;LPyJ=hLR+@o!yVve8 zE#68q(C+Zsou$IU={)N7BK7Vo$jXpedA zans@*Hv{c)uRUQ}yyIq|J>j({O^bKj474Y`_LOPyj+=q@l-Hg%E#7f6(4O|%Gp5Bm zZU)*jUVGNGH*(RuApe&CY-GqydPeq~iSgE)L4D78?RnGUtvLhjd9S@-+O4`ZXP~{{ zwHHl`x8@AA7rpk9Y4O&af%cNuUN$Y>nlsQ|_S!3^#anX*+ACgr)wEZ1YtBG>)oZVr z7H`cNXs>zgb<^UlIRou=uf1VfyftT_z2UVtO^dhY474}B_Lgby=c4&pf%cZy-Zm}X z!86d__S!q9#XEQg+B;sGV_Lj}XQ0jT+PkL3J9q}#yIy>fVn0X z=vJRWeRF+%@0%8H^%-dId+h_$Qo7Y=pnc%A4^4}=`V6!Wy*AIZc&pDqo9DHUOsl0^ zeFoY`UYl>)&brlSpw0K%$EL+weFoacUi-wfy>+Y4K>NgN3rvf*`V6!MUi;Lvc&pDq z`_yX-O>3!JeFoY>uYG1(8{O(N&_46p=cdJ5eFoa+Ui-qd4!YH6pnc)BFHP&JTYU!F zmtI?BT2I~TGtd@!?JLvbtv&sFtEw$5vRnf9G- z^%-b?dF^l0;;lXd?QgFY6xwV#-Rd*Ym?W%cmlaI=Q@8pIG^P-%R?)P0tIt4Vg0X5_ znO0f1`V2ItAFEbqTD;X~pfNdFwMwSNTYUx^Q5zK>NC)o6s=mZX}jxIpMl1dY1K+htFK#q1{xEpRZE%HP`COFG^SgtR%%*t)oAW@ zpfMR+wX|vRj-Y|YRBhEVrnS)>K?9A6+^S_wi+2PKG^Tm0mNTuZ?g$!aOafP}s%gD+ zN66zSdEou`ofkdZxwKItnzFEvUAKY4Np=0*yrts_ki7e66EE zW66VRdzltr>nPAz5TV-Mrp4Df3N)5Ws8-*!_*zGS#$pQ9_AxEK)={9b)Izlerp4Df z3N#jCsMgT5_*zGS#xf1n8krVf>nPAz#GzVa)8cC#1sY2{RBK||N4aRdhwuGi?Fawl zCKX$n*t}}A?!$|$0TEFPpp}VS6iL>Fco7y+3!t@$Tog&xjd&3jQ43&S6Wdgc)|GgX zH6|iz0kko(ZPjSqi5FReBBB<+ekO96C0Uo^MOZ{FfVL)bnI&1b;zd|QEr50=a+xJr z*WyK3L@j{!CUTi2S@+^aSVS#=G84JXlB|pIA}pd7KnD}K%#y5|@ggju7C=W6xy+KR ztMMW%q830W6S>Tith@0dETR@bXA`;1lB~<|A}pd7Ko=AHRgKo|c#$q$37C<)>xp0%L`|%g?ldK!^A}pd7Ku;47 zuNti@@*-=DMAQP<-$btPB0>uJ9!5mb?gys0Gl+ zM6U28>zcd>i>L+A*F>)HBC_uJ9!5ro0G?s0A>< zM6U28>#Dp6i>L)K&_u5ABRFw~{-^UF2?ZFS(yQK+a^d)N{!B!O*T|dXZ8C?#f31-X)3O|B)^lN-s+by9+`>E3z-y zkF+NpNJr9%bS7O$SJIvIB)v!<(vJ)vgUA8oKr)ydOb#VO$YJCNGL#G_<>V-GG&zQh zCF95hGLcLnQ_1n<1acxdiJU@CBWIB5vtOW{E zKtYO&AqZ3iiUf*)lt2o|3S@z*0#$(;0yTi`1hxZe3Dg3164(hiMBotMFoDB>BL$8G zMhJ`mMhc7sjuAKp7%MOq7%wm$I9A|TV2Z#L;5dQffD;5x08SD(2{=XI6yQvOGl8=N z&H~O6I0v{u-~!-cfs26|0yBWi1uh4!7PuO?PT)G=CV`uPTLf+a?hv>GxLe?E;9h}y zfjI(mfVl#5fe!>e0OkqI1Lh0N2Nnn{02T@?1ildX0{BwkOW-SkuYe^2OMs;UOM!0$ zz5!MUtN>ODtOQmGtO9-z_yPD);78ymfuDe%1%3v875EicBd`WoE3g*$Ti|b?VkuCO zH6^;lvms1Gz0Xb3bHXb!X%XbrRzXa|%DlmQ(DIs#n;x&Yk-x&b`|dH}rzdIN(5 z1_6Tw1_MI`h5*9_h66_l90iOP7!8aU7!OPom%1+*9cq#+#qlRaFf7I!0iIJ19uAC3EV4iFECqRHt>+Z zL%^c~j{=VgJO(@=@C5Lbz*E380?z=?3p@|JDDWcis=%wjTLNzZa|Gr9a|PxCAC`7? zAD2>alI<4opU+DvIFWXXL|KHgL|_T9Twpn{QeY*pN?;Y>1RU_Qz|X+%0>1-m1l9n5 z3H$|ANCOqvbEb+w6`)k06sRUp4cJCt8=#gzEufA-9iXm2U0_dvJ%L67jer&cEr2!x zZGa8}9e~aPoq-+#J%HWMduX?FPL^?COXOR^>M->q87lbCf=Tj zPC~rM35keW0B@Lhe*Ondl_P*T@Nvh*|*i zO?){ModkK26Cx3{02Y||CgYPE+%+ts7QkmFzRz|c8;G!oS^$eo{5TVxWcj=1giAy% zfF&k=!C>YFHNqll0W3FhX(l>J^EGn9CZZO=N)uORqLVl;azZDf7QiYK9V4F`+%+ts z7C_#_-!sukps$e=LJ_q9em3#%OmvdyMNSw+)B^a`#7f!dB+`qVP>QGp@P~=pWTTTz zFLJ^uq87k96L-i)C!t>Cgj7T=fC?r4FJ>1u>fjv3i?E1V0EH$tV8fIRL|8;EfMOGy zW}}l_Un3{HB5DDoP24vdodkQ46Jimy0CFaF%0?&2UgU&XL@j{oCicj>o-9EK{;D~v zj{b30?Voestm~iDIOkUFXwweLy1_|}Gji2Nn|4^%9g);HUsr9SX-8+>sHDc(ylRt7 zJC;RFNsV)T)ux(uBFm6A_-VlWlbcjL!Nk*86SRQ{i>L)~vWaK1if0267Eue}923vY zMhy%9)1Z+dq87l#CSJ^Piw$aoMbrYAY2szssA1x3q>&<`7Qj^|UYm8-Ctn;|GSNR; zGXCd#Yu4S7)M)3ZcD-r$X5IZsjaHCqH<|WG);*TgXd|h1i)qhf-SbI}7L;nYnf6-N zy`I!)U#WJdX&+|YM@fy=muh#LwlM2HPinNyRJ+$SmvyU?8Z9@~?l)~s)~!uywChxR zz_h}gtHh#+;IE8UpK1@AR+@9Uq(+-iwMR|cCg-+IYP1+td&0EZIaepC(VkT8Dbse# zxq3;B)~0Gto3>BRHA-qvd+k}%TIAfmNsX4O*7m$<@xp`P1)&|Q+DoRz3l9SAC9l0= zTJ5yki8H7`qYbRJy>42(@F37=A*=SLY4O5?K%@Pv+S{hZD+&UQ*0pNynij7p2sGN> zs?9YmUQrNew9Hle(6o3(L7>rYSM4Ly;uQsfMyp=61*XL-3IdHbziJCji&qo`+Cr~= zXqd!RRw5nY4HkxK%;L>wXvqfD*ytGo;TITn-;GC z2sHZTR6EwRcm+V9(QBvL6w`Lr6##)opPp*RnHH}A2sC>9R6D`6cm+V9(I2SVNv6ds z00NEPLe)+&EnWc-X!IqjcBX0Z3V=YPr%|=DOp8|l1RDL2s-0t6yaFK5=%rNc0@FI^ z3V=Ynz-t$q7OwyZGkRuGA&*K5NJ1f?H1F9>I#5BqgPgIyTi121wf$DXRF%XrX8az00Ql9uia}} zyaFK5?)BOn)8Z8Xfktnz-sxP^;uQdaMqjaNAD9-e00=aCl2w~$+WEQyAkgS%R&Bm% z@d|)IqZeAW1*XL-00NCZYSk8+7OwyZG%hijBcp5i)rx+fIwsHL$&&*#VY^;jgb-68k!cb00=b3O;l@cTD$@v&=^%w zt+i?K3V=Xk%tf_!ro}4&0*w(F)yhnZR{#VW<29;vG%a2M5NM3%sMf`_cm+V9G1jA6 zH`C%30D;CxkZL_li&p>y8skK&^)@Y@+8=0)BB?gWv^F}mKhPLsQf;tl@znl6V+2aI zA*RJs`vZ;fDb!l!3De@K{XuPv)vETCY4OzlKw~6VwP#F=r}hUL zo+KX|qrj@YXj(kAKd6l{V%1(XEuPvRXpA7M_Lgb!)c!zYd|9`SmiO?L}BbEr69K zGQVC1yuApEs0FafMCRAafVdZ75w!rEiOjE;0dp_HB5DErY$EgPWkB7Fu!vd!znjSX zdKqx{A}pd7z#0>oUoQjlUW7%|0{F{B=GV)By%%8-wE!xl{h1T<>t#USi?E1V098z6 zHoOe@dl42<3!v0QX2Z*b058HKY5`O;k=gJvVZe*9h*|*Kn8+k|nNZ+GSVS#=S|%>b zMH3FZ$m9bNwE*gv$Ru}}kl;mFL@j{2CNjxgCM?_ zJ&h{0l_a84QYjLp!BmtKWlD(5LNX+g3Q>^~DV3CH5)GP^NZrd;is<(_*Lkm#>w5O_ z9Pj%-o_9Fjzxz18*5|(V$GZ2vZF^tWTI*aFETT3*0~1-~E(!$m|D9Y`GLX;4*&Q!tzG{mwRZj1lUcid+<;`Ar1xd&A^%F>TPIgV+q0FDjj)q0ayMuEN&I9&= zC^>>=L{V}y&FG@!Sk{^($BRC(p>&X(?7K-G zUzD6$l$@TN5kESsDEV}9jvjs1+~>xYI@8l1%hwLSPlM>v( zv=k{z4kP7BMN*k0NII!bjv~j9V@Vxy0;x;>K~5#7lQYR#n{}Q1 zt=e?brmHr0$m03$Tn|~1-h-7*y##szeFXXd{RH{}1+rGTfW;ao2%G?%EO0V#rofp% zeS!KwV}ZuNB?6ZKmkL}8Tq$rR&`O{c&|081&{m)=&`zKo&_SRB&{3cxaI3(rKqrAt zKv#jTz#Rg206heH06hhI0{02r2RtC~05Cvc05C{k5HLhw2rx`w7%)O$1TaQm3@~0` zJWwQSaf`}x%RGVKfIkHO0QLy%0rm;(14_se%o3c@l@=%slocooloKciqzR+}{mQl?5sTRRyX7=>q9MHGyit;R1&PnF5(Wwm>$JBaj0W2owNE3LFU>D{w4ON1zUH zg1`yDKLq{(oGx%WaJInNK)uR9J+6N03)BY+1qy+N0u6!20*!&@0?mPz0xf~o0;3Je8?3k(NF2#f&62#f*73ycRQ z2}}Ye3rq&42}}cK3d{uN2+RTI3Csf)2rK{=3oHhf2rL1X2`mFv2&@3!7I+(2EwCDR zPvAXZt-xB~6M;{F4FVg0F9p5?z83fzXi^1e!s3$a1g-tW61WSvSKwZtw?J>8uRvd*zd(QBL4gN>!2*MUVFJT|ALW0+kNhwA zN#G}7yTEqfSAk!F9RfRmodP?7T>`s+-2%ITy#jlI67oN#1piY?3zP;96*v?)OyDq} zf$_703k&1PXv71dafX5;zJtM&KBrwm@y*IDzAU;{}cf zP7pW&s4GwxI9cFi;8cNAfzt&}2hJ2Y6R0Op4>()kY@ohCec(KS^MLaO&IcL_Gz1z6 zGy*ObxEQ!Z;1Zy@Ky%W(br7-jff#$A{JktN}g{_yAZZunzc0;3MD@flq+-0_%Yd0vmvh z0vmxZ1-=9}32Xws7Wf+YPT)IWv%qHH2Z0}eEdpDBp9Fpawh3$lUY0lKW!{`u%gZ|Y zrTjTAIaO{QIhkKi33q71U+2vFrz6kF5xt}V=0~0_Jn)%YMxUcyxkNMKG7|D<^9rtd z!qrH)%!JG0ed16~!sRAhe!{h_;0h9rlU?1-hXL;Vg#5{0Xqa%9S8x|5+(rBa4qa2h zwXWdWRFJ=LLk0Qd+xb6lDFQghb>eqbmkRXNje~!E!wF7PzM&aRac8Ibvz>Ew z{f{t@R0H%f@vaK4C%xR`M_~LFoIgGC#OYD!@A8B{R|@@c-X#5L1N1YoWx}6J1(EYA z5w!sd(n60{^M&(+F^I5;+5jh**gE0Q#e&FrnTXl|C!2VE!k?=Jk@GeYwE@mFv00iw zmkT22bs}m5)Hkt3nm^YIBIkV~Y6CPjv1OV+7Yrijg(7MLTw>xiY5rU>h@3Zys10zb ziPxw3bIBlbUMZqBz?CNUOY`TNLFBwsL~VdpCO(+v&qagCd8vrn0If}YIL)7{29fht z5w!u@nm9JipUVc3^I8$L0os{3G0mUr29fh#5w!t2m^d}fp9=?(^I{RT0XmxaRGL3m z4kG8xB5DKNYT}D&{#-hUoL7se4baKNWoiCgJBXZji>M9I)x?!){#-nWT~*Wu@eUJL zr}=aBAadR=J!%8=FmWyaSr7QH0E?&%(9^_E)BL%9=#le&5w!vCGx3Wwe=QJ1t_wue z26({4Z`1s>LJ+xb5K$XofQehu{Ix_7xvmgV8(@%$zohwVjUaN}A)+?G5EFk(^VcFl zxrlhP}amV%KPiTAaX4zqBcM|6VEB{uMdOBwW5gH0BI)PmGIY(LF8IeL~VfbCO%QY z&4|B?TyXja7o6d1o?XGsiECVrs#e*w`4!yjagB>r)vB8IRt5J?T;oz!wRF?oui)0k zH7;~jt7h8A72GFrjmu!w4mWLm1-ButagnTArfI2rGemyNa|x|lwrQz*Gek5luvN=3 zEp=~(h{ol&Y6YgH?#&RfQ_yjmv)3 zPB1NXZ-$7*pnz)sFs+o{n<1hxWT4vVrX5z%m1mwIqA{SL+S#V1N+cp0!wss{s~o;9 zQza4+jll@j>YJ7-k%(vvRj5{ITB<}MqA`%6T0_%PB@z*hVGh+Ao0ck(h-eIgsMg%H zREb1HV~9kxmZqgjBqACED5|wK?E<~&LPTSDMYVROrAj0s8iOyY-ELZ{L?WUwG^1KK z(^4f85siTx)q0rLUT?Y((HPcIt(R%35{Zb$ppR<3O-q$XL^OtkRO@eAszf59F<_+H zAk$JM5)qBzB-MtRmMW2mXbd)~Hr%vSi9|$WC`z>vrlm?GA{ql#s*N!%RU#457{*d< zylJTtiHOD^muizto1ynoh-eIfsW#cPREb1HV}MMxX{M!0BqAEaXR6IKEma~B(HLA) zZH{TF5{Zb$(3@)WOnXD`r4Z2=m{VMksm6Ar(I{F;yZF>5pMd)i#)xDv^k2405XWrD>@WiHOD!sA^xE zmMW2mXbh05)})I4W~k(9P_Q4-7(P|)I@3}m5)qBTRn^*>R#QtPA{s-lsttH0L?WUwT|*muaaIiHOEvvTFC5)<8=nA{s-@s`WN4RU#457>HJ_uW6|giHOE9wQBuMOO;4O zGzPI%d(gC0i9|$Wh+DP6rlm?GA{qnWstq$ORU#457#>&cN4r*PrzH{*jlpx(eljgp zA`#Jk3fgwlQY8`*je&RV?N`%MB@z+s*P!h%Ema~B(HOMX-gcUnDv^k2JA<~%v{Z>i zMB5d#-KM2VBqAEq0s5kQO-q$XL^LJ~R4ZZEaH$fBh{jZcYNbs}l}JQ1CK^;b)U@eZ zA`#J;hEVM=(^4f85$&*`RWL18A`#J;!qDETn3gJ$h-gf3sFq<`szf59Wd!YT(^4f8 z5sk?a?Jd)^REb1HW9me;T+>n|5)qAw71at%OO;4OG^SltJHoV7i9|$WQbx6-OiPtW zL^P&sR6EABREb1HV?sx@+NPySBqCbvpdDx0H(DYQ(U=U<-i|jdRU#45m?~231k+L_ z5)ti$pw%@kRU#45m}b)6PBtx7A`#J;gi`HP(^4f85$)8Voo-sHL?WUwfu+5jXv9VN+cp$kD%RcTB<}MqA^{oFWSenREb1H zV=`B@ex{{LBqAD9y{Zi~Ema~B(U=HUZIEfH5{Zb$G_h(!OiPtWM6@A68*W;vL?WUM z584RRQY8`*jR|Od(b1-*N+crM=%9@?ZCz#e5vwsG+Ss5?FfCOg5z(01))$>*TB<}M zqA~HU+7#1LB@z*hX>rx2o0ck(h-gfjt2V>5REb1HV@h4M*`}pRBqG}Epv^HYRU#45 zn2y)p=9-o&k%(w>gErr^REb1HV=7;JTVPtML?WUs2-*v#rAj0s+6zHjWLm03BBHTK zKwor~o#9g=Au9&LWiiY{4ym}tL`o!NC z@*s$?h}r;em`I6)tV{?ZETT5RN)suOkd+HTghkW_c-uruBxGen5MdFu0p2x{5(!!P z5JXr+ZGaMq@KxWP@GB#N$SMgDwE;?+*fZf*P6Uxv6e4N^yk{>>(S@w62qG+^HozJa zDY}rA7eRzY)CTy#M2aqCWkwKT5w!uK|Dalu{Xg?RZr6w-(;_LfA$j9t2u>+=w zZ+Y>Z{U79G2Z-;Q_?{Qn?Ej#9cRw?3Y2t@o{CNKd`PczHe#)0L-hC!FBlygl8wEFd z{8I2sZc(sFU=#4Iz_-Bn0^b8a`ui4a;mfKz4rKhVpZ1xBZ_#@(UmN zwX{qA^G6&X*-_dR(dXV#CEQN#W$+vMo$Mliklkbt`HTEb4q<6~Nm7cGA%~JQQh`(= zRY+BmL8_A)B$H&39Fj+BlRD%CauPY2oI*|`ZO9GeM$&=YOl~2!kxrxwxs&uDcawX_ zy`(p}pY$dD$v`rQ3?@U#FfxHmB$LQvWHNc2Od(UrG%}q$L1vIA$xQMTnMG!kr^y`h z40(>sBhQl;$V+4~SwdbVuaV_s1zAbnCacJ5@;+HhJ|rKLYgty`hTKRxkdEXw(wTH4 zJxDKdAL&CLApOWdGKdT%!^j9Snv5qC$z(E(%pkMK95Rx-hE+$P$Gjb`poLoT$ zkU?ZH8A^tcN61Jrnv5mm$fIN;nM|gTY2*p=BzcO=B6G-GvVgou7LixTQnH-9K~|Dg zWHnhs){&3Mr(^^9l6+0RCEt@D$xmb(`Gq*LgZxHzkw3{_WFI*sjrWd}A%~JQQh`(^ z36epok;6$YsY#9{Cz4ai8RRT-4mqDRB2CF<JVqWTQ^|DlBzcNFO`avsk$GeRSx8a^dk3>`$=EYk32{oB7@0LGMtPc zqsUnDD49qmk;!B#nNFT0v&d}nG?_!5BlE}tvXHz;ULr4(SIJWH8d*)&kagrk@-g|0 zY#R005%J32DS)n z0k#Qj1GWon2X+YT0Dc$v9oQ|f8`vkX4=5!o(o1n&SyrGdkS34@R1~NPBm@#bxzn{)xb3Z*8tZF zTnn@oXbrRxXan3Ja076oz>UC70yhD-2;2hPCU6_jS)en}MW73Cr@);+4}l)Q-2!(5 zy##sz_X*qwJRtA@&`+QrFi>D1@Q}bmzz~5Uz;J=#z#{^W03!rO03!uP0;2>*0iy** z17ifn0AmHl0^VwDZo^L zslYUWX~1-W>A({LPXIFnW&lqLJPFJcm3@DwmhU=}c2U^eiyz|+7SfjPi40?z=? z3OoxuC-59FS70tMPhcJ}Utm7)yukCo0)Yjb7!E5ai*aQ46@HbFWil<6) zl~GopEKp9M98g}MJWxrX5>Qp3Do|aZI*=`p4ICkG1W-qy4p3L1E^wZ}c|Ze!2Ec^^ z7XnQLngGoOngf>$Tn=0>FM(db{Q~y`{RR310|f>Gg9QcyLj{HcAIRtP0iVxsIWn9h zBLzkR;{?V5j|w~rOcIy`Oct07Oc9s@Oc$6A%n+CX%oLaj%odmp%n_IatdkdA$BRBI zN1o-#T!Fd3e1ZAE^8(KUABy}T@3A_ia5m*DP6Icg)B=8aNiNGhodV%%827wL0=K`MtUkZE)Y!cW6 zY!=uI9IO*8|KCz4xJkZSHu2qZuwalk{NGhDn3Q)l$-C+(65PSIK~>x$24;A&vkDD^ zSnfBT{9c8Ifhu=Jxkm2Fax@G^xt2V+svHdiPHva(%6T$w~;8N&RnBIME% z@+YN+<$bAPg@mif%W~*nl^Tvto=2(Sd8txE>8w(s3BPg^t}=hQ3$+JQd${)oxtt1< zAypFovMP)KbBV=64*3UHT0u-C{AE`VxdanY8=$m_lrzd@SrB0nwE@bRSe5!q#K@R3 z2mFKUxbVX1yc=0rKRqZI#j!yVX;E2XGv1-Sfc1*%wAV)N=m{rTNRkXGFO1Y?v zXdF;2-?U??!;NbkQ0*wwj^lHSYaCFmwrO<|{=z)+qFkw~R@b!S6aKP2qH!Is+Nq|U zknk7v5sj;S)lM_*#Du@(k7$emsCK?-CsAJ<{}MQ$+GVEIP59x0NNURbvZggn_+hAs#<-MfX{KGmFA#bQKcrzEa!AFBCN|?& zNc?3vpjyJT<_SN<6?xf2(9%u2lwTq7-Z-GWRX43g!Vix{daE9^8m3*r9tH8byo_rcQ0+L=u1)wsyU3StT+mK3?Ye{?(u-(} z@o8_TnASGo2mB)1DM35av>OtBI547}8MJduYnSkYh2bBcfkPg0NME+l#2XWSFfq~} zql>CtXj=P(A8L$fj6JH>*t8A_KM)zw8VBuS({4)mVakZcxTW^i)U=xueh@RFF{-Ir zGt)XI{19hEYZkQTrrpAcW&B^21KQhVrrpYKnz+UR)h;*fHcn9E8V6KsVcP8pKeQV8 z+*$Laaw)Rt4!<4Z^8KI#sSr?HmzI259vmFyE#-D29i<^2$LM7t$ux0&{Sc|X7% z(QXS`XVX3`?}xu5TIZm3F>QT$KR6!Ix&-Y`)4nM0ht4C~ok8ni+BfC>zz?CCdM@ms5Z$oHglO2*EpcsW2Ui{%VTkk1FB6n zjg4F;$2AV9_PA+m<08{Yk*|~ks!cI%V?E606G#FsW!*7+{%73FQUx}+B2pdS=mqZMKtFAw6|wXt5exe1V%Jw2332`Guw)PN`oou|s7)`5D9)RMZCXB@;VU_LHMQ zd`U%Z5Eq$vcV$0$8bl^idB`FC92c9|ud<(94dP-Iwc&5PY~n+e{p4%p&3QTWx5Ttz zmHpIgL|YQHS4D4b|vuVX`kHkE%YFkVzZhItV ziB?fncTk@*DCEDc7BHJU$WOfi?5w!u9naK7?%MK7>5w!u9o5=P^G8rCvghkW_c-=&{ zN0Q0%Ai^SQ1FSHS?U7_MJ&3S~+5m5ucqw%f2Z*qU+5m5wcm=aL2Z*qU+5js}Y(+uE z0U|7-Ho#jZUSGve=7-ObiG2~Z0sgRm>Ed=~V)oxZnEemq^TqAV#M%JW{x+?+otaoU zpjt_*vo3CDCe{_GR@SuQc4lJLfokPUD{f~d)+DG_-n8O&W@5#HYL!eYZfB-SL91$7 zaXT}y+Ch7(Zd!3WGqDyzwQSRh+nI@#5~>|xT5&rwv5rEuI;Iu3GZU*URI6)RaXT}y z21B*;Oe=0@CRS*u*1)t<#q7+)`VG}CG_AOunONPSS`*WX+nI^AAF4Gst+<_;ng{K2 z(~8@fiFG5|+tsEOw=)x~N>poOT5&rwwF%lg_FwSDDt-Y<#Vs?6BHIr(OnpWISPpoxPZIWrl?exS-DAgvL zR@_cctdml0ifP5|^fV=C(@lG$n4O+jW2L>#Fs-+mU+Dy}m+v$n*S*p!8t+<_@ zSiPm%9Mg*1>4~*ns;#qs{IygF@{b?+VZ#B{p0(bJ+YpL%VXDnFt+)-L<_2xPX~k^_ z#hNnh?RnFR+YpKsXR3W@UjiFKeR#n4FU&&@skqSkD{ez5)~l)Zl4-?l2*qkP)fSsp z+=fuBbyMvX(~8>=ij{DxEj2B5&+N#*1MB2eTW(r$8$z*)PPG-L)huR1DAw4i_NHmY zZ3x8*Jk{Pdt+)-LSf8ibD$|PF5Q^1%s=a4gaT`LhwokP+rWLm#)S95JGp)D{p;#BF zy?ta_aT`LhYEZRLOlwfghES|2RBgR!#cc@1ibK^lm{#0|P^?E(?Q_$L+YpM?imH8S zT5%gfv6fM_O{NvMArvbeRoiS@aT`Lh4pOy)8$#*(uq(VF2RDS$H>5%+>OHt2l)fPc zH-w6vI~?2)D)xr_U)m6Albv%Nmhg+XBd05y!Wq}WeWUb;!@+%{V*eKo?i&?*LxzOk zrw8|q(*H6C_l=5uhb#!+A^+ZeqmuTM{NpOVa3l=)C-v%C8!n@FnRr^l*M$U;8WA3H zNdM(p*|srkFeP;(L4-xr2KWzeF!hJM^w|ktcM^L1Ltk1Odi>MG`Uzi`62w1M)CO_4 ziTAJ~^?)%0SUyK>fd9e0t@haG*el`dX2KV4p)mZlQ zy10ScSjKHCBXw}^AC|gLy1Tu!`>~Acynl}@J|2a4TSq=3pOE!r z138|L)g`Bp)5sa59yy!TC+Cp{q#~LKsX!``DkOs(PO?ZYDIm4TQKUAhLrx?olheqV?VJaz2t9Ff_=S8k<#Q)QjVmN@}wfE zOcJCj$spCq;Utq}lU$Nd3P>&TEB_Wn?McrzLg}UNm){kq>+lGGD(nhQjHu= zYLHBlMY2f_$t8ItpA?XqLz*2#wzzTsCz*_=u0jmU70q+aE53Chf3w$K-5%8(Nr@#h* z4Z#1m-BFVA*OUD9B7q{{cY)u5KL!2-{u1~L_*>v_;Qz*kC;vAno|8={D{Hx7EMswjIn}wvVH=w?W=yTm1WEPu)aD~&hw40T1vlH?sn}a;M9omxc|ZJ4lnRw>rQE@~4*$*^tn1KkjQ?z1$H9UP zecuiiY{X{v|FZ=f2kS8O8)-^dl>2|64wfyKZ>!-X6L7BUhR&K+PLa!CI{4i;GG z`*5(pBK8yRV1Y&K4LMj~5qm=p7FfjIkb?ylu{Y#kfko^MIapv3dqe&&6<8dsoX}IL zgOwApZ}Nkc6R|hsVC6*Y4LMjj5qm=x{MS@Yw6Hn{Dko%?I$RdRJmir64Ey&NMEnm{ zCH$YNA@~ok`2QbVpMP-K{r}cw_y0Rr)BB%2js4K5(}tf#ej}?+8PKK-f4{SCFc0DV z4bQKU*)A`Bm%$Tm1(OnC5w!vQW>#L@n&I!47Q{9xYJ=!^mh$4y8UCheLDWs90KHA7H;9Cd#R`mVsGp5&kUaIe;;A#Q5&G2iF-15vR{Nn)CTZ- zL;089o8fN}7hYPog_1-5!Cm9R`?xQ|-$E{kI?o`7R2*jFA=TWl16~^DA%|2PZDOfv zZu9{nETT5RL=($Zb7|GM!>E4uXg3o>e|{Gx|D{x_=BmUs+l6VG^_Ef1RgY`aLT`RU zB;Q+RHJ26FW(UoWuzM}Hn#+r8&j!u!P2{y1)%@-4!n>#263HR`YF@C=$7XwE?~`u|p0|_KUEH+5q30*fEDE`$bqpZGcV{nx=k?bjtBd$ilnWse%`^LF{T` zw;b0!C-yFO^)}iaruEEmz2e#(LA%SeJ~{4zxOP|2?lo;djvEx$?hRTW(;m)o!{b_? zp!GFvbdDPn*ZKx+fN2wQ+@!cRAZUY4o0{XM#kIjfd)TxmbKI=B_HfWfn)XbNn;X|g z25pRK3v%2GacxY{CYZK3$GsfaCIoGgX|LzFH{#l)piMRH?Hu<`T$>uS>88D(XtPb*$hUf2n;o<{rhUyfdR&_mw0Wj&$#Fl$wRu5XVA?M^&c(F_ zL0e?nZ#iyPTw4^hC8qtAAg-+q+6KA(oc~#TRIWQZu5Ac6pKC8S74zD0x$gM5 z);`=+tfOfs=epD4TF0PuGVQEfcXnLs6tu3UHOO`6$F;6OyVJDBxvoiEyEABanRa=u zyCSaL6|{RyYnAJ+iEH-+?LO1mIezJsQ`>2W_HhkLS9nacyGICY$zDuA3FtCI@Y*Y0u`mxp8f3(4H`D zVXk{Iu00X7nWintb+5#=nL(Rv+VWiYdR&_wv}a6vGuOQp*PaR5T+`mob*tmr+@L*g z+S*+AJU1o`=MJ!(WM~7tVB#maZhgGJ7earFO#3p|eHGUh1?^?izRh);?vo#(ELYj)ej z?$%q|JamGW$+q4dO?xwhQchGv7)-liB64!bKt&eH9<+l)Yk z25o?8cjUP{k`EzC71Eu00a8k*3|B=laIA zkwF_{TK_yZFs_XW+IZ6j<++FA+W4SNFl|Vl8yeRp1Z}cu!}HuDacy$YrkFM|&y9|2 zQ-U_bw6S?^TwI$GwArRj$a53p+U%e`W7=bRZgO0ECTR0ao08|I#kF}sTWH#hJojW= zTNt!Orp?N8bK=^fpe-?NL7rO}*OmlrxoI!txfkQw@}R9S?WH`oD6Xvt+S{frEO0Lr z#C|Wl9kkV^y;$I0ifgNbw#KwY1#WR%TNAW(roCL?mc+GnLHpRWR|?##aqZ)vZ7^+V zfqN~kZ3xR!!i)NwrTX4h7r6K0n%yk*kSgI9<@*J0OGYo4O)5YZC!!;Fs_vkS{2hiDsUgiwJJfo-?UE(+^2Ev{-F7L z)A`SBeS!NduJsF=zc-!NHWavxacyAG{JrVC_IZK(BCgrJ=^nPv?aKo9Ra|>G^ycqP z=X={!;J%J)c5ga=(>bqwQ{cXhYa>E${{C-X`>w!!AJ^>uZ~l&LUfW#Yeu!&!$2NbD zHLv|x;I_myyT_Wpd79ULDsWrl+GF8!^LIt_+O`7sb6k5oX#PHCUfW*aeu-<-g63~f z=Cxl7Tr#fN4a)p2#k}SU+>W?rw-oa?0rOf>f!i6^>?UCTwq0KPt-$>r*X*`k{zh9~ z+g0HHh--GEEq`k)ul-rzcE>flHP(yvjkKr0{T0_<3~z|P>6GtnZ-Ltv*X)*4{w7gg z`@6s$QZx3G+-?!&?_T7!5;a}PxMue*@;4CjTB(|@bX>FB2l<=*c&$uLS2nKMt$zFs zNxXJwO;;|i*$qkFvp3|hnl3G_y%*jPf5!peTlt!1nmyfeyr)X#I-wu*2A=)YPud2a)--eST2jT0d`jnU&Pj$JlQY8B5DKdHE~-_ zp6nN45w!tIq=z1VuE~@AA}pddKq(Wq*W}555f)J!pp1#X)a1#25f)J!;7}8Pt;v)9 zA}pddKm`+%d|MqL!Xjz|R5H==jdg$si>M7y)x;fq&m17aB5DI1ZemeQp6ve|VG*?f zvQ6AslPCK{SVV1rJQIJb$&>veETT3*EfasQ$&>veETT5RF(&S+$&>veETT5RaVGvz zlPCK{SVV1r6HWZHCQtT@u!!0Krf7Rs4 zei7y&hy26UH*s%Gp6nN49&*S(+<7MMtI3o7BFsY$`G>o}#J_9uWWNaWkVF3A8k%@W zEuQQbVIFeGKiowomZ-&({UXdm4*7?>*u;{xc(PxFdB`FEaLr6CRf{M4MVN;i@(*{J ziKT1tWWNaWkVF3At}wAoEmyWy?6=buK|8e8=n@lMxmwNKVYOTuP5D}`0!_tQt`be< zTCNIBqL!;llU~bZ&{V7Cs?!`^%hjOCtkt*goLYzY$6HO=4)C}E$>WnJBu`A9l&qUP znau$IA)5i7CYu2^YT!;Q;m#~Ey2Lnlc8Lp8pX#|KTww`!ehGcbpM1=?$Tc$YVlQ5@ z|ATz&0P!*tukhlP`##r% zJxMQeAL&i*Cj-etWC$5XMv<}PQ8I~4BQwY>GKVZ6FOrwZE95n@oV-EaBCE)1vW9#} zJ|>@$jpQrxD{*8O*-iG55~bJ_j?^SakYmWPqzk@`e7v%G*@L0XY($XX&BSjt9} zRoHY;cKtH?D( zHi2wIWCO?!q$9bFbSB+McXAi$NqUjqUGhHpfUF}Qkx$45@&);d zd_%q`KaeeCEBTrHLXyOhBC?bGPW~Xf$zS9WHlb`rE+Z{SOVWy5Lt2wIq%FCD+(^MBsKpJQG3!~E`*cWZNxHodj!gRz(2hW!p}#F{v^t9(%4L13uB zP++*gaA2gsNMMY>7+{>hIAF5CWMG=WG+?&CY~VS8=YZ!0o(C2SEC!YeECt>WcmsG_ z;B8>Fz-nNvz*^u#fe(RC1wI8f3Ty;MYO1BK;_ z+=T)c0!;;)0?h@Q11$tv0IdXC0j&jE18oJ`0__Fb1Fs9b4y+Vd39J%W1*{QR1AHj( zA+Swg8?aqqJCGDe0y_nE0=oou0lNiu1N#K_0VOH`B`R>mCr}C~BTxn?Cr}PZ6G#Ip z3RDED3seWP1+syBfqdX7fun%h0=0pY1Wp3}A@C32bb-@>dII%;`U3TV1_BL$h5`+N ziv%tLng}!jnh7)mE)%#6XerPVxLV+9V7b6@;7x%yfmH&lfOiGn1wIh?0Qf}U6W}v} z&w$SbJ_j}lYy!R$_zw6%;0Iu;Qfj_#N0Ium{*Dun#Cz5h%q?Ps<6E z1Ii1O2dW5E0n!E1f$9R)fh>V6AWt9w$Ix?SS?I?SYO0 z9f8{fZUZ_AbOO2wbOU+_^Z@P=xCiJh&>Og4;C^7Bz(8P-z#!mZfro)d1Rep#2#f*7 z35)|K2}}YW7kC_aLf{EtmcT6FX@RGKc>?o*1p*6zMFNX}mjzx1mI^EdRtT&BRtc;E zRtu~K)(WfzJ`(r{STC?1_)Oq4;0u8-fK39MfFA{Z1hxrm1AZ0w71$}T6Zli$PhhXW zUZ7MZpcKn54iz{QC@)YRs47qus4h?)$Pvf^@&)pNBLt2BjuAKps3TAZI7#3n;532L zfO-P;fcgUUf%62;11=D_0B9`G7`Q~>65vvSOMxo|t^`^Mv;tZSv<9vhxE^RH&gk2 z0waLY0;7R(0^@)Q0uzA81RevX2uuN{3rq)|6nGMNO5iErX@RGKX9b=G<_XLL76>c= zUKDr{SR$|lSSqj-ST3*}cvIj_;4Oi-fK>vkfcFI61J((w13nS>1o%wgGhm~@Mqrb` zCSbF`W?-wpR$#lpb|5K`1d0TTfL#K+fIR|xfWHO)21-^2N>=7OPvB4>O&|@ZC{Pio zCQuE?6vzbf1@eK~0=0p<0(F7BDnK5$|2RV62;dljV}RoYjt5Q>I0-mS;56VYfwO@6 z0`-9g0u6wR1TF%a2s8nj3p58V7q}c~DbNzQM&KIYI)Uqe_5$sJn*?qGZWp*6=q%6~ zxKrRxpr=4jpszq*pua$WV35EdV2HpFV5h)NV3z>*<>Brz0QZaGJ}CfqMsXz*KuJcC zOABy=2v=61ERZIU22>QN2viZM0%Qne09gWAK%PJzP)nc|aE!n)KplZPKwW{lz^MYK z0`&yy0SyHj0*wS30T&Bg3^WyJ3N#aF23#g^8PGzY1<+EUC2+OC)xfm^*8v9 zx|@{l9#5CooaX<0f2&Gr+4LrS*QC37{s_Mwu=d^{ms3qS4M{KJ zIw##f2=8xr{-BA=)BR;v5V-^sQ5#^Wi7V6nWmyopL=#aPV7Q6z^3`#{vpQV_ zeaHd-;5sgRhHLop;~EE48)Mo>>Hd;0(i_)+s*N-4({z797}2;wRBf_ppQroF#fZlB zqiWMk`##-YOop$O3rikyNX6ME{*vx5HY5FU^{Lu(rtM7km!c7kYg5&pH|@?0f1w)D zxN=o(v1#{Z_{-Rc#&xY~OHCV);V*I{8dtrly=b+7{D3$nXOK5seW7 z)wY?oKEn?eL^Q?^RNG>G-%CDd#{=w#E58&YG`jQOj}pY4{<~^#ynJOW!m~`egGt*F(RT` zYtuGW^TQ(%jqwuI+M4!#H9vR~(HKopt-Wd6s`;Unh{jlpYOkB-s`-JJh{i~aYAa3K zRm~5}L^Q@}R9j`*-fDi(CZeqh+8WbJR`)|X5sfh(?d?O;(yIFbpNPf?kZRjZt6JR; z2Sv1PLECOxjp}}|D55cXq`f6gt6AL-B}FvGmQ>qmTJ7q7pedp;@}$}>)BaK24?{&X z#-&u-ZQ422{UBBNA_dbJ`)>O_k&oG{utF#twe?JpQcH5Kg1Q$81quClxde& z_XA)NjS(@`%9z%=x*r~kXpEPsR?f8c)&1aEL}N5fwKUVZRQE$`5sk4n)he3Sqq-k> zi)f6*saD;zd#n3lxroL%ood;p^{e3r?IIeZc&g=__DBssq!-Z`<5TS@(?-?s1AY;W z5kS>yn>L|_9}bLYj1Q`Il4+0E@PmcnAD@9k9&$*A3t*YUNWg{Bnw5lyP?Y$a)&^DqmimTe2rhQPu59vlU#&}g* zW!gtI{D5ynV+2^WcTM}Oh93@&Xp9f5_JL`i*YJbI5slGf)jl!phD<+{9MKqCR_!y> zZp`!p%@K`}XVpG8twW|ChK^{AORKiYw3{>iAaz7z)LOOgOuIGH4`D|%#FOjnQ(|c9`}+rXM4*CxTKS+=F>O?)pA3j-%noR8>86dz^iu^9jkyEWs+%@G(@!Ks zG-ei5%Q9_3rk`erXv{mPmS@_eOg{+`(U_G`t(IwzXZk6Mh{l|SYDb$kEz?h6L^NhJ zR6EwRCo=u?Mnq%2L$x}l&CK+Z9}%ri(CV5tE7MPnL^S3~w71hudpgrkoJ2HcQdFyF z+B2DcS|y?}&!XD7rahPGCtV^MvoNX^nl?YvPsv0y=4e!FWZLtYe!?cAF@vL8W78I7 z`stjA#{7WgU1{i*h_X`g5MiNJ{VaL^tx?aNF*O&HObH`Lz7n6@d? zPa;M%W))Q%XWI9feu^=oG3Th-B-4J(^b?Q~jTuSR9ye`krk|dSXv|lt_JnD_Wcta= zaDvQ4CJ#BJ;w%$)Wcta?ATrS@qBg+OCjOr3CqIM8M5u_`0P{@To#`h>gUCdwh}r-P zOx&Bv6Q;7#MUW31(C~bbi6yiAd$mxmluag~WxvRoo7b{@e@uWGAJtDfZ!k87)gw$`+)ESDYE zm?hTUJ~AyY%N4{m=8#oeZ`u)A?#Q^t46|yVnRZN;s~y*ve^%`a(~i&blhNTVVPcwx z98z(UiFLF5WOWdkxE4_x;71cr$?}ugL1bcEL~Vd=CZ3t)C%c2VO+{@Ge>L&!EI%0@ zL?*_iM{R(eCKhJ-$?_mFaW0}Zz@H{wkmV=SgUH0Xh}r;qO>CUyC)0M&9#YnSCZ#5Gn9sFrV9$1HbCTw`5X_Ce%iSH0Y@VLf03e_$!ZB&*U9oH@hT4U43XSoS+jWrnB z+a;zwmgOeLHCAY-cByGov)uH!#`+D_t~70CmU}9$vARRGR;E3j<(`Rato=}}wP|y+ z-2Ax4$`IAAH*H~-dm*l|ZbY?qroEiymc%tym8f=;X-l)*YjKS=C#v0M+8bGZ0ZQc8 z3M*1n>ulOvS?-;9Z>(2Qt($4@Wx4m`8mn1U>u%cGEVnMMvDQVko~C`8<<`eFR>G*( z%e0OBe2;6alTodYX`8a#H*t+sG^+JA?fWdZIj*tBMzsN^ZOL+5vOcXA*Su%r+Qpt^^R)8OxwlJ^ti^_9@R#e_7^|V;~Fb}R2yyDA=$2EcI*s*bwR3) zGp%g4J2bAbYDl#Srln=O3UQ4!MXEh!T9s_Sz$pC4XR#3vIi%tg6VtO@M!Y{(B&jyt zw9IUm71vm=q}r3FwoAC8nL1?F!=>>$6l_ zYT5#Hmv+o?Jd(T%XTf|y|FG#wN<9I z%yw7BHCBzO_MU0iX1nX+8f(f_TW4C^YG;a)wJH(u1{QJ zot$dhP3xQO`o}d^(W#a+ZBVv*D6X-_PPHP_24}k=ag7yts_imuXtsMeuCYE(wLPW{ z%XY)#8msqI``fffvfYTd#@asBO3HQ^{?vAKwi_GQSox>gp{6~W?Iy-G)&;7TX4>Rz z_jp`m)u3t>O`D$WX2dnt6slIuw5PJ&thmOCL)9`(o0ILHiEFG!R4w1Mx!LadxW;Nl z)oPpeLbiJ`uCbO;wYsJ)&UQ=U8Y>-D%c~OJ-q*6-vbe@NNY#!oZAG?wBd)PZQnh1D zdpp~$ifgQ)RPA`v-ph9H$2C@1s&uCY2(wX;myknJ|c zHP&vbR^PNQvfY<)jg_6MH8Ab#Z1+uEW8J4}7n$~5w);M=u_{!xCZ_$6?S71FtQl3U zxoJOTyKQle6{V_OZrab;?w7d6dQ;U}nwHFVF0Qc}RkdqOE6R2|;~HyKRlCl#-?QBx zagCL%sQTwG(dv1%n{1B*rJ{K7sy$DJ70N``$dN}F~@jyo%^l@3~2)6UOv7sNHz zG3$$_nbt7JT^QF`<*Zso(;DTti{ctT`ahJ!nT0uL;v=%w;inzwQZSAd&X;Mck49 zfUN3Pt*&V;bKF(&-s%SJRMT4JxU1tDE5fz6dZsPObFZ@NS>#1oFRofc)0XAA<#DZH z&>ETcW}aIa*H~+=y<+=Cc8mrhT?-FsXThRKLmY(mb#WgAo zw70&d9iH!M#5L*=RO@eAcD~DvYyE>Z(6oYlS2L~+4BBARj>>mO$2BS(^hJl7c3i%z z6W6GJP;G>1C*`}kagFK-)kd3kO1?Wau2DOo+Bnlr%Xg>8H7YAqd(^Zu^4*znjk*if zCYn|+-<=iLsLD`nvT0}MyK~|iH5;l;HLZTWJ2$RT(V^N5)6UCxg>j8~57nMBtwFv! zKdw;?qT17@U6Ah@#x-h1RD0I63-f*9NVs~Yh=hk6QgN+`7v=l9kRYyAQ5*iodJ~)E z`?`@JQbQs=Y6E<3V)J}oR}w^OOhnWM_}0YB^L^b(5WiJX8^rHTyfWX{r3CSN6}3U! zYU0)TzHTLm)Ue1)YXfXI@w$9p*Ahf(Ttw6c_|wE2@_pS)5UGI?Q5#^7i5>ENT}%+E zkr7cFpoHwdvDofjgE-g02wCs%=dLWL8OL9L~Vdf6YtCSbv;3(#z#bLfLs$F;3pOpGeLw! z)CQ&$@g_%L8JyuL~VdhCcc*M>%xLajhKkq0NqSnk?-rqf=CUSh}r<%O&k-I zT}5pW?=f*zzOOqAA~k5zqc*?;CcdBV>(YWqjhcws0R2o{o9{l1|MKYPZM60IvZL3A z{ATX+eD?*-SNU!e&DZ(v8=CL&X*m%E^3hMpL|g2*B(l3=an3l9FrU;pSph} z9|}}dlzc2WQ*fr+2a=B&7A2oxUyic9C;Ey=%El3!Dj|DYuQ&yxJQlKj6)@*kDtKP}0BR+9g`B>z=Oep^X? zdr5w0Nq%=pes4*Be@R|S@`pB!8?V|7(fFd8VvWpb`{8F=XHjs0nr9 zJUAa3LL+DlO`s_>gNvXATnw$CHME6GpdDNa9iS6*hOW>JxB#UV@k56<7jG;dNLJZ^B!!3f_iyVGVo$YhfMy3qFL8 z;ZyhwHo+J0C2WRo;9J-ZJKzV{4SQif2ponZ@FV;LN8xAq1&+aSI03&xDSZ|)C<7-! zc{mwjPynYwA)E#YNI_Mo4QE3=s1N5sLudlcparyo)^G{5hYrvQx+ zKF}BX!2lQp*TWDP3OB-V7y-A!NVpyDgnMBujE4zuA3Ok);9+?*b3jlcGv+s;Ro0SyI~LPgZ+?) zgK!v*z)?5`$Kh8f!?UcN1m)mlh(R0*pdy?Km7p>d!D*0$6jX%_WT6Jsg0rArS^a0a z=SJ@v@P39gEE_%JQDZkWb;Ct&XyJxdZfHY)>}zRTmVaj4wk*#Fq|y%Qq|yoLqtXZI zuhJhGq%sH@tTGrGrZNl}t}+}MsWK9|OXV(Pw907YL6rxQ$tshPsVY;EM^zq0rmIXx zo>X}fnWHiXnWr)jc~<3FWRc1uWQocWWSPn`WVy<6_m2{>_Yaa>_PUa>_ZNy z96%1L97K+&96^q$979T-gp@jo=TlHQ38|n`0g0=`k%}r6kxD9+kjg5Rkt!-xkfcfy zsj5;H$*N?L>MGTdnkqGs+A6h?dMfph1}Y7ZMkx~X(Sx~p_YdZ_e3da3k6u28uG>7&vI>8sKg>8H{Uxklw0 zWRS`rWQfWTWSGh@WVp(3nNA6a+8yTxI78$QH9+{vr0hy>W5t*bi z37MiY1$ji}5oDUmG-SHUbmR$@Cy<#cGm+UUvyr(fbCLNf^N|HA3y>F7UO-+_c?nsp zvKU#SvIJSCvJ6?SvK(2VvI1G9vI<$NvKCpdvL4x_vI*I&vKiT`vK85`vK`r}vJ=^@ zvK!f}vKKj^asWA~au7M9as)Z5auhkPavUjL4k=xZCkjz1gOpV%ik5o{pfE1_{ zAQe?AB9&AsAt{v7+SN2LyOj>Pb2eH<|7MK79h{7JdZ3?S%|!>@-p&jx%To}Ifnd$vJ78djv+rwR%oz-V3o=$ zwQ`G@|}Di%!`TDyPrug=?V z1JcgIOJdTVt6ciqvjapKGmPks8HT@Jr&u)I@YiGN!JB@_g?%jS7K^4MK4fa5p&O9? z7WRro(-j{wb5>nbI%((zWTb^7V$pQUhfJ+BbOUmig?GfF>6Q2=mz9L3&+Qz>6#Cjx@qVJWU_@1#-iz*51HC&=mun}g;QeDbkB!O{WNp~@~DN= zV$pQahmX3@4TRGzoEeLzi#}xPs8@6Y@}!0HW6^ZdhfFOsbOSQS!iBMDy6Hovo*KFV znP=hBSTr5=AyZQg-GDr6;fh!^UG*VTR}I~OEV6KAESk>xaFGk$K)A%h_hS49v#a0! z4&r)6Hz3O_To;R`!#-qctf3o_$@gK#+}verEc;JP_JhqL6pxk| zK4iI}S9Ali#lloPT7vkH<%ouEK)$sw7mt=GK4iI~p&O9x7S@SNU0#v>58t&}(?oBq zY5bpWgSea@W~_Kzw#%|6acLT6tcP5-$Fi1jX%%LymRz>avPX)S(qL4*%8Zn#ie(cu}X8F+cC?oic7yRV-4rBQYZPZ+qH2S7-p>STy~OW zH^gOVn6dtISq006$7MvAu{v~F+_F(|xg*S2JG!i*W%tHqbeOTSbXg_K#>Ztsm{syw zWy>bU<$*9`RqC!*#j?q9`Ae9wW_4N8vgvVoJj__px~!^Ye~ZhkFk`*zvaDrK#bs`o zWqnrNviWg&Cd^nXyQ|f-?76r+A7-qiT~^z&m*cWH%vfi;te$0W#ASJyu?lxt1It#% zWp$V}@L40v*2LxgFk=PpuGYk|b#eJun6bWh*@c#U7?+R2jMcx(np^g1Ts{vo_6A(m z(y}k&@@1H@bKtVpmTig4)-YpV!DVeN`#vr^!i-%9m$kR-hq&wtGxj80*3q)PaoHDU z>{z(0vt<&OLt(~#hReEH_ETJrh8epZF6(aDiMW(12)_4r_gN3i$`?q5Fk`30U9Fd8 zrxeJkVa7g+%dW7jN`agfX6&-KtdC`<7f2?|*n@FdU(2c&$QfbA4vowDS$0-|)Cn{8 zZ(MebW%Uc>yf9;T$7O>oyP!atgc*B3E*oN5^8#rRX6y{PY?x)O3#4tBv2WzE;g+>8 zkPczSu9C}cv8+phbPcmxd^XauUIlVRn6V?}u6Da+R~E=sVa9%y%kH*pV1Wz@Gj_9F zHrBEm3S?NAjrG}h%Wf`+HopAaflV;p^h54?6D%B6Ah(CtW2ekz6D_;DK<*7Q_R(B6 z$+B@gY?!gj=CUc4-CrOR!;C#Rmpx+Hqyl*;%-ErG*)+?ZD3B+^jQu;8O}DIUp`6UK z-u_{h#O|KUp0KQPp%jG~dw(vQX<4dJ(qYEVpvz`kmMxU(VaC3p%jQ~EvruY<8M}%u zn{Qd&LODCk*mHE*0?W=Tl!jr(j-<<8u&imJTo`8TSGw#a%UTsmNtm&l>9WO^wJVek zVa8sk%a&NyrBJ$t89SjaTV~nih0-(3*e7+_a?AP@%2i>;E~?8`ST>+gt_?HxSY5Wt zvLS_XLzu1d*;>nn70Qia#{R6k+Iq`I6v{1O#_p}lHd%ICp^OSM_I6#i*|Iwd<<2l; z=htOhE&IH(e8JQ3{^9@RTYa|OvTc=Rdzi6n?5?)cvL7nT?l5Cd*=4&e%U2c&Gj^O^ zw%4*FmF34UV?Wwu2P`{LS$++(13o)wS@|NVz#T7t_?@zs?XGsjvPwl#7-sBryX>fC z$s#EZGxotjx`!D%`!1_!*>y#7eVDQD@3Kmk z-B=_yg&C&;E=yTPBPrp>R8q^As2=j=Nv9O$Fdd)X&Gjmg1D@{Wo;7D zHq1C9aalvlE=@?sFyjQpWsNQC%5$=Y8Rsi5Yiil$3F#SToW8iMnPq(v(l^YS`K*Oy zS0`jZn6>a(E6WBY#G6=s}NxvaNka}zQz z%s9t#SzpT*B;>g;>+7@rmc5veg<;m;X9FyIIU$R~j1w~VpaU&il91QJjPo;>4Yus{ zge(s;PS;#E)Uvk{vMS6tdvn=v%ic@KnlKygvk{i9O~^mPjB`78wc9NFFd-j>8K-(K z8)ezXgnSleocX!zPRqVd$d)kUM9^jTShh7G--g*eJ{x1%cM17E%*Oa^oMrz`$gVKs ztkFH_c+2)AWM7zZ66vxDmK{h)KFlWgY@%g{6Y}3M;}p|f?Lo_qCgkTZ9g6E)lJITVK&=mPg~X?Dd&e7 z=fUnl=Udh!DHn#>e4j0_?4qPJ4>Qh^-PNAAtYuP4!iio(c!lbISAL#4ahnRha{uJaUXI}uAv){4HgbhMu+D<+~7ht5Po9esAP1w z?n4gR^@?slHd=T$PZ-Yew-0d*-GF>y;n-w!IPXIa>NRu&vf09SlF{M44>!Be4TRrV z_(3u{-1p%(E_4IoHVfA!qr-n6awC8~v>T8gEc_@L-5lUUZWPea4ajZ_KTAe85BQK9 z2{d#Avd6+NlhMruKIBFN4c&n3vv5l?y7|C|`&{S-!u=L*OGY;*_>dbF^onjk#KIlP z=;j3`<>e?@MD(9jLYFBbkM8QmP=LvEDN z&<)553x(%a|J_658oB`~UEZ&w{>!tga|eaLBCequkg^v3#Ph5FF2pr-15)0?Uy{+y z8UBjgsG*@7kO~%_NXoC_Hx%yXh~A`3vECAYQgK%)Uo0mxR4A4>LqV~e!cehTPGu-8 zmdXr8#c~=$qF9m)sbWbpoL)SB{G#7(iJw)UTjHzVmp>z4BY$STX1-SbEN+Rft+&KC z*1J2Jw9a3jAFQ{;4{hr{f&6Xxk@->1d7mF@dMJOlZ|4YZ7UsZQm=Djvi|`V>0?S}IJi&{~&Vi?4K0FIA!praqEQL2EXa|=HiQ@Fi@4ZSXzpgk7))_QL@XI0Q%FC-@moK`g=WwkE{2xS z8ZLqM&=q<>Ke!sMh3jA_41=3s6ubhj!3tOjtKdC&AN~pJ;a4b~;C62~3CclvI2mG4 z0H;7js05Xv2&zB=iXjE3Lk6lrbvQLi3soQq#ZVP8kcH}SCe(xaa2_;*3!o{qf;P|= z+CfL?3YS4o=nYrGRnQ-CyYgc|TodB-`=LMV@fO-`wz|8)j2*)B2nwcf-x$8|qw@xyXE# z`N*>>&mzyMJcqoX@&d9@Wg)UiWf8JiWij%q%B#pym8Hn*Dz78URhA=fs=SH3rScZC zN@W%Dw#wVcdn)fC@2k9ztW{ZytXEl&Y*5*Ne5~>@@~O(F$mc4bBVVX|foxXUjC`%~ zHS&$hH^{dt-y+|se209m@;$OsWhe4)m473iRjMOrsGNb+P^p2Osd6S# zQ>7+SOQjZamdaU3ZI#+c9hEvrU6s1X*(zrv=ct^6)KjU4oU3v!QeUM$(mb7Rbda z7b7iIS|Y7fS|KGWB}i+P)<_$bHb`5Qw#X$ammuv_+9B;#+9Q{$T#9s1>40=p>44bDv>5Ozy>4J1s>56ny>4tPy>5g2cav9P?r3Z4k%H>E;m7Yj1m0rjdDpw%AReB?R zRQe!Ss$7ZmRq2adrE(S0Po*EyU!^~CwaV4V0F?pAH7eI2*Q#8L3{)A23{n|{T&Hp! za=ps+$Y7Ph$Pkqw$PFqtAVXD#BEwXMAvdbrh}@)d6Ea+7IC8Vf&BzFq5y(iDk;o{O zQOF%CcOZAE+=bkuat|_EWi&EIWehS-WgIeIWjr!LWdd@)%KgX#Di0u&R3;%0t2~TM zQJI4LMddHZRF$d7G?i({qbiRg(^aM;GgM|Ee^dDzGE-$HGD~F^GFxRf@|4O`$kQrM zBlA?|A z@;dT{${WaXmF39aRsN2=sq!YWLS+TAQe`EwT4gozj>FOe-OTac|PTaoQ5+mRhAJCL0!JCWTgyOF&rdy)Mr`;oj#9yz3P z2sxs11Uag56!}Hv7v#9gainw#DV^fmu}WE_oJu+5WR;VVm`V&eMdcKvqDn=iP^A#5 ztWp`NqEZD(ru2t=ar8dT`)N`&)qy3#j3gqXQ~G{PO2(#STuR2La+~^`B+I?&DJBq)r=lss44gOh{|)^2 zTnlHWCo$q=s%l-nVc)uPw!t%7?gyZa~&r_)#jF zfclWhsD^Gp)?4@quP^nxE8-fu0oh>T##A(c^;cvvtDzf^k1gE9OHuvqinxYuKt8qb z%TzQ0_E%&wtf3o_&n^5q6-|(R__+(+K=_4)TT}9F__vxFb@axJ+JBeWmXhznjQO_9 zzP4<8O1=*>X5%jV#O+VzqofaP8v-@3$Yv=~#-xf+LS~U1CG7AU|-GJ<}@K7pRRQQkuhK6oHc3b%0 zRJ7>uAqx-<-GJ<|@W)iNDDmMQ7rKFPuZ2fb@^kpbVHFd-v5N73zQJj__*xGZnk zuPG_T%W(bSX88S6opl`8gsSjn^$hgqrO-?Gw{rP7iPv(i2*YgyH_oE~OneOAu0Oj@#GR?cTJ z%W`R{7G^P@RkEylTFwYF*0An(TE(&&X*n~@s`#wfvYKhB6=uagt7_Rym|8#%Ec}&gON=!Yu2voMrXWa&DOAd{)h}`e|tpW~|EH=T_aa^U`vDm{s@L z8J0CnOQSG5!)G-tYn+w~!i@F4d(bm2Ym%0xVRoj^YFc(7ubCERHGNjgvWwEvJj`nO z>@3S#q~+o;W1qo&ZnZ6InU+>z#x8`*>R48imeyfb$7gjdYm=6?VOG~?XIpkjTH1x# z**-hRvi51YG|brjaGzT}%Q~c`W0=+R*}0Z=PD__CW9P(Ot-fX5cs;i;tM9W0mi6HE z+`^1q7k9PuEbEz;USY3W`iGw~ zjeOSFvRg7TGR)Wuau0feWp`xc&M>>cXH6^{osltN*2HH`EgPSaKZjXUpIvC#{TX>M z%-Dl+pIbA_9?Hm+Fl*+si!7U(k-vr+`&aI2%`Karkr`pu+-EH;dmS~K zx$9kQ;p~je39omt&sthGKO@hCSxcX_vh2BxybxyWtGNd)v20;RUJkPopS8B^)r>3& zv(`RqW7+E&c_Yl&v2zdF*0L2DSs7++eRhduZ)fD4FuTNO?JRpgBOioWJD;_;Y<))l z6=v)dy3g%W%RbJ?Ct=1uqRTp1_E|$F>uA|m8QC0W9evixvaK2UHq1Kttg~g? zGqNMh*uQk2TNlfI$jGiR>*BMnmhH{RzA$6&(_O8bWd|~n53_DQ>u%ZMj2sCw_D$W@ zF0<@tMt%-6c2!;0!?F_@`8CYgb9LF}mX*#*nQZW_>vEs)KDOsr) zX6)v=2ff0wQ?pVSW>@&Ew`HegB@t%5eb&dabXKZ{Ss$NWX;~&K)xwNjWcRuCwX8-~ z&J44@KD)}YI$5b3X6!(_tM#+&+^p0OvwlA7Z&|~vG!C==KD*ko3$xNJ%&zv?0Lw1U zN~5+S?8>D3A1Z`Hqf%}S-CvS2KsD}WmjaScbKu`?jH0y z%lc)df0$k8v+FIpHY#;n{FX6*F4&+P`wZpq56Va7Rt z%Z6HZdsglYv!Om4X4#*z^5-xc=Cd0uyFV)rgxQTgyUDVLvobl%IDc@T+i=UKW@TEK z4fom2mOYl0$HR=X3wN~ilqkT5UvgKL%dzg*!**MEqW@S~F zjq}-f%T{OQ?Jyhfvk8{Hmz6bP#wn2d!@A$H53;g0%T=uACyRx!7%pUdGbj$vemHlDHiJ80F49gB?yVK&=mPg!5DIcXDSoVB_KeciHlIcXneulwu`%R1(yQ<%Nsv*ng` z$w{{`Tkf;JTh=`%mxUQ;yzX;*)3Tm9=@n*g`fP<|eR6VTm~lSruC~&$zB#!n%vSnr zwPjc5WI&j$_Srj@4a~`)Fnh;mYb?7i7ac?UW$~J*&=0xKZj*&Wa?x?L4>!5c4eY&t zY2mP3bX@JjFJ0&c!YvjK&qc@CKHTC$HxO>Ma6~RT?)KqU7rKFPyM?#rqT_HMZg-&@ z2zOXGDi`*4Q~-9Wh0!aH-(ak>w8y3h@TyDhvs7ah0zaJLKHK)Bb!dvnooybn2= z=S@H4zTo>U9Gi=d>wUQ2g>K+iFc*Mf{ za?$MoK0M+=HxM4Ra3Zgs^1Fw|^`YH>{9@sxTy#5uzv3@0bOYgW3n%BI+YNkp+=Xr+ zES>Vl0aJ3(?Fc^P)&zZMHy~v#oSKVnSMVXXE@w|`FKw=io$VIn9_>fy8G;{-UiiJ<)qT3~W$gL9^x&f(Z;gh-Ob_ySIYlVhx zKng9K!w=Tq{bq0t-GEfKaBeQT9m8LdTQf9t15(Apc{!OMena8@jp$7l diff --git a/.vs/Management/v17/.suo b/.vs/Management/v17/.suo index aed85fd0498862fa55d5aea4fde3d66cd25b33aa..588cbbea7a6e63ed0e03b7400f42f9e0d7e08188 100644 GIT binary patch literal 161280 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 PGGo(e)Hb30^Z)+`63c%f delta 7504 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 D%gH!I diff --git a/.vs/ProjectEvaluation/management.metadata.v2 b/.vs/ProjectEvaluation/management.metadata.v2 index 01eb341077a8b052d8e8a5d76ad3711013175ea0..1dc4a016c4d9bb3943bc09ab47fe98a4d56578f6 100644 GIT binary patch delta 3908 zcmcgvYfKzf6lU%Lq*xwPuqlrPgtE({OlS7VqEsmqqtQw%G=^-o15D{^yTI&%N!6f9 zebuIEvz8NMtC*N5J`fUN#l#BMwzg>#iP4ZIrsaoGV=DYmf0@)Xv#=~-68$mDX7^_A zz30w3=R4my=g#8Utf{#y&hsMo5=UP)!GUEwr+`mNN^^>hjZH4eQAm^9fa7JX9E;OGrz)OK=EcjoK+V z?xyKm92V?j6{dN&Wv$jyQgha1HTkR5EJd@76rBN_7uYUrsbk4F_BnVl>vcGoAWj*E zaw}OO;*7*{aiN~&WH#yq7CM9FwBcIW7<@25jFk^H$sw6`t+ZSDh`&2Z^q|i!+U=rS zbW638$LV>pQB{bdv1i#x+WtSKo0Ooxn$NXLR$~kxzi{FJ*932J; z$NVfGubu<9wstr{h#AJMlC1g#P@aJUS{bOq7oKC8n02Kn6}{LJ96DhO|WDGib!?YBDO@E=ZCf)pRKXHKOG3dbZJGmWxWD7+n)Zud7B| zb5MRS$%zh!N6^-sBxhfetM!W8m(MQCd7U1S)@}fv8iai@&#kz49Nt?`{3WvDyxtb9 zxc>@aeeyIU4~3yjgWn16P1{E84<4`+_%LY&bHne**^|>z#qG1Nzy)F(yuyc zZs=E(W}upFNW#8LTrqxUVdXeB0^9J9LAV2j36MFHn`f?(nc+T*C8k{BOzxu_<5dn# zLp$!BggL%ss$9pSfX3ZFwVwW6$08-2rY8Gr7@DIv?_>{Y9nKj=`_BmcWwz^lyz7E? zg~0p1fj#)nhtyY7r=d0S?G!wd%)c>PtYa}wqc8jV5-(CV(DYU0RravfSL)5?!m7X^ z_Z2*Ew*NV6{13hy^T!>&VM)QoOVEn#({Pb@UM|r=_>9IkPy85{9QSXclvvf%s?Em2 zkRu1RmMTZ-A$|>Q>j2MgP31i}xtZnQ%?r?mmFM9p{@#zRIy9*?wpSIN_$^_%Vpt#W zW)U1V+xfM*5ux08obi*lN_A&P*YKca0BZ5}aj4KkVm1YgU7tM(HWYgy3!lCS1!jX_ zkRToU6=FFz{^q&sWjY*R(D?n&v&*$%BTd(%PVUuSG2<={*wV}_v6Qf_TrzO%GQ4Is nKAYAS5NtRCwg}yA9%a1s+EyK#4`?ji`9l<&?U9A6z_EV;V)0)z delta 517 zcmdmaga5-^en#m=##TlkV%o~cEW44>adM%A*<=AV?(J`nFiSEEzEl-s0D%f1Zqaxu zd~f=}JIvZl>AEGG@s7ZSRvWp#r zn02N%)G+Z)|FDZ$pD|fu-is5M)u$U2F!N7;^MF~JF=_h5dgj>a7alYJ7W~X712!WWNJhE5fP{el zP^3?gRDd2?v?=re{54PT$`2oVkoiZ~~(&*o+)xGqksx Jykcf$0syT_tX2R3 diff --git a/.vs/ProjectEvaluation/management.projects.v2 b/.vs/ProjectEvaluation/management.projects.v2 index 1b9059b220c941c523efa8ce48d2063f02fedfce..6d4d7a121ef07d9aed940961ccd56e54d22c602b 100644 GIT binary patch delta 2977 zcmeH}Yitx%6vumKc4yzyoh_Z&d2G9-wX}uOr6sM}M`|OcCLkp~l9EP2GzANWCPvb2 zNE*FrEG?v>xseYoC490^yUGoIz@iapgJu&%P%uiOFU* zbI+Z*_x$ev{Lge=+;cV72Ra~t6r`aI+93lS&f-+Rz3w2H(jQsdGI?4-UcqX4eOF3i?-1t`JV%+p7gQF4tsY*sshZKCdg^w}8 z5C>*lF~1^^i+_vD(z;gg>^izyr*Wd~(YkM^En>rvZg#_P>ipKf-LOB)*lBV9H; z`6$RO#GfDMCnYva9w(ujZgL58=*IJO28#c_%z?(g;KjvJz@?Wh8p8$W_+A}g z1Nx;yNX-c~z9Upqc^v9_jIN~a(f<*X>8i&50bu}8`9^33hx*?Vt8n>{upz;<%A<4b z`BX@dGsiU6H6^aFiPQ{?a~=s7pB4rwjVp?mlf}YuftOL!8}wS#mFKU|vO-(yAqP5( zhkgA$Q4|S^#m6jsd5ykKnplLbCX^IXfbtc*iF>83k^-UQ&Yvk zS+_{z_P*e}Y^Fb_v%)0(QxtZIo}<~inA%0FWN+h*b?zfJ{K}Q!6eC&5sM3o^d+7p0 zM_Rh?e%>&G)_TN4)YFX8pA(nJGkQ?mlx=2MpH6Q8ggIrZyNrH4 zpdo-Z_lmV+ zpYm&B=vOj7_GDRk*bmwy)YD6caA-zZmzh+(qyrvyhpv66eo8Ftl4UBkGWBEP-|muY nNx}Z+tpfkmCYdnJzmZy+X1Pke{D0FV6p|{&f&OXJWOM!k`AP9v delta 68 zcmV~$OBO-^006+}m*kVE6gj7Di&?pZLvWie(8e9i{MRLzf74eW6p1BHQfHZqT%lCC Us@*hNcMngUm$%;FvyJn9059?u<^TWy diff --git a/src/Token.HttpApi/Token.HttpApi.csproj b/src/Token.HttpApi/Token.HttpApi.csproj index 2eb3a53..5394687 100644 --- a/src/Token.HttpApi/Token.HttpApi.csproj +++ b/src/Token.HttpApi/Token.HttpApi.csproj @@ -10,10 +10,10 @@ - + - - + + diff --git a/src/Token.Management.Application.Contracts/Token.Management.Application.Contracts.csproj b/src/Token.Management.Application.Contracts/Token.Management.Application.Contracts.csproj index 0f3edc9..4dae1b2 100644 --- a/src/Token.Management.Application.Contracts/Token.Management.Application.Contracts.csproj +++ b/src/Token.Management.Application.Contracts/Token.Management.Application.Contracts.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/Token.Management.Application/Token.Management.Application.csproj b/src/Token.Management.Application/Token.Management.Application.csproj index 8f5d09d..326bde3 100644 --- a/src/Token.Management.Application/Token.Management.Application.csproj +++ b/src/Token.Management.Application/Token.Management.Application.csproj @@ -7,9 +7,9 @@ - - - + + + diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs index cf809d3..e88fbe2 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs @@ -1,4 +1,4 @@ -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; using Token.Management.Domain.Management; using Token.Management.Domain.Management.AccessFunction; using Token.Management.Domain.SystemService; @@ -11,12 +11,9 @@ namespace Token.Management.EntityFrameworkCore.EntityFrameworkCore; public static class EntityFrameworkCoreConfig { - public static ModelBuilder Config(this ModelBuilder builder) + public static ModelBuilder Config(this ModelBuilder builder) { - builder.Entity(x => - { - x.HasKey(x => x.Count); - }); + builder.Entity().HasKey(x=>x.Count); builder.Entity(x => { diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs index 350fa64..4bdc285 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs @@ -1,4 +1,4 @@ -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; using Token.Management.Domain.Management; using Token.Management.Domain.Management.AccessFunction; using Token.Management.Domain.Shared; @@ -15,7 +15,8 @@ public static class EntityFrameworkCoreInitialData /// public static void Initia(this ModelBuilder model) { - var now=DateTime.Now; + + var now = DateTime.Now; var userInfoData = new List() { new(Guid.NewGuid()) @@ -34,13 +35,13 @@ public static class EntityFrameworkCoreInitialData model.Entity().HasData(userInfoData); - var roleData =new Role(Guid.NewGuid()) - { - Name = "管理员", - Code = "admin", - Index = 0, - Remark = "系统管理员", - CreationTime = now, + var roleData = new Role(Guid.NewGuid()) + { + Name = "管理员", + Code = "admin", + Index = 0, + Remark = "系统管理员", + CreationTime = now, }; model.Entity().HasData(roleData); @@ -66,7 +67,8 @@ public static class EntityFrameworkCoreInitialData var userDepartmentFunction = new List(); foreach (var u in userInfoData) { - userDepartmentFunction.Add(new UserDepartmentFunction(Guid.NewGuid()) { + userDepartmentFunction.Add(new UserDepartmentFunction(Guid.NewGuid()) + { UserInfoId = u.Id, DepartmentId = departmentData.Id, CreationTime = now, @@ -74,7 +76,7 @@ public static class EntityFrameworkCoreInitialData userRole.Add(new UserRoleFunction(Guid.NewGuid()) { UserInfoId = u.Id, - RoleId= roleData.Id, + RoleId = roleData.Id, CreationTime = now, }); } @@ -123,7 +125,7 @@ public static class EntityFrameworkCoreInitialData { CreationTime = now, Component = "UserConfig", - Index =1, + Index = 1, Name = "用户权限配置", ParentId = menuSystem.Id, Path = "/system/userConfig/index", @@ -162,9 +164,10 @@ public static class EntityFrameworkCoreInitialData foreach (var d in menu) { - menuRoleFunction.Add(new MenuRoleFunction(Guid.NewGuid()) { - MenuId=d.Id, - RoleId= roleData.Id, + menuRoleFunction.Add(new MenuRoleFunction(Guid.NewGuid()) + { + MenuId = d.Id, + RoleId = roleData.Id, }); } model.Entity().HasData(menuRoleFunction); diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/TokenDbContext.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/TokenDbContext.cs index 0bbc7b3..2853382 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/TokenDbContext.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/TokenDbContext.cs @@ -1,4 +1,4 @@ -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; using Token.Management.Domain.Management; using Token.Management.Domain.Management.AccessFunction; using Token.Management.Domain.SystemService; @@ -57,16 +57,16 @@ public class TokenDbContext : AbpDbContext optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTrackingWithIdentityResolution); #if DEBUG +#endif // 显示更详细的异常日志 optionsBuilder.EnableDetailedErrors(); -#endif } protected override void OnModelCreating(ModelBuilder builder) { - builder.Initia(); - + builder.Config(); + builder.Initia(); } diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.Designer.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.Designer.cs similarity index 71% rename from src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.Designer.cs rename to src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.Designer.cs index b6386a4..e54953d 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.Designer.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.Designer.cs @@ -11,8 +11,8 @@ using Token.Management.EntityFrameworkCore.EntityFrameworkCore; namespace Token.Management.EntityFrameworkCore.Migrations { [DbContext(typeof(TokenDbContext))] - [Migration("20220606181747_CreateConfig")] - partial class CreateConfig + [Migration("20220606183717_CreateData")] + partial class CreateData { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -27,15 +27,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -50,8 +44,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("MenuId"); @@ -61,6 +53,64 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasIndex("UserInfoId"); b.ToTable("token_menu_role_function", (string)null); + + b.HasData( + new + { + Id = new Guid("7914a004-b082-423f-8ed4-1341c0e440cf"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("cc363f8d-b471-469a-a9d1-bcfc8a81ae9b"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("952cf9b7-98ed-4e4a-9388-7bad259afbb8"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("119a73ca-28a8-48f5-a284-d626613db93c"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("9f276a48-8753-425e-8e0c-63297b517e83"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("23b75d25-24da-493b-a83f-cca4ca3c0e4c"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("3a845e2d-63df-4a84-b569-410db7194843"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("6508827b-1373-4631-af2f-1072ec77c531"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }); }); modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => @@ -69,18 +119,12 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); b.Property("DepartmentId") .HasColumnType("char(36)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -91,13 +135,21 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasIndex("DepartmentId"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("UserInfoId"); b.ToTable("token_user_department_function", (string)null); + + b.HasData( + new + { + Id = new Guid("75b64236-37c6-47c8-89c9-a5ec69bd2bf9"), + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + DepartmentId = new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), + IsDeleted = false, + UserInfoId = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") + }); }); modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => @@ -106,15 +158,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -126,8 +172,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("RoleId"); @@ -135,6 +179,16 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasIndex("UserInfoId"); b.ToTable("token_user_role_function", (string)null); + + b.HasData( + new + { + Id = new Guid("72e4ca93-3b60-4228-ba7b-c43fa049227a"), + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + IsDeleted = false, + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), + UserInfoId = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") + }); }); modelBuilder.Entity("Token.Management.Domain.Management.Company", b => @@ -146,18 +200,12 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Code") .HasColumnType("longtext"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); b.Property("Describe") .HasColumnType("longtext"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -169,9 +217,18 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.ToTable("Company"); + + b.HasData( + new + { + Id = new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), + Code = "wr", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", + IsDeleted = false, + Name = "Microsoft" + }); }); modelBuilder.Entity("Token.Management.Domain.Management.Department", b => @@ -186,15 +243,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("CompanyId") .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("Index") .HasColumnType("int"); @@ -214,13 +265,23 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasIndex("CompanyId"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("UserInfoId"); b.ToTable("token_department", (string)null); + + b.HasData( + new + { + Id = new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), + Code = "cs", + CompanyId = new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 0, + IsDeleted = false, + Name = "测试部门" + }); }); modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => @@ -232,15 +293,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Component") .HasColumnType("longtext"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("Icon") .HasColumnType("longtext"); @@ -264,11 +319,91 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_menu", (string)null); + + b.HasData( + new + { + Id = new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), + Component = "Home", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 0, + IsDeleted = false, + Name = "首页", + Path = "/home/index", + Title = "首页" + }, + new + { + Id = new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), + Component = "User", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 1, + IsDeleted = false, + Name = "用户管理", + Path = "/user/index", + Title = "用户管理" + }, + new + { + Id = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Component = "System", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 2, + IsDeleted = false, + Name = "系统配置", + Path = "/system/index", + Title = "系统配置" + }, + new + { + Id = new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), + Component = "Work", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 3, + IsDeleted = false, + Name = "工作", + Path = "/Work/index", + Title = "工作" + }, + new + { + Id = new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), + Component = "UserConfig", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 1, + IsDeleted = false, + Name = "用户权限配置", + ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Path = "/system/userConfig/index", + Title = "用户权限配置" + }, + new + { + Id = new Guid("3a845e2d-63df-4a84-b569-410db7194843"), + Component = "RoleConfig", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 0, + IsDeleted = false, + Name = "角色配置", + ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Path = "/system/roleConfig/index", + Title = "角色配置" + }, + new + { + Id = new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), + Component = "WorkConfig", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 2, + IsDeleted = false, + Name = "工作流配置", + ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Path = "/system/workConfig/index", + Title = "工作流配置" + }); }); modelBuilder.Entity("Token.Management.Domain.Management.Role", b => @@ -281,15 +416,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("longtext") .HasComment("角色编号"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("Index") .HasColumnType("int") .HasComment("序号"); @@ -311,11 +440,21 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_role", (string)null); + + b.HasData( + new + { + Id = new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), + Code = "admin", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 0, + IsDeleted = false, + Name = "管理员", + Remark = "系统管理员" + }); }); modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => @@ -324,12 +463,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsCheck") .HasColumnType("tinyint(1)"); @@ -347,8 +480,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_system_message", (string)null); @@ -364,9 +495,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .IsRequired() .HasColumnType("longtext"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); @@ -374,9 +502,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("longtext") .HasComment("邮箱"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("HeadPortraits") .HasColumnType("longtext") .HasComment("头像"); @@ -410,11 +535,25 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_user_info", (string)null); + + b.HasData( + new + { + Id = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb"), + AccountNumber = "admin", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + EMail = "239573049@qq.com", + HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", + IsDeleted = false, + MobileNumber = 13049809673L, + Name = "管理员", + Password = "Aa010426", + Sex = 1, + Statue = 0 + }); }); modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => @@ -423,18 +562,12 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("Content") .HasColumnType("longtext"); b.Property("Count") .HasColumnType("int"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -452,8 +585,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_work_demo_main", (string)null); @@ -465,12 +596,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -482,8 +607,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("RoleId"); @@ -499,12 +622,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -522,8 +639,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("WorkflowInstanceId"); @@ -544,15 +659,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("longtext") .HasComment("工作流实例code"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CurrentRoleCode") .HasColumnType("longtext"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("HasBeenRead") .HasColumnType("tinyint(1)"); @@ -589,8 +698,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("SponsorId"); @@ -618,12 +725,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Code") .HasColumnType("int"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -656,8 +757,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("WorkflowInstanceId"); @@ -674,12 +773,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Code") .HasColumnType("int"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -697,8 +790,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("WorkflowTemplateId"); @@ -716,12 +807,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("longtext") .HasComment("工作流模板编号"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -735,8 +820,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_workflow_template", (string)null); @@ -755,10 +838,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Management.Menu", "Menu") .WithMany() .HasForeignKey("MenuId") @@ -775,8 +854,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .WithMany("MenuRoleFunction") .HasForeignKey("UserInfoId"); - b.Navigation("ExtraProperties"); - b.Navigation("Menu"); b.Navigation("Role"); @@ -790,10 +867,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") .WithMany("UserDepartmentFunction") .HasForeignKey("UserInfoId") @@ -802,17 +875,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Navigation("Department"); - b.Navigation("ExtraProperties"); - b.Navigation("UserInfo"); }); modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Management.Role", "Role") .WithMany() .HasForeignKey("RoleId") @@ -825,22 +892,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("Role"); b.Navigation("UserInfo"); }); - modelBuilder.Entity("Token.Management.Domain.Management.Company", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - modelBuilder.Entity("Token.Management.Domain.Management.Department", b => { b.HasOne("Token.Management.Domain.Management.Company", "Company") @@ -849,70 +905,15 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Users.UserInfo", null) .WithMany("Department") .HasForeignKey("UserInfoId"); b.Navigation("Company"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Role", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); }); modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Management.Role", "Role") .WithMany() .HasForeignKey("RoleId") @@ -925,8 +926,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("Role"); b.Navigation("WorkflowNodeTemplate"); @@ -934,27 +933,17 @@ namespace Token.Management.EntityFrameworkCore.Migrations modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") .WithMany("WorkflowApprovers") .HasForeignKey("WorkflowInstanceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("WorkflowInstance"); }); modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Users.UserInfo", "Sponsor") .WithMany() .HasForeignKey("SponsorId") @@ -967,8 +956,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("Sponsor"); b.Navigation("WorkflowTemplate"); @@ -976,47 +963,26 @@ namespace Token.Management.EntityFrameworkCore.Migrations modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") .WithMany("WorkflowNodeInstances") .HasForeignKey("WorkflowInstanceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("WorkflowInstance"); }); modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") .WithMany("WorkflowNodeTemplate") .HasForeignKey("WorkflowTemplateId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("WorkflowTemplate"); }); - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - modelBuilder.Entity("Token.Management.Domain.Management.Company", b => { b.Navigation("Department"); diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.cs similarity index 73% rename from src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.cs rename to src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.cs index 5c63ce0..e27b7a1 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/20220606181747_CreateConfig.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.cs @@ -6,26 +6,13 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace Token.Management.EntityFrameworkCore.Migrations { - public partial class CreateConfig : Migration + public partial class CreateData : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AlterDatabase() .Annotation("MySql:CharSet", "utf8mb4"); - migrationBuilder.CreateTable( - name: "ExtraPropertyDictionary", - columns: table => new - { - Count = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn) - }, - constraints: table => - { - table.PrimaryKey("PK_ExtraPropertyDictionary", x => x.Count); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - migrationBuilder.CreateTable( name: "Company", columns: table => new @@ -40,19 +27,24 @@ namespace Token.Management.EntityFrameworkCore.Migrations Describe = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + CreationTime = table.Column(type: "datetime(6)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Company", x => x.Id); - table.ForeignKey( - name: "FK_Company_ExtraPropertyDictionary_ExtraPropertiesCount", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "ExtraPropertyDictionary", + columns: table => new + { + Count = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn) + }, + constraints: table => + { + table.PrimaryKey("PK_ExtraPropertyDictionary", x => x.Count); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -74,19 +66,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations .Annotation("MySql:CharSet", "utf8mb4"), ParentId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + CreationTime = table.Column(type: "datetime(6)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_menu", x => x.Id); - table.ForeignKey( - name: "FK_token_menu_ExtraPropertyDictionary_ExtraPropertiesCount", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -104,19 +88,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations Index = table.Column(type: "int", nullable: false, comment: "序号"), ParentId = table.Column(type: "char(36)", nullable: true, comment: "父节点", collation: "ascii_general_ci"), IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + CreationTime = table.Column(type: "datetime(6)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_role", x => x.Id); - table.ForeignKey( - name: "FK_token_role_ExtraPropertyDictionary_ExtraPropertiesCount", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -131,19 +107,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations .Annotation("MySql:CharSet", "utf8mb4"), IsCheck = table.Column(type: "tinyint(1)", nullable: false), WorkFormCode = table.Column(type: "int", nullable: false), - WorkFormId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + WorkFormId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") }, constraints: table => { table.PrimaryKey("PK_token_system_message", x => x.Id); - table.ForeignKey( - name: "FK_token_system_message_ExtraPropertyDictionary_ExtraProperties~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -168,19 +136,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations EMail = table.Column(type: "longtext", nullable: true, comment: "邮箱") .Annotation("MySql:CharSet", "utf8mb4"), IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + CreationTime = table.Column(type: "datetime(6)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_user_info", x => x.Id); - table.ForeignKey( - name: "FK_token_user_info_ExtraPropertyDictionary_ExtraPropertiesCount", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -196,9 +156,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations Content = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), Count = table.Column(type: "int", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), WorkFlowNodeStatus = table.Column(type: "int", nullable: false), SubmitTime = table.Column(type: "datetime(6)", nullable: true), IsDeleted = table.Column(type: "tinyint(1)", nullable: false) @@ -206,11 +163,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations constraints: table => { table.PrimaryKey("PK_token_work_demo_main", x => x.Id); - table.ForeignKey( - name: "FK_token_work_demo_main_ExtraPropertyDictionary_ExtraProperties~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -225,19 +177,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations .Annotation("MySql:CharSet", "utf8mb4"), Remark = table.Column(type: "longtext", nullable: true, comment: "工作流模板备注") .Annotation("MySql:CharSet", "utf8mb4"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_workflow_template", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_template_ExtraPropertyDictionary_ExtraPropert~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -255,10 +199,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations CompanyId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), IsDeleted = table.Column(type: "tinyint(1)", nullable: false), CreationTime = table.Column(type: "datetime(6)", nullable: false), - UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") }, constraints: table => { @@ -269,11 +210,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations principalTable: "Company", principalColumn: "Id", onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_token_department_ExtraPropertyDictionary_ExtraPropertiesCount", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_department_token_user_info_UserInfoId", column: x => x.UserInfoId, @@ -291,19 +227,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), IsDeleted = table.Column(type: "tinyint(1)", nullable: false), CreationTime = table.Column(type: "datetime(6)", nullable: false), - UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") }, constraints: table => { table.PrimaryKey("PK_token_menu_role_function", x => x.Id); - table.ForeignKey( - name: "FK_token_menu_role_function_ExtraPropertyDictionary_ExtraProper~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_menu_role_function_token_menu_MenuId", column: x => x.MenuId, @@ -332,19 +260,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), CreationTime = table.Column(type: "datetime(6)", nullable: false), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_user_role_function", x => x.Id); - table.ForeignKey( - name: "FK_token_user_role_function_ExtraPropertyDictionary_ExtraProper~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_user_role_function_token_role_RoleId", column: x => x.RoleId, @@ -383,19 +303,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations HasBeenRead = table.Column(type: "tinyint(1)", nullable: false), CurrentRoleCode = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_workflow_instance", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_instance_ExtraPropertyDictionary_ExtraPropert~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_workflow_instance_token_user_info_SponsorId", column: x => x.SponsorId, @@ -422,19 +334,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations NextNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), Remark = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_workflow_node_template", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_node_template_ExtraPropertyDictionary_ExtraPr~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_workflow_node_template_token_workflow_template_Workflo~", column: x => x.WorkflowTemplateId, @@ -452,19 +356,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), DepartmentId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + CreationTime = table.Column(type: "datetime(6)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_user_department_function", x => x.Id); - table.ForeignKey( - name: "FK_token_user_department_function_ExtraPropertyDictionary_Extra~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_user_department_function_token_department_DepartmentId", column: x => x.DepartmentId, @@ -490,19 +386,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations .Annotation("MySql:CharSet", "utf8mb4"), WorkflowInstanceId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), WorkFlowFormCode = table.Column(type: "int", nullable: false), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_workflow_approvers", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_approvers_ExtraPropertyDictionary_ExtraProper~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_workflow_approvers_token_workflow_instance_WorkflowIns~", column: x => x.WorkflowInstanceId, @@ -533,19 +421,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations .Annotation("MySql:CharSet", "utf8mb4"), AuditDate = table.Column(type: "datetime(6)", nullable: true), NodeStatus = table.Column(type: "int", nullable: false), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_workflowNode_instance", x => x.Id); - table.ForeignKey( - name: "FK_token_workflowNode_instance_ExtraPropertyDictionary_ExtraPro~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_workflowNode_instance_token_workflow_instance_Workflow~", column: x => x.WorkflowInstanceId, @@ -562,19 +442,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), WorkflowNodeTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - ExtraPropertiesCount = table.Column(type: "int", nullable: true), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_token_workflow_approval_role", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_approval_role_ExtraPropertyDictionary_ExtraPr~", - column: x => x.ExtraPropertiesCount, - principalTable: "ExtraPropertyDictionary", - principalColumn: "Count"); table.ForeignKey( name: "FK_token_workflow_approval_role_token_role_RoleId", column: x => x.RoleId, @@ -590,20 +462,68 @@ namespace Token.Management.EntityFrameworkCore.Migrations }) .Annotation("MySql:CharSet", "utf8mb4"); - migrationBuilder.CreateIndex( - name: "IX_Company_ExtraPropertiesCount", + migrationBuilder.InsertData( table: "Company", - column: "ExtraPropertiesCount"); + columns: new[] { "Id", "Code", "CreationTime", "Describe", "IsDeleted", "Logo", "Name" }, + values: new object[] { new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), "wr", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", false, null, "Microsoft" }); - migrationBuilder.CreateIndex( - name: "IX_token_department_CompanyId", + migrationBuilder.InsertData( + table: "token_menu", + columns: new[] { "Id", "Component", "CreationTime", "Icon", "Index", "IsDeleted", "Name", "ParentId", "Path", "Title" }, + values: new object[,] + { + { new Guid("3a845e2d-63df-4a84-b569-410db7194843"), "RoleConfig", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 0, false, "角色配置", new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), "/system/roleConfig/index", "角色配置" }, + { new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), "Home", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 0, false, "首页", null, "/home/index", "首页" }, + { new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), "Work", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 3, false, "工作", null, "/Work/index", "工作" }, + { new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), "System", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 2, false, "系统配置", null, "/system/index", "系统配置" }, + { new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), "UserConfig", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 1, false, "用户权限配置", new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), "/system/userConfig/index", "用户权限配置" }, + { new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), "User", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 1, false, "用户管理", null, "/user/index", "用户管理" }, + { new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), "WorkConfig", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 2, false, "工作流配置", new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), "/system/workConfig/index", "工作流配置" } + }); + + migrationBuilder.InsertData( + table: "token_role", + columns: new[] { "Id", "Code", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "Remark" }, + values: new object[] { new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), "admin", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), 0, false, "管理员", null, "系统管理员" }); + + migrationBuilder.InsertData( + table: "token_user_info", + columns: new[] { "Id", "AccountNumber", "CreationTime", "EMail", "HeadPortraits", "IsDeleted", "MobileNumber", "Name", "Password", "Sex", "Statue", "WXOpenId" }, + values: new object[] { new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb"), "admin", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), "239573049@qq.com", "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", false, 13049809673L, "管理员", "Aa010426", 1, 0, null }); + + migrationBuilder.InsertData( table: "token_department", - column: "CompanyId"); + columns: new[] { "Id", "Code", "CompanyId", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "UserInfoId" }, + values: new object[] { new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), "cs", new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), 0, false, "测试部门", null, null }); + + migrationBuilder.InsertData( + table: "token_menu_role_function", + columns: new[] { "Id", "CreationTime", "IsDeleted", "MenuId", "RoleId", "UserInfoId" }, + values: new object[,] + { + { new Guid("119a73ca-28a8-48f5-a284-d626613db93c"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, + { new Guid("23b75d25-24da-493b-a83f-cca4ca3c0e4c"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("3a845e2d-63df-4a84-b569-410db7194843"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, + { new Guid("6508827b-1373-4631-af2f-1072ec77c531"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, + { new Guid("7914a004-b082-423f-8ed4-1341c0e440cf"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, + { new Guid("952cf9b7-98ed-4e4a-9388-7bad259afbb8"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, + { new Guid("9f276a48-8753-425e-8e0c-63297b517e83"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, + { new Guid("cc363f8d-b471-469a-a9d1-bcfc8a81ae9b"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null } + }); + + migrationBuilder.InsertData( + table: "token_user_role_function", + columns: new[] { "Id", "CreationTime", "IsDeleted", "RoleId", "UserInfoId" }, + values: new object[] { new Guid("72e4ca93-3b60-4228-ba7b-c43fa049227a"), new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), false, new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") }); + + migrationBuilder.InsertData( + table: "token_user_department_function", + columns: new[] { "Id", "CreationTime", "DepartmentId", "IsDeleted", "UserInfoId" }, + values: new object[] { new Guid("75b64236-37c6-47c8-89c9-a5ec69bd2bf9"), new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), false, new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") }); migrationBuilder.CreateIndex( - name: "IX_token_department_ExtraPropertiesCount", + name: "IX_token_department_CompanyId", table: "token_department", - column: "ExtraPropertiesCount"); + column: "CompanyId"); migrationBuilder.CreateIndex( name: "IX_token_department_Id", @@ -615,21 +535,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_department", column: "UserInfoId"); - migrationBuilder.CreateIndex( - name: "IX_token_menu_ExtraPropertiesCount", - table: "token_menu", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_menu_Id", table: "token_menu", column: "Id"); - migrationBuilder.CreateIndex( - name: "IX_token_menu_role_function_ExtraPropertiesCount", - table: "token_menu_role_function", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_menu_role_function_Id", table: "token_menu_role_function", @@ -650,21 +560,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_menu_role_function", column: "UserInfoId"); - migrationBuilder.CreateIndex( - name: "IX_token_role_ExtraPropertiesCount", - table: "token_role", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_role_Id", table: "token_role", column: "Id"); - migrationBuilder.CreateIndex( - name: "IX_token_system_message_ExtraPropertiesCount", - table: "token_system_message", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_system_message_Id", table: "token_system_message", @@ -675,11 +575,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_user_department_function", column: "DepartmentId"); - migrationBuilder.CreateIndex( - name: "IX_token_user_department_function_ExtraPropertiesCount", - table: "token_user_department_function", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_user_department_function_Id", table: "token_user_department_function", @@ -690,21 +585,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_user_department_function", column: "UserInfoId"); - migrationBuilder.CreateIndex( - name: "IX_token_user_info_ExtraPropertiesCount", - table: "token_user_info", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_user_info_Id", table: "token_user_info", column: "Id"); - migrationBuilder.CreateIndex( - name: "IX_token_user_role_function_ExtraPropertiesCount", - table: "token_user_role_function", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_user_role_function_Id", table: "token_user_role_function", @@ -720,21 +605,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_user_role_function", column: "UserInfoId"); - migrationBuilder.CreateIndex( - name: "IX_token_work_demo_main_ExtraPropertiesCount", - table: "token_work_demo_main", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_work_demo_main_Id", table: "token_work_demo_main", column: "Id"); - migrationBuilder.CreateIndex( - name: "IX_token_workflow_approval_role_ExtraPropertiesCount", - table: "token_workflow_approval_role", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_workflow_approval_role_Id", table: "token_workflow_approval_role", @@ -750,11 +625,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_workflow_approval_role", column: "WorkflowNodeTemplateId"); - migrationBuilder.CreateIndex( - name: "IX_token_workflow_approvers_ExtraPropertiesCount", - table: "token_workflow_approvers", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_workflow_approvers_Id", table: "token_workflow_approvers", @@ -765,11 +635,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_workflow_approvers", column: "WorkflowInstanceId"); - migrationBuilder.CreateIndex( - name: "IX_token_workflow_instance_ExtraPropertiesCount", - table: "token_workflow_instance", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_workflow_instance_Id", table: "token_workflow_instance", @@ -785,11 +650,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_workflow_instance", column: "WorkflowTemplateId"); - migrationBuilder.CreateIndex( - name: "IX_token_workflow_node_template_ExtraPropertiesCount", - table: "token_workflow_node_template", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_workflow_node_template_Id", table: "token_workflow_node_template", @@ -800,21 +660,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_workflow_node_template", column: "WorkflowTemplateId"); - migrationBuilder.CreateIndex( - name: "IX_token_workflow_template_ExtraPropertiesCount", - table: "token_workflow_template", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_workflow_template_Id", table: "token_workflow_template", column: "Id"); - migrationBuilder.CreateIndex( - name: "IX_token_workflowNode_instance_ExtraPropertiesCount", - table: "token_workflowNode_instance", - column: "ExtraPropertiesCount"); - migrationBuilder.CreateIndex( name: "IX_token_workflowNode_instance_Id", table: "token_workflowNode_instance", @@ -828,6 +678,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations protected override void Down(MigrationBuilder migrationBuilder) { + migrationBuilder.DropTable( + name: "ExtraPropertyDictionary"); + migrationBuilder.DropTable( name: "token_menu_role_function"); @@ -875,9 +728,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations migrationBuilder.DropTable( name: "token_workflow_template"); - - migrationBuilder.DropTable( - name: "ExtraPropertyDictionary"); } } } diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs index 4ff58e9..4d81052 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs @@ -25,15 +25,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -48,8 +42,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("MenuId"); @@ -59,6 +51,64 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasIndex("UserInfoId"); b.ToTable("token_menu_role_function", (string)null); + + b.HasData( + new + { + Id = new Guid("7914a004-b082-423f-8ed4-1341c0e440cf"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("cc363f8d-b471-469a-a9d1-bcfc8a81ae9b"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("952cf9b7-98ed-4e4a-9388-7bad259afbb8"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("119a73ca-28a8-48f5-a284-d626613db93c"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("9f276a48-8753-425e-8e0c-63297b517e83"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("23b75d25-24da-493b-a83f-cca4ca3c0e4c"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("3a845e2d-63df-4a84-b569-410db7194843"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }, + new + { + Id = new Guid("6508827b-1373-4631-af2f-1072ec77c531"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + }); }); modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => @@ -67,18 +117,12 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); b.Property("DepartmentId") .HasColumnType("char(36)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -89,13 +133,21 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasIndex("DepartmentId"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("UserInfoId"); b.ToTable("token_user_department_function", (string)null); + + b.HasData( + new + { + Id = new Guid("75b64236-37c6-47c8-89c9-a5ec69bd2bf9"), + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + DepartmentId = new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), + IsDeleted = false, + UserInfoId = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") + }); }); modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => @@ -104,15 +156,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -124,8 +170,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("RoleId"); @@ -133,6 +177,16 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasIndex("UserInfoId"); b.ToTable("token_user_role_function", (string)null); + + b.HasData( + new + { + Id = new Guid("72e4ca93-3b60-4228-ba7b-c43fa049227a"), + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + IsDeleted = false, + RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), + UserInfoId = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") + }); }); modelBuilder.Entity("Token.Management.Domain.Management.Company", b => @@ -144,18 +198,12 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Code") .HasColumnType("longtext"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); b.Property("Describe") .HasColumnType("longtext"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -167,9 +215,18 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.ToTable("Company"); + + b.HasData( + new + { + Id = new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), + Code = "wr", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", + IsDeleted = false, + Name = "Microsoft" + }); }); modelBuilder.Entity("Token.Management.Domain.Management.Department", b => @@ -184,15 +241,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("CompanyId") .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("Index") .HasColumnType("int"); @@ -212,13 +263,23 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasIndex("CompanyId"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("UserInfoId"); b.ToTable("token_department", (string)null); + + b.HasData( + new + { + Id = new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), + Code = "cs", + CompanyId = new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 0, + IsDeleted = false, + Name = "测试部门" + }); }); modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => @@ -230,15 +291,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Component") .HasColumnType("longtext"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("Icon") .HasColumnType("longtext"); @@ -262,11 +317,91 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_menu", (string)null); + + b.HasData( + new + { + Id = new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), + Component = "Home", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 0, + IsDeleted = false, + Name = "首页", + Path = "/home/index", + Title = "首页" + }, + new + { + Id = new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), + Component = "User", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 1, + IsDeleted = false, + Name = "用户管理", + Path = "/user/index", + Title = "用户管理" + }, + new + { + Id = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Component = "System", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 2, + IsDeleted = false, + Name = "系统配置", + Path = "/system/index", + Title = "系统配置" + }, + new + { + Id = new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), + Component = "Work", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 3, + IsDeleted = false, + Name = "工作", + Path = "/Work/index", + Title = "工作" + }, + new + { + Id = new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), + Component = "UserConfig", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 1, + IsDeleted = false, + Name = "用户权限配置", + ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Path = "/system/userConfig/index", + Title = "用户权限配置" + }, + new + { + Id = new Guid("3a845e2d-63df-4a84-b569-410db7194843"), + Component = "RoleConfig", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 0, + IsDeleted = false, + Name = "角色配置", + ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Path = "/system/roleConfig/index", + Title = "角色配置" + }, + new + { + Id = new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), + Component = "WorkConfig", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 2, + IsDeleted = false, + Name = "工作流配置", + ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Path = "/system/workConfig/index", + Title = "工作流配置" + }); }); modelBuilder.Entity("Token.Management.Domain.Management.Role", b => @@ -279,15 +414,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("longtext") .HasComment("角色编号"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("Index") .HasColumnType("int") .HasComment("序号"); @@ -309,11 +438,21 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_role", (string)null); + + b.HasData( + new + { + Id = new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), + Code = "admin", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Index = 0, + IsDeleted = false, + Name = "管理员", + Remark = "系统管理员" + }); }); modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => @@ -322,12 +461,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsCheck") .HasColumnType("tinyint(1)"); @@ -345,8 +478,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_system_message", (string)null); @@ -362,9 +493,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .IsRequired() .HasColumnType("longtext"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CreationTime") .HasColumnType("datetime(6)"); @@ -372,9 +500,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("longtext") .HasComment("邮箱"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("HeadPortraits") .HasColumnType("longtext") .HasComment("头像"); @@ -408,11 +533,25 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_user_info", (string)null); + + b.HasData( + new + { + Id = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb"), + AccountNumber = "admin", + CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + EMail = "239573049@qq.com", + HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", + IsDeleted = false, + MobileNumber = 13049809673L, + Name = "管理员", + Password = "Aa010426", + Sex = 1, + Statue = 0 + }); }); modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => @@ -421,18 +560,12 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("Content") .HasColumnType("longtext"); b.Property("Count") .HasColumnType("int"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -450,8 +583,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_work_demo_main", (string)null); @@ -463,12 +594,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -480,8 +605,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("RoleId"); @@ -497,12 +620,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -520,8 +637,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("WorkflowInstanceId"); @@ -542,15 +657,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("longtext") .HasComment("工作流实例code"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - b.Property("CurrentRoleCode") .HasColumnType("longtext"); - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("HasBeenRead") .HasColumnType("tinyint(1)"); @@ -587,8 +696,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("SponsorId"); @@ -616,12 +723,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Code") .HasColumnType("int"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -654,8 +755,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("WorkflowInstanceId"); @@ -672,12 +771,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Code") .HasColumnType("int"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -695,8 +788,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.HasIndex("WorkflowTemplateId"); @@ -714,12 +805,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("longtext") .HasComment("工作流模板编号"); - b.Property("ConcurrencyStamp") - .HasColumnType("longtext"); - - b.Property("ExtraPropertiesCount") - .HasColumnType("int"); - b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -733,8 +818,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.HasIndex("ExtraPropertiesCount"); - b.HasIndex("Id"); b.ToTable("token_workflow_template", (string)null); @@ -753,10 +836,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Management.Menu", "Menu") .WithMany() .HasForeignKey("MenuId") @@ -773,8 +852,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .WithMany("MenuRoleFunction") .HasForeignKey("UserInfoId"); - b.Navigation("ExtraProperties"); - b.Navigation("Menu"); b.Navigation("Role"); @@ -788,10 +865,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") .WithMany("UserDepartmentFunction") .HasForeignKey("UserInfoId") @@ -800,17 +873,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Navigation("Department"); - b.Navigation("ExtraProperties"); - b.Navigation("UserInfo"); }); modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Management.Role", "Role") .WithMany() .HasForeignKey("RoleId") @@ -823,22 +890,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("Role"); b.Navigation("UserInfo"); }); - modelBuilder.Entity("Token.Management.Domain.Management.Company", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - modelBuilder.Entity("Token.Management.Domain.Management.Department", b => { b.HasOne("Token.Management.Domain.Management.Company", "Company") @@ -847,70 +903,15 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Users.UserInfo", null) .WithMany("Department") .HasForeignKey("UserInfoId"); b.Navigation("Company"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Role", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); }); modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Management.Role", "Role") .WithMany() .HasForeignKey("RoleId") @@ -923,8 +924,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("Role"); b.Navigation("WorkflowNodeTemplate"); @@ -932,27 +931,17 @@ namespace Token.Management.EntityFrameworkCore.Migrations modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") .WithMany("WorkflowApprovers") .HasForeignKey("WorkflowInstanceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("WorkflowInstance"); }); modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.Users.UserInfo", "Sponsor") .WithMany() .HasForeignKey("SponsorId") @@ -965,8 +954,6 @@ namespace Token.Management.EntityFrameworkCore.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("Sponsor"); b.Navigation("WorkflowTemplate"); @@ -974,47 +961,26 @@ namespace Token.Management.EntityFrameworkCore.Migrations modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") .WithMany("WorkflowNodeInstances") .HasForeignKey("WorkflowInstanceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("WorkflowInstance"); }); modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") .WithMany("WorkflowNodeTemplate") .HasForeignKey("WorkflowTemplateId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("ExtraProperties"); - b.Navigation("WorkflowTemplate"); }); - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => - { - b.HasOne("Volo.Abp.Data.ExtraPropertyDictionary", "ExtraProperties") - .WithMany() - .HasForeignKey("ExtraPropertiesCount"); - - b.Navigation("ExtraProperties"); - }); - modelBuilder.Entity("Token.Management.Domain.Management.Company", b => { b.Navigation("Department"); diff --git a/src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj b/src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj index 092d735..8924bd2 100644 --- a/src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj +++ b/src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj @@ -15,9 +15,9 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + diff --git a/src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj b/src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj index 5345086..c8ad275 100644 --- a/src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj +++ b/src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj @@ -13,15 +13,15 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + - - - - - + + + + + diff --git a/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs b/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs index a837c93..74f2c96 100644 --- a/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs +++ b/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Shared; +using Token.Management.Domain.Shared; using Volo.Abp; using Volo.Abp.Domain.Entities; @@ -7,7 +7,7 @@ namespace Token.Management.Domain.Base; /// /// /// -public class WorkFlowStatue : AggregateRoot, ISoftDelete +public class WorkFlowStatue : Entity, ISoftDelete { /// /// 表单工作流状态 diff --git a/src/Token.Mangement.Domain/Management/AccessFunction/MenuRoleFunction.cs b/src/Token.Mangement.Domain/Management/AccessFunction/MenuRoleFunction.cs index 7488da7..e75ad17 100644 --- a/src/Token.Mangement.Domain/Management/AccessFunction/MenuRoleFunction.cs +++ b/src/Token.Mangement.Domain/Management/AccessFunction/MenuRoleFunction.cs @@ -1,4 +1,4 @@ -using Volo.Abp; +using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -7,7 +7,7 @@ namespace Token.Management.Domain.Management.AccessFunction; /// /// 角色菜单配置 /// -public class MenuRoleFunction : AggregateRoot,ISoftDelete,IHasCreationTime +public class MenuRoleFunction : Entity, ISoftDelete, IHasCreationTime { /// public MenuRoleFunction() @@ -15,7 +15,7 @@ public class MenuRoleFunction : AggregateRoot,ISoftDelete,IHasCreationTime } /// - public MenuRoleFunction(Guid id):base(id) + public MenuRoleFunction(Guid id) : base(id) { } diff --git a/src/Token.Mangement.Domain/Management/AccessFunction/UserDepartmentFunction.cs b/src/Token.Mangement.Domain/Management/AccessFunction/UserDepartmentFunction.cs index c703e67..7f4bd61 100644 --- a/src/Token.Mangement.Domain/Management/AccessFunction/UserDepartmentFunction.cs +++ b/src/Token.Mangement.Domain/Management/AccessFunction/UserDepartmentFunction.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Users; +using Token.Management.Domain.Users; using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -8,7 +8,7 @@ namespace Token.Management.Domain.Management.AccessFunction; /// /// 用户部门配置 /// -public class UserDepartmentFunction : AggregateRoot, ISoftDelete, IHasCreationTime +public class UserDepartmentFunction : Entity, ISoftDelete, IHasCreationTime { /// public UserDepartmentFunction() diff --git a/src/Token.Mangement.Domain/Management/AccessFunction/UserRoleFunction.cs b/src/Token.Mangement.Domain/Management/AccessFunction/UserRoleFunction.cs index 5e3bdd4..8dc8399 100644 --- a/src/Token.Mangement.Domain/Management/AccessFunction/UserRoleFunction.cs +++ b/src/Token.Mangement.Domain/Management/AccessFunction/UserRoleFunction.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Users; +using Token.Management.Domain.Users; using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -8,7 +8,7 @@ namespace Token.Management.Domain.Management.AccessFunction; /// /// 用户角色配置 /// -public class UserRoleFunction : AggregateRoot, ISoftDelete, IHasCreationTime +public class UserRoleFunction : Entity, ISoftDelete, IHasCreationTime { /// public UserRoleFunction(Guid id) : base(id) diff --git a/src/Token.Mangement.Domain/Management/Company.cs b/src/Token.Mangement.Domain/Management/Company.cs index 08d892c..2fb1402 100644 --- a/src/Token.Mangement.Domain/Management/Company.cs +++ b/src/Token.Mangement.Domain/Management/Company.cs @@ -1,4 +1,4 @@ -using Volo.Abp; +using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -7,7 +7,7 @@ namespace Token.Management.Domain.Management; /// /// 公司 /// -public class Company : AggregateRoot, ISoftDelete,IHasCreationTime +public class Company : Entity, ISoftDelete, IHasCreationTime { /// public Company() diff --git a/src/Token.Mangement.Domain/Management/Department.cs b/src/Token.Mangement.Domain/Management/Department.cs index 93923fd..95c713e 100644 --- a/src/Token.Mangement.Domain/Management/Department.cs +++ b/src/Token.Mangement.Domain/Management/Department.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Management.AccessFunction; +using Token.Management.Domain.Management.AccessFunction; using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -8,7 +8,7 @@ namespace Token.Management.Domain.Management; /// /// 部门 /// -public class Department : AggregateRoot, ISoftDelete,IHasCreationTime +public class Department : Entity, ISoftDelete, IHasCreationTime { /// public Department() diff --git a/src/Token.Mangement.Domain/Management/Menu.cs b/src/Token.Mangement.Domain/Management/Menu.cs index b7b4305..96fffda 100644 --- a/src/Token.Mangement.Domain/Management/Menu.cs +++ b/src/Token.Mangement.Domain/Management/Menu.cs @@ -1,4 +1,4 @@ -using Volo.Abp; +using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -7,7 +7,7 @@ namespace Token.Management.Domain.Management; /// /// 菜单 /// -public class Menu : AggregateRoot, ISoftDelete,IHasCreationTime +public class Menu : Entity, ISoftDelete, IHasCreationTime { /// public Menu() diff --git a/src/Token.Mangement.Domain/Management/Role.cs b/src/Token.Mangement.Domain/Management/Role.cs index 82175a7..6ab1e80 100644 --- a/src/Token.Mangement.Domain/Management/Role.cs +++ b/src/Token.Mangement.Domain/Management/Role.cs @@ -1,4 +1,4 @@ -using Volo.Abp; +using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -7,7 +7,7 @@ namespace Token.Management.Domain.Management; /// /// 角色表 /// -public class Role : AggregateRoot, ISoftDelete,IHasCreationTime +public class Role : Entity, ISoftDelete, IHasCreationTime { /// public Role() diff --git a/src/Token.Mangement.Domain/SystemService/SystemMessage.cs b/src/Token.Mangement.Domain/SystemService/SystemMessage.cs index 56dab07..f4c9828 100644 --- a/src/Token.Mangement.Domain/SystemService/SystemMessage.cs +++ b/src/Token.Mangement.Domain/SystemService/SystemMessage.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Shared; +using Token.Management.Domain.Shared; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -7,7 +7,7 @@ namespace Token.Management.Domain.SystemService; /// /// 系统信息 /// -public class SystemMessage:AggregateRoot,IHasCreationTime +public class SystemMessage : Entity, IHasCreationTime { /// /// 标题 diff --git a/src/Token.Mangement.Domain/Token.Mangement.Domain.csproj b/src/Token.Mangement.Domain/Token.Mangement.Domain.csproj index 25ef106..6f673d8 100644 --- a/src/Token.Mangement.Domain/Token.Mangement.Domain.csproj +++ b/src/Token.Mangement.Domain/Token.Mangement.Domain.csproj @@ -10,8 +10,8 @@ - - + + diff --git a/src/Token.Mangement.Domain/Users/UserInfo.cs b/src/Token.Mangement.Domain/Users/UserInfo.cs index 51e599e..3e5283b 100644 --- a/src/Token.Mangement.Domain/Users/UserInfo.cs +++ b/src/Token.Mangement.Domain/Users/UserInfo.cs @@ -1,4 +1,4 @@ -using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations; using Token.Management.Domain.Management; using Token.Management.Domain.Management.AccessFunction; using Token.Management.Domain.Shared; @@ -11,7 +11,7 @@ namespace Token.Management.Domain.Users; /// /// 用户表 /// -public class UserInfo : AggregateRoot, ISoftDelete,IHasCreationTime +public class UserInfo : Entity, ISoftDelete, IHasCreationTime { /// public UserInfo() diff --git a/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs b/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs index 21fe45d..d08b6d7 100644 --- a/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs +++ b/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Base; +using Token.Management.Domain.Base; namespace Token.Management.Domain.WorkContent; diff --git a/src/Token.Mangement.Domain/WorkFlow/WorkflowApprovalRole.cs b/src/Token.Mangement.Domain/WorkFlow/WorkflowApprovalRole.cs index beb3464..c402d6c 100644 --- a/src/Token.Mangement.Domain/WorkFlow/WorkflowApprovalRole.cs +++ b/src/Token.Mangement.Domain/WorkFlow/WorkflowApprovalRole.cs @@ -1,11 +1,11 @@ -using Token.Management.Domain.Management; +using Token.Management.Domain.Management; using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; namespace Token.Management.Domain.WorkFlow; -public class WorkflowApprovalRole : AggregateRoot, ISoftDelete,IHasCreationTime +public class WorkflowApprovalRole : Entity, ISoftDelete, IHasCreationTime { /// diff --git a/src/Token.Mangement.Domain/WorkFlow/WorkflowApprovers.cs b/src/Token.Mangement.Domain/WorkFlow/WorkflowApprovers.cs index 93eb2f1..426ec8d 100644 --- a/src/Token.Mangement.Domain/WorkFlow/WorkflowApprovers.cs +++ b/src/Token.Mangement.Domain/WorkFlow/WorkflowApprovers.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Shared; +using Token.Management.Domain.Shared; using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -8,7 +8,7 @@ namespace Token.Management.Domain.WorkFlow; /// /// /// -public class WorkflowApprovers : AggregateRoot, ISoftDelete,IHasCreationTime +public class WorkflowApprovers : Entity, ISoftDelete, IHasCreationTime { /// /// 当前接单操作人 diff --git a/src/Token.Mangement.Domain/WorkFlow/WorkflowInstance.cs b/src/Token.Mangement.Domain/WorkFlow/WorkflowInstance.cs index 49d40b0..075e448 100644 --- a/src/Token.Mangement.Domain/WorkFlow/WorkflowInstance.cs +++ b/src/Token.Mangement.Domain/WorkFlow/WorkflowInstance.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Shared; +using Token.Management.Domain.Shared; using Token.Management.Domain.Users; using Volo.Abp; using Volo.Abp.Auditing; @@ -9,7 +9,7 @@ namespace Token.Management.Domain.WorkFlow; /// /// 工作流实例 /// -public class WorkflowInstance : AggregateRoot, ISoftDelete,IHasCreationTime +public class WorkflowInstance : Entity, ISoftDelete, IHasCreationTime { /// /// 流程发起人 diff --git a/src/Token.Mangement.Domain/WorkFlow/WorkflowNodeInstance.cs b/src/Token.Mangement.Domain/WorkFlow/WorkflowNodeInstance.cs index 464876f..fe9bed6 100644 --- a/src/Token.Mangement.Domain/WorkFlow/WorkflowNodeInstance.cs +++ b/src/Token.Mangement.Domain/WorkFlow/WorkflowNodeInstance.cs @@ -1,4 +1,4 @@ -using Token.Management.Domain.Shared; +using Token.Management.Domain.Shared; using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -8,7 +8,7 @@ namespace Token.Management.Domain.WorkFlow; /// /// 工作流实例节点 /// -public class WorkflowNodeInstance : AggregateRoot, ISoftDelete,IHasCreationTime +public class WorkflowNodeInstance : Entity, ISoftDelete, IHasCreationTime { /// /// 关联流程 diff --git a/src/Token.Mangement.Domain/WorkFlow/WorkflowNodeTemplate.cs b/src/Token.Mangement.Domain/WorkFlow/WorkflowNodeTemplate.cs index ffec614..4b22689 100644 --- a/src/Token.Mangement.Domain/WorkFlow/WorkflowNodeTemplate.cs +++ b/src/Token.Mangement.Domain/WorkFlow/WorkflowNodeTemplate.cs @@ -1,4 +1,4 @@ -using Volo.Abp; +using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -7,7 +7,7 @@ namespace Token.Management.Domain.WorkFlow; /// /// 流程节点 /// -public class WorkflowNodeTemplate : AggregateRoot, ISoftDelete,IHasCreationTime +public class WorkflowNodeTemplate : Entity, ISoftDelete, IHasCreationTime { /// /// 关联流程模板 diff --git a/src/Token.Mangement.Domain/WorkFlow/WorkflowTemplate.cs b/src/Token.Mangement.Domain/WorkFlow/WorkflowTemplate.cs index e317df8..d44c25e 100644 --- a/src/Token.Mangement.Domain/WorkFlow/WorkflowTemplate.cs +++ b/src/Token.Mangement.Domain/WorkFlow/WorkflowTemplate.cs @@ -1,4 +1,4 @@ -using Volo.Abp; +using Volo.Abp; using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; @@ -7,7 +7,7 @@ namespace Token.Management.Domain.WorkFlow; /// /// 流程模板 /// -public class WorkflowTemplate : AggregateRoot, ISoftDelete,IHasCreationTime +public class WorkflowTemplate : Entity, ISoftDelete, IHasCreationTime { /// /// 流程名称 @@ -24,11 +24,12 @@ public class WorkflowTemplate : AggregateRoot, ISoftDelete,IHasCreationTim /// public string? Remark { get; set; } - public List WorkflowInstance { get; set; } = new(); - - public List WorkflowNodeTemplate { get; set; } = new(); public bool IsDeleted { get; set; } public DateTime CreationTime { get; } + + public List WorkflowInstance { get; set; } = new(); + + public List WorkflowNodeTemplate { get; set; } = new(); } -- Gitee From 5716f88e8e16de51b6ee5bdded1fbbbb174a4582 Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Tue, 7 Jun 2022 03:07:48 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/Management/DesignTimeBuild/.dtbcache.v2 | Bin 329208 -> 329208 bytes .vs/Management/v17/.futdcache.v1 | Bin 1434 -> 1434 bytes .vs/Management/v17/.suo | Bin 161280 -> 169472 bytes .vs/ProjectEvaluation/management.metadata.v2 | Bin 257081 -> 258489 bytes .vs/ProjectEvaluation/management.projects.v2 | Bin 2611688 -> 3014466 bytes .../Extension/DESExtension.cs | 59 +++++++++ .../EntityFrameworkCoreConfig.cs | 11 ++ .../EntityFrameworkCoreInitialData.cs | 5 +- ... => 20220606190619_CreateData.Designer.cs} | 116 +++++++++--------- ...teData.cs => 20220606190619_CreateData.cs} | 83 +++++++------ .../Migrations/TokenDbContextModelSnapshot.cs | 114 ++++++++--------- ...oken.Management.EntityFrameworkCore.csproj | 1 + 12 files changed, 235 insertions(+), 154 deletions(-) create mode 100644 src/Token.Infrastructure/Extension/DESExtension.cs rename src/Token.Management.EntityFrameworkCore/Migrations/{20220606183717_CreateData.Designer.cs => 20220606190619_CreateData.Designer.cs} (89%) rename src/Token.Management.EntityFrameworkCore/Migrations/{20220606183717_CreateData.cs => 20220606190619_CreateData.cs} (86%) diff --git a/.vs/Management/DesignTimeBuild/.dtbcache.v2 b/.vs/Management/DesignTimeBuild/.dtbcache.v2 index 5072b378397d998d12731f32db0637e44e68283a..d7c0a23f70990b9a0bc8e39a623200cc2e034a91 100644 GIT binary patch literal 329208 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 ZhJW#;gyD^fyveYVF9Qt!u1uWxe*vZjsm%ZY literal 329208 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 diff --git a/.vs/Management/v17/.futdcache.v1 b/.vs/Management/v17/.futdcache.v1 index 076e69413f2e045331e387926bac418473d1365d..551c1cefd27378d40e2653c0e4f2db575432641e 100644 GIT binary patch delta 48 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 delta 7697 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 LkbY>Y^rHB0NvX~w diff --git a/.vs/ProjectEvaluation/management.metadata.v2 b/.vs/ProjectEvaluation/management.metadata.v2 index 1dc4a016c4d9bb3943bc09ab47fe98a4d56578f6..71bbca8c688142f6ff5d0e08b863c41ff39e5b9c 100644 GIT binary patch delta 407 zcmdmagMa5^en!Ve##TlkV%o~cyy^&_xgY}rhnusZv#X`6vBmU*hnOXWO)O0e;+>09 z6H8KE5=#>Gl8Y^;zXeJtqD#1>7H6jCr4|8ISOLvxV4i-lmC1bihh5AD(*?Sj)2D4` z-Xv@dvcbUF)yTro*~tdT>0+M#P>;!VdV)5S_VkM7Oc@|$jJ6=VB}6O@%nU72Ew=+% zE}?`WgJios(AZZ@(+eLl2TVU#%nUYB-T^2m=~_{enpd2epBLle8Vu(E9qc%{P{M4o zfExGqw?~+b*ah1@YB7L-5D>qzTeSH7^n-VpA8i*p%Y2+$kmalfSdtA$p8Mm?_7)_m zJ^jKJW|r-eH<_n13-UeH2CHBOk~dzJoLkW3qyk8eVG9t??7KGY1xQkRdcZAamhCg|F;8a}v{|DDR>1}& eqqJoDUTz1f2xk%8_Erfjz7C7d8_$>@asdE{_cP=G diff --git a/.vs/ProjectEvaluation/management.projects.v2 b/.vs/ProjectEvaluation/management.projects.v2 index 6d4d7a121ef07d9aed940961ccd56e54d22c602b..8dccec47619e938a114b8a798db5e96aef06de34 100644 GIT binary patch delta 438 zcmaE{c|PNzf7=-wS{PfHT9{i{T3B1yTG(4SS~y#{TDV(yT6kOdTKHQ8S_E5!T7+9f zT0~pKTEtrMdqAb3w+B z56!nfysK=%x_!cPxv)u$7Sj`};I}tR2T!dKTuX%XTWF+ao7iaHa4uznhtbUC#SUlBO^#N_w)@{ z#ge!G%vY0jU_)4eZ2x3~m!S|}?0u&M^aVl{Ffh)2Q`%s|ZVz&Zz2Nr$8Pc2Bw!dRl jb7k6IW23xAdit!_9KzeJBb5K@GCCkaY`aC9^2uNTdLgPJ delta 89 zcmV~$*A0SD006)|D^|b)RuF7!`f+ + /// DES加密 + /// + /// + /// + public string DESEncrypt(string value) + { + DESCryptoServiceProvider des = new(); + var inputByteArray = Encoding.Default.GetBytes(value); + des.Key = Encoding.ASCII.GetBytes(Key); + des.IV = Encoding.ASCII.GetBytes(Key); + var ms = new MemoryStream(); + var cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write); + cs.Write(inputByteArray, 0, inputByteArray.Length); + cs.FlushFinalBlock(); + var ret = new StringBuilder(); + foreach (var b in ms.ToArray()) + { + ret.AppendFormat("{0:X2}", b); + } + ret.ToString(); + return ret.ToString(); + + } + + /// + /// 解密 + /// + /// + /// + public string DESDecrypt(string value) + { + DESCryptoServiceProvider des = new(); + var inputByteArray = new byte[value.Length / 2]; + for (var x = 0; x < value.Length / 2; x++) + { + var i = Convert.ToInt32(value.Substring(x * 2, 2), 16); + inputByteArray[x] = (byte)i; + } + des.Key = Encoding.ASCII.GetBytes(Key); + des.IV = Encoding.ASCII.GetBytes(Key); + var ms = new MemoryStream(); + var cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write); + cs.Write(inputByteArray, 0, inputByteArray.Length); + cs.FlushFinalBlock(); + return Encoding.Default.GetString(ms.ToArray()); + } + +} diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs index e88fbe2..3459f31 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs @@ -1,4 +1,5 @@ using Microsoft.EntityFrameworkCore; +using Token.Infrastructure.Extension; using Token.Management.Domain.Management; using Token.Management.Domain.Management.AccessFunction; using Token.Management.Domain.SystemService; @@ -13,6 +14,7 @@ public static class EntityFrameworkCoreConfig { public static ModelBuilder Config(this ModelBuilder builder) { + var des = new DESExtension(); builder.Entity().HasKey(x=>x.Count); builder.Entity(x => @@ -28,6 +30,8 @@ public static class EntityFrameworkCoreConfig x.Property(x => x.EMail).HasComment("邮箱"); x.Property(x => x.HeadPortraits).HasComment("头像"); + x.Property(x => x.Password) + .HasConversion(x => des.DESDecrypt(x), x => des.DESEncrypt(x)); }); builder.Entity(x => @@ -149,6 +153,13 @@ public static class EntityFrameworkCoreConfig }); + builder.Entity(x => + { + x.ToTable("token_company"); + x.HasIndex(x => x.Id); + x.HasKey(x => x.Id); + }); + return builder; } } diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs index 4bdc285..d74deec 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs @@ -1,4 +1,5 @@ using Microsoft.EntityFrameworkCore; +using Token.Infrastructure.Extension; using Token.Management.Domain.Management; using Token.Management.Domain.Management.AccessFunction; using Token.Management.Domain.Shared; @@ -15,7 +16,7 @@ public static class EntityFrameworkCoreInitialData /// public static void Initia(this ModelBuilder model) { - + var des = new DESExtension(); var now = DateTime.Now; var userInfoData = new List() { @@ -27,7 +28,7 @@ public static class EntityFrameworkCoreInitialData HeadPortraits="https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", MobileNumber=13049809673, Name="管理员", - Password="Aa010426", + Password=des.DESEncrypt("Aa010426"), CreationTime=now, Statue =StatueEnum.Enable }, diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.Designer.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.Designer.cs similarity index 89% rename from src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.Designer.cs rename to src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.Designer.cs index e54953d..bacbfec 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.Designer.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.Designer.cs @@ -11,7 +11,7 @@ using Token.Management.EntityFrameworkCore.EntityFrameworkCore; namespace Token.Management.EntityFrameworkCore.Migrations { [DbContext(typeof(TokenDbContext))] - [Migration("20220606183717_CreateData")] + [Migration("20220606190619_CreateData")] partial class CreateData { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -57,59 +57,59 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("7914a004-b082-423f-8ed4-1341c0e440cf"), + Id = new Guid("c0c8f085-42de-4036-b60e-a06cc7534962"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("cc363f8d-b471-469a-a9d1-bcfc8a81ae9b"), + Id = new Guid("c78a96a9-05b1-4b27-ab49-2a5532f39fde"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("952cf9b7-98ed-4e4a-9388-7bad259afbb8"), + Id = new Guid("b0fed1b3-9734-4ec4-a3c2-4858c8413105"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("119a73ca-28a8-48f5-a284-d626613db93c"), + Id = new Guid("64a99844-8a45-4f1e-b136-dae5df44f695"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("9f276a48-8753-425e-8e0c-63297b517e83"), + Id = new Guid("62c4c9cd-639c-4ca3-962d-cd6e4eb34c65"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("23b75d25-24da-493b-a83f-cca4ca3c0e4c"), + Id = new Guid("917247aa-af9a-46d6-b103-074d9a45d62f"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("3a845e2d-63df-4a84-b569-410db7194843"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("6508827b-1373-4631-af2f-1072ec77c531"), + Id = new Guid("8250ced8-e34f-4969-9308-6a7a1731239e"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }); }); @@ -144,11 +144,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("75b64236-37c6-47c8-89c9-a5ec69bd2bf9"), - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), - DepartmentId = new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), + Id = new Guid("7da2a1c5-edc1-4bbe-9721-ce9f7284659e"), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + DepartmentId = new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), IsDeleted = false, - UserInfoId = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") + UserInfoId = new Guid("db9555b3-c844-492a-9192-8649361cb75e") }); }); @@ -183,11 +183,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("72e4ca93-3b60-4228-ba7b-c43fa049227a"), - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Id = new Guid("59845bb1-34fb-4ba9-917b-dccb8e8b59f7"), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), IsDeleted = false, - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), - UserInfoId = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), + UserInfoId = new Guid("db9555b3-c844-492a-9192-8649361cb75e") }); }); @@ -217,14 +217,16 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.ToTable("Company"); + b.HasIndex("Id"); + + b.ToTable("token_company", (string)null); b.HasData( new { - Id = new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), + Id = new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), Code = "wr", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", IsDeleted = false, Name = "Microsoft" @@ -274,10 +276,10 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), + Id = new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), Code = "cs", - CompanyId = new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CompanyId = new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 0, IsDeleted = false, Name = "测试部门" @@ -326,9 +328,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), + Id = new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), Component = "Home", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 0, IsDeleted = false, Name = "首页", @@ -337,9 +339,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), + Id = new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), Component = "User", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 1, IsDeleted = false, Name = "用户管理", @@ -348,9 +350,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Id = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), Component = "System", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 2, IsDeleted = false, Name = "系统配置", @@ -359,9 +361,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), + Id = new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), Component = "Work", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 3, IsDeleted = false, Name = "工作", @@ -370,37 +372,37 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), + Id = new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), Component = "UserConfig", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 1, IsDeleted = false, Name = "用户权限配置", - ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), Path = "/system/userConfig/index", Title = "用户权限配置" }, new { - Id = new Guid("3a845e2d-63df-4a84-b569-410db7194843"), + Id = new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), Component = "RoleConfig", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 0, IsDeleted = false, Name = "角色配置", - ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), Path = "/system/roleConfig/index", Title = "角色配置" }, new { - Id = new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), + Id = new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), Component = "WorkConfig", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 2, IsDeleted = false, Name = "工作流配置", - ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), Path = "/system/workConfig/index", Title = "工作流配置" }); @@ -447,9 +449,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), + Id = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), Code = "admin", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 0, IsDeleted = false, Name = "管理员", @@ -542,9 +544,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb"), + Id = new Guid("db9555b3-c844-492a-9192-8649361cb75e"), AccountNumber = "admin", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), EMail = "239573049@qq.com", HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", IsDeleted = false, diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.cs similarity index 86% rename from src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.cs rename to src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.cs index e27b7a1..7d0fbb2 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/20220606183717_CreateData.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.cs @@ -14,7 +14,20 @@ namespace Token.Management.EntityFrameworkCore.Migrations .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateTable( - name: "Company", + name: "ExtraPropertyDictionary", + columns: table => new + { + Count = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn) + }, + constraints: table => + { + table.PrimaryKey("PK_ExtraPropertyDictionary", x => x.Count); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_company", columns: table => new { Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), @@ -31,20 +44,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, constraints: table => { - table.PrimaryKey("PK_Company", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "ExtraPropertyDictionary", - columns: table => new - { - Count = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn) - }, - constraints: table => - { - table.PrimaryKey("PK_ExtraPropertyDictionary", x => x.Count); + table.PrimaryKey("PK_token_company", x => x.Id); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -205,9 +205,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations { table.PrimaryKey("PK_token_department", x => x.Id); table.ForeignKey( - name: "FK_token_department_Company_CompanyId", + name: "FK_token_department_token_company_CompanyId", column: x => x.CompanyId, - principalTable: "Company", + principalTable: "token_company", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( @@ -463,62 +463,67 @@ namespace Token.Management.EntityFrameworkCore.Migrations .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.InsertData( - table: "Company", + table: "token_company", columns: new[] { "Id", "Code", "CreationTime", "Describe", "IsDeleted", "Logo", "Name" }, - values: new object[] { new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), "wr", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", false, null, "Microsoft" }); + values: new object[] { new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), "wr", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", false, null, "Microsoft" }); migrationBuilder.InsertData( table: "token_menu", columns: new[] { "Id", "Component", "CreationTime", "Icon", "Index", "IsDeleted", "Name", "ParentId", "Path", "Title" }, values: new object[,] { - { new Guid("3a845e2d-63df-4a84-b569-410db7194843"), "RoleConfig", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 0, false, "角色配置", new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), "/system/roleConfig/index", "角色配置" }, - { new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), "Home", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 0, false, "首页", null, "/home/index", "首页" }, - { new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), "Work", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 3, false, "工作", null, "/Work/index", "工作" }, - { new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), "System", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 2, false, "系统配置", null, "/system/index", "系统配置" }, - { new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), "UserConfig", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 1, false, "用户权限配置", new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), "/system/userConfig/index", "用户权限配置" }, - { new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), "User", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 1, false, "用户管理", null, "/user/index", "用户管理" }, - { new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), "WorkConfig", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), null, 2, false, "工作流配置", new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), "/system/workConfig/index", "工作流配置" } + { new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), "WorkConfig", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 2, false, "工作流配置", new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), "/system/workConfig/index", "工作流配置" }, + { new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), "User", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 1, false, "用户管理", null, "/user/index", "用户管理" }, + { new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), "System", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 2, false, "系统配置", null, "/system/index", "系统配置" }, + { new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), "UserConfig", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 1, false, "用户权限配置", new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), "/system/userConfig/index", "用户权限配置" }, + { new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), "Work", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 3, false, "工作", null, "/Work/index", "工作" }, + { new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), "Home", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 0, false, "首页", null, "/home/index", "首页" }, + { new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), "RoleConfig", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 0, false, "角色配置", new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), "/system/roleConfig/index", "角色配置" } }); migrationBuilder.InsertData( table: "token_role", columns: new[] { "Id", "Code", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "Remark" }, - values: new object[] { new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), "admin", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), 0, false, "管理员", null, "系统管理员" }); + values: new object[] { new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), "admin", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), 0, false, "管理员", null, "系统管理员" }); migrationBuilder.InsertData( table: "token_user_info", columns: new[] { "Id", "AccountNumber", "CreationTime", "EMail", "HeadPortraits", "IsDeleted", "MobileNumber", "Name", "Password", "Sex", "Statue", "WXOpenId" }, - values: new object[] { new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb"), "admin", new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), "239573049@qq.com", "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", false, 13049809673L, "管理员", "Aa010426", 1, 0, null }); + values: new object[] { new Guid("db9555b3-c844-492a-9192-8649361cb75e"), "admin", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), "239573049@qq.com", "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", false, 13049809673L, "管理员", "Aa010426", 1, 0, null }); migrationBuilder.InsertData( table: "token_department", columns: new[] { "Id", "Code", "CompanyId", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "UserInfoId" }, - values: new object[] { new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), "cs", new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), 0, false, "测试部门", null, null }); + values: new object[] { new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), "cs", new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), 0, false, "测试部门", null, null }); migrationBuilder.InsertData( table: "token_menu_role_function", columns: new[] { "Id", "CreationTime", "IsDeleted", "MenuId", "RoleId", "UserInfoId" }, values: new object[,] { - { new Guid("119a73ca-28a8-48f5-a284-d626613db93c"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, - { new Guid("23b75d25-24da-493b-a83f-cca4ca3c0e4c"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("3a845e2d-63df-4a84-b569-410db7194843"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, - { new Guid("6508827b-1373-4631-af2f-1072ec77c531"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, - { new Guid("7914a004-b082-423f-8ed4-1341c0e440cf"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, - { new Guid("952cf9b7-98ed-4e4a-9388-7bad259afbb8"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, - { new Guid("9f276a48-8753-425e-8e0c-63297b517e83"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null }, - { new Guid("cc363f8d-b471-469a-a9d1-bcfc8a81ae9b"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), null } + { new Guid("62c4c9cd-639c-4ca3-962d-cd6e4eb34c65"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, + { new Guid("64a99844-8a45-4f1e-b136-dae5df44f695"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, + { new Guid("8250ced8-e34f-4969-9308-6a7a1731239e"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, + { new Guid("917247aa-af9a-46d6-b103-074d9a45d62f"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, + { new Guid("b0fed1b3-9734-4ec4-a3c2-4858c8413105"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, + { new Guid("c0c8f085-42de-4036-b60e-a06cc7534962"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, + { new Guid("c78a96a9-05b1-4b27-ab49-2a5532f39fde"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null } }); migrationBuilder.InsertData( table: "token_user_role_function", columns: new[] { "Id", "CreationTime", "IsDeleted", "RoleId", "UserInfoId" }, - values: new object[] { new Guid("72e4ca93-3b60-4228-ba7b-c43fa049227a"), new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), false, new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") }); + values: new object[] { new Guid("59845bb1-34fb-4ba9-917b-dccb8e8b59f7"), new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), false, new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), new Guid("db9555b3-c844-492a-9192-8649361cb75e") }); migrationBuilder.InsertData( table: "token_user_department_function", columns: new[] { "Id", "CreationTime", "DepartmentId", "IsDeleted", "UserInfoId" }, - values: new object[] { new Guid("75b64236-37c6-47c8-89c9-a5ec69bd2bf9"), new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), false, new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") }); + values: new object[] { new Guid("7da2a1c5-edc1-4bbe-9721-ce9f7284659e"), new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), false, new Guid("db9555b3-c844-492a-9192-8649361cb75e") }); + + migrationBuilder.CreateIndex( + name: "IX_token_company_Id", + table: "token_company", + column: "Id"); migrationBuilder.CreateIndex( name: "IX_token_department_CompanyId", @@ -721,7 +726,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations name: "token_workflow_instance"); migrationBuilder.DropTable( - name: "Company"); + name: "token_company"); migrationBuilder.DropTable( name: "token_user_info"); diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs index 4d81052..9bfa51c 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs @@ -55,59 +55,59 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("7914a004-b082-423f-8ed4-1341c0e440cf"), + Id = new Guid("c0c8f085-42de-4036-b60e-a06cc7534962"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("cc363f8d-b471-469a-a9d1-bcfc8a81ae9b"), + Id = new Guid("c78a96a9-05b1-4b27-ab49-2a5532f39fde"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("952cf9b7-98ed-4e4a-9388-7bad259afbb8"), + Id = new Guid("b0fed1b3-9734-4ec4-a3c2-4858c8413105"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("119a73ca-28a8-48f5-a284-d626613db93c"), + Id = new Guid("64a99844-8a45-4f1e-b136-dae5df44f695"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("9f276a48-8753-425e-8e0c-63297b517e83"), + Id = new Guid("62c4c9cd-639c-4ca3-962d-cd6e4eb34c65"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("23b75d25-24da-493b-a83f-cca4ca3c0e4c"), + Id = new Guid("917247aa-af9a-46d6-b103-074d9a45d62f"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("3a845e2d-63df-4a84-b569-410db7194843"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }, new { - Id = new Guid("6508827b-1373-4631-af2f-1072ec77c531"), + Id = new Guid("8250ced8-e34f-4969-9308-6a7a1731239e"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09") + MenuId = new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") }); }); @@ -142,11 +142,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("75b64236-37c6-47c8-89c9-a5ec69bd2bf9"), - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), - DepartmentId = new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), + Id = new Guid("7da2a1c5-edc1-4bbe-9721-ce9f7284659e"), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + DepartmentId = new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), IsDeleted = false, - UserInfoId = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") + UserInfoId = new Guid("db9555b3-c844-492a-9192-8649361cb75e") }); }); @@ -181,11 +181,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("72e4ca93-3b60-4228-ba7b-c43fa049227a"), - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + Id = new Guid("59845bb1-34fb-4ba9-917b-dccb8e8b59f7"), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), IsDeleted = false, - RoleId = new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), - UserInfoId = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb") + RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), + UserInfoId = new Guid("db9555b3-c844-492a-9192-8649361cb75e") }); }); @@ -215,14 +215,16 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasKey("Id"); - b.ToTable("Company"); + b.HasIndex("Id"); + + b.ToTable("token_company", (string)null); b.HasData( new { - Id = new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), + Id = new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), Code = "wr", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", IsDeleted = false, Name = "Microsoft" @@ -272,10 +274,10 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("e4fa71e6-0bb1-45d7-a744-088d57eb14da"), + Id = new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), Code = "cs", - CompanyId = new Guid("735bceba-1761-4aba-9b78-7af4085236ec"), - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CompanyId = new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 0, IsDeleted = false, Name = "测试部门" @@ -324,9 +326,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("3d7547f1-43eb-4b3b-983b-3584b8498689"), + Id = new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), Component = "Home", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 0, IsDeleted = false, Name = "首页", @@ -335,9 +337,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("d73878e3-8f90-4ab8-8c57-548db98e3cd6"), + Id = new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), Component = "User", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 1, IsDeleted = false, Name = "用户管理", @@ -346,9 +348,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + Id = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), Component = "System", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 2, IsDeleted = false, Name = "系统配置", @@ -357,9 +359,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("4c1b7f80-981e-464a-a376-f1bb4965d447"), + Id = new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), Component = "Work", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 3, IsDeleted = false, Name = "工作", @@ -368,37 +370,37 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("7c4de579-cf8f-434d-8951-46935d05e234"), + Id = new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), Component = "UserConfig", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 1, IsDeleted = false, Name = "用户权限配置", - ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), Path = "/system/userConfig/index", Title = "用户权限配置" }, new { - Id = new Guid("3a845e2d-63df-4a84-b569-410db7194843"), + Id = new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), Component = "RoleConfig", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 0, IsDeleted = false, Name = "角色配置", - ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), Path = "/system/roleConfig/index", Title = "角色配置" }, new { - Id = new Guid("f5b38af3-4cf2-4ad3-a249-56ac0f0ec94c"), + Id = new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), Component = "WorkConfig", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 2, IsDeleted = false, Name = "工作流配置", - ParentId = new Guid("6e0b2bdc-2a44-466a-9698-0ec884446d8e"), + ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), Path = "/system/workConfig/index", Title = "工作流配置" }); @@ -445,9 +447,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("c1721287-6894-401b-aa0d-c73b28244e09"), + Id = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), Code = "admin", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), Index = 0, IsDeleted = false, Name = "管理员", @@ -540,9 +542,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("eaff4959-293d-463f-afdb-ec22ab3b48bb"), + Id = new Guid("db9555b3-c844-492a-9192-8649361cb75e"), AccountNumber = "admin", - CreationTime = new DateTime(2022, 6, 7, 2, 37, 17, 74, DateTimeKind.Local).AddTicks(9894), + CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), EMail = "239573049@qq.com", HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", IsDeleted = false, diff --git a/src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj b/src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj index 8924bd2..341de38 100644 --- a/src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj +++ b/src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj @@ -21,6 +21,7 @@ + -- Gitee From 97a2eeb0c85736a8d3c0639057f72ec596aba16c Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Tue, 7 Jun 2022 03:13:49 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extension/{DESExtension.cs => DESHelper.cs} | 2 +- src/Token.Infrastructure/TokenInfrastructureModule.cs | 8 ++++++++ .../Services/Users/UserInfoService.cs | 7 ++++++- .../Token.Management.Application.csproj | 1 + .../TokenManagementApplicationModule.cs | 6 +++++- .../EntityFrameworkCore/EntityFrameworkCoreConfig.cs | 2 +- .../EntityFrameworkCore/EntityFrameworkCoreInitialData.cs | 2 +- src/Token.ManagementApi.Host/TokenManagementApiModule.cs | 7 +++---- 8 files changed, 26 insertions(+), 9 deletions(-) rename src/Token.Infrastructure/Extension/{DESExtension.cs => DESHelper.cs} (97%) create mode 100644 src/Token.Infrastructure/TokenInfrastructureModule.cs diff --git a/src/Token.Infrastructure/Extension/DESExtension.cs b/src/Token.Infrastructure/Extension/DESHelper.cs similarity index 97% rename from src/Token.Infrastructure/Extension/DESExtension.cs rename to src/Token.Infrastructure/Extension/DESHelper.cs index d989da8..9acf902 100644 --- a/src/Token.Infrastructure/Extension/DESExtension.cs +++ b/src/Token.Infrastructure/Extension/DESHelper.cs @@ -4,7 +4,7 @@ using Volo.Abp.DependencyInjection; namespace Token.Infrastructure.Extension; -public class DESExtension:ISingletonDependency +public class DESHelper:ISingletonDependency { private const string Key = "TOKENKEY"; diff --git a/src/Token.Infrastructure/TokenInfrastructureModule.cs b/src/Token.Infrastructure/TokenInfrastructureModule.cs new file mode 100644 index 0000000..c16161b --- /dev/null +++ b/src/Token.Infrastructure/TokenInfrastructureModule.cs @@ -0,0 +1,8 @@ +using Volo.Abp.Modularity; + +namespace Token.Infrastructure; + +public class TokenInfrastructureModule:AbpModule +{ + +} diff --git a/src/Token.Management.Application/Services/Users/UserInfoService.cs b/src/Token.Management.Application/Services/Users/UserInfoService.cs index 94b851f..7d6b801 100644 --- a/src/Token.Management.Application/Services/Users/UserInfoService.cs +++ b/src/Token.Management.Application/Services/Users/UserInfoService.cs @@ -1,6 +1,7 @@ using AutoMapper; using Management.Application.Services.Management; using Token.HttpApi; +using Token.Infrastructure.Extension; using Token.Management.Application.Contracts.AppServices.Users; using Token.Management.Application.Contracts.Module.Management; using Token.Management.Application.Contracts.Module.Users; @@ -15,18 +16,22 @@ namespace Token.Management.Application.Services.Users; public class UserInfoService : ApplicationService, IUserInfoService { private readonly IMapper _mapper; + private readonly DESHelper _desHelper; private readonly IPrincipalAccessor _principalAccessor; private readonly IDepartmentService _departmentService; private readonly IUserInfoRepository _userInfoRepository; public UserInfoService( IMapper mapper, IDepartmentService departmentService, - IPrincipalAccessor principalAccessor, IUserInfoRepository userInfoRepository) + IPrincipalAccessor principalAccessor, + IUserInfoRepository userInfoRepository, + DESHelper desHelper) { _mapper = mapper; _departmentService = departmentService; _principalAccessor = principalAccessor; _userInfoRepository = userInfoRepository; + _desHelper = desHelper; } public async Task CreateUserInfo(UserInfoDto userInfo) diff --git a/src/Token.Management.Application/Token.Management.Application.csproj b/src/Token.Management.Application/Token.Management.Application.csproj index 326bde3..7681e14 100644 --- a/src/Token.Management.Application/Token.Management.Application.csproj +++ b/src/Token.Management.Application/Token.Management.Application.csproj @@ -16,6 +16,7 @@ + diff --git a/src/Token.Management.Application/TokenManagementApplicationModule.cs b/src/Token.Management.Application/TokenManagementApplicationModule.cs index 5518106..683a86c 100644 --- a/src/Token.Management.Application/TokenManagementApplicationModule.cs +++ b/src/Token.Management.Application/TokenManagementApplicationModule.cs @@ -1,10 +1,14 @@ -using Token.Management.Application.Contracts; +using Token.Infrastructure; +using Token.Management.Application.Contracts; +using Token.Management.EntityFrameworkCore.EntityFrameworkCore; using Volo.Abp.AutoMapper; using Volo.Abp.Modularity; namespace Token.Management.Application; [DependsOn(typeof(TokenManagementApplicationContractsModule), + typeof(TokenInfrastructureModule), + typeof(TokenManagementEntityFrameworkCoreModule), typeof(AbpAutoMapperModule))] public class TokenManagementApplicationModule : AbpModule { diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs index 3459f31..b99c2cd 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs @@ -14,7 +14,7 @@ public static class EntityFrameworkCoreConfig { public static ModelBuilder Config(this ModelBuilder builder) { - var des = new DESExtension(); + var des = new DESHelper(); builder.Entity().HasKey(x=>x.Count); builder.Entity(x => diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs index d74deec..6f89ac3 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs @@ -16,7 +16,7 @@ public static class EntityFrameworkCoreInitialData /// public static void Initia(this ModelBuilder model) { - var des = new DESExtension(); + var des = new DESHelper(); var now = DateTime.Now; var userInfoData = new List() { diff --git a/src/Token.ManagementApi.Host/TokenManagementApiModule.cs b/src/Token.ManagementApi.Host/TokenManagementApiModule.cs index c1a42b9..c6b7a2b 100644 --- a/src/Token.ManagementApi.Host/TokenManagementApiModule.cs +++ b/src/Token.ManagementApi.Host/TokenManagementApiModule.cs @@ -1,4 +1,4 @@ -using Token.HttpApi; +using Token.HttpApi; using Token.Management.Application; using Token.Management.EntityFrameworkCore.EntityFrameworkCore; using Volo.Abp; @@ -12,13 +12,12 @@ namespace Token.ManagementApi.Host; /// Api模块 /// [DependsOn( - typeof(AbpAutofacModule), typeof(TokenHttpApiModule), - typeof(TokenManagementEntityFrameworkCoreModule), + typeof(AbpAutofacModule), typeof(TokenManagementApplicationModule), typeof(AbpAspNetCoreModule) )] -public class TokenManagementApiModule : AbpModule +public class TokenManagementApiModule : AbpModule { /// /// Use -- Gitee From 5a7ae93c0653c03b4fdbe9efd4b87c7192ed74f5 Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Tue, 7 Jun 2022 23:28:31 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E5=AE=8C=E6=88=90=EF=BC=8C=20=E9=87=8D=E6=9E=84=E8=87=B3?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=8C=96=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/Management/DesignTimeBuild/.dtbcache.v2 | Bin 329208 -> 329208 bytes .vs/Management/v17/.futdcache.v1 | Bin 1434 -> 1434 bytes .vs/Management/v17/.suo | Bin 169472 -> 170496 bytes .vs/ProjectEvaluation/management.metadata.v2 | Bin 258489 -> 259832 bytes .vs/ProjectEvaluation/management.projects.v2 | Bin 3014466 -> 3666622 bytes src/Token.HttpApi/IPrincipalAccessor.cs | 10 +- src/Token.HttpApi/PrincipalAccessor.cs | 38 +- src/Token.HttpApi/TokenHttpApiModule.cs | 1 + .../AppServices/Users/IUserInfoService.cs | 4 +- .../MapperProfile.cs | 2 +- .../Services/Management/RoleService.cs | 24 +- .../Services/Users/UserInfoService.cs | 44 +- .../EntityFrameworkCoreConfig.cs | 4 +- .../EntityFrameworkCoreInitialData.cs | 4 +- .../UserRoleFunctionRepository.cs | 18 + .../Users/UserInfoRepository.cs | 20 + .../20220606190619_CreateData.Designer.cs | 1030 ----------------- .../Migrations/20220606190619_CreateData.cs | 738 ------------ .../Migrations/TokenDbContextModelSnapshot.cs | 112 +- .../Controllers/LoginController.cs | 5 +- .../Controllers/MenuController.cs | 1 + .../Controllers/UserInfoController.cs | 6 +- src/Token.Mangement.Domain/Constants.cs | 2 + .../IUserRoleFunctionRepository.cs | 13 + .../Users/IUserInfoRepository.cs | 2 + src/Token.Mangement.Domain/Users/UserInfo.cs | 2 +- 26 files changed, 189 insertions(+), 1891 deletions(-) delete mode 100644 src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.Designer.cs delete mode 100644 src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.cs diff --git a/.vs/Management/DesignTimeBuild/.dtbcache.v2 b/.vs/Management/DesignTimeBuild/.dtbcache.v2 index d7c0a23f70990b9a0bc8e39a623200cc2e034a91..4839be23661d0500dce59965ccf92868da6fe2f4 100644 GIT binary patch literal 329208 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 ZhJW#;gyD^fyveYVF9Qt!u1uWxe*vZjsm%ZY diff --git a/.vs/Management/v17/.futdcache.v1 b/.vs/Management/v17/.futdcache.v1 index 551c1cefd27378d40e2653c0e4f2db575432641e..e7a5a6f13bfb6322ba43867e3fc5edb14542cb58 100644 GIT binary patch delta 49 zcmV-10M7rK3z`eCZ~_X_B`p=Cg7DFgNV9qZ1Og4Bul+8F4k=)dNZJTwlYIgylWYM9 Hle`4p*W?o1 delta 49 zcmV-10M7rK3z`eCZ~_Ws;%K%WVDF>vN3(hY1Og59*s1d0BSdrWN7@KvlYIgylWYM9 Hle`4p8b}p% diff --git a/.vs/Management/v17/.suo b/.vs/Management/v17/.suo index 5e4e014e12572b2f0f667909c6ea25c5caf20aae..09268f97d544415276420e5e2c725f3d48a42613 100644 GIT binary patch delta 7783 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 H%7gy}8Axn6 delta 6457 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 diff --git a/.vs/ProjectEvaluation/management.projects.v2 b/.vs/ProjectEvaluation/management.projects.v2 index 8dccec47619e938a114b8a798db5e96aef06de34..fbd753f57f4505affc957b277d847cfa81db6396 100644 GIT binary patch delta 720 zcmX@~Z#(0@r}r5fS{PfHT9{i{T3B1yTG(4SS~y#{TDV(yT6kOdTKHQ8S_E5!T7+9f zT0~pKTEtr3cvaQT)j)IIIA3AP-cvsnib$j)E_DaU>(m!P5t=XJF5>DG2jOCW7FnUg} zJ;Ud*y}?udxbF6IJH<{(ZU47G?h)hk4F$}sLbd{oj6lU-xqw6-8<4P_UbsR#bo+xv zaz*y2HcWUf_t$3oY;*0%P)6tJiBsD*GZ%?=(?IyW>{X^Z!vPePY4hj)>S_T!0 z4P*uti|uq^m~7ge#5VmMtD53=%@~=lvfF)KRc^Ke01r1I2mk;8 delta 101 zcmV~$$rZs+006-E5&OQz9y<|DsLWwX@}8T6Mx3;Pndj#nUf)N!33BoZB1I)-6;(BL n4NWa=9bG+r14ARRv5BdfxrL>~%G$=(&fdY%N$M=SU#`DD_6;H| diff --git a/src/Token.HttpApi/IPrincipalAccessor.cs b/src/Token.HttpApi/IPrincipalAccessor.cs index 9905baa..b4fdfb5 100644 --- a/src/Token.HttpApi/IPrincipalAccessor.cs +++ b/src/Token.HttpApi/IPrincipalAccessor.cs @@ -8,7 +8,7 @@ public interface IPrincipalAccessor string Name { get; } Guid ID { get; } - string GetUser(string token); + UserInfo GetUser(string token); bool? IsAuthenticated(); @@ -26,6 +26,12 @@ public interface IPrincipalAccessor /// T GetUserInfo(); + ///

+ /// 获取权限列表 + /// + /// + List GetRoleIds(); + List GetUserInfoFromToken(string claimType); /// @@ -34,5 +40,5 @@ public interface IPrincipalAccessor /// Guid UserId(); - Task CreateTokenAsync(T userInfo); + Task CreateTokenAsync(UserInfo userInfo); } diff --git a/src/Token.HttpApi/PrincipalAccessor.cs b/src/Token.HttpApi/PrincipalAccessor.cs index 80e3f92..2d7b646 100644 --- a/src/Token.HttpApi/PrincipalAccessor.cs +++ b/src/Token.HttpApi/PrincipalAccessor.cs @@ -7,6 +7,7 @@ using Microsoft.IdentityModel.Tokens; using Newtonsoft.Json; using Token.HttpApi.Module; using Token.Management.Domain; +using Token.Management.Domain.Management.AccessFunction; using Token.Management.Domain.Users; using Volo.Abp.DependencyInjection; @@ -42,7 +43,9 @@ public class PrincipalAccessor : IPrincipalAccessor, ITransientDependency public IEnumerable GetClaimsIdentity() { - return _contextAccessor.HttpContext.User.Claims; + var token = GetToken(); + JwtSecurityTokenHandler securityTokenHandler = new(); + return securityTokenHandler.ReadJwtToken(token).Claims; } public List GetClaimValueByType(string claimType) @@ -50,6 +53,15 @@ public class PrincipalAccessor : IPrincipalAccessor, ITransientDependency return GetClaimsIdentity().Where(item => item.Type == claimType).Select(item => item.Value).ToList(); } + public List GetRoleIds() + { + var roleIds = GetClaimValueByType(Constants.Role).FirstOrDefault(); + if (roleIds.IsNullOrEmpty()) + throw new BusinessException(401, "账号未授权"); + + return JsonConvert.DeserializeObject>(roleIds); + } + public List GetUserInfoFromToken(string claimType) { JwtSecurityTokenHandler securityTokenHandler = new(); @@ -60,13 +72,15 @@ public class PrincipalAccessor : IPrincipalAccessor, ITransientDependency : new List(); } - public string GetUser(string token) + public UserInfo GetUser(string token) { JwtSecurityTokenHandler securityTokenHandler = new(); - return securityTokenHandler.ReadJwtToken(token).Claims.Where(item => item.Type == Constants.User) - .Select(item => item.Value).FirstOrDefault() ?? ""; + var userInfoStr= securityTokenHandler.ReadJwtToken(token).Claims.Where(item => item.Type == Constants.User) + .Select(item => item.Value).FirstOrDefault(); + return JsonConvert.DeserializeObject(userInfoStr); } + public string GetTenantId() { HttpContext? httpContext = _contextAccessor.HttpContext; @@ -93,16 +107,20 @@ public class PrincipalAccessor : IPrincipalAccessor, ITransientDependency return JsonConvert.DeserializeObject(result); } - public Task CreateTokenAsync(T userInfo) + public Task CreateTokenAsync(UserInfo userInfo) { - var user = userInfo as UserInfo; // 添加一些需要的键值对 - Claim[] claims = { new Claim(Constants.User, JsonConvert.SerializeObject(userInfo)) }; - if (user != null) + List claims = new List() { - claims.AddFirst(new Claim(Constants.Role,JsonConvert.SerializeObject(user.UserRoleFunction.Select(x=>x.RoleId)))); - } + new Claim(Constants.Department,JsonConvert.SerializeObject(userInfo?.UserDepartmentFunction.Select(x=>x.DepartmentId))), + new Claim(Constants.Role,JsonConvert.SerializeObject(userInfo?.UserRoleFunction.Select(x=>x.RoleId))) + }; + + userInfo.UserRoleFunction.Clear();; + userInfo.UserDepartmentFunction.Clear(); + + claims.AddFirst(new Claim(Constants.User, JsonConvert.SerializeObject(userInfo))); byte[] keyBytes = Encoding.UTF8.GetBytes(_tokenOptions.SecretKey!); SigningCredentials cred = new(new SymmetricSecurityKey(keyBytes), diff --git a/src/Token.HttpApi/TokenHttpApiModule.cs b/src/Token.HttpApi/TokenHttpApiModule.cs index e7c4a51..9170a50 100644 --- a/src/Token.HttpApi/TokenHttpApiModule.cs +++ b/src/Token.HttpApi/TokenHttpApiModule.cs @@ -165,5 +165,6 @@ public class TokenHttpApiModule : AbpModule app.UseAuthentication(); app.UseAuthorization(); + } } diff --git a/src/Token.Management.Application.Contracts/AppServices/Users/IUserInfoService.cs b/src/Token.Management.Application.Contracts/AppServices/Users/IUserInfoService.cs index 42eaf5d..3a14abf 100644 --- a/src/Token.Management.Application.Contracts/AppServices/Users/IUserInfoService.cs +++ b/src/Token.Management.Application.Contracts/AppServices/Users/IUserInfoService.cs @@ -13,14 +13,14 @@ public interface IUserInfoService /// /// /// - Task GetUserInfo(LoginInput input); + Task<(UserInfoDto, string)> GetUserInfo(LoginInput input); /// /// 用户分页数据 /// /// Task, int>> GetUserInfoPaging(string? code, DateTime? startTime, DateTime? endTime, - sbyte statue = -1, int pageNo = 1, int pageSize = 20); + sbyte status = -1, int pageNo = 1, int pageSize = 20); /// /// 获取账号下所有部门 diff --git a/src/Token.Management.Application/MapperProfile.cs b/src/Token.Management.Application/MapperProfile.cs index 8c42717..96ff5ac 100644 --- a/src/Token.Management.Application/MapperProfile.cs +++ b/src/Token.Management.Application/MapperProfile.cs @@ -20,7 +20,7 @@ public class MapperProfile: Profile .ForMember(dest => dest.Role, l => l.MapFrom(a => a.UserRoleFunction.Select(a => a.Role))) .ForMember(dest => dest.SexName, l => l.MapFrom(a => a.Sex.GetEnumString())) .ForMember(dest => dest.Sex, l => l.MapFrom(a => (sbyte)a.Sex)) - .ForMember(dest => dest.StatueName, l => l.MapFrom(a => a.Statue.GetEnumString())) + .ForMember(dest => dest.StatueName, l => l.MapFrom(a => a.Status.GetEnumString())) .ForMember(dest => dest.Department, l => l.MapFrom(a => a.UserDepartmentFunction.Select(a => a.Department))); CreateMap() .ForMember(dest=>dest.Sex,l=>l.MapFrom(a=>(SexEnum)a.Sex)); diff --git a/src/Token.Management.Application/Services/Management/RoleService.cs b/src/Token.Management.Application/Services/Management/RoleService.cs index 4bd191c..d73ab1c 100644 --- a/src/Token.Management.Application/Services/Management/RoleService.cs +++ b/src/Token.Management.Application/Services/Management/RoleService.cs @@ -16,7 +16,6 @@ namespace Token.Management.Application.Services.Management; public class RoleService : ApplicationService, IRoleService { - private readonly IMapper _mapper; private readonly IPrincipalAccessor _principalAccessor; private readonly IRepository _roleRepository; private readonly IRepository _menuRepository; @@ -24,7 +23,6 @@ public class RoleService : ApplicationService, IRoleService private readonly IUserRoleFunctionRepository _userRoleFunctionRepository; private readonly IRepository _menuRoleFunctionRepository; public RoleService( - IMapper mapper, IPrincipalAccessor principalAccessor, IUserInfoRepository userInfoRepository, IRepository menuRepository, @@ -32,7 +30,6 @@ public class RoleService : ApplicationService, IRoleService IRepository menuRoleFunctionRepository, IRepository roleRepository) { - _mapper = mapper; _menuRepository = menuRepository; _principalAccessor = principalAccessor; _userInfoRepository = userInfoRepository; @@ -42,7 +39,7 @@ public class RoleService : ApplicationService, IRoleService } public async Task CreateRole(RoleDto role) { - var data = _mapper.Map(role); + var data = ObjectMapper.Map(role); if (data.Code.IsNull() || data.Name.IsNull()) throw new BusinessException("角色编号或名称不能为空"); if (await _roleRepository.AnyAsync(a => a.Code == data.Code || a.Name == data.Name)) throw new BusinessException("已经存在相同编号或名称的角色"); @@ -52,7 +49,7 @@ public class RoleService : ApplicationService, IRoleService await CurrentUnitOfWork.SaveChangesAsync(); - return _mapper.Map(data); + return ObjectMapper.Map(data); } @@ -128,14 +125,16 @@ public class RoleService : ApplicationService, IRoleService .GetListAsync(a => (string.IsNullOrEmpty(name) || a.Name!.ToLower().Contains(name.ToLower())))) .OrderBy(x=>x.Index); - return _mapper.Map>(data); + return ObjectMapper.Map,List>(data); } public async Task<(List, int)> GetRoleUserInfo(Guid id, PageInput input) { var data=await _userRoleFunctionRepository - .GetPageListAsync(x => id==x.RoleId,a => a.CreationTime, input.SkipCount,input.MaxResultCount); - return (_mapper.Map>(data.Item1),data.Item2); + .GetPageUserListAsync(x => id==x.RoleId,a => a.CreationTime, + input.SkipCount,input.MaxResultCount); + + return (ObjectMapper.Map,List>(data.Item1),data.Item2); } public async Task<(List, int)> GetRoleUserInfoNotExit(Guid id,PageInput input) @@ -147,13 +146,12 @@ public class RoleService : ApplicationService, IRoleService &&!a.UserRoleFunction.Any(a => a.RoleId == id), x=>x.CreationTime,input.SkipCount,input.MaxResultCount); - return (_mapper.Map>(data.Item1),data.Item2); + return (ObjectMapper.Map,List>(data.Item1),data.Item2); } public async Task> GetUserMenuList() { - var user = _principalAccessor.GetUserInfo(); - var roleIds = user.UserRoleFunction!.Select(x=>x.RoleId).ToList(); + var roleIds = _principalAccessor.GetRoleIds(); var menuRole =(await _menuRoleFunctionRepository.GetListAsync(a => roleIds.Contains(a.RoleId))) .Select(x=>x.MenuId) @@ -196,7 +194,7 @@ public class RoleService : ApplicationService, IRoleService var data = await _roleRepository.FirstOrDefaultAsync(a => a.Id == role.Id); if (data == null) throw new BusinessException("数据不存在或者已经被删除"); - _mapper.Map(role, data); + ObjectMapper.Map(role, data); await _roleRepository.UpdateAsync(data); return role; @@ -204,7 +202,7 @@ public class RoleService : ApplicationService, IRoleService public async Task UpdateRoleIndex(List roles) { - var data = _mapper.Map>(roles); + var data = ObjectMapper.Map,List>(roles); for (int i = 0; i < data.Count; i++) { data[i].Index = i; diff --git a/src/Token.Management.Application/Services/Users/UserInfoService.cs b/src/Token.Management.Application/Services/Users/UserInfoService.cs index 7d6b801..4494c3e 100644 --- a/src/Token.Management.Application/Services/Users/UserInfoService.cs +++ b/src/Token.Management.Application/Services/Users/UserInfoService.cs @@ -1,11 +1,10 @@ -using AutoMapper; -using Management.Application.Services.Management; -using Token.HttpApi; +using Token.HttpApi; using Token.Infrastructure.Extension; using Token.Management.Application.Contracts.AppServices.Users; using Token.Management.Application.Contracts.Module.Management; using Token.Management.Application.Contracts.Module.Users; using Token.Management.Domain; +using Token.Management.Domain.Management; using Token.Management.Domain.Shared; using Token.Management.Domain.Users; using Volo.Abp.Application.Services; @@ -15,20 +14,13 @@ namespace Token.Management.Application.Services.Users; public class UserInfoService : ApplicationService, IUserInfoService { - private readonly IMapper _mapper; private readonly DESHelper _desHelper; private readonly IPrincipalAccessor _principalAccessor; - private readonly IDepartmentService _departmentService; private readonly IUserInfoRepository _userInfoRepository; public UserInfoService( - IMapper mapper, - IDepartmentService departmentService, IPrincipalAccessor principalAccessor, - IUserInfoRepository userInfoRepository, - DESHelper desHelper) + IUserInfoRepository userInfoRepository, DESHelper desHelper) { - _mapper = mapper; - _departmentService = departmentService; _principalAccessor = principalAccessor; _userInfoRepository = userInfoRepository; _desHelper = desHelper; @@ -39,10 +31,10 @@ public class UserInfoService : ApplicationService, IUserInfoService if (await _userInfoRepository.AnyAsync(a => a.AccountNumber == userInfo.AccountNumber)) throw new BusinessException("已经存在相同账号!"); - var data=_mapper.Map(userInfo); + var data=ObjectMapper.Map(userInfo); data =await _userInfoRepository.InsertAsync(data); - return _mapper.Map(data); + return ObjectMapper.Map(data); } public async Task DeleteUserInfoAsync(Guid userId) @@ -54,33 +46,31 @@ public class UserInfoService : ApplicationService, IUserInfoService } - public async Task GetUserInfo(LoginInput input) + public async Task<(UserInfoDto,string)> GetUserInfo(LoginInput input) { var data=await _userInfoRepository - .GetAsync(a=>a.AccountNumber==input.AccountNumber&&a.Password==input.Password); + .GetAsync(a=>a.AccountNumber==input.AccountNumber&&a.Password== input.Password); if (data == null) throw new BusinessException("账号或者密码错误"); - return _mapper.Map(data); + var token=await _principalAccessor.CreateTokenAsync(data); + + return (ObjectMapper.Map(data),token); } public async Task> GetUserInfoDepartmentList(Guid userId) { var data = await _userInfoRepository.GetAsync(a => a.Id == userId); - - return _mapper.Map>(data); + var departments=data.Department; + return ObjectMapper.Map,List>(departments); } - public async Task, int>> GetUserInfoPaging(string? code, DateTime? startTime, DateTime? endTime, sbyte statue = -1, int pageNo = 1, int pageSize = 20) + public async Task, int>> GetUserInfoPaging(string? code, DateTime? startTime, DateTime? endTime, sbyte status = -1, int pageNo = 1, int pageSize = 20) { - var data = await _userInfoRepository - .GetListAsync(a => a.CreationTime > startTime && a.CreationTime < endTime && - (string.IsNullOrEmpty(code) || a.Name.ToLower().Contains(code)) && - (statue == -1 || (StatueEnum)statue == a.Statue), - a => a.CreationTime,pageNo,pageSize); + var data = await _userInfoRepository.GetListAsync(startTime,endTime,code,status,pageNo,pageSize); - return new Tuple, int>(_mapper.Map>(data.Item1),data.Item2); + return new Tuple, int>(ObjectMapper.Map,List>(data.Item1),data.Item2); } public async Task UpdateUserInfo(UserInfoDto userInfo) @@ -90,13 +80,13 @@ public class UserInfoService : ApplicationService, IUserInfoService throw new BusinessException("用户不存在或者已经被删除"); data.Name = userInfo.Name; - data.Statue = userInfo.Statue; + data.Status = userInfo.Statue; data.Sex =(SexEnum) userInfo.Sex; data.MobileNumber = userInfo.MobileNumber; data.EMail=userInfo.EMail; await _userInfoRepository.UpdateAsync(data); - return _mapper.Map(data); + return ObjectMapper.Map(data); } } diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs index b99c2cd..e24d973 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs @@ -26,12 +26,12 @@ public static class EntityFrameworkCoreConfig x.Property(x => x.Name).HasComment("用户昵称"); x.Property(x => x.Password).HasComment("密码"); x.Property(x => x.Sex).HasComment("性别"); - x.Property(x => x.Statue).HasComment("状态"); + x.Property(x => x.Status).HasComment("状态"); x.Property(x => x.EMail).HasComment("邮箱"); x.Property(x => x.HeadPortraits).HasComment("头像"); x.Property(x => x.Password) - .HasConversion(x => des.DESDecrypt(x), x => des.DESEncrypt(x)); + .HasConversion(x => des.DESEncrypt(x),x => des.DESDecrypt(x)); }); builder.Entity(x => diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs index 6f89ac3..9d2cd50 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs @@ -28,9 +28,9 @@ public static class EntityFrameworkCoreInitialData HeadPortraits="https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", MobileNumber=13049809673, Name="管理员", - Password=des.DESEncrypt("Aa010426"), + Password=des.DESEncrypt("123456"), CreationTime=now, - Statue =StatueEnum.Enable + Status =StatueEnum.Enable }, }; diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/UserRoleFunctionRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/UserRoleFunctionRepository.cs index fdbd013..fd4b750 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/UserRoleFunctionRepository.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/UserRoleFunctionRepository.cs @@ -1,6 +1,8 @@ using System.Linq.Expressions; using Microsoft.EntityFrameworkCore; using Token.Management.Domain.Management.AccessFunction; +using Token.Management.Domain.Users; +using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -28,6 +30,22 @@ public class UserRoleFunctionRepository:EfCoreRepository, int)> GetPageUserListAsync(Expression> expression, Expression> sort, int skipCount, int maxResultCount) + { + var dbContext = await GetDbContextAsync(); + + var query = + dbContext.UserRoleFunction.Where(expression) + .OrderBy(sort) + .Select(x=>x.UserInfo); + + var count =await query.CountAsync(); + + var result =await query.PageBy(skipCount, maxResultCount).ToListAsync(); + + return (result, count); + } + public async Task> GetListAsync(Expression> expression, Expression> select,Expression>? property=null) { diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/Users/UserInfoRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/Users/UserInfoRepository.cs index cf307d5..ba2d72a 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/Users/UserInfoRepository.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/Users/UserInfoRepository.cs @@ -1,5 +1,6 @@ using System.Linq.Expressions; using Microsoft.EntityFrameworkCore; +using Token.Management.Domain.Shared; using Token.Management.Domain.Users; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -12,6 +13,25 @@ public class UserInfoRepository:EfCoreRepository,I { } + public async Task<(List, int)> GetListAsync(DateTime? startTime, DateTime? endTime, string? keyword, + sbyte? status, int skipCount, int maxResultCount) + { + var dbContext = await GetDbContextAsync(); + + var quer = + dbContext.UserInfo + .WhereIf(startTime.HasValue, x => x.CreationTime >= startTime) + .WhereIf(endTime.HasValue, x => x.CreationTime <= endTime) + .WhereIf(!keyword.IsNullOrWhiteSpace(), + x => x.Name.Contains(keyword) || x.AccountNumber.Contains(keyword)) + .WhereIf(status.HasValue, x => x.Status == (StatueEnum?)status); + var count =await quer.CountAsync(); + + var result =await quer.PageBy(skipCount, maxResultCount).ToListAsync(); + + return (result, count); + } + public async Task<(List, int)> GetListAsync(Expression> expression, Expression> sort, int skipCount, int maxResultCount) { var dbContext = await GetDbContextAsync(); diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.Designer.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.Designer.cs deleted file mode 100644 index bacbfec..0000000 --- a/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.Designer.cs +++ /dev/null @@ -1,1030 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Token.Management.EntityFrameworkCore.EntityFrameworkCore; - -#nullable disable - -namespace Token.Management.EntityFrameworkCore.Migrations -{ - [DbContext(typeof(TokenDbContext))] - [Migration("20220606190619_CreateData")] - partial class CreateData - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "6.0.5") - .HasAnnotation("Relational:MaxIdentifierLength", 64); - - modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("MenuId") - .HasColumnType("char(36)"); - - b.Property("RoleId") - .HasColumnType("char(36)"); - - b.Property("UserInfoId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.HasIndex("MenuId"); - - b.HasIndex("RoleId"); - - b.HasIndex("UserInfoId"); - - b.ToTable("token_menu_role_function", (string)null); - - b.HasData( - new - { - Id = new Guid("c0c8f085-42de-4036-b60e-a06cc7534962"), - CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), - IsDeleted = false, - MenuId = new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") - }, - new - { - Id = new Guid("c78a96a9-05b1-4b27-ab49-2a5532f39fde"), - CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), - IsDeleted = false, - MenuId = new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") - }, - new - { - Id = new Guid("b0fed1b3-9734-4ec4-a3c2-4858c8413105"), - CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), - IsDeleted = false, - MenuId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") - }, - new - { - Id = new Guid("64a99844-8a45-4f1e-b136-dae5df44f695"), - CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), - IsDeleted = false, - MenuId = new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") - }, - new - { - Id = new Guid("62c4c9cd-639c-4ca3-962d-cd6e4eb34c65"), - CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), - IsDeleted = false, - MenuId = new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") - }, - new - { - Id = new Guid("917247aa-af9a-46d6-b103-074d9a45d62f"), - CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), - IsDeleted = false, - MenuId = new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") - }, - new - { - Id = new Guid("8250ced8-e34f-4969-9308-6a7a1731239e"), - CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), - IsDeleted = false, - MenuId = new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") - }); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("DepartmentId") - .HasColumnType("char(36)"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("UserInfoId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("DepartmentId"); - - b.HasIndex("Id"); - - b.HasIndex("UserInfoId"); - - b.ToTable("token_user_department_function", (string)null); - - b.HasData( - new - { - Id = new Guid("7da2a1c5-edc1-4bbe-9721-ce9f7284659e"), - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - DepartmentId = new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), - IsDeleted = false, - UserInfoId = new Guid("db9555b3-c844-492a-9192-8649361cb75e") - }); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("RoleId") - .HasColumnType("char(36)"); - - b.Property("UserInfoId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.HasIndex("RoleId"); - - b.HasIndex("UserInfoId"); - - b.ToTable("token_user_role_function", (string)null); - - b.HasData( - new - { - Id = new Guid("59845bb1-34fb-4ba9-917b-dccb8e8b59f7"), - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - IsDeleted = false, - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), - UserInfoId = new Guid("db9555b3-c844-492a-9192-8649361cb75e") - }); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Company", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Code") - .HasColumnType("longtext"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("Describe") - .HasColumnType("longtext"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("Logo") - .HasColumnType("longtext"); - - b.Property("Name") - .HasColumnType("longtext"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.ToTable("token_company", (string)null); - - b.HasData( - new - { - Id = new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), - Code = "wr", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", - IsDeleted = false, - Name = "Microsoft" - }); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Department", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Code") - .HasColumnType("longtext"); - - b.Property("CompanyId") - .HasColumnType("char(36)"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("Index") - .HasColumnType("int"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasColumnType("longtext"); - - b.Property("ParentId") - .HasColumnType("char(36)"); - - b.Property("UserInfoId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("CompanyId"); - - b.HasIndex("Id"); - - b.HasIndex("UserInfoId"); - - b.ToTable("token_department", (string)null); - - b.HasData( - new - { - Id = new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), - Code = "cs", - CompanyId = new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 0, - IsDeleted = false, - Name = "测试部门" - }); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Component") - .HasColumnType("longtext"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("Icon") - .HasColumnType("longtext"); - - b.Property("Index") - .HasColumnType("int"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasColumnType("longtext"); - - b.Property("ParentId") - .HasColumnType("char(36)"); - - b.Property("Path") - .HasColumnType("longtext"); - - b.Property("Title") - .HasColumnType("longtext"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.ToTable("token_menu", (string)null); - - b.HasData( - new - { - Id = new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), - Component = "Home", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 0, - IsDeleted = false, - Name = "首页", - Path = "/home/index", - Title = "首页" - }, - new - { - Id = new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), - Component = "User", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 1, - IsDeleted = false, - Name = "用户管理", - Path = "/user/index", - Title = "用户管理" - }, - new - { - Id = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), - Component = "System", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 2, - IsDeleted = false, - Name = "系统配置", - Path = "/system/index", - Title = "系统配置" - }, - new - { - Id = new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), - Component = "Work", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 3, - IsDeleted = false, - Name = "工作", - Path = "/Work/index", - Title = "工作" - }, - new - { - Id = new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), - Component = "UserConfig", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 1, - IsDeleted = false, - Name = "用户权限配置", - ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), - Path = "/system/userConfig/index", - Title = "用户权限配置" - }, - new - { - Id = new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), - Component = "RoleConfig", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 0, - IsDeleted = false, - Name = "角色配置", - ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), - Path = "/system/roleConfig/index", - Title = "角色配置" - }, - new - { - Id = new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), - Component = "WorkConfig", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 2, - IsDeleted = false, - Name = "工作流配置", - ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), - Path = "/system/workConfig/index", - Title = "工作流配置" - }); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Role", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Code") - .HasColumnType("longtext") - .HasComment("角色编号"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("Index") - .HasColumnType("int") - .HasComment("序号"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasColumnType("longtext") - .HasComment("角色名称"); - - b.Property("ParentId") - .HasColumnType("char(36)") - .HasComment("父节点"); - - b.Property("Remark") - .HasColumnType("longtext") - .HasComment("备注"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.ToTable("token_role", (string)null); - - b.HasData( - new - { - Id = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), - Code = "admin", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - Index = 0, - IsDeleted = false, - Name = "管理员", - Remark = "系统管理员" - }); - }); - - modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("IsCheck") - .HasColumnType("tinyint(1)"); - - b.Property("Message") - .HasColumnType("longtext"); - - b.Property("Title") - .HasColumnType("longtext"); - - b.Property("WorkFormCode") - .HasColumnType("int"); - - b.Property("WorkFormId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.ToTable("token_system_message", (string)null); - }); - - modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("AccountNumber") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("EMail") - .HasColumnType("longtext") - .HasComment("邮箱"); - - b.Property("HeadPortraits") - .HasColumnType("longtext") - .HasComment("头像"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("MobileNumber") - .HasMaxLength(11) - .HasColumnType("bigint"); - - b.Property("Name") - .HasColumnType("longtext") - .HasComment("用户昵称"); - - b.Property("Password") - .HasColumnType("longtext") - .HasComment("密码"); - - b.Property("Sex") - .HasColumnType("int") - .HasComment("性别"); - - b.Property("Statue") - .HasColumnType("int") - .HasComment("状态"); - - b.Property("WXOpenId") - .HasMaxLength(50) - .HasColumnType("varchar(50)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.ToTable("token_user_info", (string)null); - - b.HasData( - new - { - Id = new Guid("db9555b3-c844-492a-9192-8649361cb75e"), - AccountNumber = "admin", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - EMail = "239573049@qq.com", - HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", - IsDeleted = false, - MobileNumber = 13049809673L, - Name = "管理员", - Password = "Aa010426", - Sex = 1, - Statue = 0 - }); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Content") - .HasColumnType("longtext"); - - b.Property("Count") - .HasColumnType("int"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasColumnType("longtext"); - - b.Property("Remark") - .HasColumnType("longtext"); - - b.Property("SubmitTime") - .HasColumnType("datetime(6)"); - - b.Property("WorkFlowNodeStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.ToTable("token_work_demo_main", (string)null); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("RoleId") - .HasColumnType("char(36)"); - - b.Property("WorkflowNodeTemplateId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.HasIndex("RoleId"); - - b.HasIndex("WorkflowNodeTemplateId"); - - b.ToTable("token_workflow_approval_role", (string)null); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("UserInfoId") - .HasColumnType("char(36)"); - - b.Property("UserName") - .HasColumnType("longtext"); - - b.Property("WorkFlowFormCode") - .HasColumnType("int"); - - b.Property("WorkflowInstanceId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.HasIndex("WorkflowInstanceId"); - - b.ToTable("token_workflow_approvers", (string)null); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("ArchiveDate") - .HasColumnType("datetime(6)"); - - b.Property("Code") - .HasColumnType("longtext") - .HasComment("工作流实例code"); - - b.Property("CurrentRoleCode") - .HasColumnType("longtext"); - - b.Property("HasBeenRead") - .HasColumnType("tinyint(1)"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasColumnType("longtext"); - - b.Property("Remark") - .HasColumnType("longtext") - .HasComment("工作流实例备注"); - - b.Property("SponsorId") - .HasColumnType("char(36)"); - - b.Property("SponsorName") - .HasColumnType("longtext"); - - b.Property("SponsoredDate") - .HasColumnType("datetime(6)"); - - b.Property("WorkFlowFormCode") - .HasColumnType("int"); - - b.Property("WorkFormId") - .HasColumnType("char(36)"); - - b.Property("WorkflowStatus") - .HasColumnType("int"); - - b.Property("WorkflowTemplateId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.HasIndex("SponsorId"); - - b.HasIndex("WorkflowTemplateId"); - - b.ToTable("token_workflow_instance", (string)null); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("AuditDate") - .HasColumnType("datetime(6)"); - - b.Property("AuditPersonId") - .HasColumnType("char(36)"); - - b.Property("AuditPersonName") - .HasColumnType("longtext"); - - b.Property("Code") - .HasColumnType("int"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasColumnType("longtext"); - - b.Property("NextNodeId") - .HasColumnType("char(36)"); - - b.Property("NextTemplateNodeId") - .HasColumnType("char(36)"); - - b.Property("NodeStatus") - .HasColumnType("int"); - - b.Property("PrevNodeId") - .HasColumnType("char(36)"); - - b.Property("PrevTemplateNodeId") - .HasColumnType("char(36)"); - - b.Property("Remark") - .HasColumnType("longtext"); - - b.Property("TemplateNodeId") - .HasColumnType("char(36)"); - - b.Property("WorkflowInstanceId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.HasIndex("WorkflowInstanceId"); - - b.ToTable("token_workflowNode_instance", (string)null); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Code") - .HasColumnType("int"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("NextNodeId") - .HasColumnType("char(36)"); - - b.Property("PrevNodeId") - .HasColumnType("char(36)"); - - b.Property("Remark") - .HasColumnType("longtext"); - - b.Property("WorkflowTemplateId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.HasIndex("WorkflowTemplateId"); - - b.ToTable("token_workflow_node_template", (string)null); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Code") - .HasColumnType("longtext") - .HasComment("工作流模板编号"); - - b.Property("IsDeleted") - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasColumnType("longtext") - .HasComment("工作流模板名称"); - - b.Property("Remark") - .HasColumnType("longtext") - .HasComment("工作流模板备注"); - - b.HasKey("Id"); - - b.HasIndex("Id"); - - b.ToTable("token_workflow_template", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Data.ExtraPropertyDictionary", b => - { - b.Property("Count") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.HasKey("Count"); - - b.ToTable("ExtraPropertyDictionary"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => - { - b.HasOne("Token.Management.Domain.Management.Menu", "Menu") - .WithMany() - .HasForeignKey("MenuId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Token.Management.Domain.Management.Role", "Role") - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Token.Management.Domain.Users.UserInfo", null) - .WithMany("MenuRoleFunction") - .HasForeignKey("UserInfoId"); - - b.Navigation("Menu"); - - b.Navigation("Role"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => - { - b.HasOne("Token.Management.Domain.Management.Department", "Department") - .WithMany("UserDepartmentFunction") - .HasForeignKey("DepartmentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") - .WithMany("UserDepartmentFunction") - .HasForeignKey("UserInfoId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Department"); - - b.Navigation("UserInfo"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => - { - b.HasOne("Token.Management.Domain.Management.Role", "Role") - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") - .WithMany("UserRoleFunction") - .HasForeignKey("UserInfoId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Role"); - - b.Navigation("UserInfo"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Department", b => - { - b.HasOne("Token.Management.Domain.Management.Company", "Company") - .WithMany("Department") - .HasForeignKey("CompanyId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Token.Management.Domain.Users.UserInfo", null) - .WithMany("Department") - .HasForeignKey("UserInfoId"); - - b.Navigation("Company"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => - { - b.HasOne("Token.Management.Domain.Management.Role", "Role") - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", "WorkflowNodeTemplate") - .WithMany("WorkflowApprovalRole") - .HasForeignKey("WorkflowNodeTemplateId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Role"); - - b.Navigation("WorkflowNodeTemplate"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => - { - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") - .WithMany("WorkflowApprovers") - .HasForeignKey("WorkflowInstanceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("WorkflowInstance"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => - { - b.HasOne("Token.Management.Domain.Users.UserInfo", "Sponsor") - .WithMany() - .HasForeignKey("SponsorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") - .WithMany("WorkflowInstance") - .HasForeignKey("WorkflowTemplateId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Sponsor"); - - b.Navigation("WorkflowTemplate"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => - { - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") - .WithMany("WorkflowNodeInstances") - .HasForeignKey("WorkflowInstanceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("WorkflowInstance"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => - { - b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") - .WithMany("WorkflowNodeTemplate") - .HasForeignKey("WorkflowTemplateId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("WorkflowTemplate"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Company", b => - { - b.Navigation("Department"); - }); - - modelBuilder.Entity("Token.Management.Domain.Management.Department", b => - { - b.Navigation("UserDepartmentFunction"); - }); - - modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => - { - b.Navigation("Department"); - - b.Navigation("MenuRoleFunction"); - - b.Navigation("UserDepartmentFunction"); - - b.Navigation("UserRoleFunction"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => - { - b.Navigation("WorkflowApprovers"); - - b.Navigation("WorkflowNodeInstances"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => - { - b.Navigation("WorkflowApprovalRole"); - }); - - modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => - { - b.Navigation("WorkflowInstance"); - - b.Navigation("WorkflowNodeTemplate"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.cs deleted file mode 100644 index 7d0fbb2..0000000 --- a/src/Token.Management.EntityFrameworkCore/Migrations/20220606190619_CreateData.cs +++ /dev/null @@ -1,738 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace Token.Management.EntityFrameworkCore.Migrations -{ - public partial class CreateData : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterDatabase() - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "ExtraPropertyDictionary", - columns: table => new - { - Count = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn) - }, - constraints: table => - { - table.PrimaryKey("PK_ExtraPropertyDictionary", x => x.Count); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_company", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Code = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Logo = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Describe = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_company", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_menu", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Index = table.Column(type: "int", nullable: false), - Component = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Title = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Icon = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Path = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - ParentId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_menu", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_role", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Name = table.Column(type: "longtext", nullable: true, comment: "角色名称") - .Annotation("MySql:CharSet", "utf8mb4"), - Code = table.Column(type: "longtext", nullable: true, comment: "角色编号") - .Annotation("MySql:CharSet", "utf8mb4"), - Remark = table.Column(type: "longtext", nullable: true, comment: "备注") - .Annotation("MySql:CharSet", "utf8mb4"), - Index = table.Column(type: "int", nullable: false, comment: "序号"), - ParentId = table.Column(type: "char(36)", nullable: true, comment: "父节点", collation: "ascii_general_ci"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_role", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_system_message", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Title = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Message = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - IsCheck = table.Column(type: "tinyint(1)", nullable: false), - WorkFormCode = table.Column(type: "int", nullable: false), - WorkFormId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_token_system_message", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_user_info", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - AccountNumber = table.Column(type: "longtext", nullable: false) - .Annotation("MySql:CharSet", "utf8mb4"), - Password = table.Column(type: "longtext", nullable: true, comment: "密码") - .Annotation("MySql:CharSet", "utf8mb4"), - WXOpenId = table.Column(type: "varchar(50)", maxLength: 50, nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Name = table.Column(type: "longtext", nullable: true, comment: "用户昵称") - .Annotation("MySql:CharSet", "utf8mb4"), - HeadPortraits = table.Column(type: "longtext", nullable: true, comment: "头像") - .Annotation("MySql:CharSet", "utf8mb4"), - Sex = table.Column(type: "int", nullable: false, comment: "性别"), - Statue = table.Column(type: "int", nullable: false, comment: "状态"), - MobileNumber = table.Column(type: "bigint", maxLength: 11, nullable: true), - EMail = table.Column(type: "longtext", nullable: true, comment: "邮箱") - .Annotation("MySql:CharSet", "utf8mb4"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_user_info", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_work_demo_main", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Remark = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Content = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Count = table.Column(type: "int", nullable: false), - WorkFlowNodeStatus = table.Column(type: "int", nullable: false), - SubmitTime = table.Column(type: "datetime(6)", nullable: true), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_work_demo_main", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_workflow_template", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Name = table.Column(type: "longtext", nullable: true, comment: "工作流模板名称") - .Annotation("MySql:CharSet", "utf8mb4"), - Code = table.Column(type: "longtext", nullable: true, comment: "工作流模板编号") - .Annotation("MySql:CharSet", "utf8mb4"), - Remark = table.Column(type: "longtext", nullable: true, comment: "工作流模板备注") - .Annotation("MySql:CharSet", "utf8mb4"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_workflow_template", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_department", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Code = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - ParentId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - Index = table.Column(type: "int", nullable: false), - CompanyId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false), - UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_token_department", x => x.Id); - table.ForeignKey( - name: "FK_token_department_token_company_CompanyId", - column: x => x.CompanyId, - principalTable: "token_company", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_token_department_token_user_info_UserInfoId", - column: x => x.UserInfoId, - principalTable: "token_user_info", - principalColumn: "Id"); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_menu_role_function", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - MenuId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false), - UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_token_menu_role_function", x => x.Id); - table.ForeignKey( - name: "FK_token_menu_role_function_token_menu_MenuId", - column: x => x.MenuId, - principalTable: "token_menu", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_token_menu_role_function_token_role_RoleId", - column: x => x.RoleId, - principalTable: "token_role", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_token_menu_role_function_token_user_info_UserInfoId", - column: x => x.UserInfoId, - principalTable: "token_user_info", - principalColumn: "Id"); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_user_role_function", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - CreationTime = table.Column(type: "datetime(6)", nullable: false), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_user_role_function", x => x.Id); - table.ForeignKey( - name: "FK_token_user_role_function_token_role_RoleId", - column: x => x.RoleId, - principalTable: "token_role", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_token_user_role_function_token_user_info_UserInfoId", - column: x => x.UserInfoId, - principalTable: "token_user_info", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_workflow_instance", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - SponsorId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - SponsorName = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Code = table.Column(type: "longtext", nullable: true, comment: "工作流实例code") - .Annotation("MySql:CharSet", "utf8mb4"), - Remark = table.Column(type: "longtext", nullable: true, comment: "工作流实例备注") - .Annotation("MySql:CharSet", "utf8mb4"), - WorkflowTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - WorkFormId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - WorkflowStatus = table.Column(type: "int", nullable: false), - SponsoredDate = table.Column(type: "datetime(6)", nullable: true), - WorkFlowFormCode = table.Column(type: "int", nullable: false), - ArchiveDate = table.Column(type: "datetime(6)", nullable: true), - HasBeenRead = table.Column(type: "tinyint(1)", nullable: false), - CurrentRoleCode = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_workflow_instance", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_instance_token_user_info_SponsorId", - column: x => x.SponsorId, - principalTable: "token_user_info", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_token_workflow_instance_token_workflow_template_WorkflowTemp~", - column: x => x.WorkflowTemplateId, - principalTable: "token_workflow_template", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_workflow_node_template", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - WorkflowTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Code = table.Column(type: "int", nullable: false), - PrevNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - NextNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - Remark = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_workflow_node_template", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_node_template_token_workflow_template_Workflo~", - column: x => x.WorkflowTemplateId, - principalTable: "token_workflow_template", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_user_department_function", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - DepartmentId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false), - CreationTime = table.Column(type: "datetime(6)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_user_department_function", x => x.Id); - table.ForeignKey( - name: "FK_token_user_department_function_token_department_DepartmentId", - column: x => x.DepartmentId, - principalTable: "token_department", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_token_user_department_function_token_user_info_UserInfoId", - column: x => x.UserInfoId, - principalTable: "token_user_info", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_workflow_approvers", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - UserName = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - WorkflowInstanceId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - WorkFlowFormCode = table.Column(type: "int", nullable: false), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_workflow_approvers", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_approvers_token_workflow_instance_WorkflowIns~", - column: x => x.WorkflowInstanceId, - principalTable: "token_workflow_instance", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_workflowNode_instance", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - WorkflowInstanceId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Code = table.Column(type: "int", nullable: false), - TemplateNodeId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - PrevTemplateNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - NextTemplateNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - PrevNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - NextNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - Remark = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - AuditPersonId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), - AuditPersonName = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - AuditDate = table.Column(type: "datetime(6)", nullable: true), - NodeStatus = table.Column(type: "int", nullable: false), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_workflowNode_instance", x => x.Id); - table.ForeignKey( - name: "FK_token_workflowNode_instance_token_workflow_instance_Workflow~", - column: x => x.WorkflowInstanceId, - principalTable: "token_workflow_instance", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "token_workflow_approval_role", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - WorkflowNodeTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - IsDeleted = table.Column(type: "tinyint(1)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_token_workflow_approval_role", x => x.Id); - table.ForeignKey( - name: "FK_token_workflow_approval_role_token_role_RoleId", - column: x => x.RoleId, - principalTable: "token_role", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_token_workflow_approval_role_token_workflow_node_template_Wo~", - column: x => x.WorkflowNodeTemplateId, - principalTable: "token_workflow_node_template", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.InsertData( - table: "token_company", - columns: new[] { "Id", "Code", "CreationTime", "Describe", "IsDeleted", "Logo", "Name" }, - values: new object[] { new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), "wr", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", false, null, "Microsoft" }); - - migrationBuilder.InsertData( - table: "token_menu", - columns: new[] { "Id", "Component", "CreationTime", "Icon", "Index", "IsDeleted", "Name", "ParentId", "Path", "Title" }, - values: new object[,] - { - { new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), "WorkConfig", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 2, false, "工作流配置", new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), "/system/workConfig/index", "工作流配置" }, - { new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), "User", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 1, false, "用户管理", null, "/user/index", "用户管理" }, - { new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), "System", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 2, false, "系统配置", null, "/system/index", "系统配置" }, - { new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), "UserConfig", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 1, false, "用户权限配置", new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), "/system/userConfig/index", "用户权限配置" }, - { new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), "Work", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 3, false, "工作", null, "/Work/index", "工作" }, - { new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), "Home", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 0, false, "首页", null, "/home/index", "首页" }, - { new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), "RoleConfig", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), null, 0, false, "角色配置", new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), "/system/roleConfig/index", "角色配置" } - }); - - migrationBuilder.InsertData( - table: "token_role", - columns: new[] { "Id", "Code", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "Remark" }, - values: new object[] { new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), "admin", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), 0, false, "管理员", null, "系统管理员" }); - - migrationBuilder.InsertData( - table: "token_user_info", - columns: new[] { "Id", "AccountNumber", "CreationTime", "EMail", "HeadPortraits", "IsDeleted", "MobileNumber", "Name", "Password", "Sex", "Statue", "WXOpenId" }, - values: new object[] { new Guid("db9555b3-c844-492a-9192-8649361cb75e"), "admin", new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), "239573049@qq.com", "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", false, 13049809673L, "管理员", "Aa010426", 1, 0, null }); - - migrationBuilder.InsertData( - table: "token_department", - columns: new[] { "Id", "Code", "CompanyId", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "UserInfoId" }, - values: new object[] { new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), "cs", new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), 0, false, "测试部门", null, null }); - - migrationBuilder.InsertData( - table: "token_menu_role_function", - columns: new[] { "Id", "CreationTime", "IsDeleted", "MenuId", "RoleId", "UserInfoId" }, - values: new object[,] - { - { new Guid("62c4c9cd-639c-4ca3-962d-cd6e4eb34c65"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, - { new Guid("64a99844-8a45-4f1e-b136-dae5df44f695"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, - { new Guid("8250ced8-e34f-4969-9308-6a7a1731239e"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, - { new Guid("917247aa-af9a-46d6-b103-074d9a45d62f"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, - { new Guid("b0fed1b3-9734-4ec4-a3c2-4858c8413105"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, - { new Guid("c0c8f085-42de-4036-b60e-a06cc7534962"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null }, - { new Guid("c78a96a9-05b1-4b27-ab49-2a5532f39fde"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), null } - }); - - migrationBuilder.InsertData( - table: "token_user_role_function", - columns: new[] { "Id", "CreationTime", "IsDeleted", "RoleId", "UserInfoId" }, - values: new object[] { new Guid("59845bb1-34fb-4ba9-917b-dccb8e8b59f7"), new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), false, new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), new Guid("db9555b3-c844-492a-9192-8649361cb75e") }); - - migrationBuilder.InsertData( - table: "token_user_department_function", - columns: new[] { "Id", "CreationTime", "DepartmentId", "IsDeleted", "UserInfoId" }, - values: new object[] { new Guid("7da2a1c5-edc1-4bbe-9721-ce9f7284659e"), new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), false, new Guid("db9555b3-c844-492a-9192-8649361cb75e") }); - - migrationBuilder.CreateIndex( - name: "IX_token_company_Id", - table: "token_company", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_department_CompanyId", - table: "token_department", - column: "CompanyId"); - - migrationBuilder.CreateIndex( - name: "IX_token_department_Id", - table: "token_department", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_department_UserInfoId", - table: "token_department", - column: "UserInfoId"); - - migrationBuilder.CreateIndex( - name: "IX_token_menu_Id", - table: "token_menu", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_menu_role_function_Id", - table: "token_menu_role_function", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_menu_role_function_MenuId", - table: "token_menu_role_function", - column: "MenuId"); - - migrationBuilder.CreateIndex( - name: "IX_token_menu_role_function_RoleId", - table: "token_menu_role_function", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "IX_token_menu_role_function_UserInfoId", - table: "token_menu_role_function", - column: "UserInfoId"); - - migrationBuilder.CreateIndex( - name: "IX_token_role_Id", - table: "token_role", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_system_message_Id", - table: "token_system_message", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_user_department_function_DepartmentId", - table: "token_user_department_function", - column: "DepartmentId"); - - migrationBuilder.CreateIndex( - name: "IX_token_user_department_function_Id", - table: "token_user_department_function", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_user_department_function_UserInfoId", - table: "token_user_department_function", - column: "UserInfoId"); - - migrationBuilder.CreateIndex( - name: "IX_token_user_info_Id", - table: "token_user_info", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_user_role_function_Id", - table: "token_user_role_function", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_user_role_function_RoleId", - table: "token_user_role_function", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "IX_token_user_role_function_UserInfoId", - table: "token_user_role_function", - column: "UserInfoId"); - - migrationBuilder.CreateIndex( - name: "IX_token_work_demo_main_Id", - table: "token_work_demo_main", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_approval_role_Id", - table: "token_workflow_approval_role", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_approval_role_RoleId", - table: "token_workflow_approval_role", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_approval_role_WorkflowNodeTemplateId", - table: "token_workflow_approval_role", - column: "WorkflowNodeTemplateId"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_approvers_Id", - table: "token_workflow_approvers", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_approvers_WorkflowInstanceId", - table: "token_workflow_approvers", - column: "WorkflowInstanceId"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_instance_Id", - table: "token_workflow_instance", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_instance_SponsorId", - table: "token_workflow_instance", - column: "SponsorId"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_instance_WorkflowTemplateId", - table: "token_workflow_instance", - column: "WorkflowTemplateId"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_node_template_Id", - table: "token_workflow_node_template", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_node_template_WorkflowTemplateId", - table: "token_workflow_node_template", - column: "WorkflowTemplateId"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflow_template_Id", - table: "token_workflow_template", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflowNode_instance_Id", - table: "token_workflowNode_instance", - column: "Id"); - - migrationBuilder.CreateIndex( - name: "IX_token_workflowNode_instance_WorkflowInstanceId", - table: "token_workflowNode_instance", - column: "WorkflowInstanceId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "ExtraPropertyDictionary"); - - migrationBuilder.DropTable( - name: "token_menu_role_function"); - - migrationBuilder.DropTable( - name: "token_system_message"); - - migrationBuilder.DropTable( - name: "token_user_department_function"); - - migrationBuilder.DropTable( - name: "token_user_role_function"); - - migrationBuilder.DropTable( - name: "token_work_demo_main"); - - migrationBuilder.DropTable( - name: "token_workflow_approval_role"); - - migrationBuilder.DropTable( - name: "token_workflow_approvers"); - - migrationBuilder.DropTable( - name: "token_workflowNode_instance"); - - migrationBuilder.DropTable( - name: "token_menu"); - - migrationBuilder.DropTable( - name: "token_department"); - - migrationBuilder.DropTable( - name: "token_role"); - - migrationBuilder.DropTable( - name: "token_workflow_node_template"); - - migrationBuilder.DropTable( - name: "token_workflow_instance"); - - migrationBuilder.DropTable( - name: "token_company"); - - migrationBuilder.DropTable( - name: "token_user_info"); - - migrationBuilder.DropTable( - name: "token_workflow_template"); - } - } -} diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs index 9bfa51c..ead7c9e 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs @@ -55,59 +55,59 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("c0c8f085-42de-4036-b60e-a06cc7534962"), + Id = new Guid("bb8c2ff9-4d7d-4543-bc3e-fc96853f102d"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") + MenuId = new Guid("42f4466e-705a-4c2e-a826-b4e5de46ab45"), + RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") }, new { - Id = new Guid("c78a96a9-05b1-4b27-ab49-2a5532f39fde"), + Id = new Guid("fbb59e7d-f77e-4526-82d5-5298f932cba0"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") + MenuId = new Guid("5a305a3c-11ca-4b8f-b5d1-1a1383013e2d"), + RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") }, new { - Id = new Guid("b0fed1b3-9734-4ec4-a3c2-4858c8413105"), + Id = new Guid("91432c08-5ee3-4152-b582-9ad8bfc815d6"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") + MenuId = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), + RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") }, new { - Id = new Guid("64a99844-8a45-4f1e-b136-dae5df44f695"), + Id = new Guid("e38dbc28-bb67-4ca6-b3f1-940ab3cf0b1c"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") + MenuId = new Guid("e25574cf-f66c-4785-881e-ade7227cb278"), + RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") }, new { - Id = new Guid("62c4c9cd-639c-4ca3-962d-cd6e4eb34c65"), + Id = new Guid("d128ab19-ed97-4b67-b122-11d134485889"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") + MenuId = new Guid("bccb0304-edaa-4d3b-9e77-3564725272b6"), + RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") }, new { - Id = new Guid("917247aa-af9a-46d6-b103-074d9a45d62f"), + Id = new Guid("e63c341f-a398-4cd2-ae18-dbd26a25fc16"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") + MenuId = new Guid("a63621da-adb7-437f-93f4-389b8b252cc3"), + RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") }, new { - Id = new Guid("8250ced8-e34f-4969-9308-6a7a1731239e"), + Id = new Guid("b8da2d27-c4a7-43d3-b825-00d4e9240640"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59") + MenuId = new Guid("203d6466-2e22-473b-931b-f500d90e6d3d"), + RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") }); }); @@ -142,11 +142,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("7da2a1c5-edc1-4bbe-9721-ce9f7284659e"), - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), - DepartmentId = new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), + Id = new Guid("ac46ba05-1d95-464d-b743-a56bde01b73b"), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + DepartmentId = new Guid("fcff0aa1-d7e3-49c1-9cfb-8f7acc8ec322"), IsDeleted = false, - UserInfoId = new Guid("db9555b3-c844-492a-9192-8649361cb75e") + UserInfoId = new Guid("145e1ab5-ccd7-45b8-9c27-7497258a1e4a") }); }); @@ -181,11 +181,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("59845bb1-34fb-4ba9-917b-dccb8e8b59f7"), - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + Id = new Guid("1a967fc4-a765-4993-a5c7-c82efbc7086b"), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), IsDeleted = false, - RoleId = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), - UserInfoId = new Guid("db9555b3-c844-492a-9192-8649361cb75e") + RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9"), + UserInfoId = new Guid("145e1ab5-ccd7-45b8-9c27-7497258a1e4a") }); }); @@ -222,9 +222,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), + Id = new Guid("0c090674-72fa-452e-934a-f4dff0745ac2"), Code = "wr", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", IsDeleted = false, Name = "Microsoft" @@ -274,10 +274,10 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("bcf1021f-ed6e-4ac6-834b-84937dd741af"), + Id = new Guid("fcff0aa1-d7e3-49c1-9cfb-8f7acc8ec322"), Code = "cs", - CompanyId = new Guid("aab77e0b-acca-427f-9b99-4192fcf857a6"), - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CompanyId = new Guid("0c090674-72fa-452e-934a-f4dff0745ac2"), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 0, IsDeleted = false, Name = "测试部门" @@ -326,9 +326,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("7e8dbc94-c9f0-42d6-af32-25543090d534"), + Id = new Guid("42f4466e-705a-4c2e-a826-b4e5de46ab45"), Component = "Home", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 0, IsDeleted = false, Name = "首页", @@ -337,9 +337,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("0e5f04f8-1ae2-4e19-bf8f-ddfeceb2cdd4"), + Id = new Guid("5a305a3c-11ca-4b8f-b5d1-1a1383013e2d"), Component = "User", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 1, IsDeleted = false, Name = "用户管理", @@ -348,9 +348,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), + Id = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), Component = "System", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 2, IsDeleted = false, Name = "系统配置", @@ -359,9 +359,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("7cf394b0-a182-453d-b4eb-f9f899a6fa0d"), + Id = new Guid("e25574cf-f66c-4785-881e-ade7227cb278"), Component = "Work", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 3, IsDeleted = false, Name = "工作", @@ -370,37 +370,37 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("5497a9e8-43ab-4de4-8695-999f0add8296"), + Id = new Guid("bccb0304-edaa-4d3b-9e77-3564725272b6"), Component = "UserConfig", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 1, IsDeleted = false, Name = "用户权限配置", - ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), + ParentId = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), Path = "/system/userConfig/index", Title = "用户权限配置" }, new { - Id = new Guid("9b9a403a-fe51-43e1-966f-67c4e982beeb"), + Id = new Guid("a63621da-adb7-437f-93f4-389b8b252cc3"), Component = "RoleConfig", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 0, IsDeleted = false, Name = "角色配置", - ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), + ParentId = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), Path = "/system/roleConfig/index", Title = "角色配置" }, new { - Id = new Guid("0436ce5c-847d-4f52-b899-23de0c0ffcad"), + Id = new Guid("203d6466-2e22-473b-931b-f500d90e6d3d"), Component = "WorkConfig", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 2, IsDeleted = false, Name = "工作流配置", - ParentId = new Guid("49b54056-ca0d-409f-a1d0-b28ca19ff6bc"), + ParentId = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), Path = "/system/workConfig/index", Title = "工作流配置" }); @@ -447,9 +447,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("f14bb479-6e36-47e9-af6e-0e8081c0be59"), + Id = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9"), Code = "admin", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), Index = 0, IsDeleted = false, Name = "管理员", @@ -542,15 +542,15 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("db9555b3-c844-492a-9192-8649361cb75e"), + Id = new Guid("145e1ab5-ccd7-45b8-9c27-7497258a1e4a"), AccountNumber = "admin", - CreationTime = new DateTime(2022, 6, 7, 3, 6, 19, 15, DateTimeKind.Local).AddTicks(1666), + CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), EMail = "239573049@qq.com", HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", IsDeleted = false, MobileNumber = 13049809673L, Name = "管理员", - Password = "Aa010426", + Password = "349843DE4F81CDE9456ADEACACE77ECF8DA4197169214575", Sex = 1, Statue = 0 }); diff --git a/src/Token.ManagementApi.Host/Controllers/LoginController.cs b/src/Token.ManagementApi.Host/Controllers/LoginController.cs index 4cc6ee8..51f36ef 100644 --- a/src/Token.ManagementApi.Host/Controllers/LoginController.cs +++ b/src/Token.ManagementApi.Host/Controllers/LoginController.cs @@ -35,10 +35,7 @@ public class LoginController : BaseController { var userInfo = await _userInfoService.GetUserInfo(input); - //生成令牌 - var token = await _principalAccessor.CreateTokenAsync(userInfo); - - return new OkObjectResult(new { token, userInfo }); + return new OkObjectResult(new { token=userInfo.Item2, userInfo=userInfo.Item1 }); } /// diff --git a/src/Token.ManagementApi.Host/Controllers/MenuController.cs b/src/Token.ManagementApi.Host/Controllers/MenuController.cs index b58e510..96011fe 100644 --- a/src/Token.ManagementApi.Host/Controllers/MenuController.cs +++ b/src/Token.ManagementApi.Host/Controllers/MenuController.cs @@ -12,6 +12,7 @@ public class MenuController : BaseController { private readonly IRoleService _roleService; + /// public MenuController( IRoleService roleService ) diff --git a/src/Token.ManagementApi.Host/Controllers/UserInfoController.cs b/src/Token.ManagementApi.Host/Controllers/UserInfoController.cs index ecfcce7..059b489 100644 --- a/src/Token.ManagementApi.Host/Controllers/UserInfoController.cs +++ b/src/Token.ManagementApi.Host/Controllers/UserInfoController.cs @@ -28,15 +28,15 @@ public class UserInfoController : BaseController /// /// /// - /// + /// /// /// /// [HttpGet] public async Task>> GetUserInfoPaging(string? code, DateTime? startTime, - DateTime? endTime, sbyte statue = -1, int pageNo = 1, int pageSize = 20) + DateTime? endTime, sbyte status = -1, int pageNo = 1, int pageSize = 20) { - var data = await _userInfoService.GetUserInfoPaging(code, startTime, endTime, statue, pageNo, pageSize); + var data = await _userInfoService.GetUserInfoPaging(code, startTime, endTime, status, pageNo, pageSize); return new PagingModelView>(SerialNumberHelper.GetList(data.Item1, pageNo, pageSize), data.Item2); } diff --git a/src/Token.Mangement.Domain/Constants.cs b/src/Token.Mangement.Domain/Constants.cs index d65bef2..af87e83 100644 --- a/src/Token.Mangement.Domain/Constants.cs +++ b/src/Token.Mangement.Domain/Constants.cs @@ -33,4 +33,6 @@ public class Constants public static string DefaultTodayDateStr => "yyyyMMdd"; public static string DefaultFullDateStr => "yyyyMMddHHmmss"; + + public static string Department => "Department"; } diff --git a/src/Token.Mangement.Domain/Management/AccessFunction/IUserRoleFunctionRepository.cs b/src/Token.Mangement.Domain/Management/AccessFunction/IUserRoleFunctionRepository.cs index 4bea239..7cf110c 100644 --- a/src/Token.Mangement.Domain/Management/AccessFunction/IUserRoleFunctionRepository.cs +++ b/src/Token.Mangement.Domain/Management/AccessFunction/IUserRoleFunctionRepository.cs @@ -1,4 +1,5 @@ using System.Linq.Expressions; +using Token.Management.Domain.Users; using Volo.Abp.Domain.Repositories; namespace Token.Management.Domain.Management.AccessFunction; @@ -20,6 +21,18 @@ public interface IUserRoleFunctionRepository:IRepository Task<(List, int)> GetPageListAsync(Expression> expression, Expression> sort,int skipCount,int maxResultCount); + /// + /// 分页获取排序 + /// + /// + /// + /// + /// + /// + /// + Task<(List, int)> GetPageUserListAsync(Expression> expression, + Expression> sort,int skipCount,int maxResultCount); + /// /// /// diff --git a/src/Token.Mangement.Domain/Users/IUserInfoRepository.cs b/src/Token.Mangement.Domain/Users/IUserInfoRepository.cs index 7a9003a..2c0c733 100644 --- a/src/Token.Mangement.Domain/Users/IUserInfoRepository.cs +++ b/src/Token.Mangement.Domain/Users/IUserInfoRepository.cs @@ -8,6 +8,8 @@ namespace Token.Management.Domain.Users; /// public interface IUserInfoRepository:IRepository { + Task<(List, int)> GetListAsync(DateTime? startTime,DateTime? endTime,string? keyword,sbyte? status,int skipCount,int maxResultCount); + /// /// /// diff --git a/src/Token.Mangement.Domain/Users/UserInfo.cs b/src/Token.Mangement.Domain/Users/UserInfo.cs index 3e5283b..2f50e14 100644 --- a/src/Token.Mangement.Domain/Users/UserInfo.cs +++ b/src/Token.Mangement.Domain/Users/UserInfo.cs @@ -58,7 +58,7 @@ public class UserInfo : Entity, ISoftDelete, IHasCreationTime /// /// 账号状态 /// - public StatueEnum Statue { get; set; } + public StatueEnum Status { get; set; } /// /// 手机号 -- Gitee From d4fdb06620b09f9a74aa62e93d671b927ac7ab9f Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Wed, 8 Jun 2022 01:12:40 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=83=A8=E7=BD=B2=20?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/Management/DesignTimeBuild/.dtbcache.v2 | Bin 329208 -> 329208 bytes .vs/Management/v17/.futdcache.v1 | Bin 1434 -> 1434 bytes .vs/Management/v17/.suo | Bin 170496 -> 182784 bytes .vs/ProjectEvaluation/management.metadata.v2 | Bin 259832 -> 260170 bytes .vs/ProjectEvaluation/management.projects.v2 | Bin 3666622 -> 4040088 bytes .../AppServices/Management/IRoleService.cs | 3 +- .../AppServices/Users/IUserInfoService.cs | 9 +- .../AppServices/Users/UserInfoPagingInput.cs | 14 + .../WorkFlow/IWorkflowTemplateService.cs | 10 +- .../Module/PageInput.cs | 10 + .../Module/Users/UserInfoDto.cs | 8 +- .../MapperProfile.cs | 8 +- .../Services/Users/UserInfoService.cs | 9 +- .../WorkFlow/WorkflowTemplateService.cs | 36 +- .../{StatueEnum.cs => StatusEnum.cs} | 2 +- .../EntityFrameworkCoreInitialData.cs | 2 +- .../UserRoleFunctionRepository.cs | 10 + .../Users/UserInfoRepository.cs | 3 +- .../WorkflowNodeTemplateRepository.cs | 9 +- .../WorkFlow/WorkflowTemplateRepository.cs | 5 +- .../20220607154305_CreateData.Designer.cs | 1030 +++++++++++++++++ .../Migrations/20220607154305_CreateData.cs | 738 ++++++++++++ .../Migrations/TokenDbContextModelSnapshot.cs | 114 +- .../Controllers/RoleController.cs | 2 +- .../Controllers/UserInfoController.cs | 17 +- .../WorkFlow/WorkflowTemplateController.cs | 3 +- .../Base/WorkFlowStatue.cs | 2 +- .../IUserRoleFunctionRepository.cs | 7 + src/Token.Mangement.Domain/Users/UserInfo.cs | 2 +- .../WorkContent/WorkDemoMain.cs | 2 +- .../WorkFlow/IWorkflowTemplateRepository.cs | 6 +- 31 files changed, 1934 insertions(+), 127 deletions(-) create mode 100644 src/Token.Management.Application.Contracts/AppServices/Users/UserInfoPagingInput.cs rename src/Token.Management.Domain.Shared/{StatueEnum.cs => StatusEnum.cs} (93%) create mode 100644 src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.Designer.cs create mode 100644 src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.cs diff --git a/.vs/Management/DesignTimeBuild/.dtbcache.v2 b/.vs/Management/DesignTimeBuild/.dtbcache.v2 index 4839be23661d0500dce59965ccf92868da6fe2f4..aa99ef73639358b2c931be84d540fbf5b9a64911 100644 GIT binary patch literal 329208 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 RM3$qh#M1!Es^sRI{|n1bnHm59 literal 329208 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 C-4KTW delta 44 vcmbQmJ&Suo0TbsXRb9~~O&>1yZ?0sT$Hdz_{a!u;6gW+;Wm22$#TozrWuOid diff --git a/.vs/Management/v17/.suo b/.vs/Management/v17/.suo index 09268f97d544415276420e5e2c725f3d48a42613..6897540a2f95966be6b9233491c3a343ece364e9 100644 GIT binary patch delta 11127 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

rIChTPLSxN2MnYlmjKE}o}`W;zP&o}+`@ zqW96^ij8n6SLz|Cox>pKQYP$Nv*_07!0~0s#_G7bV4P+Mq8B0*(HlV_NFPKvA_5VK z=!=L#^g~1=`Xgcx0}!!@fd~yki-kc6e1Img}~q;y*qe_?DzhV?`;|9zdAIq@96mteX?rn6X&O2 zs)4qo2pINxMBkdSd)|&W!$-(5={>iHyNnps?ugN?700q{+Akn2v-do;)f!|`y4e&E zzw4mt(Y*7YrJz|jc89A{!!zjiq=2tp?F*^9W1;u%;UMi+LGEs|+W6Zk1t=E9*z73< zkg~`0QuA)^*lTgbx(}M>Mm$tvC()K-L2xY=&Yf$2E{N4OC@ zPG!XcJtTPcDcC~_RAk0?Y;5?7(GVNo!3JRT8kAL5!25{R^9;) zyHjMiJy&4Vo;0WYxuiVFe zxgkLFZi~yLVAh^EQXM{3anSNUaH=uFKWE9NFBgtdK;E%)AiX&b-jc^aB3Fa?qz>YEIMnagfpj1o&hOXp zAN-*8z)B2c3c+@`5c3?&!s~t*O<_^BgNgo_M@Mkzhbuo`{b$pdNuKOAGe@tq3D_zu5 zl}l3Ic*9^zV~A+|LTGF!v%!0L<%W2MTMnm^{S;WM*r{!GPXsU5wq<)Q^1JgIlu z!dU1}w9DAeK=XDqSl;u4_P>@u)kPgtO5xDF(E^fWfiEw{!0dLF9RJ@l8R*+nApWb& zetLYG&A@q&bNyxGyU}ud?m_K=_K#ZRh!K_8}>mw6pZyi*2d}>H30W+uf07 ze5o<5bWUojAvv{tgf-bzI=3v@YACZN>rJK%Lz*>xgxO$>RXBS$u&B)2E zrl*x>l$Xvmrs;DVLnXcPhd9Dd_Q|Y47i_-a#rUurN4OhYc@taKAs(NR^_mQzCS5FHc&h` ziy3;hIb#~x1H5;TOIP%h)U3hZq0SY%*eag`ud^w>Lc@66n-U+yoCgb-Ur^63Tx-1h z?kUn4?(V+vb*4ISoCWhhiXteu$oW)QPqOV|Cuie?nzKJU-)~_n{Ndy4an9N!Y?Jcu za!wQ0-?K#V+-Vl%T>TC^<1g4)mg(xq)dv%r_gIdoGqN+z()ZY93S2r)(71!d>@#e? zGxQY8X0Y+w38Lg}7VM09m<2KCn-|y)E*fNJ5Ycb3iO#m)vnQCBdNku%kX!Aae8}bp zh=L{-EwCr0bCxgb#hlV&7WrMHF|ig23uh!#sC9E^*TOPv`ynNU>i0PDRH7&;xgDe zlCUzIDxW$_>v#wg^$U3$J5OIvfez;oIQ&A9Sig|_v2R>7(SDqp#a~wPJi3VE$5GDw zmHb&Qq}6;2+eti6iIUY^!#=o`KhgE91}g?fIghU8Mot603?1fBkvoe=`O+o#b@!;! z(O6OPEFU8ltmAuyay{Q9;-2H5u&vZw4SO>}yWdJN!lLH`*HCrBx{dV{%^kQwHe6)A zoUi;Bn;v_Mn4Ox(csA?yLLzqtHLw`V%*|Bb)QM9wO{MI7GCV?@JjzE0ebkpIeRo_J?ra38SQjKU(Ll-sGxr^JnY zyhL0%#M@cpO`#k-#5=^=BYdZ5eVRW?Jh9yZbXINWNB!?GqpqG`x#8piVpTK$t!UcI za!6oOe!(3vb^?7^|-#f+ZTz#A`=7R4- z!#d#%r+J))u!B)fEL>us&A^+(=8s|JB8&TZ^xds^ox8kd=%BPzU7Ftg2%%5L_tEaO ze3>y-XTaCacKTmX&w)Ji-qhpTzCGdghnTj_`r8MN`}u*PdB>mN$mWE8J-2N4dn)YP zoN#;BcfF>tVjfM~P;1dDwJ&!}K6b94KFeqM^x~yQm&Z?!n!g@q^>_>Otk&!4tLaM# qV}tF}6Yvl>;L%OLlxpTaQZ~<8lQOSj?tT-JuzAq0iE&E^WW0HFS diff --git a/.vs/ProjectEvaluation/management.metadata.v2 b/.vs/ProjectEvaluation/management.metadata.v2 index fed3c3e2735890c5403dbad421a1a7074524e86a..3593acd18f1a1c2aad045cc3ac5813a33de0cb6f 100644 GIT binary patch delta 310 zcmezImjBcTen$UB##TlkV%o~coOxczOOSzq!_?8j!p+6d*&E0?GyS0nlhO1E7nqGF z|2vr>>;n|z4K7J6DJ^!*E6vqQF7};%@DQ_@x4EIIiLrrcymL`%Vo9n?Vo4%U&JU>C zz&A6!D6u3nKd(5($iT?Rz{~)PT9?$~%=Em}BA_P6$%PVTlLgecx34+REXgde?~^$L z2(SV1WewB))9arz>uhJd%zT$wP+*e{SWX&9mb_KZnlruOIrF3K7q2rnu?sA?ZV8s; z0g}i4qo5l5?=y3<2soU#0?Y9O$wm7Tp>kIqGd~s(5IbfKmSYBzebo#0LM;6Jg_)HJ E0B5ygH~;_u delta 183 zcmX^0f&a%_enziG##TlkV%o~coOzznadM%A*<=AV?(P3BFiSG?PyJ`e00L}4JWaxA z`h^$Fy4!=VFyCbsc>mrAEX4yPzYEW{oqq8J^W*KxH<_E*1v!5OKPnjPJ2&tV_0n4obl1ffjr@e5W{_YO5*7OY*nOU}b Jeq&~20s!D^I%fa? diff --git a/.vs/ProjectEvaluation/management.projects.v2 b/.vs/ProjectEvaluation/management.projects.v2 index fbd753f57f4505affc957b277d847cfa81db6396..d498fc602dc9f245257f1e6ff3745c4671c6fef8 100644 GIT binary patch delta 351 zcmdn@^giQ^)87~yS{PfHT9{i{T3B1yTG(4SS~y#{TDV(yT6kOdTKHQ8S_E5!T7+9f zT0~pKTEtrWm}oqyaX9PKJ?oD@UF52>-M$mMlx?u zg(f_g`)jj(wz+m>==Rud<1f*u(*19YlRlve=|3?MemDL6ES3%1wa=-XWkQu*z$H7| zhRqvftM_(CciB`wMxW`4Rr2Q31wxovw^t^rHlkU95+H;s96ymG_ML21|!P(69@d@s)XK)b+35$q|iAzXI zNz2H}$tx%-DXaKVRa4jStEr`}qpPQHU}$7)Vrph?;m^{_+Q!z--oeqo)9rkJe*w`e BDV_iT diff --git a/src/Token.Management.Application.Contracts/AppServices/Management/IRoleService.cs b/src/Token.Management.Application.Contracts/AppServices/Management/IRoleService.cs index 421b3ac..861dc89 100644 --- a/src/Token.Management.Application.Contracts/AppServices/Management/IRoleService.cs +++ b/src/Token.Management.Application.Contracts/AppServices/Management/IRoleService.cs @@ -3,6 +3,7 @@ using Token.Management.Application.Contracts.Module.Management; using Token.Management.Application.Contracts.Module.Users; using Token.Management.Domain.Management; using Token.Management.Domain.Management.AccessFunction; +using Token.Management.Domain.Users; namespace Management.Application.Services.Management; @@ -25,7 +26,7 @@ public interface IRoleService Task> RecursionUserMenu(List

roles, List menuIds, Guid parentId); /// - /// 获取角色分页数据 + /// 获取角色分页数据 /// /// /// diff --git a/src/Token.Management.Application.Contracts/AppServices/Users/IUserInfoService.cs b/src/Token.Management.Application.Contracts/AppServices/Users/IUserInfoService.cs index 3a14abf..c59e114 100644 --- a/src/Token.Management.Application.Contracts/AppServices/Users/IUserInfoService.cs +++ b/src/Token.Management.Application.Contracts/AppServices/Users/IUserInfoService.cs @@ -1,4 +1,5 @@ -using Token.Management.Application.Contracts.Module.Management; +using Token.Management.Application.Contracts.Module; +using Token.Management.Application.Contracts.Module.Management; using Token.Management.Application.Contracts.Module.Users; namespace Token.Management.Application.Contracts.AppServices.Users; @@ -16,11 +17,11 @@ public interface IUserInfoService Task<(UserInfoDto, string)> GetUserInfo(LoginInput input); /// - /// 用户分页数据 + /// 用户分页数据 /// + /// /// - Task, int>> GetUserInfoPaging(string? code, DateTime? startTime, DateTime? endTime, - sbyte status = -1, int pageNo = 1, int pageSize = 20); + Task, int>> GetUserInfoPaging(UserInfoPagingInput input); /// /// 获取账号下所有部门 diff --git a/src/Token.Management.Application.Contracts/AppServices/Users/UserInfoPagingInput.cs b/src/Token.Management.Application.Contracts/AppServices/Users/UserInfoPagingInput.cs new file mode 100644 index 0000000..8f3106d --- /dev/null +++ b/src/Token.Management.Application.Contracts/AppServices/Users/UserInfoPagingInput.cs @@ -0,0 +1,14 @@ +using Token.Management.Application.Contracts.Module; + +namespace Token.Management.Application.Contracts.AppServices.Users; + +/// +/// 获取用户列表input +/// +public class UserInfoPagingInput:PageInput +{ + /// + /// 状态 + /// + public sbyte? Status { get; set; } +} diff --git a/src/Token.Management.Application.Contracts/AppServices/WorkFlow/IWorkflowTemplateService.cs b/src/Token.Management.Application.Contracts/AppServices/WorkFlow/IWorkflowTemplateService.cs index a9e62b8..461f3c6 100644 --- a/src/Token.Management.Application.Contracts/AppServices/WorkFlow/IWorkflowTemplateService.cs +++ b/src/Token.Management.Application.Contracts/AppServices/WorkFlow/IWorkflowTemplateService.cs @@ -1,4 +1,5 @@ -using Token.Management.Application.Contracts.Module.WorkFlow; +using Token.Management.Application.Contracts.Module; +using Token.Management.Application.Contracts.Module.WorkFlow; using Token.Management.Domain.WorkFlow; namespace Token.Management.Application.Contracts.AppServices.WorkFlow; @@ -16,10 +17,9 @@ public interface IWorkflowTemplateService /// 获取模板 /// /// - /// - /// + /// /// - Task<(List, int)> GetWorkflowTemplatePage(string? name, int pageNo = 1, int pageSize = 20); + Task<(List, int)> GetWorkflowTemplatePage(string? name, PageInput input); /// /// 删除模板 @@ -43,7 +43,7 @@ public interface IWorkflowTemplateService Task> GetWorkflowNodeTemplates(Guid workflowId); /// - /// 获取节点已存在角色 + /// 获取节点已存在角色 /// /// /// diff --git a/src/Token.Management.Application.Contracts/Module/PageInput.cs b/src/Token.Management.Application.Contracts/Module/PageInput.cs index b3a7575..687a35e 100644 --- a/src/Token.Management.Application.Contracts/Module/PageInput.cs +++ b/src/Token.Management.Application.Contracts/Module/PageInput.cs @@ -5,6 +5,16 @@ /// public class PageInput { + /// + /// 开始时间 + /// + public DateTime? StartTime { get; set; } + + /// + /// 结束时间 + /// + public DateTime? EndTime { get; set; } + /// /// 当前页 /// diff --git a/src/Token.Management.Application.Contracts/Module/Users/UserInfoDto.cs b/src/Token.Management.Application.Contracts/Module/Users/UserInfoDto.cs index ab444b0..2ff5f08 100644 --- a/src/Token.Management.Application.Contracts/Module/Users/UserInfoDto.cs +++ b/src/Token.Management.Application.Contracts/Module/Users/UserInfoDto.cs @@ -1,4 +1,4 @@ -using Token.Management.Application.Contracts.Module.Management; +using Token.Management.Application.Contracts.Module.Management; using Token.Management.Domain.Base; using Token.Management.Domain.Shared; @@ -41,12 +41,12 @@ public class UserInfoDto : SerialNumberEntity /// /// 账号状态 /// - public StatueEnum Statue { get; set; } + public StatusEnum Status { get; set; } /// - /// 状态描述 + /// 状态描述 /// - public string? StatueName { get; set; } + public string? StatusName { get; set; } /// public interface IWorkDemoMainRepository:IRepository { - + /// + /// + /// + /// + /// + /// + /// + /// + /// + Task<(List, int)> GetWorkDemoListAsync(DateTime? startTime, DateTime? endTime, string keyword, + int pageNo, int pageSize); } diff --git a/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs b/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs index f345bd2..0f0d303 100644 --- a/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs +++ b/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs @@ -1,5 +1,6 @@ using Token.Management.Domain.Shared; using Volo.Abp; +using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; namespace Token.Management.Domain.WorkContent; @@ -7,7 +8,7 @@ namespace Token.Management.Domain.WorkContent; /// /// 工作流Demo /// -public class WorkDemoMain : Entity, ISoftDelete +public class WorkDemoMain : Entity, ISoftDelete,IHasCreationTime { /// /// 工作流Dmeo名称 @@ -42,4 +43,6 @@ public class WorkDemoMain : Entity, ISoftDelete public bool IsDeleted { get; set; } public virtual List WorkContentDemo { get; set; } = new List(); + + public DateTime CreationTime { get; } } -- Gitee From f906613e9e739121a42f80d7620d53edded802c0 Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Fri, 10 Jun 2022 00:55:32 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E6=96=B0=E5=A2=9Edrone=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.dockerignore => .dockerignore | 4 +- .drone.yml | 44 ++++++++++++++++++ .vs/Management/DesignTimeBuild/.dtbcache.v2 | Bin 329208 -> 329208 bytes .vs/Management/v17/.futdcache.v1 | Bin 1434 -> 1434 bytes .vs/Management/v17/.suo | Bin 207360 -> 208896 bytes .vs/ProjectEvaluation/management.metadata.v2 | Bin 261167 -> 269291 bytes .vs/ProjectEvaluation/management.projects.v2 | Bin 4428621 -> 4819565 bytes src/Token.ManagementApi.Host/Dockerfile | 17 +++++-- .../Properties/launchSettings.json | 35 ++++++++------ .../Token.ManagementApi.Host.csproj | 3 ++ 10 files changed, 82 insertions(+), 21 deletions(-) rename src/Token.ManagementApi.Host/.dockerignore => .dockerignore (90%) create mode 100644 .drone.yml diff --git a/src/Token.ManagementApi.Host/.dockerignore b/.dockerignore similarity index 90% rename from src/Token.ManagementApi.Host/.dockerignore rename to .dockerignore index cd967fc..3729ff0 100644 --- a/src/Token.ManagementApi.Host/.dockerignore +++ b/.dockerignore @@ -1,4 +1,5 @@ -**/.dockerignore +**/.classpath +**/.dockerignore **/.env **/.git **/.gitignore @@ -7,7 +8,6 @@ **/.toolstarget **/.vs **/.vscode -**/.idea **/*.*proj.user **/*.dbmdl **/*.jfm diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..6d1dd73 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,44 @@ +kind: pipeline +name: adminapi +type: docker + +platform: + os: linux + arch: amd64 + +steps: + - name: managementapi + when: + branch: + - master + image: docker:dind + environment: + IMAGE: managementapi + ASPNETCORE_ENVIRONMENT: Development + volumes: + - name: dockersock + path: /var/run/docker.sock + commands: + - docker build -f ./src/Token.ManagementApi.Host/Dockerfile -t managementapi . + + - name: managementapi-push + image: docker:dind + when: + branch: + - master + environment: + IMAGE: managementapi + ASPNETCORE_ENVIRONMENT: Development + volumes: + - name: dockersock + path: /var/run/docker.sock + - name: logs + path: /root/logs/managementapi/logs:/app/logs + commands: + - docker stop managementapi && docker rm managementapi + - docker run -d -network token --name managementapi adminapi:latest + +volumes: + - name: dockersock + host: + path: /var/run/docker.sock diff --git a/.vs/Management/DesignTimeBuild/.dtbcache.v2 b/.vs/Management/DesignTimeBuild/.dtbcache.v2 index bc6ce9dedb9f56b547f910d09b637bd92befb2a7..fbb48ef7a0165b2066b675771082ce5f898651ab 100644 GIT binary patch literal 329208 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 z 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 L0Hp57H8cPKovF11 literal 329208 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 z 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 diff --git a/.vs/Management/v17/.futdcache.v1 b/.vs/Management/v17/.futdcache.v1 index 402268bc19074419d70bf706c7f15a39bffbb8ab..cecc0b59d924791d3d895e3ecfad543829069267 100644 GIT binary patch delta 112 zcmbQmJ&SvT86(&F_W7?Zif(PR@S5zv*v;!2>?@hYz`Du8>lR1Ba#8ie)A%F<2oJUIi`%{#;Gx PTO0vEQMJuFEP0FoN9!mY diff --git a/.vs/Management/v17/.suo b/.vs/Management/v17/.suo index 9bc34e924b5be63641a2e5f26271226f3741385b..c731485e2bc27d33129e9743084869ff6114e55b 100644 GIT binary patch delta 6764 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 delta 5002 zcmb`L3slqB9mn&#Ng#oUL6C={28>FPM}jC=1%sd!K?t?>VST_R*0-@nr_PlWt@Ak{ z*K%9>Qo5y_)hd$ezw4Z$wjS(Uiyf!!S*?oeR@-h>8QRvZvhR%qqwRXyuK#mB-1qDE z``!Ed1=l%)tIbe7c0iU&rP6@wU0q#BRBA94i~ernPL)shk0`Wku zy98+%hy&w5Ea(f;ff0m)@jwg40v&h?e1);uNbO)SxC;yd;b1sGb7fa8G6|p%M1s+v zKkx!8K&P%Iq#582VCk;ghxAS$7qKCY07F3mNCEPs(V!17fgq3u@<2YA021XkqL7&g zi<9|CcGHUE?s3nJ;UIrgiw6c2n@KSI&Nm;4A%t_fHnmJ-J-e|4CIy zHAwMGHOTsJQ-f>|RD&L4MgVCpx2d7>TlFCI=~qK3^53L}VAS8PhRLW4R6{DtL%`S7 zfFt?!Aa|X{PiZ1X`vos+?!mBPAoKpO1m#4K2?7;zy{7!3Ta*y;52KXhA4sJ-1P%lK zpOASPS;^;xmetJ3a(|aT1}DYv6^5yNQdBaf^DBl*vho$ZN_1xIU?kvWkD0iI>3CpOStpY9#Hr=B!YJ^l$o2z%TCP<6fcO6?Y8KIN;8g*vHxd0>A}-f6V!@^QOO-*rT z#?1*cysqOea!2LyW6a8(QR}^5H0sD5W9H_ZL3*md1{Mcwf;)3c^eXwDNQL^h=IzWe zka)YDWe8UX3-RWdkCJG*z?`DlpibrWvu26(%PdPARHHO^cE6y*@9z1xQ{k;ieffj4 zL;J^k@Y_{E(_731g}ZjVskRng$=e&bLI(#OCC(Ar%m z>o<4jd2-lpO*;zwbXda;3)aGkFxMilU;{t zy5t@3pUd5*;j7{ceWI~24Ku3vwZdXeXh0XQv#5k*hyEK;EA=cti|>__=?FaZ`MkW! z>Q1{?pV3pXtRtSg(ro;*3*-6UubKJW3)6XXnyvl-bH}u30cKFmcWocms|GnY;Nbec^5>|=5$U$%X-VFHZu>l$EPREfL?d00ub9TKSSo24 zUtulQ(>&Cs1uUeMFS~(%xpcCg79uNOqMl7SA1NU{Nna5XP#r3tTe%oMajKo=dTryI z)$R-@J?dSNF_kniXzzJQ9 zY3Xuj>Q9$D9$va2xxC_2*o>S&56QaZB-TSLTkL$7j9gQDN9d^Jk)zj6EMK&|;u)U0 zWd{Fv^VIqUOypKkq*!@^P2h1?%{+Tyv}k>U#VL)cYCFYBGuGhbGL>IYcizCuw@1(H zg;E&k4U8Zh^Z^kd67&U8AR5GgSkMpj2XSBk7zhRd6Nm>1U@$QAZ3m)Ll8{RQH&%zY z=+0Y^T0uG(0W!cye(FF({GG^+0b@Zn$OZnmVl+e0hWPPa$eJFnb%ppmE3E~#!7E3A9fie$%t$KFadc#B=N}0fJ#PO(s2y| z(h6l8e|l{kU%xiedva|C@ivXoYjj=;c8|^1$x#b{f4NW@jdVwg{8U>suO0i6mK?H& z&ziHha$ARsul$$I+k9yb3FC)srMJ#Cm;RUW*RN+kiot*Ky$s&_@#a4>udCKZqCAWW zxVHA^Vp|e3^4909JhQeyw6;($9y`B+yXL#x8;jZ0tDgh++d*kL(DzTW*pq{ z`JK#qVcLtv?5o)w@82iN3t6JPu?Dd{iG|%h=||$IPF?G*-ME0nvbSiq_o*$rsOf1J ziT2-93ZGpU!JD74ad%Y=kMR_QSduL_uIdQyLeFKQBJa$G=Sf&!r{VmeZPUKPDKa?K zS$!vYB2TZ9A=~_blW^w~t-54XNY(oF%$-ke{l+bMV>}nsKjhHvqC7p#!V-agjysDG zlN6#>`i+~5PqFKydyzKUQ`z}q+bu4PcgDD=ldp)~av+WS=3BT8(N4@I-VT54^ojX z2A|S3nxK-axHGN_ay8}WkzO?e4Q0T;aSjF5f5JR-DbAy#AVJx5uefxA9#HmHQK|Ys zA40JH|5=TakxVDGqTEJPl-43moI>GI;_RjwLg`*WxJ}LE#jM=gXj&OpKB5da1;cgH$KZ1(QiM zkEIA5lxKv7^%AO#m$3gRN9CW-0si$;h;Vycd ziPAWhrlcjXQ+WS^DOL<0;na7OVu%U|*8B^h-+V5pH-NCI4Y|Fj(X=nl8p2WvSw&{WMuhE|tXP7ihJp zcCbvPaSgMph4mt3iP_uOSf$!c4w90M6Y&PtAetYfG0JmMYygS)U(lc%;ufWkv1#Jf zRV+_=qMFUqf1~Kfh$D53D6I4FYPmDard;ThMKLiS`_XAyr#hs4yKTgNS~E z^%b^DEK;$ZXU!zs7nz$|el}2PJjv{k*;}kw6t}U|;0oM0`B0TyWJ5$l2a8dfk24*K zyHhC3^D+yoZDEOhv+xTw6A??MYBv7I^02BxRjzU>+3&Dp!J^|UidL}P$7)_bexNe& z3_GtC>0dFsVsB%O;iAt6tV}8UknJRK?yu~Aai*OmD)=er(hAF)ET2145|p{uS)E$A z_3F+1ks&c+$wd~VU@!M;Jxm=W&R=7TlttIsj&SjlbL?JGGMJ3YT%Ecum|Omqq$DM% e-+{gZqh1-o-|o+O>EPwOZ19|JMtTy|y8i;fRx;)Q diff --git a/.vs/ProjectEvaluation/management.metadata.v2 b/.vs/ProjectEvaluation/management.metadata.v2 index f21c18de50f6840bc789f240805544501a18f375..25c7647039923b1ae8b465f02297add73736b95a 100644 GIT binary patch delta 5599 zcmc&&Yj7J^6^?cjr*0mOluT?Vjcpn+lALH0*>xQ!G2mF1V~Arlwqt0NIxFq9wDxLO z*@qLmO@#v~N$JZ7dMRyFr!<5D!O*5LrL>`h@+d!`GyMTG&=7_W%oJ!D_`xv4x2vbG0(Z!sn>T6xEC$DVQb^A#>SS0 z_K(8Dre36uiV38}1{8IqU6FMp>-2jVrIl`8l=A>Cp?wVSw_$#Q?QlEMw*z^Ql53sh z7>5K=SJZ?e4~fYG3xSf766Ylo6a&ys{O5bvs({mz{CDEeK9o^3qIC@XISB9;3g762 z7aT9b-r>g4Q8s{o*2*-laD+PO&M6ye@z#6Uw#tH%BF7KefUE^@I?aO@TiP<2c@x=1 zOcflmGZ_b&;6gGE?}%hrS0L5|k*NPqA_XfZUU1_np52V6hM5{H4Y13dK_g(EVsF7y z0<)Gf*E?($pWD!Es89rTCL#$g2Ao_P{6dG90`%(Lyhiv?Wk~Jg)g;n25$Iz$)Ww9d zqoQW;lBOGisBrwap&~9(Kx>??C=z^{Qn3&hYT`n%xFJeH%+kqaR3)PggUW5ukz}`+ zP!&xX(g*ib&An9fU>ngqXvt`UeMIwM-!fD62uLSNbw~o?75y4gdr?A#=(>b7P`rFY zv(OM~X$dwZLZRR-!mUF=zIj_?P>7?ZZ4C|0iKbhdWdORvN@4`5L!yMhzmSfO>I#sT za9oVzGVsmQme9pf6h?6)8C4YmJPhPAQ%=Qo=i!*6=NNwnXMh(P@TOfWZmgq!R>%Xq zs7DlafLGH-rd>&AB&3Uqykib9S8<^#_sdh|xkIO#2IsQ(@P?d7<>@-uI)06|7_UFa z-B-2V^0df;0T%A0C$sN5luEvmMnP%7=k-rsSr-cU>RMate7b5N-w~i+nj22Lgm^nq zxvBGybmike3Ife@GFXiF`ss5RWsodrJ#ru~I|j0EEXG%BSP6TcXG7!&%kiPhYy+-) z0lHZ9GP@K1>yPYGd~=RXJv_rcQ#}qMo*qe{#cSTB2vozJZv4|8rWU`mhFL?ktTZo< z8SP!}oNM#y+@;QCZYTK|=sHFd8!tJr4nGQ)^lngF;h+=$ve1_k(5LDiWY!e<@Nocd z${k+64#kxCaLno61h6X23J;?p-jHlRp(HwbaQk+c9TJ~Fekg?5$^yR4b-n|4@WJu6;O$$3EeFZ7 zFTnLFdz2$c?UF}%Rpe#e9|)WP}In)az#wiLx)j956XNRwc?jgGgaA7gKqThbpLnNUVnElNq_*2j2PSt_5$~TC65^* zX>Mj=XM1|@2fDj(I3~5HH}C*KTg_s>7LF&QyqpAcc5UMO(7>y!H$&jk( zRs=K&%*7F2(?0`WHbMo=0s8XDe1Gue0Jw6WAt5a+s^B@SC!Yn9L9bAxP{@ z_Pw8T7_fYP50mu}v1td2|L0kXWBnD6uuta z2T$m(>b2hh<(s_z;yxFkyqk7>6PWHo>9py(D#i^RJpIj*aAEYfMtVG zo?J5>si6z-T1S0^R?Snr2v-v%7 zVg{UWn+4ZNUr$Wmz6In8tKv-B^FXVaJyRowB$4JGpsxep21xEb$*69=TfG1doFh5K zZ$=pI|DDmi6W;+RR+F4&p#hR>RM=Nv1cuwrY99U)P(2+-Q3C4QarG|&`6dfI&ye{p z09IN6+KXNWlHDkxS#wB!52&`;!hE<4RC~3tX2kb_Y|jXLd{Ohb(R+kylb|Fx5sAA zzRnJ?p6*=xBJ#H!{y)*V@%*+AZ&Hlr6t-;u~^NBx8PhBoK jn37KY;ydi0%01fY-LxJ(@Ok%{x2E&;I8*<3b_w%uQkJ&> delta 247 zcmaF8U10qWe#Y=d##TlkV%o~cyxWo9T)X=)M*YJSC{ucl#w zu6Z>zND{xr!Z`UAmX*?|BQrTxGfwV|Gfkr?JMu>}O-=86?%tc1fq8b{=lR|DJ@*{u zaJ_B2(z~lo@dE<|EMSF5u)!c03{embF%S!J5D!Bj0XQT=5+uV=7zTD24kI81M#3ma z1qV1G4bs5{8ITF1VGN9gr(hgpK{n(-F62QzxM4g@fCBJ9Axwm)VG>M+DKHg^U>X#I z7kp3xrDvu;9|*Yrd|CY7o4Uzjo6T7$I9mkoWK4<_r%z4WP@(qv?MdR%qP$QZdsVHN z;4Kn&_vEd0Ds#Bnvqf==s+1w)7<*0K(PJMOs6G=Z$`3o9W6E5vrmwL$#f@`$f5l;3 zQR(%Gu7|^>M~nHZiYN7_@_wZW=%ep$!3eY8Dq}nv)AP`Rwh4oZ_Dl%2i8gk9{0d%C+h0yx4?MqWomRg*XJ|5}cLZ!W{GP#s>xM zMWW=U7l*G;EnI zt;O?*DGS0|(0$NzARc2mzwywNhFtUf{Cggp@3`tamZ_fTj!sh3TKPn631UrPM8Lup zYEzduN_Na;heSnwB0PCk9TwsLwXoQtUYeC`R~w6l)tNq4pnhc!g4Mr zjH)JonI?LB^w3<+1?TSl(P=f5)^a^fwNSbO8QFa$7ZrDGSxgjPjI1A=wu<2Q47hn9 ztoE!=m?2uK6IVvrRuj8g_+nf?+v?U(v6f_=@icl^uh&M=tGrKn9f{w7&@)5zl>6eP z=!-@V>+qtf(*}Yzl7Q?~M>(3PPf(i(*sO`(3OzIQ!GHtA+6-(N0AOtfwsKY%3Vuj) z8jSZs(@bsSa>G9|2sF&Zc8zE>2sF$@6V2G6iT*<9u~41<+M(c1iUTCONIo{Yp@;Po z+q0W;m1K_rp=XBnQvM0aJ_AC}4DFYPT4P1G#;PxD|3K;hb@@~i9YW9Cs+sZ@O>_u7 zGxQnd2Q`tVltr=n(b(m(+Y--8Y`KA*#Y?e^%~Wa z9ZwgZ9CJY;cs+&3U@ejJ;bmNuIc{1w$2y#M^xPh86)(OLH^-u^R|Kyed_7XVdCQeM z{TtenE)w~7eu=()OY$AbWs>hnejxdg19_1Ajm6TOf)zmdKJ$csB_M+p}n|B|&din-F U4ULRVOwG)FSy)>6{#|eO|E+Z~F8}}l diff --git a/src/Token.ManagementApi.Host/Dockerfile b/src/Token.ManagementApi.Host/Dockerfile index 417d6f7..030aa6e 100644 --- a/src/Token.ManagementApi.Host/Dockerfile +++ b/src/Token.ManagementApi.Host/Dockerfile @@ -1,14 +1,21 @@ -FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:6.0.3-alpine3.15-amd64 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 -FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:6.0.201-alpine3.15-amd64 AS build WORKDIR /src -COPY ["Token.ManagementApi.Host/Token.ManagementApi.Host.csproj", "Token.ManagementApi.Host/"] -RUN dotnet restore "Token.ManagementApi.Host/Token.ManagementApi.Host.csproj" +COPY ["src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj", "src/Token.ManagementApi.Host/"] +COPY ["src/Token.Infrastructure/Token.Infrastructure.csproj", "src/Token.Infrastructure/"] +COPY ["src/Token.Mangement.Domain/Token.Mangement.Domain.csproj", "src/Token.Mangement.Domain/"] +COPY ["src/Token.Management.Domain.Shared/Token.Management.Domain.Shared.csproj", "src/Token.Management.Domain.Shared/"] +COPY ["src/Token.HttpApi/Token.HttpApi.csproj", "src/Token.HttpApi/"] +COPY ["src/Token.Management.Application/Token.Management.Application.csproj", "src/Token.Management.Application/"] +COPY ["src/Token.Management.Application.Contracts/Token.Management.Application.Contracts.csproj", "src/Token.Management.Application.Contracts/"] +COPY ["src/Token.Management.EntityFrameworkCore/Token.Management.EntityFrameworkCore.csproj", "src/Token.Management.EntityFrameworkCore/"] +RUN dotnet restore "src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj" COPY . . -WORKDIR "/src/Token.ManagementApi.Host" +WORKDIR "/src/src/Token.ManagementApi.Host" RUN dotnet build "Token.ManagementApi.Host.csproj" -c Release -o /app/build FROM build AS publish diff --git a/src/Token.ManagementApi.Host/Properties/launchSettings.json b/src/Token.ManagementApi.Host/Properties/launchSettings.json index 22f943f..b4e58d1 100644 --- a/src/Token.ManagementApi.Host/Properties/launchSettings.json +++ b/src/Token.ManagementApi.Host/Properties/launchSettings.json @@ -1,23 +1,14 @@ -{ - "$schema": "https://json.schemastore.org/launchsettings.json", - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:58453", - "sslPort": 44380 - } - }, +{ "profiles": { "Token.ManagementApi.Host": { "commandName": "Project", - "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "swagger", - "applicationUrl": "https://localhost:7019;http://localhost:5125", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" - } + }, + "dotnetRunMessages": true, + "applicationUrl": "https://localhost:7019;http://localhost:5125" }, "IIS Express": { "commandName": "IISExpress", @@ -26,6 +17,22 @@ "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } + }, + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger", + "publishAllPorts": true, + "useSSL": true + } + }, + "$schema": "https://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:58453", + "sslPort": 44380 } } -} +} \ No newline at end of file diff --git a/src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj b/src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj index c8ad275..0716005 100644 --- a/src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj +++ b/src/Token.ManagementApi.Host/Token.ManagementApi.Host.csproj @@ -6,6 +6,8 @@ enable Linux True + a27d2199-5c11-4d6f-a783-dbe58227c567 + ..\.. @@ -13,6 +15,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive + -- Gitee From bfb7ef7c3c0a6a84b35fea2724535569e690d67b Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Fri, 10 Jun 2022 00:56:40 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E6=9B=B4=E6=94=B9drone=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 6d1dd73..5c14a11 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,5 +1,5 @@ kind: pipeline -name: adminapi +name: managementapi type: docker platform: -- Gitee

/// 性别 diff --git a/src/Token.Management.Application/MapperProfile.cs b/src/Token.Management.Application/MapperProfile.cs index 96ff5ac..4269749 100644 --- a/src/Token.Management.Application/MapperProfile.cs +++ b/src/Token.Management.Application/MapperProfile.cs @@ -1,4 +1,4 @@ -using AutoMapper; +using AutoMapper; using Token.Infrastructure.Extension; using Token.Management.Application.Contracts.Module.Management; using Token.Management.Application.Contracts.Module.Management.AccessFunction; @@ -12,7 +12,7 @@ using Token.Management.Domain.WorkFlow; namespace Token.Management.Application; -public class MapperProfile: Profile +public class MapperProfile : Profile { public MapperProfile() { @@ -20,10 +20,10 @@ public class MapperProfile: Profile .ForMember(dest => dest.Role, l => l.MapFrom(a => a.UserRoleFunction.Select(a => a.Role))) .ForMember(dest => dest.SexName, l => l.MapFrom(a => a.Sex.GetEnumString())) .ForMember(dest => dest.Sex, l => l.MapFrom(a => (sbyte)a.Sex)) - .ForMember(dest => dest.StatueName, l => l.MapFrom(a => a.Status.GetEnumString())) + .ForMember(dest => dest.StatusName, l => l.MapFrom(a => a.Status.GetEnumString())) .ForMember(dest => dest.Department, l => l.MapFrom(a => a.UserDepartmentFunction.Select(a => a.Department))); CreateMap() - .ForMember(dest=>dest.Sex,l=>l.MapFrom(a=>(SexEnum)a.Sex)); + .ForMember(dest => dest.Sex, l => l.MapFrom(a => (SexEnum)a.Sex)); CreateMap(); CreateMap(); CreateMap(); diff --git a/src/Token.Management.Application/Services/Users/UserInfoService.cs b/src/Token.Management.Application/Services/Users/UserInfoService.cs index 4494c3e..cd27146 100644 --- a/src/Token.Management.Application/Services/Users/UserInfoService.cs +++ b/src/Token.Management.Application/Services/Users/UserInfoService.cs @@ -1,6 +1,7 @@ using Token.HttpApi; using Token.Infrastructure.Extension; using Token.Management.Application.Contracts.AppServices.Users; +using Token.Management.Application.Contracts.Module; using Token.Management.Application.Contracts.Module.Management; using Token.Management.Application.Contracts.Module.Users; using Token.Management.Domain; @@ -63,12 +64,13 @@ public class UserInfoService : ApplicationService, IUserInfoService { var data = await _userInfoRepository.GetAsync(a => a.Id == userId); var departments=data.Department; + return ObjectMapper.Map,List>(departments); } - public async Task, int>> GetUserInfoPaging(string? code, DateTime? startTime, DateTime? endTime, sbyte status = -1, int pageNo = 1, int pageSize = 20) + public async Task, int>> GetUserInfoPaging(UserInfoPagingInput input) { - var data = await _userInfoRepository.GetListAsync(startTime,endTime,code,status,pageNo,pageSize); + var data = await _userInfoRepository.GetListAsync(input.StartTime,input.EndTime,input.Keyword,input.Status,input.SkipCount,input.MaxResultCount); return new Tuple, int>(ObjectMapper.Map,List>(data.Item1),data.Item2); } @@ -80,13 +82,12 @@ public class UserInfoService : ApplicationService, IUserInfoService throw new BusinessException("用户不存在或者已经被删除"); data.Name = userInfo.Name; - data.Status = userInfo.Statue; + data.Status = userInfo.Status; data.Sex =(SexEnum) userInfo.Sex; data.MobileNumber = userInfo.MobileNumber; data.EMail=userInfo.EMail; await _userInfoRepository.UpdateAsync(data); - return ObjectMapper.Map(data); } } diff --git a/src/Token.Management.Application/Services/WorkFlow/WorkflowTemplateService.cs b/src/Token.Management.Application/Services/WorkFlow/WorkflowTemplateService.cs index 5df56e5..04fd83e 100644 --- a/src/Token.Management.Application/Services/WorkFlow/WorkflowTemplateService.cs +++ b/src/Token.Management.Application/Services/WorkFlow/WorkflowTemplateService.cs @@ -3,9 +3,11 @@ using Management.Application.Services.Management; using Token.HttpApi; using Token.Infrastructure.Extension; using Token.Management.Application.Contracts.AppServices.WorkFlow; +using Token.Management.Application.Contracts.Module; using Token.Management.Application.Contracts.Module.Users; using Token.Management.Application.Contracts.Module.WorkFlow; using Token.Management.Domain; +using Token.Management.Domain.Users; using Token.Management.Domain.WorkFlow; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; @@ -14,20 +16,17 @@ namespace Token.Management.Application.Services.WorkFlow; public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateService { - private readonly IMapper _mapper; private readonly IRoleService _iRoleService; private readonly IPrincipalAccessor _principalAccessor; private readonly IWorkflowTemplateRepository _workflowTemplateRepository; private readonly IWorkflowApprovalRoleRepository _workflowApprovalRoleRepository; private readonly IWorkflowNodeTemplateRepository _workflowNodeTemplateRepository; public WorkflowTemplateService( - IMapper mapper, IRoleService iRoleService, IPrincipalAccessor principalAccessor, IWorkflowApprovalRoleRepository workflowApprovalRoleRepository, IWorkflowNodeTemplateRepository workflowNodeTemplateRepository, IWorkflowTemplateRepository workflowTemplateRepository) { - _mapper = mapper; _iRoleService = iRoleService; _principalAccessor = principalAccessor; _workflowApprovalRoleRepository = workflowApprovalRoleRepository; @@ -50,12 +49,12 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ public async Task CreateWorkflowNodeTemplate(WorkflowNodeTemplateDto templateDto) { - var data = _mapper.Map(templateDto); + var data = ObjectMapper.Map(templateDto); var code = await _workflowNodeTemplateRepository.GetWorkflowNodeTemplateMaxIndex(templateDto.WorkflowTemplateId); data.Code = code; data = await _workflowNodeTemplateRepository.InsertAsync(data); - return _mapper.Map(data); + return ObjectMapper.Map(data); } public async Task CreateWorkflowTemplate(WorkflowTemplateDto workflow) @@ -69,14 +68,14 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ if (await _workflowTemplateRepository.AnyAsync(a => a.Name == workflow.Name || a.Code == workflow.Code)) throw new BusinessException("模板编号或者模板名称重复"); - var data = _mapper.Map(workflow); + var data = ObjectMapper.Map(workflow); data.WorkflowInstance = new List(); data = await _workflowTemplateRepository.InsertAsync(data); - return _mapper.Map(data); + return ObjectMapper.Map(data); } public async Task DeleteWorkflowNodeTemplate(Guid workflowNodeId) @@ -119,17 +118,16 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ .GetListAsync(a => a.WorkflowTemplateId == workflowId)).OrderBy(x => x.Code) .ToList(); - return _mapper.Map>(data); + return ObjectMapper.Map,List>(data); } - public async Task<(List, int)> GetWorkflowTemplatePage(string? name, int pageNo = 1, int pageSize = 20) + public async Task<(List, int)> GetWorkflowTemplatePage(string? name, PageInput input) { var data = await _workflowTemplateRepository - .GetPageListAsync(a => (string.IsNullOrEmpty(name) || a.Name!.ToLower().Contains(name.ToLower())), - a => a.CreationTime, pageNo, pageSize); + .GetPageListAsync(name, input.SkipCount, input.MaxResultCount); - return (_mapper.Map>(data.Item1), data.Item2); + return (ObjectMapper.Map,List>(data.Item1), data.Item2); } public async Task UpdateWorkflowNodeTemplate(WorkflowNodeTemplateDto workflowNodeTemplate) @@ -147,11 +145,11 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ public async Task> UpdateWorkflowNodeTemplateIndex(List workflows) { - var data = _mapper.Map>(workflows); + var data = ObjectMapper.Map,List>(workflows); UpdateWorkflowNodeTemplateHandleIndex(data); - return await Task.FromResult(_mapper.Map>(data)); + return await Task.FromResult(ObjectMapper.Map,List>(data)); } public void UpdateWorkflowNodeTemplateHandleIndex(List workflows) @@ -176,7 +174,7 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ if (await _workflowTemplateRepository.AnyAsync(a => workflow.Id != a.Id && (a.Name == workflow.Name || a.Code == workflow.Code))) throw new BusinessException("模板编号或者模板名称重复"); - _mapper.Map(workflow, data); + ObjectMapper.Map(workflow, data); await _workflowTemplateRepository.UpdateAsync(data); @@ -187,7 +185,7 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ { var data = await _workflowTemplateRepository.GetListAsync(); - return _mapper.Map>(data); + return ObjectMapper.Map,List>(data); } public async Task GetsTheNextNode(Guid id) @@ -201,7 +199,7 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ { var data = await _workflowNodeTemplateRepository.GetListAsync(a => a.Id == workTemplateId); - return _mapper.Map>(data); + return ObjectMapper.Map,List>(data); } public async Task> GetWorkflowNodeRoleUserInfoDto(Guid workTemplateId) @@ -209,6 +207,7 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ var data = await _workflowNodeTemplateRepository.GetListAsync(a => a.WorkflowTemplateId == workTemplateId); var roles = data.SelectMany(a => a.WorkflowApprovalRole).Select(a => a.RoleId).ToList(); + var userInfo = await _iRoleService.GetRoleUserAllAsync(roles); var workflowNodeRoleUserInfos = new List(); foreach (var d in data) @@ -218,7 +217,8 @@ public class WorkflowTemplateService : ApplicationService, IWorkflowTemplateServ Id = d.Id, Code = d.Code, Remark = d.Remark, - UserInfo = _mapper.Map>(userInfo.FindAll(a => d.WorkflowApprovalRole.Select(a => a.RoleId).Contains(a.RoleId)).Distinct()) + UserInfo = ObjectMapper + .Map,List>(userInfo.FindAll(a => d.WorkflowApprovalRole.Select(a => a.RoleId).Contains(a.RoleId)).Select(x=>x.UserInfo).Distinct()) }; workflowNodeRoleUserInfos.Add(workflowNodeRoleUserInfo); } diff --git a/src/Token.Management.Domain.Shared/StatueEnum.cs b/src/Token.Management.Domain.Shared/StatusEnum.cs similarity index 93% rename from src/Token.Management.Domain.Shared/StatueEnum.cs rename to src/Token.Management.Domain.Shared/StatusEnum.cs index 2dcdf6a..51a7491 100644 --- a/src/Token.Management.Domain.Shared/StatueEnum.cs +++ b/src/Token.Management.Domain.Shared/StatusEnum.cs @@ -5,7 +5,7 @@ namespace Token.Management.Domain.Shared; /// /// 用户状态 /// -public enum StatueEnum +public enum StatusEnum { /// /// 启用 diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs index 9d2cd50..4f60a39 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreInitialData.cs @@ -30,7 +30,7 @@ public static class EntityFrameworkCoreInitialData Name="管理员", Password=des.DESEncrypt("123456"), CreationTime=now, - Status =StatueEnum.Enable + Status =StatusEnum.Enable }, }; diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/UserRoleFunctionRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/UserRoleFunctionRepository.cs index fd4b750..e7cac9a 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/UserRoleFunctionRepository.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/UserRoleFunctionRepository.cs @@ -61,4 +61,14 @@ public class UserRoleFunctionRepository:EfCoreRepository> GetUserInfoAsync(Expression> expression) + { + var dbContext = await GetDbContextAsync(); + + var query = dbContext.UserRoleFunction.Where(expression) + .Select(x=>x.UserInfo); + + return await query.ToListAsync(); + } } diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/Users/UserInfoRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/Users/UserInfoRepository.cs index ba2d72a..b691ccb 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/Users/UserInfoRepository.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/Users/UserInfoRepository.cs @@ -24,7 +24,8 @@ public class UserInfoRepository:EfCoreRepository,I .WhereIf(endTime.HasValue, x => x.CreationTime <= endTime) .WhereIf(!keyword.IsNullOrWhiteSpace(), x => x.Name.Contains(keyword) || x.AccountNumber.Contains(keyword)) - .WhereIf(status.HasValue, x => x.Status == (StatueEnum?)status); + .WhereIf(status.HasValue, x => x.Status == (StatusEnum?)status); + var count =await quer.CountAsync(); var result =await quer.PageBy(skipCount, maxResultCount).ToListAsync(); diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkFlow/WorkflowNodeTemplateRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkFlow/WorkflowNodeTemplateRepository.cs index 2175b8b..2fda363 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkFlow/WorkflowNodeTemplateRepository.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkFlow/WorkflowNodeTemplateRepository.cs @@ -45,12 +45,13 @@ public class WorkflowNodeTemplateRepository:EfCoreRepository x.WorkflowApprovalRole) - .Select(x => x.RoleId) - .ToListAsync(); - } + .Select(x => x.RoleId); + + return await query.ToListAsync(); + } public async Task GetAsync(Expression> expression) { diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkFlow/WorkflowTemplateRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkFlow/WorkflowTemplateRepository.cs index bcfd475..73d7460 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkFlow/WorkflowTemplateRepository.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkFlow/WorkflowTemplateRepository.cs @@ -42,14 +42,13 @@ public class WorkflowTemplateRepository:EfCoreRepository, int)> GetPageListAsync(Expression> expression, Expression> sort, int skipCount, int maxResultCount) + public async Task<(List, int)> GetPageListAsync(string keyword, int skipCount,int maxResultCount) { var dbContext = await GetDbContextAsync(); var query = dbContext.WorkflowTemplate - .Where(expression) - .OrderBy(sort); + .WhereIf(!keyword.IsNullOrWhiteSpace(),x=>x.Code.Contains(keyword)||x.Name.Contains(keyword)||x.Remark.Contains(keyword)); var count =await query.CountAsync(); diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.Designer.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.Designer.cs new file mode 100644 index 0000000..8ea763e --- /dev/null +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.Designer.cs @@ -0,0 +1,1030 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Token.Management.EntityFrameworkCore.EntityFrameworkCore; + +#nullable disable + +namespace Token.Management.EntityFrameworkCore.Migrations +{ + [DbContext(typeof(TokenDbContext))] + [Migration("20220607154305_CreateData")] + partial class CreateData + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("MenuId") + .HasColumnType("char(36)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_menu_role_function", (string)null); + + b.HasData( + new + { + Id = new Guid("f808acc8-a746-46ee-b1be-97d7decd254c"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + }, + new + { + Id = new Guid("3522f2b4-d35b-4913-8425-7c5e3006aa21"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + }, + new + { + Id = new Guid("d879ae65-3f52-4870-bf6e-83c94dc66bb0"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + }, + new + { + Id = new Guid("f51c106b-2e88-4739-b259-1c97d380f6f9"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + }, + new + { + Id = new Guid("07109f16-fa61-41c7-a396-1ff420c46da7"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + }, + new + { + Id = new Guid("1ab255af-c439-425c-b2a8-767bd3a801f7"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("05abe233-4252-499e-b91b-5721d784ab36"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + }, + new + { + Id = new Guid("d8aac5ab-557e-4d1d-9a86-7d9a9d0e6cef"), + CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + IsDeleted = false, + MenuId = new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + }); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("DepartmentId") + .HasColumnType("char(36)"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DepartmentId"); + + b.HasIndex("Id"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_user_department_function", (string)null); + + b.HasData( + new + { + Id = new Guid("c320a3d6-40b8-48cc-ab80-74a4a7f120cd"), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + DepartmentId = new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), + IsDeleted = false, + UserInfoId = new Guid("665203a9-6328-4358-a1f2-6588802c393b") + }); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_user_role_function", (string)null); + + b.HasData( + new + { + Id = new Guid("6ee0907d-bb79-4b6c-9c96-f6d8b3f5a958"), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + IsDeleted = false, + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), + UserInfoId = new Guid("665203a9-6328-4358-a1f2-6588802c393b") + }); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Company", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Describe") + .HasColumnType("longtext"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Logo") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.ToTable("token_company", (string)null); + + b.HasData( + new + { + Id = new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), + Code = "wr", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", + IsDeleted = false, + Name = "Microsoft" + }); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext"); + + b.Property("CompanyId") + .HasColumnType("char(36)"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Index") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("ParentId") + .HasColumnType("char(36)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("Id"); + + b.HasIndex("UserInfoId"); + + b.ToTable("token_department", (string)null); + + b.HasData( + new + { + Id = new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), + Code = "cs", + CompanyId = new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 0, + IsDeleted = false, + Name = "测试部门" + }); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Menu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Component") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Icon") + .HasColumnType("longtext"); + + b.Property("Index") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("ParentId") + .HasColumnType("char(36)"); + + b.Property("Path") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.ToTable("token_menu", (string)null); + + b.HasData( + new + { + Id = new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), + Component = "Home", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 0, + IsDeleted = false, + Name = "首页", + Path = "/home/index", + Title = "首页" + }, + new + { + Id = new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), + Component = "User", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 1, + IsDeleted = false, + Name = "用户管理", + Path = "/user/index", + Title = "用户管理" + }, + new + { + Id = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + Component = "System", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 2, + IsDeleted = false, + Name = "系统配置", + Path = "/system/index", + Title = "系统配置" + }, + new + { + Id = new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), + Component = "Work", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 3, + IsDeleted = false, + Name = "工作", + Path = "/Work/index", + Title = "工作" + }, + new + { + Id = new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), + Component = "UserConfig", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 1, + IsDeleted = false, + Name = "用户权限配置", + ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + Path = "/system/userConfig/index", + Title = "用户权限配置" + }, + new + { + Id = new Guid("05abe233-4252-499e-b91b-5721d784ab36"), + Component = "RoleConfig", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 0, + IsDeleted = false, + Name = "角色配置", + ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + Path = "/system/roleConfig/index", + Title = "角色配置" + }, + new + { + Id = new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), + Component = "WorkConfig", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 2, + IsDeleted = false, + Name = "工作流配置", + ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + Path = "/system/workConfig/index", + Title = "工作流配置" + }); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("角色编号"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Index") + .HasColumnType("int") + .HasComment("序号"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("角色名称"); + + b.Property("ParentId") + .HasColumnType("char(36)") + .HasComment("父节点"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("备注"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.ToTable("token_role", (string)null); + + b.HasData( + new + { + Id = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), + Code = "admin", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Index = 0, + IsDeleted = false, + Name = "管理员", + Remark = "系统管理员" + }); + }); + + modelBuilder.Entity("Token.Management.Domain.SystemService.SystemMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("IsCheck") + .HasColumnType("tinyint(1)"); + + b.Property("Message") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.Property("WorkFormCode") + .HasColumnType("int"); + + b.Property("WorkFormId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.ToTable("token_system_message", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AccountNumber") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("EMail") + .HasColumnType("longtext") + .HasComment("邮箱"); + + b.Property("HeadPortraits") + .HasColumnType("longtext") + .HasComment("头像"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("MobileNumber") + .HasMaxLength(11) + .HasColumnType("bigint"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("用户昵称"); + + b.Property("Password") + .HasColumnType("longtext") + .HasComment("密码"); + + b.Property("Sex") + .HasColumnType("int") + .HasComment("性别"); + + b.Property("Status") + .HasColumnType("int") + .HasComment("状态"); + + b.Property("WXOpenId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.ToTable("token_user_info", (string)null); + + b.HasData( + new + { + Id = new Guid("665203a9-6328-4358-a1f2-6588802c393b"), + AccountNumber = "admin", + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + EMail = "239573049@qq.com", + HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", + IsDeleted = false, + MobileNumber = 13049809673L, + Name = "管理员", + Password = "349843DE4F81CDE9456ADEACACE77ECF8DA4197169214575", + Sex = 1, + Status = 0 + }); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Content") + .HasColumnType("longtext"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("SubmitTime") + .HasColumnType("datetime(6)"); + + b.Property("WorkFlowNodeStatus") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.ToTable("token_work_demo_main", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("RoleId") + .HasColumnType("char(36)"); + + b.Property("WorkflowNodeTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("WorkflowNodeTemplateId"); + + b.ToTable("token_workflow_approval_role", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("UserInfoId") + .HasColumnType("char(36)"); + + b.Property("UserName") + .HasColumnType("longtext"); + + b.Property("WorkFlowFormCode") + .HasColumnType("int"); + + b.Property("WorkflowInstanceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowInstanceId"); + + b.ToTable("token_workflow_approvers", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("ArchiveDate") + .HasColumnType("datetime(6)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("工作流实例code"); + + b.Property("CurrentRoleCode") + .HasColumnType("longtext"); + + b.Property("HasBeenRead") + .HasColumnType("tinyint(1)"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("工作流实例备注"); + + b.Property("SponsorId") + .HasColumnType("char(36)"); + + b.Property("SponsorName") + .HasColumnType("longtext"); + + b.Property("SponsoredDate") + .HasColumnType("datetime(6)"); + + b.Property("WorkFlowFormCode") + .HasColumnType("int"); + + b.Property("WorkFormId") + .HasColumnType("char(36)"); + + b.Property("WorkflowStatus") + .HasColumnType("int"); + + b.Property("WorkflowTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("SponsorId"); + + b.HasIndex("WorkflowTemplateId"); + + b.ToTable("token_workflow_instance", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("AuditDate") + .HasColumnType("datetime(6)"); + + b.Property("AuditPersonId") + .HasColumnType("char(36)"); + + b.Property("AuditPersonName") + .HasColumnType("longtext"); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("NextNodeId") + .HasColumnType("char(36)"); + + b.Property("NextTemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("NodeStatus") + .HasColumnType("int"); + + b.Property("PrevNodeId") + .HasColumnType("char(36)"); + + b.Property("PrevTemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("TemplateNodeId") + .HasColumnType("char(36)"); + + b.Property("WorkflowInstanceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowInstanceId"); + + b.ToTable("token_workflowNode_instance", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("NextNodeId") + .HasColumnType("char(36)"); + + b.Property("PrevNodeId") + .HasColumnType("char(36)"); + + b.Property("Remark") + .HasColumnType("longtext"); + + b.Property("WorkflowTemplateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("WorkflowTemplateId"); + + b.ToTable("token_workflow_node_template", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Code") + .HasColumnType("longtext") + .HasComment("工作流模板编号"); + + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("工作流模板名称"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("工作流模板备注"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.ToTable("token_workflow_template", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Data.ExtraPropertyDictionary", b => + { + b.Property("Count") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.HasKey("Count"); + + b.ToTable("ExtraPropertyDictionary"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.MenuRoleFunction", b => + { + b.HasOne("Token.Management.Domain.Management.Menu", "Menu") + .WithMany() + .HasForeignKey("MenuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Users.UserInfo", null) + .WithMany("MenuRoleFunction") + .HasForeignKey("UserInfoId"); + + b.Navigation("Menu"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserDepartmentFunction", b => + { + b.HasOne("Token.Management.Domain.Management.Department", "Department") + .WithMany("UserDepartmentFunction") + .HasForeignKey("DepartmentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") + .WithMany("UserDepartmentFunction") + .HasForeignKey("UserInfoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Department"); + + b.Navigation("UserInfo"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.AccessFunction.UserRoleFunction", b => + { + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Users.UserInfo", "UserInfo") + .WithMany("UserRoleFunction") + .HasForeignKey("UserInfoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("UserInfo"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.HasOne("Token.Management.Domain.Management.Company", "Company") + .WithMany("Department") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.Users.UserInfo", null) + .WithMany("Department") + .HasForeignKey("UserInfoId"); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => + { + b.HasOne("Token.Management.Domain.Management.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", "WorkflowNodeTemplate") + .WithMany("WorkflowApprovalRole") + .HasForeignKey("WorkflowNodeTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("WorkflowNodeTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovers", b => + { + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") + .WithMany("WorkflowApprovers") + .HasForeignKey("WorkflowInstanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkflowInstance"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.HasOne("Token.Management.Domain.Users.UserInfo", "Sponsor") + .WithMany() + .HasForeignKey("SponsorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") + .WithMany("WorkflowInstance") + .HasForeignKey("WorkflowTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Sponsor"); + + b.Navigation("WorkflowTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeInstance", b => + { + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowInstance", "WorkflowInstance") + .WithMany("WorkflowNodeInstances") + .HasForeignKey("WorkflowInstanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkflowInstance"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.HasOne("Token.Management.Domain.WorkFlow.WorkflowTemplate", "WorkflowTemplate") + .WithMany("WorkflowNodeTemplate") + .HasForeignKey("WorkflowTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkflowTemplate"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Company", b => + { + b.Navigation("Department"); + }); + + modelBuilder.Entity("Token.Management.Domain.Management.Department", b => + { + b.Navigation("UserDepartmentFunction"); + }); + + modelBuilder.Entity("Token.Management.Domain.Users.UserInfo", b => + { + b.Navigation("Department"); + + b.Navigation("MenuRoleFunction"); + + b.Navigation("UserDepartmentFunction"); + + b.Navigation("UserRoleFunction"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => + { + b.Navigation("WorkflowApprovers"); + + b.Navigation("WorkflowNodeInstances"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowNodeTemplate", b => + { + b.Navigation("WorkflowApprovalRole"); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowTemplate", b => + { + b.Navigation("WorkflowInstance"); + + b.Navigation("WorkflowNodeTemplate"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.cs new file mode 100644 index 0000000..14a7912 --- /dev/null +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.cs @@ -0,0 +1,738 @@ +using System; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Token.Management.EntityFrameworkCore.Migrations +{ + public partial class CreateData : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "ExtraPropertyDictionary", + columns: table => new + { + Count = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn) + }, + constraints: table => + { + table.PrimaryKey("PK_ExtraPropertyDictionary", x => x.Count); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_company", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Logo = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Describe = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_company", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_menu", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Index = table.Column(type: "int", nullable: false), + Component = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Title = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Icon = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Path = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ParentId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_menu", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_role", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true, comment: "角色名称") + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true, comment: "角色编号") + .Annotation("MySql:CharSet", "utf8mb4"), + Remark = table.Column(type: "longtext", nullable: true, comment: "备注") + .Annotation("MySql:CharSet", "utf8mb4"), + Index = table.Column(type: "int", nullable: false, comment: "序号"), + ParentId = table.Column(type: "char(36)", nullable: true, comment: "父节点", collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_role", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_system_message", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Title = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Message = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsCheck = table.Column(type: "tinyint(1)", nullable: false), + WorkFormCode = table.Column(type: "int", nullable: false), + WorkFormId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_token_system_message", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_user_info", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + AccountNumber = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Password = table.Column(type: "longtext", nullable: true, comment: "密码") + .Annotation("MySql:CharSet", "utf8mb4"), + WXOpenId = table.Column(type: "varchar(50)", maxLength: 50, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Name = table.Column(type: "longtext", nullable: true, comment: "用户昵称") + .Annotation("MySql:CharSet", "utf8mb4"), + HeadPortraits = table.Column(type: "longtext", nullable: true, comment: "头像") + .Annotation("MySql:CharSet", "utf8mb4"), + Sex = table.Column(type: "int", nullable: false, comment: "性别"), + Status = table.Column(type: "int", nullable: false, comment: "状态"), + MobileNumber = table.Column(type: "bigint", maxLength: 11, nullable: true), + EMail = table.Column(type: "longtext", nullable: true, comment: "邮箱") + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_user_info", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_work_demo_main", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Remark = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Content = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Count = table.Column(type: "int", nullable: false), + WorkFlowNodeStatus = table.Column(type: "int", nullable: false), + SubmitTime = table.Column(type: "datetime(6)", nullable: true), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_work_demo_main", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_template", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true, comment: "工作流模板名称") + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true, comment: "工作流模板编号") + .Annotation("MySql:CharSet", "utf8mb4"), + Remark = table.Column(type: "longtext", nullable: true, comment: "工作流模板备注") + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_template", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_department", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ParentId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + Index = table.Column(type: "int", nullable: false), + CompanyId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_token_department", x => x.Id); + table.ForeignKey( + name: "FK_token_department_token_company_CompanyId", + column: x => x.CompanyId, + principalTable: "token_company", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_department_token_user_info_UserInfoId", + column: x => x.UserInfoId, + principalTable: "token_user_info", + principalColumn: "Id"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_menu_role_function", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + MenuId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + UserInfoId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_token_menu_role_function", x => x.Id); + table.ForeignKey( + name: "FK_token_menu_role_function_token_menu_MenuId", + column: x => x.MenuId, + principalTable: "token_menu", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_menu_role_function_token_role_RoleId", + column: x => x.RoleId, + principalTable: "token_role", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_menu_role_function_token_user_info_UserInfoId", + column: x => x.UserInfoId, + principalTable: "token_user_info", + principalColumn: "Id"); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_user_role_function", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_user_role_function", x => x.Id); + table.ForeignKey( + name: "FK_token_user_role_function_token_role_RoleId", + column: x => x.RoleId, + principalTable: "token_role", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_user_role_function_token_user_info_UserInfoId", + column: x => x.UserInfoId, + principalTable: "token_user_info", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_instance", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + SponsorId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + SponsorName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "longtext", nullable: true, comment: "工作流实例code") + .Annotation("MySql:CharSet", "utf8mb4"), + Remark = table.Column(type: "longtext", nullable: true, comment: "工作流实例备注") + .Annotation("MySql:CharSet", "utf8mb4"), + WorkflowTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkFormId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkflowStatus = table.Column(type: "int", nullable: false), + SponsoredDate = table.Column(type: "datetime(6)", nullable: true), + WorkFlowFormCode = table.Column(type: "int", nullable: false), + ArchiveDate = table.Column(type: "datetime(6)", nullable: true), + HasBeenRead = table.Column(type: "tinyint(1)", nullable: false), + CurrentRoleCode = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_instance", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_instance_token_user_info_SponsorId", + column: x => x.SponsorId, + principalTable: "token_user_info", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_workflow_instance_token_workflow_template_WorkflowTemp~", + column: x => x.WorkflowTemplateId, + principalTable: "token_workflow_template", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_node_template", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkflowTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Code = table.Column(type: "int", nullable: false), + PrevNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + NextNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + Remark = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_node_template", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_node_template_token_workflow_template_Workflo~", + column: x => x.WorkflowTemplateId, + principalTable: "token_workflow_template", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_user_department_function", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + DepartmentId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false), + CreationTime = table.Column(type: "datetime(6)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_user_department_function", x => x.Id); + table.ForeignKey( + name: "FK_token_user_department_function_token_department_DepartmentId", + column: x => x.DepartmentId, + principalTable: "token_department", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_user_department_function_token_user_info_UserInfoId", + column: x => x.UserInfoId, + principalTable: "token_user_info", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_approvers", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserInfoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + UserName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + WorkflowInstanceId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkFlowFormCode = table.Column(type: "int", nullable: false), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_approvers", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_approvers_token_workflow_instance_WorkflowIns~", + column: x => x.WorkflowInstanceId, + principalTable: "token_workflow_instance", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflowNode_instance", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkflowInstanceId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Code = table.Column(type: "int", nullable: false), + TemplateNodeId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + PrevTemplateNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + NextTemplateNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + PrevNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + NextNodeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + Remark = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + AuditPersonId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + AuditPersonName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + AuditDate = table.Column(type: "datetime(6)", nullable: true), + NodeStatus = table.Column(type: "int", nullable: false), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflowNode_instance", x => x.Id); + table.ForeignKey( + name: "FK_token_workflowNode_instance_token_workflow_instance_Workflow~", + column: x => x.WorkflowInstanceId, + principalTable: "token_workflow_instance", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "token_workflow_approval_role", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkflowNodeTemplateId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_workflow_approval_role", x => x.Id); + table.ForeignKey( + name: "FK_token_workflow_approval_role_token_role_RoleId", + column: x => x.RoleId, + principalTable: "token_role", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_workflow_approval_role_token_workflow_node_template_Wo~", + column: x => x.WorkflowNodeTemplateId, + principalTable: "token_workflow_node_template", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.InsertData( + table: "token_company", + columns: new[] { "Id", "Code", "CreationTime", "Describe", "IsDeleted", "Logo", "Name" }, + values: new object[] { new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), "wr", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", false, null, "Microsoft" }); + + migrationBuilder.InsertData( + table: "token_menu", + columns: new[] { "Id", "Component", "CreationTime", "Icon", "Index", "IsDeleted", "Name", "ParentId", "Path", "Title" }, + values: new object[,] + { + { new Guid("05abe233-4252-499e-b91b-5721d784ab36"), "RoleConfig", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 0, false, "角色配置", new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), "/system/roleConfig/index", "角色配置" }, + { new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), "UserConfig", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 1, false, "用户权限配置", new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), "/system/userConfig/index", "用户权限配置" }, + { new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), "Work", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 3, false, "工作", null, "/Work/index", "工作" }, + { new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), "Home", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 0, false, "首页", null, "/home/index", "首页" }, + { new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), "User", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 1, false, "用户管理", null, "/user/index", "用户管理" }, + { new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), "System", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 2, false, "系统配置", null, "/system/index", "系统配置" }, + { new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), "WorkConfig", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 2, false, "工作流配置", new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), "/system/workConfig/index", "工作流配置" } + }); + + migrationBuilder.InsertData( + table: "token_role", + columns: new[] { "Id", "Code", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "Remark" }, + values: new object[] { new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), "admin", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), 0, false, "管理员", null, "系统管理员" }); + + migrationBuilder.InsertData( + table: "token_user_info", + columns: new[] { "Id", "AccountNumber", "CreationTime", "EMail", "HeadPortraits", "IsDeleted", "MobileNumber", "Name", "Password", "Sex", "Status", "WXOpenId" }, + values: new object[] { new Guid("665203a9-6328-4358-a1f2-6588802c393b"), "admin", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), "239573049@qq.com", "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", false, 13049809673L, "管理员", "349843DE4F81CDE9456ADEACACE77ECF8DA4197169214575", 1, 0, null }); + + migrationBuilder.InsertData( + table: "token_department", + columns: new[] { "Id", "Code", "CompanyId", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "UserInfoId" }, + values: new object[] { new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), "cs", new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), 0, false, "测试部门", null, null }); + + migrationBuilder.InsertData( + table: "token_menu_role_function", + columns: new[] { "Id", "CreationTime", "IsDeleted", "MenuId", "RoleId", "UserInfoId" }, + values: new object[,] + { + { new Guid("07109f16-fa61-41c7-a396-1ff420c46da7"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, + { new Guid("1ab255af-c439-425c-b2a8-767bd3a801f7"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("05abe233-4252-499e-b91b-5721d784ab36"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, + { new Guid("3522f2b4-d35b-4913-8425-7c5e3006aa21"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, + { new Guid("d879ae65-3f52-4870-bf6e-83c94dc66bb0"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, + { new Guid("d8aac5ab-557e-4d1d-9a86-7d9a9d0e6cef"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, + { new Guid("f51c106b-2e88-4739-b259-1c97d380f6f9"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, + { new Guid("f808acc8-a746-46ee-b1be-97d7decd254c"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null } + }); + + migrationBuilder.InsertData( + table: "token_user_role_function", + columns: new[] { "Id", "CreationTime", "IsDeleted", "RoleId", "UserInfoId" }, + values: new object[] { new Guid("6ee0907d-bb79-4b6c-9c96-f6d8b3f5a958"), new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), false, new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), new Guid("665203a9-6328-4358-a1f2-6588802c393b") }); + + migrationBuilder.InsertData( + table: "token_user_department_function", + columns: new[] { "Id", "CreationTime", "DepartmentId", "IsDeleted", "UserInfoId" }, + values: new object[] { new Guid("c320a3d6-40b8-48cc-ab80-74a4a7f120cd"), new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), false, new Guid("665203a9-6328-4358-a1f2-6588802c393b") }); + + migrationBuilder.CreateIndex( + name: "IX_token_company_Id", + table: "token_company", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_department_CompanyId", + table: "token_department", + column: "CompanyId"); + + migrationBuilder.CreateIndex( + name: "IX_token_department_Id", + table: "token_department", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_department_UserInfoId", + table: "token_department", + column: "UserInfoId"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_Id", + table: "token_menu", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_Id", + table: "token_menu_role_function", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_MenuId", + table: "token_menu_role_function", + column: "MenuId"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_RoleId", + table: "token_menu_role_function", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_token_menu_role_function_UserInfoId", + table: "token_menu_role_function", + column: "UserInfoId"); + + migrationBuilder.CreateIndex( + name: "IX_token_role_Id", + table: "token_role", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_system_message_Id", + table: "token_system_message", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_department_function_DepartmentId", + table: "token_user_department_function", + column: "DepartmentId"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_department_function_Id", + table: "token_user_department_function", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_department_function_UserInfoId", + table: "token_user_department_function", + column: "UserInfoId"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_info_Id", + table: "token_user_info", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_role_function_Id", + table: "token_user_role_function", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_role_function_RoleId", + table: "token_user_role_function", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_token_user_role_function_UserInfoId", + table: "token_user_role_function", + column: "UserInfoId"); + + migrationBuilder.CreateIndex( + name: "IX_token_work_demo_main_Id", + table: "token_work_demo_main", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approval_role_Id", + table: "token_workflow_approval_role", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approval_role_RoleId", + table: "token_workflow_approval_role", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approval_role_WorkflowNodeTemplateId", + table: "token_workflow_approval_role", + column: "WorkflowNodeTemplateId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approvers_Id", + table: "token_workflow_approvers", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_approvers_WorkflowInstanceId", + table: "token_workflow_approvers", + column: "WorkflowInstanceId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_instance_Id", + table: "token_workflow_instance", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_instance_SponsorId", + table: "token_workflow_instance", + column: "SponsorId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_instance_WorkflowTemplateId", + table: "token_workflow_instance", + column: "WorkflowTemplateId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_node_template_Id", + table: "token_workflow_node_template", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_node_template_WorkflowTemplateId", + table: "token_workflow_node_template", + column: "WorkflowTemplateId"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflow_template_Id", + table: "token_workflow_template", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflowNode_instance_Id", + table: "token_workflowNode_instance", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_workflowNode_instance_WorkflowInstanceId", + table: "token_workflowNode_instance", + column: "WorkflowInstanceId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "ExtraPropertyDictionary"); + + migrationBuilder.DropTable( + name: "token_menu_role_function"); + + migrationBuilder.DropTable( + name: "token_system_message"); + + migrationBuilder.DropTable( + name: "token_user_department_function"); + + migrationBuilder.DropTable( + name: "token_user_role_function"); + + migrationBuilder.DropTable( + name: "token_work_demo_main"); + + migrationBuilder.DropTable( + name: "token_workflow_approval_role"); + + migrationBuilder.DropTable( + name: "token_workflow_approvers"); + + migrationBuilder.DropTable( + name: "token_workflowNode_instance"); + + migrationBuilder.DropTable( + name: "token_menu"); + + migrationBuilder.DropTable( + name: "token_department"); + + migrationBuilder.DropTable( + name: "token_role"); + + migrationBuilder.DropTable( + name: "token_workflow_node_template"); + + migrationBuilder.DropTable( + name: "token_workflow_instance"); + + migrationBuilder.DropTable( + name: "token_company"); + + migrationBuilder.DropTable( + name: "token_user_info"); + + migrationBuilder.DropTable( + name: "token_workflow_template"); + } + } +} diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs index ead7c9e..7b81fd3 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs @@ -55,59 +55,59 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("bb8c2ff9-4d7d-4543-bc3e-fc96853f102d"), + Id = new Guid("f808acc8-a746-46ee-b1be-97d7decd254c"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("42f4466e-705a-4c2e-a826-b4e5de46ab45"), - RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") + MenuId = new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") }, new { - Id = new Guid("fbb59e7d-f77e-4526-82d5-5298f932cba0"), + Id = new Guid("3522f2b4-d35b-4913-8425-7c5e3006aa21"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("5a305a3c-11ca-4b8f-b5d1-1a1383013e2d"), - RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") + MenuId = new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") }, new { - Id = new Guid("91432c08-5ee3-4152-b582-9ad8bfc815d6"), + Id = new Guid("d879ae65-3f52-4870-bf6e-83c94dc66bb0"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), - RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") + MenuId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") }, new { - Id = new Guid("e38dbc28-bb67-4ca6-b3f1-940ab3cf0b1c"), + Id = new Guid("f51c106b-2e88-4739-b259-1c97d380f6f9"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("e25574cf-f66c-4785-881e-ade7227cb278"), - RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") + MenuId = new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") }, new { - Id = new Guid("d128ab19-ed97-4b67-b122-11d134485889"), + Id = new Guid("07109f16-fa61-41c7-a396-1ff420c46da7"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("bccb0304-edaa-4d3b-9e77-3564725272b6"), - RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") + MenuId = new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") }, new { - Id = new Guid("e63c341f-a398-4cd2-ae18-dbd26a25fc16"), + Id = new Guid("1ab255af-c439-425c-b2a8-767bd3a801f7"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("a63621da-adb7-437f-93f4-389b8b252cc3"), - RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") + MenuId = new Guid("05abe233-4252-499e-b91b-5721d784ab36"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") }, new { - Id = new Guid("b8da2d27-c4a7-43d3-b825-00d4e9240640"), + Id = new Guid("d8aac5ab-557e-4d1d-9a86-7d9a9d0e6cef"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("203d6466-2e22-473b-931b-f500d90e6d3d"), - RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9") + MenuId = new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") }); }); @@ -142,11 +142,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("ac46ba05-1d95-464d-b743-a56bde01b73b"), - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), - DepartmentId = new Guid("fcff0aa1-d7e3-49c1-9cfb-8f7acc8ec322"), + Id = new Guid("c320a3d6-40b8-48cc-ab80-74a4a7f120cd"), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + DepartmentId = new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), IsDeleted = false, - UserInfoId = new Guid("145e1ab5-ccd7-45b8-9c27-7497258a1e4a") + UserInfoId = new Guid("665203a9-6328-4358-a1f2-6588802c393b") }); }); @@ -181,11 +181,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("1a967fc4-a765-4993-a5c7-c82efbc7086b"), - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + Id = new Guid("6ee0907d-bb79-4b6c-9c96-f6d8b3f5a958"), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), IsDeleted = false, - RoleId = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9"), - UserInfoId = new Guid("145e1ab5-ccd7-45b8-9c27-7497258a1e4a") + RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), + UserInfoId = new Guid("665203a9-6328-4358-a1f2-6588802c393b") }); }); @@ -222,9 +222,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("0c090674-72fa-452e-934a-f4dff0745ac2"), + Id = new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), Code = "wr", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", IsDeleted = false, Name = "Microsoft" @@ -274,10 +274,10 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("fcff0aa1-d7e3-49c1-9cfb-8f7acc8ec322"), + Id = new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), Code = "cs", - CompanyId = new Guid("0c090674-72fa-452e-934a-f4dff0745ac2"), - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CompanyId = new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 0, IsDeleted = false, Name = "测试部门" @@ -326,9 +326,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("42f4466e-705a-4c2e-a826-b4e5de46ab45"), + Id = new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), Component = "Home", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 0, IsDeleted = false, Name = "首页", @@ -337,9 +337,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("5a305a3c-11ca-4b8f-b5d1-1a1383013e2d"), + Id = new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), Component = "User", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 1, IsDeleted = false, Name = "用户管理", @@ -348,9 +348,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), + Id = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), Component = "System", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 2, IsDeleted = false, Name = "系统配置", @@ -359,9 +359,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("e25574cf-f66c-4785-881e-ade7227cb278"), + Id = new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), Component = "Work", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 3, IsDeleted = false, Name = "工作", @@ -370,37 +370,37 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("bccb0304-edaa-4d3b-9e77-3564725272b6"), + Id = new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), Component = "UserConfig", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 1, IsDeleted = false, Name = "用户权限配置", - ParentId = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), + ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), Path = "/system/userConfig/index", Title = "用户权限配置" }, new { - Id = new Guid("a63621da-adb7-437f-93f4-389b8b252cc3"), + Id = new Guid("05abe233-4252-499e-b91b-5721d784ab36"), Component = "RoleConfig", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 0, IsDeleted = false, Name = "角色配置", - ParentId = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), + ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), Path = "/system/roleConfig/index", Title = "角色配置" }, new { - Id = new Guid("203d6466-2e22-473b-931b-f500d90e6d3d"), + Id = new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), Component = "WorkConfig", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 2, IsDeleted = false, Name = "工作流配置", - ParentId = new Guid("1971effa-f64e-4215-8363-96a191e213b6"), + ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), Path = "/system/workConfig/index", Title = "工作流配置" }); @@ -447,9 +447,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("9447b457-faf3-4b27-b620-4123ebc772b9"), + Id = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), Code = "admin", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), Index = 0, IsDeleted = false, Name = "管理员", @@ -525,7 +525,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations .HasColumnType("int") .HasComment("性别"); - b.Property("Statue") + b.Property("Status") .HasColumnType("int") .HasComment("状态"); @@ -542,9 +542,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("145e1ab5-ccd7-45b8-9c27-7497258a1e4a"), + Id = new Guid("665203a9-6328-4358-a1f2-6588802c393b"), AccountNumber = "admin", - CreationTime = new DateTime(2022, 6, 7, 22, 12, 56, 44, DateTimeKind.Local).AddTicks(8964), + CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), EMail = "239573049@qq.com", HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", IsDeleted = false, @@ -552,7 +552,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations Name = "管理员", Password = "349843DE4F81CDE9456ADEACACE77ECF8DA4197169214575", Sex = 1, - Statue = 0 + Status = 0 }); }); diff --git a/src/Token.ManagementApi.Host/Controllers/RoleController.cs b/src/Token.ManagementApi.Host/Controllers/RoleController.cs index f846418..47201fb 100644 --- a/src/Token.ManagementApi.Host/Controllers/RoleController.cs +++ b/src/Token.ManagementApi.Host/Controllers/RoleController.cs @@ -25,7 +25,7 @@ public class RoleController : BaseController } /// - /// 获取角色列表 + /// 获取角色列表 /// /// /// diff --git a/src/Token.ManagementApi.Host/Controllers/UserInfoController.cs b/src/Token.ManagementApi.Host/Controllers/UserInfoController.cs index 059b489..163c07a 100644 --- a/src/Token.ManagementApi.Host/Controllers/UserInfoController.cs +++ b/src/Token.ManagementApi.Host/Controllers/UserInfoController.cs @@ -2,6 +2,7 @@ using Token.HttpApi; using Token.Infrastructure; using Token.Management.Application.Contracts.AppServices.Users; +using Token.Management.Application.Contracts.Module; using Token.Management.Application.Contracts.Module.Users; using Token.ManagementApi.Host.Module; @@ -23,21 +24,15 @@ public class UserInfoController : BaseController } /// - /// 获取用户账号分页 + /// 获取用户账号分页 /// - /// - /// - /// - /// - /// - /// + /// /// [HttpGet] - public async Task>> GetUserInfoPaging(string? code, DateTime? startTime, - DateTime? endTime, sbyte status = -1, int pageNo = 1, int pageSize = 20) + public async Task>> GetUserInfoPaging([FromQuery]UserInfoPagingInput input) { - var data = await _userInfoService.GetUserInfoPaging(code, startTime, endTime, status, pageNo, pageSize); - return new PagingModelView>(SerialNumberHelper.GetList(data.Item1, pageNo, pageSize), + var data = await _userInfoService.GetUserInfoPaging(input); + return new PagingModelView>(SerialNumberHelper.GetList(data.Item1,input.PageNo,input.PageSize), data.Item2); } diff --git a/src/Token.ManagementApi.Host/Controllers/WorkFlow/WorkflowTemplateController.cs b/src/Token.ManagementApi.Host/Controllers/WorkFlow/WorkflowTemplateController.cs index a62fcf1..ed3b8f5 100644 --- a/src/Token.ManagementApi.Host/Controllers/WorkFlow/WorkflowTemplateController.cs +++ b/src/Token.ManagementApi.Host/Controllers/WorkFlow/WorkflowTemplateController.cs @@ -2,6 +2,7 @@ using Token.HttpApi; using Token.Infrastructure; using Token.Management.Application.Contracts.AppServices.WorkFlow; +using Token.Management.Application.Contracts.Module; using Token.Management.Application.Contracts.Module.WorkFlow; using Token.Management.Domain; using Token.ManagementApi.Host.Module; @@ -43,7 +44,7 @@ public class WorkflowTemplateController : BaseController public async Task>> GetWorkflowTemplatePage(string? name, int pageNo = 1, int pageSize = 20) { - var data = await _workflowTemplateService.GetWorkflowTemplatePage(name, pageNo, pageSize); + var data = await _workflowTemplateService.GetWorkflowTemplatePage(name, new PageInput(){PageNo =pageNo,PageSize =pageSize}); return new PagingModelView>(SerialNumberHelper.GetList(data.Item1, pageNo, pageSize), data.Item2); } diff --git a/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs b/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs index 74f2c96..c166ec9 100644 --- a/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs +++ b/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs @@ -7,7 +7,7 @@ namespace Token.Management.Domain.Base; /// /// /// -public class WorkFlowStatue : Entity, ISoftDelete +public class WorkFlowStatus : Entity, ISoftDelete { /// /// 表单工作流状态 diff --git a/src/Token.Mangement.Domain/Management/AccessFunction/IUserRoleFunctionRepository.cs b/src/Token.Mangement.Domain/Management/AccessFunction/IUserRoleFunctionRepository.cs index 7cf110c..12d2a06 100644 --- a/src/Token.Mangement.Domain/Management/AccessFunction/IUserRoleFunctionRepository.cs +++ b/src/Token.Mangement.Domain/Management/AccessFunction/IUserRoleFunctionRepository.cs @@ -45,4 +45,11 @@ public interface IUserRoleFunctionRepository:IRepository Task> GetListAsync(Expression> expression, Expression> select,Expression>? property=null); + /// + /// + /// + /// + /// + Task> GetUserInfoAsync(Expression> expression); + } diff --git a/src/Token.Mangement.Domain/Users/UserInfo.cs b/src/Token.Mangement.Domain/Users/UserInfo.cs index 2f50e14..e2ba2d4 100644 --- a/src/Token.Mangement.Domain/Users/UserInfo.cs +++ b/src/Token.Mangement.Domain/Users/UserInfo.cs @@ -58,7 +58,7 @@ public class UserInfo : Entity, ISoftDelete, IHasCreationTime /// /// 账号状态 /// - public StatueEnum Status { get; set; } + public StatusEnum Status { get; set; } /// /// 手机号 diff --git a/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs b/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs index d08b6d7..0da3358 100644 --- a/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs +++ b/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs @@ -5,7 +5,7 @@ namespace Token.Management.Domain.WorkContent; /// /// 工作流Demo /// -public class WorkDemoMain : WorkFlowStatue +public class WorkDemoMain : WorkFlowStatus { public string? Name { get; set; } public string? Remark { get; set; } diff --git a/src/Token.Mangement.Domain/WorkFlow/IWorkflowTemplateRepository.cs b/src/Token.Mangement.Domain/WorkFlow/IWorkflowTemplateRepository.cs index a31b9a9..e0701e7 100644 --- a/src/Token.Mangement.Domain/WorkFlow/IWorkflowTemplateRepository.cs +++ b/src/Token.Mangement.Domain/WorkFlow/IWorkflowTemplateRepository.cs @@ -25,11 +25,9 @@ public interface IWorkflowTemplateRepository:IRepository /// /// /// - /// - /// + /// /// /// - /// /// - Task<(List,int)> GetPageListAsync(Expression> expression,Expression> select,int skipCount,int maxResultCount); + Task<(List, int)> GetPageListAsync(string keyword, int skipCount,int maxResultCount); } -- Gitee From 059a1557ca5f17d78339039b3a70fb6aed9459fc Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Wed, 8 Jun 2022 01:41:15 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E6=96=B0=E5=A2=9Ework=E7=9A=84Demo?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/Management/DesignTimeBuild/.dtbcache.v2 | Bin 329208 -> 329208 bytes .vs/Management/v17/.futdcache.v1 | Bin 1434 -> 1434 bytes .vs/Management/v17/.suo | Bin 182784 -> 207360 bytes .vs/ProjectEvaluation/management.metadata.v2 | Bin 260170 -> 261167 bytes .vs/ProjectEvaluation/management.projects.v2 | Bin 4040088 -> 4428621 bytes .../WorkContent/IWorkDemoMainService.cs | 14 ++ .../WorkContent/WorkContentDemoDto.cs | 56 ++++++ .../WorkContent/WorkDemoMainDto.cs | 51 +++++ .../MapperProfile.cs | 10 + .../WorkContent/WorkDemoMainService.cs | 20 ++ .../WorkFlowNodeStatusEnum.cs | 8 +- .../EntityFrameworkCoreConfig.cs | 8 + .../WorkContent/WorkContentDemoRepository.cs | 13 ++ .../WorkContent/WorkDemoMainRepository.cs | 13 ++ ...ner.cs => 20220607173109_Date.Designer.cs} | 185 ++++++++++++------ ...5_CreateData.cs => 20220607173109_Date.cs} | 100 +++++++--- .../Migrations/TokenDbContextModelSnapshot.cs | 181 +++++++++++------ .../Base/WorkFlowStatue.cs | 5 + .../WorkContent/IWorkContentDemoRepository.cs | 11 ++ .../WorkContent/IWorkDemoMainRepository.cs | 11 ++ .../WorkContent/WorkContentDemo.cs | 31 +++ .../WorkContent/WorkDemoMain.cs | 37 +++- .../WorkFlow/WorkflowInstance.cs | 6 +- 23 files changed, 608 insertions(+), 152 deletions(-) create mode 100644 src/Token.Management.Application.Contracts/AppServices/WorkContent/IWorkDemoMainService.cs create mode 100644 src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkContentDemoDto.cs create mode 100644 src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkDemoMainDto.cs create mode 100644 src/Token.Management.Application/Services/WorkContent/WorkDemoMainService.cs create mode 100644 src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkContentDemoRepository.cs create mode 100644 src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkDemoMainRepository.cs rename src/Token.Management.EntityFrameworkCore/Migrations/{20220607154305_CreateData.Designer.cs => 20220607173109_Date.Designer.cs} (84%) rename src/Token.Management.EntityFrameworkCore/Migrations/{20220607154305_CreateData.cs => 20220607173109_Date.cs} (81%) create mode 100644 src/Token.Mangement.Domain/WorkContent/IWorkContentDemoRepository.cs create mode 100644 src/Token.Mangement.Domain/WorkContent/IWorkDemoMainRepository.cs create mode 100644 src/Token.Mangement.Domain/WorkContent/WorkContentDemo.cs diff --git a/.vs/Management/DesignTimeBuild/.dtbcache.v2 b/.vs/Management/DesignTimeBuild/.dtbcache.v2 index aa99ef73639358b2c931be84d540fbf5b9a64911..bc6ce9dedb9f56b547f910d09b637bd92befb2a7 100644 GIT binary patch literal 329208 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 z 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 literal 329208 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 RM3$qh#M1!Es^sRI{|n1bnHm59 diff --git a/.vs/Management/v17/.futdcache.v1 b/.vs/Management/v17/.futdcache.v1 index b632c3092e4a365148cf145937e32ea445e69ba3..402268bc19074419d70bf706c7f15a39bffbb8ab 100644 GIT binary patch delta 60 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 BgQ5Tc delta 8496 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 lymI6dJ4vxtznv7v!w zyh~z9s$Oz&AW&QjEG~^C?vh%ZnVy$g1XK_NRM0nl<1uEV=?hYr#HN2pXPP=~JM$*v zV4#GCV?jZ1YEfBca%yo*XmM&0g!Ify%MVCQ&&*5r%qu7@0h$s5RQ!%<`o&fz^Xb0z zOsyaj{6m3)YT@}s+0OZSC8>EOF`gifOKNVuZ(?R%P-;Pbab`(=Q6*4+7*MGkvQi{A zNCQxb@qxQo~0J>XzvnE;6%h_x#4p$OHhL9FM60 delta 200 zcmZ4gga6bAen$UB##TlkV%o~cy!*oTg;$uPnFaQJGG_n*HXy#NVY+|%#V^b{+bwP| z-(?mQ*kl8ilLnF{Z`HHrOn>l#S$q1UH_Y3&bKGTaVi#C&-4d*V2S^_GkAmtx_Jo;} zMZn>_6il|XAd9A2L1@E+fNvHQfnBnk!z1V|x+917H+7D}j4hk7(X zjYeqD1TC7;f>!9z20aWg!UQwgVL=Bv(S>eU(E}Uo=tUp;F@QlhFoa<^F@jOJ;D!fd z7>5@=Okfh?mH+rW=6nrN?#;X_$O9Vokq=P*soN`~q+--m_*)&mw111_==Uv$*c=aU zS;l!|P>`|tawca|w`kz;9lL_(Hf>s3S@V1S6wmk`|Dg{Gu9PTWDA^V$tm`%FAvqWGb>(tIk?wMq;m FegKzauUr5C delta 133 zcmV~$Nmc;>007WO%8+@;l*}`kDReiBzqWRPI)Phwu4CQ*_rG)Sa(e_$0)n1|JbMuq z5f$?)E+Hu;Eh8%@ui#BlNm)hJyP6Mm4NWa=9bG+r14AQY6H}jN<`$M#);6|wzI@v| JI9`7)zyFg*Eg}E_ diff --git a/src/Token.Management.Application.Contracts/AppServices/WorkContent/IWorkDemoMainService.cs b/src/Token.Management.Application.Contracts/AppServices/WorkContent/IWorkDemoMainService.cs new file mode 100644 index 0000000..d32903c --- /dev/null +++ b/src/Token.Management.Application.Contracts/AppServices/WorkContent/IWorkDemoMainService.cs @@ -0,0 +1,14 @@ +namespace Token.Management.Application.Contracts.AppServices.WorkContent; + +/// +/// WorkDemo实例 +/// +public interface IWorkDemoMainService +{ + /// + /// 创建一个Demo + /// + /// + /// + Task CreateWorkDemoMain(WorkDemoMainDto dto); +} diff --git a/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkContentDemoDto.cs b/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkContentDemoDto.cs new file mode 100644 index 0000000..9d066bf --- /dev/null +++ b/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkContentDemoDto.cs @@ -0,0 +1,56 @@ +using Token.Management.Application.Contracts.Module.Users; +using Token.Management.Domain.Shared; + +namespace Token.Management.Application.Contracts.AppServices.WorkContent; + +/// +/// WorkContent +/// +public class WorkContentDemoDto +{ + /// + /// Id + /// + public Guid Id { get; set; } + + /// + /// 表单工作流状态 + /// + public WorkFlowNodeStatusEnum WorkFlowNodeStatus { get; set; } + + /// + /// 表单工作流状态 + /// + public string WorkFlowNodeStatusName { get; set; } + + /// + /// 实例id + /// + public Guid? WorkflowInstanceId { get; set; } + + /// + /// 提交时间 + /// + public DateTime? SubmitTime { get; set; } + + /// + /// 子项目名称 + /// + public string? Name { get; set; } + + /// + /// 子项目内容 + /// + public string? Content { get; set; } + + /// + /// 项目负责人 + /// + public Guid PrincipalId { get; set; } + + public Guid WorkDemoMainId { get; set; } + + public virtual UserInfoDto Principal { get; set; } + + public virtual WorkDemoMainDto WorkDemoMain { get; set; } +} diff --git a/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkDemoMainDto.cs b/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkDemoMainDto.cs new file mode 100644 index 0000000..f1746fc --- /dev/null +++ b/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkDemoMainDto.cs @@ -0,0 +1,51 @@ +using Token.Management.Domain.Shared; + +namespace Token.Management.Application.Contracts.AppServices.WorkContent; + +/// +/// WorkDemo +/// +public class WorkDemoMainDto +{ + /// + /// Id + /// + public Guid Id { get; set; } + + /// + /// 工作流Dmeo名称 + /// + public string? Name { get; set; } + + /// + /// 工作流Demo备注 + /// + public string? Remark { get; set; } + + /// + /// 工作流Demo内容 + /// + public string? Content { get; set; } + + /// + /// 表单工作流状态 + /// + public WorkFlowNodeStatusEnum WorkFlowNodeStatus { get; set; } + + /// + /// 表单工作流状态 + /// + public string WorkFlowNodeStatusName { get; set; } + + /// + /// 项目开始时间 + /// + public DateTime? StartTime { get; set; } + + /// + /// 项目结束时间 + /// + public DateTime? EndTime { get; set; } + + public bool IsDeleted { get; set; } +} diff --git a/src/Token.Management.Application/MapperProfile.cs b/src/Token.Management.Application/MapperProfile.cs index 4269749..7da324a 100644 --- a/src/Token.Management.Application/MapperProfile.cs +++ b/src/Token.Management.Application/MapperProfile.cs @@ -1,5 +1,6 @@ using AutoMapper; using Token.Infrastructure.Extension; +using Token.Management.Application.Contracts.AppServices.WorkContent; using Token.Management.Application.Contracts.Module.Management; using Token.Management.Application.Contracts.Module.Management.AccessFunction; using Token.Management.Application.Contracts.Module.Users; @@ -8,6 +9,7 @@ using Token.Management.Domain.Management; using Token.Management.Domain.Management.AccessFunction; using Token.Management.Domain.Shared; using Token.Management.Domain.Users; +using Token.Management.Domain.WorkContent; using Token.Management.Domain.WorkFlow; namespace Token.Management.Application; @@ -53,5 +55,13 @@ public class MapperProfile : Profile CreateMap(); CreateMap(); #endregion + + #region WorkDemo + + CreateMap(); + CreateMap(); + + + #endregion } } diff --git a/src/Token.Management.Application/Services/WorkContent/WorkDemoMainService.cs b/src/Token.Management.Application/Services/WorkContent/WorkDemoMainService.cs new file mode 100644 index 0000000..25d5ce6 --- /dev/null +++ b/src/Token.Management.Application/Services/WorkContent/WorkDemoMainService.cs @@ -0,0 +1,20 @@ +using Token.Management.Application.Contracts.AppServices.WorkContent; +using Token.Management.Domain.WorkContent; +using Volo.Abp.Application.Services; + +namespace Token.Management.Application.Services.WorkContent; + +public class WorkDemoMainService:ApplicationService,IWorkDemoMainService +{ + private readonly IWorkDemoMainRepository _workDemoMainRepository; + + public WorkDemoMainService(IWorkDemoMainRepository workDemoMainRepository) + { + _workDemoMainRepository = workDemoMainRepository; + } + + public Task CreateWorkDemoMain(WorkDemoMainDto dto) + { + throw new NotImplementedException(); + } +} diff --git a/src/Token.Management.Domain.Shared/WorkFlowNodeStatusEnum.cs b/src/Token.Management.Domain.Shared/WorkFlowNodeStatusEnum.cs index 16ddcbd..6739356 100644 --- a/src/Token.Management.Domain.Shared/WorkFlowNodeStatusEnum.cs +++ b/src/Token.Management.Domain.Shared/WorkFlowNodeStatusEnum.cs @@ -15,20 +15,20 @@ public enum WorkFlowNodeStatusEnum /// /// 通过 /// - [Description("通过")] Pass, + [Description("通过")] Pass=1, /// /// 未处理 /// - [Description("未处理")] UnDeal, + [Description("未处理")] UnDeal=2, /// /// 终止【用作当前整个流程终止】 /// - [Description("终止")] Terminate, + [Description("终止")] Terminate=3, /// /// 撤回 /// - [Description("未处理")] Withdraw = 5 + [Description("未处理")] Withdraw = 4 } diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs index e24d973..f770354 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreConfig.cs @@ -160,6 +160,14 @@ public static class EntityFrameworkCoreConfig x.HasKey(x => x.Id); }); + builder.Entity(x => + { + x.ToTable("token_work_content_demo"); + + x.HasIndex(x => x.Id); + x.HasKey(x => x.Id); + + }); return builder; } } diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkContentDemoRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkContentDemoRepository.cs new file mode 100644 index 0000000..0d3ba56 --- /dev/null +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkContentDemoRepository.cs @@ -0,0 +1,13 @@ +using Token.Management.Domain.WorkContent; +using Volo.Abp.Domain.Repositories.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; + +namespace Token.Management.EntityFrameworkCore.EntityFrameworkCore.WorkContent; + +public class WorkContentDemoRepository:EfCoreRepository,IWorkContentDemoRepository +{ + public WorkContentDemoRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) + { + } + +} diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkDemoMainRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkDemoMainRepository.cs new file mode 100644 index 0000000..954c050 --- /dev/null +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkDemoMainRepository.cs @@ -0,0 +1,13 @@ +using Token.Management.Domain.WorkContent; +using Volo.Abp.Domain.Repositories.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; + +namespace Token.Management.EntityFrameworkCore.EntityFrameworkCore.WorkContent; + +public class WorkDemoMainRepository:EfCoreRepository,IWorkDemoMainRepository +{ + public WorkDemoMainRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) + { + } + +} diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.Designer.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220607173109_Date.Designer.cs similarity index 84% rename from src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.Designer.cs rename to src/Token.Management.EntityFrameworkCore/Migrations/20220607173109_Date.Designer.cs index 8ea763e..2ec854a 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.Designer.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220607173109_Date.Designer.cs @@ -11,8 +11,8 @@ using Token.Management.EntityFrameworkCore.EntityFrameworkCore; namespace Token.Management.EntityFrameworkCore.Migrations { [DbContext(typeof(TokenDbContext))] - [Migration("20220607154305_CreateData")] - partial class CreateData + [Migration("20220607173109_Date")] + partial class Date { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -57,59 +57,59 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("f808acc8-a746-46ee-b1be-97d7decd254c"), + Id = new Guid("07f07059-3c28-4517-9cab-754ee22955c1"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("cb90ab74-4ba5-4286-9ffc-f579e1de4afa"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("3522f2b4-d35b-4913-8425-7c5e3006aa21"), + Id = new Guid("7d8114c9-9e9e-4463-a2ee-e78799aca22a"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("1eee3f07-9612-47d0-9897-c1d4fce15414"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("d879ae65-3f52-4870-bf6e-83c94dc66bb0"), + Id = new Guid("43730628-a3b5-48e5-94dd-7d79d28156e4"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("f51c106b-2e88-4739-b259-1c97d380f6f9"), + Id = new Guid("1db2cf2f-d354-4093-b621-1dc94a5a4f3a"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("fee42ae9-c72d-4df0-8094-efa024d1c6e5"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("07109f16-fa61-41c7-a396-1ff420c46da7"), + Id = new Guid("484e547c-26b4-49d7-8f0d-bd2107380951"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("6f1eed56-e99c-4100-a0f9-4df39f14a0ca"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("1ab255af-c439-425c-b2a8-767bd3a801f7"), + Id = new Guid("59e92709-2366-4b66-8462-41f62620c48b"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("05abe233-4252-499e-b91b-5721d784ab36"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("dc7de715-7147-4fd9-95eb-c062c126ea72"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("d8aac5ab-557e-4d1d-9a86-7d9a9d0e6cef"), + Id = new Guid("df0e69b1-eadd-457f-8d76-c7808c065582"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("07bf458c-029a-4826-a5af-d9d51edb4020"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }); }); @@ -144,11 +144,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("c320a3d6-40b8-48cc-ab80-74a4a7f120cd"), - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), - DepartmentId = new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), + Id = new Guid("f071ae1b-c55c-44c1-8f94-6b4bfeb9bc0f"), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), + DepartmentId = new Guid("bd809e02-4630-422d-bf82-8d77c2140b08"), IsDeleted = false, - UserInfoId = new Guid("665203a9-6328-4358-a1f2-6588802c393b") + UserInfoId = new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84") }); }); @@ -183,11 +183,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("6ee0907d-bb79-4b6c-9c96-f6d8b3f5a958"), - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Id = new Guid("b94fada4-5433-49b1-bc06-9b553a8a2ed4"), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), IsDeleted = false, - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), - UserInfoId = new Guid("665203a9-6328-4358-a1f2-6588802c393b") + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), + UserInfoId = new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84") }); }); @@ -224,9 +224,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), + Id = new Guid("b5c12e64-e349-48b2-b9ea-3b21eb3e9e4b"), Code = "wr", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", IsDeleted = false, Name = "Microsoft" @@ -276,10 +276,10 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), + Id = new Guid("bd809e02-4630-422d-bf82-8d77c2140b08"), Code = "cs", - CompanyId = new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CompanyId = new Guid("b5c12e64-e349-48b2-b9ea-3b21eb3e9e4b"), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 0, IsDeleted = false, Name = "测试部门" @@ -328,9 +328,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), + Id = new Guid("cb90ab74-4ba5-4286-9ffc-f579e1de4afa"), Component = "Home", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 0, IsDeleted = false, Name = "首页", @@ -339,9 +339,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), + Id = new Guid("1eee3f07-9612-47d0-9897-c1d4fce15414"), Component = "User", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 1, IsDeleted = false, Name = "用户管理", @@ -350,9 +350,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + Id = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), Component = "System", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 2, IsDeleted = false, Name = "系统配置", @@ -361,9 +361,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), + Id = new Guid("fee42ae9-c72d-4df0-8094-efa024d1c6e5"), Component = "Work", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 3, IsDeleted = false, Name = "工作", @@ -372,37 +372,37 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), + Id = new Guid("6f1eed56-e99c-4100-a0f9-4df39f14a0ca"), Component = "UserConfig", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 1, IsDeleted = false, Name = "用户权限配置", - ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + ParentId = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), Path = "/system/userConfig/index", Title = "用户权限配置" }, new { - Id = new Guid("05abe233-4252-499e-b91b-5721d784ab36"), + Id = new Guid("dc7de715-7147-4fd9-95eb-c062c126ea72"), Component = "RoleConfig", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 0, IsDeleted = false, Name = "角色配置", - ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + ParentId = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), Path = "/system/roleConfig/index", Title = "角色配置" }, new { - Id = new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), + Id = new Guid("07bf458c-029a-4826-a5af-d9d51edb4020"), Component = "WorkConfig", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 2, IsDeleted = false, Name = "工作流配置", - ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + ParentId = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), Path = "/system/workConfig/index", Title = "工作流配置" }); @@ -449,9 +449,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), + Id = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), Code = "admin", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 0, IsDeleted = false, Name = "管理员", @@ -544,9 +544,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("665203a9-6328-4358-a1f2-6588802c393b"), + Id = new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84"), AccountNumber = "admin", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), EMail = "239573049@qq.com", HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", IsDeleted = false, @@ -558,7 +558,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations }); }); - modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkContentDemo", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -567,9 +567,50 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Content") .HasColumnType("longtext"); - b.Property("Count") + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("PrincipalId") + .HasColumnType("char(36)"); + + b.Property("SubmitTime") + .HasColumnType("datetime(6)"); + + b.Property("WorkDemoMainId") + .HasColumnType("char(36)"); + + b.Property("WorkFlowNodeStatus") .HasColumnType("int"); + b.Property("WorkflowInstanceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("PrincipalId"); + + b.HasIndex("WorkDemoMainId"); + + b.ToTable("token_work_content_demo", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Content") + .HasColumnType("longtext"); + + b.Property("EndTime") + .HasColumnType("datetime(6)"); + b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -579,7 +620,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Remark") .HasColumnType("longtext"); - b.Property("SubmitTime") + b.Property("StartTime") .HasColumnType("datetime(6)"); b.Property("WorkFlowNodeStatus") @@ -914,6 +955,25 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Navigation("Company"); }); + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkContentDemo", b => + { + b.HasOne("Token.Management.Domain.Users.UserInfo", "Principal") + .WithMany() + .HasForeignKey("PrincipalId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.WorkContent.WorkDemoMain", "WorkDemoMain") + .WithMany("WorkContentDemo") + .HasForeignKey("WorkDemoMainId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Principal"); + + b.Navigation("WorkDemoMain"); + }); + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => { b.HasOne("Token.Management.Domain.Management.Role", "Role") @@ -1006,6 +1066,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Navigation("UserRoleFunction"); }); + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.Navigation("WorkContentDemo"); + }); + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => { b.Navigation("WorkflowApprovers"); diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.cs b/src/Token.Management.EntityFrameworkCore/Migrations/20220607173109_Date.cs similarity index 81% rename from src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.cs rename to src/Token.Management.EntityFrameworkCore/Migrations/20220607173109_Date.cs index 14a7912..6676331 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/20220607154305_CreateData.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/20220607173109_Date.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace Token.Management.EntityFrameworkCore.Migrations { - public partial class CreateData : Migration + public partial class Date : Migration { protected override void Up(MigrationBuilder migrationBuilder) { @@ -155,9 +155,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations .Annotation("MySql:CharSet", "utf8mb4"), Content = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), - Count = table.Column(type: "int", nullable: false), WorkFlowNodeStatus = table.Column(type: "int", nullable: false), - SubmitTime = table.Column(type: "datetime(6)", nullable: true), + StartTime = table.Column(type: "datetime(6)", nullable: true), + EndTime = table.Column(type: "datetime(6)", nullable: true), IsDeleted = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => @@ -280,6 +280,40 @@ namespace Token.Management.EntityFrameworkCore.Migrations }) .Annotation("MySql:CharSet", "utf8mb4"); + migrationBuilder.CreateTable( + name: "token_work_content_demo", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Content = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + PrincipalId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkDemoMainId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + WorkFlowNodeStatus = table.Column(type: "int", nullable: false), + WorkflowInstanceId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), + SubmitTime = table.Column(type: "datetime(6)", nullable: true), + IsDeleted = table.Column(type: "tinyint(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_token_work_content_demo", x => x.Id); + table.ForeignKey( + name: "FK_token_work_content_demo_token_user_info_PrincipalId", + column: x => x.PrincipalId, + principalTable: "token_user_info", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_token_work_content_demo_token_work_demo_main_WorkDemoMainId", + column: x => x.WorkDemoMainId, + principalTable: "token_work_demo_main", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + migrationBuilder.CreateTable( name: "token_workflow_instance", columns: table => new @@ -465,60 +499,60 @@ namespace Token.Management.EntityFrameworkCore.Migrations migrationBuilder.InsertData( table: "token_company", columns: new[] { "Id", "Code", "CreationTime", "Describe", "IsDeleted", "Logo", "Name" }, - values: new object[] { new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), "wr", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", false, null, "Microsoft" }); + values: new object[] { new Guid("b5c12e64-e349-48b2-b9ea-3b21eb3e9e4b"), "wr", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", false, null, "Microsoft" }); migrationBuilder.InsertData( table: "token_menu", columns: new[] { "Id", "Component", "CreationTime", "Icon", "Index", "IsDeleted", "Name", "ParentId", "Path", "Title" }, values: new object[,] { - { new Guid("05abe233-4252-499e-b91b-5721d784ab36"), "RoleConfig", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 0, false, "角色配置", new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), "/system/roleConfig/index", "角色配置" }, - { new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), "UserConfig", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 1, false, "用户权限配置", new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), "/system/userConfig/index", "用户权限配置" }, - { new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), "Work", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 3, false, "工作", null, "/Work/index", "工作" }, - { new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), "Home", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 0, false, "首页", null, "/home/index", "首页" }, - { new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), "User", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 1, false, "用户管理", null, "/user/index", "用户管理" }, - { new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), "System", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 2, false, "系统配置", null, "/system/index", "系统配置" }, - { new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), "WorkConfig", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), null, 2, false, "工作流配置", new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), "/system/workConfig/index", "工作流配置" } + { new Guid("07bf458c-029a-4826-a5af-d9d51edb4020"), "WorkConfig", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), null, 2, false, "工作流配置", new Guid("741f6e15-143d-489a-b747-38f106481d0b"), "/system/workConfig/index", "工作流配置" }, + { new Guid("1eee3f07-9612-47d0-9897-c1d4fce15414"), "User", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), null, 1, false, "用户管理", null, "/user/index", "用户管理" }, + { new Guid("6f1eed56-e99c-4100-a0f9-4df39f14a0ca"), "UserConfig", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), null, 1, false, "用户权限配置", new Guid("741f6e15-143d-489a-b747-38f106481d0b"), "/system/userConfig/index", "用户权限配置" }, + { new Guid("741f6e15-143d-489a-b747-38f106481d0b"), "System", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), null, 2, false, "系统配置", null, "/system/index", "系统配置" }, + { new Guid("cb90ab74-4ba5-4286-9ffc-f579e1de4afa"), "Home", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), null, 0, false, "首页", null, "/home/index", "首页" }, + { new Guid("dc7de715-7147-4fd9-95eb-c062c126ea72"), "RoleConfig", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), null, 0, false, "角色配置", new Guid("741f6e15-143d-489a-b747-38f106481d0b"), "/system/roleConfig/index", "角色配置" }, + { new Guid("fee42ae9-c72d-4df0-8094-efa024d1c6e5"), "Work", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), null, 3, false, "工作", null, "/Work/index", "工作" } }); migrationBuilder.InsertData( table: "token_role", columns: new[] { "Id", "Code", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "Remark" }, - values: new object[] { new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), "admin", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), 0, false, "管理员", null, "系统管理员" }); + values: new object[] { new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), "admin", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), 0, false, "管理员", null, "系统管理员" }); migrationBuilder.InsertData( table: "token_user_info", columns: new[] { "Id", "AccountNumber", "CreationTime", "EMail", "HeadPortraits", "IsDeleted", "MobileNumber", "Name", "Password", "Sex", "Status", "WXOpenId" }, - values: new object[] { new Guid("665203a9-6328-4358-a1f2-6588802c393b"), "admin", new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), "239573049@qq.com", "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", false, 13049809673L, "管理员", "349843DE4F81CDE9456ADEACACE77ECF8DA4197169214575", 1, 0, null }); + values: new object[] { new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84"), "admin", new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), "239573049@qq.com", "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", false, 13049809673L, "管理员", "349843DE4F81CDE9456ADEACACE77ECF8DA4197169214575", 1, 0, null }); migrationBuilder.InsertData( table: "token_department", columns: new[] { "Id", "Code", "CompanyId", "CreationTime", "Index", "IsDeleted", "Name", "ParentId", "UserInfoId" }, - values: new object[] { new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), "cs", new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), 0, false, "测试部门", null, null }); + values: new object[] { new Guid("bd809e02-4630-422d-bf82-8d77c2140b08"), "cs", new Guid("b5c12e64-e349-48b2-b9ea-3b21eb3e9e4b"), new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), 0, false, "测试部门", null, null }); migrationBuilder.InsertData( table: "token_menu_role_function", columns: new[] { "Id", "CreationTime", "IsDeleted", "MenuId", "RoleId", "UserInfoId" }, values: new object[,] { - { new Guid("07109f16-fa61-41c7-a396-1ff420c46da7"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, - { new Guid("1ab255af-c439-425c-b2a8-767bd3a801f7"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("05abe233-4252-499e-b91b-5721d784ab36"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, - { new Guid("3522f2b4-d35b-4913-8425-7c5e3006aa21"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, - { new Guid("d879ae65-3f52-4870-bf6e-83c94dc66bb0"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, - { new Guid("d8aac5ab-557e-4d1d-9a86-7d9a9d0e6cef"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, - { new Guid("f51c106b-2e88-4739-b259-1c97d380f6f9"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null }, - { new Guid("f808acc8-a746-46ee-b1be-97d7decd254c"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), null } + { new Guid("07f07059-3c28-4517-9cab-754ee22955c1"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("cb90ab74-4ba5-4286-9ffc-f579e1de4afa"), new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), null }, + { new Guid("1db2cf2f-d354-4093-b621-1dc94a5a4f3a"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("fee42ae9-c72d-4df0-8094-efa024d1c6e5"), new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), null }, + { new Guid("43730628-a3b5-48e5-94dd-7d79d28156e4"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("741f6e15-143d-489a-b747-38f106481d0b"), new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), null }, + { new Guid("484e547c-26b4-49d7-8f0d-bd2107380951"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("6f1eed56-e99c-4100-a0f9-4df39f14a0ca"), new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), null }, + { new Guid("59e92709-2366-4b66-8462-41f62620c48b"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("dc7de715-7147-4fd9-95eb-c062c126ea72"), new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), null }, + { new Guid("7d8114c9-9e9e-4463-a2ee-e78799aca22a"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("1eee3f07-9612-47d0-9897-c1d4fce15414"), new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), null }, + { new Guid("df0e69b1-eadd-457f-8d76-c7808c065582"), new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), false, new Guid("07bf458c-029a-4826-a5af-d9d51edb4020"), new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), null } }); migrationBuilder.InsertData( table: "token_user_role_function", columns: new[] { "Id", "CreationTime", "IsDeleted", "RoleId", "UserInfoId" }, - values: new object[] { new Guid("6ee0907d-bb79-4b6c-9c96-f6d8b3f5a958"), new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), false, new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), new Guid("665203a9-6328-4358-a1f2-6588802c393b") }); + values: new object[] { new Guid("b94fada4-5433-49b1-bc06-9b553a8a2ed4"), new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), false, new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84") }); migrationBuilder.InsertData( table: "token_user_department_function", columns: new[] { "Id", "CreationTime", "DepartmentId", "IsDeleted", "UserInfoId" }, - values: new object[] { new Guid("c320a3d6-40b8-48cc-ab80-74a4a7f120cd"), new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), false, new Guid("665203a9-6328-4358-a1f2-6588802c393b") }); + values: new object[] { new Guid("f071ae1b-c55c-44c1-8f94-6b4bfeb9bc0f"), new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), new Guid("bd809e02-4630-422d-bf82-8d77c2140b08"), false, new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84") }); migrationBuilder.CreateIndex( name: "IX_token_company_Id", @@ -610,6 +644,21 @@ namespace Token.Management.EntityFrameworkCore.Migrations table: "token_user_role_function", column: "UserInfoId"); + migrationBuilder.CreateIndex( + name: "IX_token_work_content_demo_Id", + table: "token_work_content_demo", + column: "Id"); + + migrationBuilder.CreateIndex( + name: "IX_token_work_content_demo_PrincipalId", + table: "token_work_content_demo", + column: "PrincipalId"); + + migrationBuilder.CreateIndex( + name: "IX_token_work_content_demo_WorkDemoMainId", + table: "token_work_content_demo", + column: "WorkDemoMainId"); + migrationBuilder.CreateIndex( name: "IX_token_work_demo_main_Id", table: "token_work_demo_main", @@ -699,7 +748,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations name: "token_user_role_function"); migrationBuilder.DropTable( - name: "token_work_demo_main"); + name: "token_work_content_demo"); migrationBuilder.DropTable( name: "token_workflow_approval_role"); @@ -716,6 +765,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations migrationBuilder.DropTable( name: "token_department"); + migrationBuilder.DropTable( + name: "token_work_demo_main"); + migrationBuilder.DropTable( name: "token_role"); diff --git a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs index 7b81fd3..8ad4bef 100644 --- a/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs +++ b/src/Token.Management.EntityFrameworkCore/Migrations/TokenDbContextModelSnapshot.cs @@ -55,59 +55,59 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("f808acc8-a746-46ee-b1be-97d7decd254c"), + Id = new Guid("07f07059-3c28-4517-9cab-754ee22955c1"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("cb90ab74-4ba5-4286-9ffc-f579e1de4afa"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("3522f2b4-d35b-4913-8425-7c5e3006aa21"), + Id = new Guid("7d8114c9-9e9e-4463-a2ee-e78799aca22a"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("1eee3f07-9612-47d0-9897-c1d4fce15414"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("d879ae65-3f52-4870-bf6e-83c94dc66bb0"), + Id = new Guid("43730628-a3b5-48e5-94dd-7d79d28156e4"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("f51c106b-2e88-4739-b259-1c97d380f6f9"), + Id = new Guid("1db2cf2f-d354-4093-b621-1dc94a5a4f3a"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("fee42ae9-c72d-4df0-8094-efa024d1c6e5"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("07109f16-fa61-41c7-a396-1ff420c46da7"), + Id = new Guid("484e547c-26b4-49d7-8f0d-bd2107380951"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("6f1eed56-e99c-4100-a0f9-4df39f14a0ca"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("1ab255af-c439-425c-b2a8-767bd3a801f7"), + Id = new Guid("59e92709-2366-4b66-8462-41f62620c48b"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("05abe233-4252-499e-b91b-5721d784ab36"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("dc7de715-7147-4fd9-95eb-c062c126ea72"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }, new { - Id = new Guid("d8aac5ab-557e-4d1d-9a86-7d9a9d0e6cef"), + Id = new Guid("df0e69b1-eadd-457f-8d76-c7808c065582"), CreationTime = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), IsDeleted = false, - MenuId = new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d") + MenuId = new Guid("07bf458c-029a-4826-a5af-d9d51edb4020"), + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64") }); }); @@ -142,11 +142,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("c320a3d6-40b8-48cc-ab80-74a4a7f120cd"), - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), - DepartmentId = new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), + Id = new Guid("f071ae1b-c55c-44c1-8f94-6b4bfeb9bc0f"), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), + DepartmentId = new Guid("bd809e02-4630-422d-bf82-8d77c2140b08"), IsDeleted = false, - UserInfoId = new Guid("665203a9-6328-4358-a1f2-6588802c393b") + UserInfoId = new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84") }); }); @@ -181,11 +181,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("6ee0907d-bb79-4b6c-9c96-f6d8b3f5a958"), - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + Id = new Guid("b94fada4-5433-49b1-bc06-9b553a8a2ed4"), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), IsDeleted = false, - RoleId = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), - UserInfoId = new Guid("665203a9-6328-4358-a1f2-6588802c393b") + RoleId = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), + UserInfoId = new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84") }); }); @@ -222,9 +222,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), + Id = new Guid("b5c12e64-e349-48b2-b9ea-3b21eb3e9e4b"), Code = "wr", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Describe = "微软(Microsoft)是一家 美国 跨国科技企业,由 比尔·盖茨 和 保罗·艾伦 于1975年4月4日创立。 公司总部设立在 华盛顿州 雷德蒙德 (Redmond,邻近 西雅图 ),以 研发 、 制造 、 授权 和提供广泛的 电脑软件 服务业务为主 。", IsDeleted = false, Name = "Microsoft" @@ -274,10 +274,10 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("96017ff8-52cd-4d85-b7b8-474b1bf51de0"), + Id = new Guid("bd809e02-4630-422d-bf82-8d77c2140b08"), Code = "cs", - CompanyId = new Guid("5e69bd0f-1b25-459a-b5cb-bb7086821d1c"), - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CompanyId = new Guid("b5c12e64-e349-48b2-b9ea-3b21eb3e9e4b"), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 0, IsDeleted = false, Name = "测试部门" @@ -326,9 +326,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("5de1db7f-d249-43f5-9230-3833544b87b1"), + Id = new Guid("cb90ab74-4ba5-4286-9ffc-f579e1de4afa"), Component = "Home", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 0, IsDeleted = false, Name = "首页", @@ -337,9 +337,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("da57bf0e-6c03-4ef4-a2ac-0cf576c3b0b5"), + Id = new Guid("1eee3f07-9612-47d0-9897-c1d4fce15414"), Component = "User", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 1, IsDeleted = false, Name = "用户管理", @@ -348,9 +348,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + Id = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), Component = "System", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 2, IsDeleted = false, Name = "系统配置", @@ -359,9 +359,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("5b3c39c8-f212-4105-85ae-cf34422d6026"), + Id = new Guid("fee42ae9-c72d-4df0-8094-efa024d1c6e5"), Component = "Work", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 3, IsDeleted = false, Name = "工作", @@ -370,37 +370,37 @@ namespace Token.Management.EntityFrameworkCore.Migrations }, new { - Id = new Guid("4ac2f4d0-990b-4be1-9409-46fe034b2aa4"), + Id = new Guid("6f1eed56-e99c-4100-a0f9-4df39f14a0ca"), Component = "UserConfig", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 1, IsDeleted = false, Name = "用户权限配置", - ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + ParentId = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), Path = "/system/userConfig/index", Title = "用户权限配置" }, new { - Id = new Guid("05abe233-4252-499e-b91b-5721d784ab36"), + Id = new Guid("dc7de715-7147-4fd9-95eb-c062c126ea72"), Component = "RoleConfig", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 0, IsDeleted = false, Name = "角色配置", - ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + ParentId = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), Path = "/system/roleConfig/index", Title = "角色配置" }, new { - Id = new Guid("fbfdfdb4-69ea-46d9-8740-d62ffb22f87d"), + Id = new Guid("07bf458c-029a-4826-a5af-d9d51edb4020"), Component = "WorkConfig", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 2, IsDeleted = false, Name = "工作流配置", - ParentId = new Guid("fafbe9c5-6b41-4981-8ebc-f30917b32c87"), + ParentId = new Guid("741f6e15-143d-489a-b747-38f106481d0b"), Path = "/system/workConfig/index", Title = "工作流配置" }); @@ -447,9 +447,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("5610d63a-183d-47a4-ab82-5d308ac15b8d"), + Id = new Guid("420a80c3-42b0-47b7-b491-46bee216ac64"), Code = "admin", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), Index = 0, IsDeleted = false, Name = "管理员", @@ -542,9 +542,9 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.HasData( new { - Id = new Guid("665203a9-6328-4358-a1f2-6588802c393b"), + Id = new Guid("c46acc21-5067-4611-a5a1-1ce653c33e84"), AccountNumber = "admin", - CreationTime = new DateTime(2022, 6, 7, 23, 43, 5, 390, DateTimeKind.Local).AddTicks(6630), + CreationTime = new DateTime(2022, 6, 8, 1, 31, 8, 952, DateTimeKind.Local).AddTicks(5195), EMail = "239573049@qq.com", HeadPortraits = "https://upfile2.asqql.com/upfile/hdimg/wmtp/wmtp/2018-07/08/18_7_8_16_10_08yoqapqci.jpg", IsDeleted = false, @@ -556,7 +556,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations }); }); - modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkContentDemo", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -565,9 +565,50 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Content") .HasColumnType("longtext"); - b.Property("Count") + b.Property("IsDeleted") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("PrincipalId") + .HasColumnType("char(36)"); + + b.Property("SubmitTime") + .HasColumnType("datetime(6)"); + + b.Property("WorkDemoMainId") + .HasColumnType("char(36)"); + + b.Property("WorkFlowNodeStatus") .HasColumnType("int"); + b.Property("WorkflowInstanceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("Id"); + + b.HasIndex("PrincipalId"); + + b.HasIndex("WorkDemoMainId"); + + b.ToTable("token_work_content_demo", (string)null); + }); + + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Content") + .HasColumnType("longtext"); + + b.Property("EndTime") + .HasColumnType("datetime(6)"); + b.Property("IsDeleted") .HasColumnType("tinyint(1)"); @@ -577,7 +618,7 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Property("Remark") .HasColumnType("longtext"); - b.Property("SubmitTime") + b.Property("StartTime") .HasColumnType("datetime(6)"); b.Property("WorkFlowNodeStatus") @@ -912,6 +953,25 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Navigation("Company"); }); + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkContentDemo", b => + { + b.HasOne("Token.Management.Domain.Users.UserInfo", "Principal") + .WithMany() + .HasForeignKey("PrincipalId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Token.Management.Domain.WorkContent.WorkDemoMain", "WorkDemoMain") + .WithMany("WorkContentDemo") + .HasForeignKey("WorkDemoMainId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Principal"); + + b.Navigation("WorkDemoMain"); + }); + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowApprovalRole", b => { b.HasOne("Token.Management.Domain.Management.Role", "Role") @@ -1004,6 +1064,11 @@ namespace Token.Management.EntityFrameworkCore.Migrations b.Navigation("UserRoleFunction"); }); + modelBuilder.Entity("Token.Management.Domain.WorkContent.WorkDemoMain", b => + { + b.Navigation("WorkContentDemo"); + }); + modelBuilder.Entity("Token.Management.Domain.WorkFlow.WorkflowInstance", b => { b.Navigation("WorkflowApprovers"); diff --git a/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs b/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs index c166ec9..bd51b4a 100644 --- a/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs +++ b/src/Token.Mangement.Domain/Base/WorkFlowStatue.cs @@ -14,6 +14,11 @@ public class WorkFlowStatus : Entity, ISoftDelete /// public WorkFlowNodeStatusEnum WorkFlowNodeStatus { get; set; } + /// + /// 实例id + /// + public Guid? WorkflowInstanceId { get; set; } + /// /// 提交时间 /// diff --git a/src/Token.Mangement.Domain/WorkContent/IWorkContentDemoRepository.cs b/src/Token.Mangement.Domain/WorkContent/IWorkContentDemoRepository.cs new file mode 100644 index 0000000..a636987 --- /dev/null +++ b/src/Token.Mangement.Domain/WorkContent/IWorkContentDemoRepository.cs @@ -0,0 +1,11 @@ +using Volo.Abp.Domain.Repositories; + +namespace Token.Management.Domain.WorkContent; + +/// +/// +/// +public interface IWorkContentDemoRepository:IRepository +{ + +} diff --git a/src/Token.Mangement.Domain/WorkContent/IWorkDemoMainRepository.cs b/src/Token.Mangement.Domain/WorkContent/IWorkDemoMainRepository.cs new file mode 100644 index 0000000..783201b --- /dev/null +++ b/src/Token.Mangement.Domain/WorkContent/IWorkDemoMainRepository.cs @@ -0,0 +1,11 @@ +using Volo.Abp.Domain.Repositories; + +namespace Token.Management.Domain.WorkContent; + +/// +/// 工作Demo +/// +public interface IWorkDemoMainRepository:IRepository +{ + +} diff --git a/src/Token.Mangement.Domain/WorkContent/WorkContentDemo.cs b/src/Token.Mangement.Domain/WorkContent/WorkContentDemo.cs new file mode 100644 index 0000000..c8a9033 --- /dev/null +++ b/src/Token.Mangement.Domain/WorkContent/WorkContentDemo.cs @@ -0,0 +1,31 @@ +using Token.Management.Domain.Base; +using Token.Management.Domain.Users; + +namespace Token.Management.Domain.WorkContent; + +/// +/// 子任务 +/// +public class WorkContentDemo : WorkFlowStatus +{ + /// + /// 子项目名称 + /// + public string? Name { get; set; } + + /// + /// 子项目内容 + /// + public string? Content { get; set; } + + /// + /// 项目负责人 + /// + public Guid PrincipalId { get; set; } + + public Guid WorkDemoMainId { get; set; } + + public virtual UserInfo Principal { get; set; } + + public virtual WorkDemoMain WorkDemoMain { get; set; } +} diff --git a/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs b/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs index 0da3358..f345bd2 100644 --- a/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs +++ b/src/Token.Mangement.Domain/WorkContent/WorkDemoMain.cs @@ -1,14 +1,45 @@ -using Token.Management.Domain.Base; +using Token.Management.Domain.Shared; +using Volo.Abp; +using Volo.Abp.Domain.Entities; namespace Token.Management.Domain.WorkContent; /// /// 工作流Demo /// -public class WorkDemoMain : WorkFlowStatus +public class WorkDemoMain : Entity, ISoftDelete { + /// + /// 工作流Dmeo名称 + /// public string? Name { get; set; } + + /// + /// 工作流Demo备注 + /// public string? Remark { get; set; } + + /// + /// 工作流Demo内容 + /// public string? Content { get; set; } - public int Count { get; set; } + + /// + /// 表单工作流状态 + /// + public WorkFlowNodeStatusEnum WorkFlowNodeStatus { get; set; } + + /// + /// 项目开始时间 + /// + public DateTime? StartTime { get; set; } + + /// + /// 项目结束时间 + /// + public DateTime? EndTime { get; set; } + + public bool IsDeleted { get; set; } + + public virtual List WorkContentDemo { get; set; } = new List(); } diff --git a/src/Token.Mangement.Domain/WorkFlow/WorkflowInstance.cs b/src/Token.Mangement.Domain/WorkFlow/WorkflowInstance.cs index 075e448..c06a135 100644 --- a/src/Token.Mangement.Domain/WorkFlow/WorkflowInstance.cs +++ b/src/Token.Mangement.Domain/WorkFlow/WorkflowInstance.cs @@ -81,17 +81,17 @@ public class WorkflowInstance : Entity, ISoftDelete, IHasCreationTime /// public UserInfo? Sponsor { get; set; } - public WorkflowTemplate? WorkflowTemplate { get; set; } + public virtual WorkflowTemplate? WorkflowTemplate { get; set; } /// /// 已审核人员信息 /// - public List WorkflowApprovers { get; set; } = new(); + public virtual List WorkflowApprovers { get; set; } = new(); /// /// 当前实际的流程节点 /// - public List WorkflowNodeInstances { get; set; } = new(); + public virtual List WorkflowNodeInstances { get; set; } = new(); public bool IsDeleted { get; set; } -- Gitee From 81ac99dc21e7465a3b089a1a252560d263aac1b7 Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Wed, 8 Jun 2022 02:00:18 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E6=96=B0=E5=A2=9EDmeo=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorkContent/IWorkDemoMainService.cs | 13 ++++- .../WorkContent/WorkDemoMainDto.cs | 2 + .../MapperProfile.cs | 10 +++- .../WorkContent/WorkDemoMainService.cs | 21 ++++++++- .../WorkFlowNodeStatusEnum.cs | 12 ++--- .../WorkContent/WorkDemoMainRepository.cs | 22 ++++++++- .../Controllers/WorkDemoMainController.cs | 47 +++++++++++++++++++ .../WorkContent/IWorkDemoMainRepository.cs | 12 ++++- .../WorkContent/WorkDemoMain.cs | 5 +- 9 files changed, 129 insertions(+), 15 deletions(-) create mode 100644 src/Token.ManagementApi.Host/Controllers/WorkDemoMainController.cs diff --git a/src/Token.Management.Application.Contracts/AppServices/WorkContent/IWorkDemoMainService.cs b/src/Token.Management.Application.Contracts/AppServices/WorkContent/IWorkDemoMainService.cs index d32903c..741f34e 100644 --- a/src/Token.Management.Application.Contracts/AppServices/WorkContent/IWorkDemoMainService.cs +++ b/src/Token.Management.Application.Contracts/AppServices/WorkContent/IWorkDemoMainService.cs @@ -10,5 +10,16 @@ public interface IWorkDemoMainService /// /// /// - Task CreateWorkDemoMain(WorkDemoMainDto dto); + Task CreateWorkDemoMainAsync(WorkDemoMainDto dto); + + /// + /// 获取Demo列表 + /// + /// + /// + /// + /// + /// + /// + Task<(List, int)> GetWorkDemoListAsync(DateTime? startTime,DateTime? endTime,string keyword,int pageNo,int pageSize); } diff --git a/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkDemoMainDto.cs b/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkDemoMainDto.cs index f1746fc..929cbcd 100644 --- a/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkDemoMainDto.cs +++ b/src/Token.Management.Application.Contracts/AppServices/WorkContent/WorkDemoMainDto.cs @@ -48,4 +48,6 @@ public class WorkDemoMainDto public DateTime? EndTime { get; set; } public bool IsDeleted { get; set; } + + public List WorkContentDemo { get; set; } = new List(); } diff --git a/src/Token.Management.Application/MapperProfile.cs b/src/Token.Management.Application/MapperProfile.cs index 7da324a..b2246c3 100644 --- a/src/Token.Management.Application/MapperProfile.cs +++ b/src/Token.Management.Application/MapperProfile.cs @@ -58,8 +58,14 @@ public class MapperProfile : Profile #region WorkDemo - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap() + .ForMember(x=>x.WorkFlowNodeStatusName, + x=>x.MapFrom(x=>x.WorkFlowNodeStatus.GetEnumString())); + CreateMap(); + CreateMap() + .ForMember(x=>x.WorkFlowNodeStatusName, + x=>x.MapFrom(x=>x.WorkFlowNodeStatus.GetEnumString())); #endregion diff --git a/src/Token.Management.Application/Services/WorkContent/WorkDemoMainService.cs b/src/Token.Management.Application/Services/WorkContent/WorkDemoMainService.cs index 25d5ce6..2e25304 100644 --- a/src/Token.Management.Application/Services/WorkContent/WorkDemoMainService.cs +++ b/src/Token.Management.Application/Services/WorkContent/WorkDemoMainService.cs @@ -1,6 +1,9 @@ using Token.Management.Application.Contracts.AppServices.WorkContent; +using Token.Management.Domain; +using Token.Management.Domain.Shared; using Token.Management.Domain.WorkContent; using Volo.Abp.Application.Services; +using Volo.Abp.Domain.Repositories; namespace Token.Management.Application.Services.WorkContent; @@ -13,8 +16,22 @@ public class WorkDemoMainService:ApplicationService,IWorkDemoMainService _workDemoMainRepository = workDemoMainRepository; } - public Task CreateWorkDemoMain(WorkDemoMainDto dto) + public async Task CreateWorkDemoMainAsync(WorkDemoMainDto dto) { - throw new NotImplementedException(); + if (await _workDemoMainRepository.AnyAsync(x => x.Name == dto.Name)) + { + throw new BusinessException("存在重复名称"); + } + + var data = ObjectMapper.Map(dto); + data.WorkFlowNodeStatus = WorkFlowNodeStatusEnum.UnDeal; + data =await _workDemoMainRepository.InsertAsync(data); + } + + public async Task<(List, int)> GetWorkDemoListAsync(DateTime? startTime, DateTime? endTime, string keyword, int pageNo, int pageSize) + { + var result = await _workDemoMainRepository.GetWorkDemoListAsync(startTime, endTime, keyword, pageNo, pageSize); + + return (ObjectMapper.Map,List>(result.Item1),result.Item2); } } diff --git a/src/Token.Management.Domain.Shared/WorkFlowNodeStatusEnum.cs b/src/Token.Management.Domain.Shared/WorkFlowNodeStatusEnum.cs index 6739356..e76f833 100644 --- a/src/Token.Management.Domain.Shared/WorkFlowNodeStatusEnum.cs +++ b/src/Token.Management.Domain.Shared/WorkFlowNodeStatusEnum.cs @@ -8,27 +8,27 @@ namespace Token.Management.Domain.Shared; public enum WorkFlowNodeStatusEnum { /// - /// 驳回 + /// 驳回 /// [Description("驳回")] Rejected = 0, /// - /// 通过 + /// 通过 /// [Description("通过")] Pass=1, /// - /// 未处理 + /// 未处理 /// [Description("未处理")] UnDeal=2, /// - /// 终止【用作当前整个流程终止】 + /// 终止【用作当前整个流程终止】 /// [Description("终止")] Terminate=3, /// - /// 撤回 + /// 撤回 /// - [Description("未处理")] Withdraw = 4 + [Description("撤回")] Withdraw = 4 } diff --git a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkDemoMainRepository.cs b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkDemoMainRepository.cs index 954c050..1551509 100644 --- a/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkDemoMainRepository.cs +++ b/src/Token.Management.EntityFrameworkCore/EntityFrameworkCore/WorkContent/WorkDemoMainRepository.cs @@ -1,4 +1,5 @@ -using Token.Management.Domain.WorkContent; +using Microsoft.EntityFrameworkCore; +using Token.Management.Domain.WorkContent; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -9,5 +10,22 @@ public class WorkDemoMainRepository:EfCoreRepository dbContextProvider) : base(dbContextProvider) { } - + + public async Task<(List, int)> GetWorkDemoListAsync(DateTime? startTime, DateTime? endTime, string keyword, int pageNo, int pageSize) + { + var dbContext = await GetDbContextAsync(); + + var query = + dbContext.WorkDemoMain + .WhereIf(!keyword.IsNullOrWhiteSpace(), + x => x.Name.Contains(keyword) || x.Content.Contains(keyword) || x.Remark.Contains(keyword)) + .WhereIf(startTime.HasValue, x => x.CreationTime >= startTime) + .WhereIf(endTime.HasValue, x => x.CreationTime <= endTime); + + var count = await query.CountAsync(); + + var result = await query.PageBy(pageNo, pageSize).ToListAsync(); + + return (result, count); + } } diff --git a/src/Token.ManagementApi.Host/Controllers/WorkDemoMainController.cs b/src/Token.ManagementApi.Host/Controllers/WorkDemoMainController.cs new file mode 100644 index 0000000..5e41a9d --- /dev/null +++ b/src/Token.ManagementApi.Host/Controllers/WorkDemoMainController.cs @@ -0,0 +1,47 @@ +using Microsoft.AspNetCore.Mvc; +using Token.Management.Application.Contracts.AppServices.WorkContent; +using Token.Management.Application.Contracts.Module; +using Token.ManagementApi.Host.Module; + +namespace Token.ManagementApi.Host.Controllers; + +/// +/// Demo +/// Demo +/// +[Route("api/[controller]/[action]")] +[ApiController] +public class WorkDemoMainController:ControllerBase +{ + private readonly IWorkDemoMainService _workDemoMainService; + + /// + public WorkDemoMainController(IWorkDemoMainService workDemoMainService) + { + _workDemoMainService = workDemoMainService; + } + + /// + /// 创建Demo + /// + /// + [HttpPost] + public async Task CreateWorkDemoMainAsync(WorkDemoMainDto dto) + { + await _workDemoMainService.CreateWorkDemoMainAsync(dto); + } + + /// + /// 获取Demo列表 + /// + /// + /// + [HttpGet] + public async Task>> GetWorkDemoListAsync(PageInput input) + { + var result = await _workDemoMainService.GetWorkDemoListAsync(input.StartTime, input.EndTime, input.Keyword, + input.SkipCount, input.MaxResultCount); + + return new PagingModelView>(result.Item1,result.Item2); + } +} diff --git a/src/Token.Mangement.Domain/WorkContent/IWorkDemoMainRepository.cs b/src/Token.Mangement.Domain/WorkContent/IWorkDemoMainRepository.cs index 783201b..b876c8e 100644 --- a/src/Token.Mangement.Domain/WorkContent/IWorkDemoMainRepository.cs +++ b/src/Token.Mangement.Domain/WorkContent/IWorkDemoMainRepository.cs @@ -7,5 +7,15 @@ namespace Token.Management.Domain.WorkContent; ///

~95x0dtu4%Zgzj9N@Z+iXgGmJyg@k(k#~`3A(e<#p00ep5E>GVBHtn zupFklvvzwu?C!8R{;86fzMCZ1y%5S!$|^=A_jtv^po67*p6wmX zM0h7s*Mhk;-NnNLVZLIOs}9RjyBjRAXk3}?_uJfRv~hSV)gm%`DrvH($>e!FP=>)eZ%&Ie8!TD(aPT00 zai!(>%+OqYF4#3Jyk;odK^GX6jloh94@a2mr^e^zB_&{a6@}#8vxKWLOsTrWc$0}M z|6cT$s?P28Cu2}6mK$zm8`$vEU0EY~J}Jeb>zhh=8WUrsdU1D`5vrHbE_1e8QRfY* zT2(!$*|5dU*_+La;94G@9zcr*8(3)4RT-VFf;s__Qz*4xWv+QhI1DoBZ0I0#EtC1 zPQ$zAlR!FE*%9c!g)?-;d@LSw1E~K`0)lxHT1-}VYOHBX!hKtEzwAzj8opxwuONT= z9C*}T>r|{}S116J;{7LJNOuU{A5B|XCUXB)>`BO{m?6_)rTaJ0%#N(OQa7Jam z643CF=w7sVVsal^IJ!{hY_G#Dj}nLp-C%j#^+x=GUwIHM`hY%!7EHh9JJ6!-^<8MO z4;oF8XnXpQv_>XG%Hofw*p?Qjj{u5~ z;{vl&x{joh$y81hK6CB`R#dAjFcGm>@L#MhAC%(&8dtJ$4m?P8m^z=In zjVZ&Un(;s<{0~>bSR*MqJBj;I_g(+o}+$6=Q*fR#$N0=BjJ$WWk=f;+8F^3eD91WkEs~U-Ia2o zX*IX#f@eH&Y}0Digo4dxy?GU#@r);ob=s@5(r2U7me)$QY@4g)nk4Km7q6gup>e@j z#j34|d88!{*SnExmi~jr+?d3jR<>@JeKtd7cW)PXnXyZf7uR``zI-CuL+|fs_z$7$ zxPeRl5#?>V$Sx!g0^)Y{{*a#_)K|~xA0zVB{ZuPopp&aYKhK|A$AVZ;KZA=Nl^RHIM*Tq3vROsQS7+hfJnn6ta05u0XXRa+$-PC)0IC-3hR zgq4tWNa{=c2a`#_lY3{ZZH@>_YqbZ`B9Nw{^rKK3b)*EjG@I7?iyg2dyHHf zXuS}v7Fr8vb*Wc(7F>XZdk6v?Tc~Ct;C4+diQC4+Q#OYrhg|#&DQ(wEeSC)i$!cNqKyvR757HIJeO6p@| zsFmx|vD&!ZX^3Wg04}LIWS9ii!|;AO1jX>JhZ4 zO)+4A+7u%MC_xw;Kne0T4D`qFFnI^EhrFZaC)t2e2$VStpP+odP+0u| zT7QbmpW*VCaxv0iK-m}MCPEor%)dgH?*9>m8(ses zdOe<4uho{EYl$XL62Aw%{0n+vo{{gM#S|k*)?r+qSf?UR-0^0=-$h4E1M=U%?v}(l za+ESzeubCXayZKF9s{AlTqB&BkHanJ8M2O;oM%h}az6gR$;Ol%PsS~09P@HuHW)W0 z4eH*`s>pGw(B=ysD;+Y9=_%5+aVqJ){Nx0p#@B0-jYNDY6p1*`E(F4#7NKO^nr7FS z+)Oq?t)rY~SAjzHN+n^s5s2w@=^L!nuBduCO;kh0*@Ir>+wG>K(mVwRpOK{3b~_K134USuE{OVu18h&e3zRADxBG$swAQS5YNbut z;Q{WL^w{gYhz*r1a_HT!JNoqtkE|wkTo7EP&Zs3n5dvl5_ta{2*%*t7NeNbl5DbGQ z0?^}P2^R#i8WcUFnKG*AEsXBduzDn?AUcaG_8y|7)!JUR3>AKQ#}LyS3G7R>g2tw< zyy4hQWkRJ+US>Fhp}0if9*!%65vnPVYtW}XaHJDkn6KG9DpBO>Pl$uI?-@pLOD!+Q z(ow2Nwl9eAK;goeQcE(VxSx^ZVSZ*$sDPmgG-X6aBjrIsbiFJm{wBq^e;68xZMW7g zbXo&ZMscRR+(i$Bg$%XCxp2julO8Bo;xMQEBRM> zEMyF|PTObU0w}y%5eb%ks3F#1h! z59qBTDpy>s*DP^=jtj*h zymL&wLuP;3Fv48+NRrM>Ob+6N-N$r4!q@1lNk4p0gH}W8tbu5{en&<@gep;e!-JwG zuIQl}tCwT!7mk*b_cZRfcn*u81#P5ER!VE)5fkawkTY&)$^3X1c7NpnbLwO zLm7mLM4>ovlzp)ipVBvx8g@|y3u4z2n^b|f2qQCXoe9A1gr6S!pz!}YK-GgRSbv|fY19>;4eqCtkg zAHSW%Z{)f)JokG1#@<+YfE~RVzx^G){8qG39bh>1a2<7L2VoKxtnK2By8zm5xeTS; z0I0Y_MK~}*SEFl^pG1E<=yMHzBjp#-dIx?Z<(VD)owy~@4*+7_!MI;8gT+n?)5TQC z4)JM9$)5&X?*<@`7AuX4TX`pbdl9I=lBF#%%%HlXfc;A zLXn0-2d-rCcM5WB=C09AktG=Pj?sp6KwVw;eYHQX{-jA1N~$E=_;HxuMF@Yg5c zw|nsLlcZ%lZ#!>Dh!N!61TgfO&O(RU*=_$lnnoQ5YI94=P=~JC3ueEag6eLK5iM?lR+zs3!`5c_;L!j3}|62%Ng7Mt{!F;+Fnkbn3hh4}T87y%w!^0n%TWTjTn$ z|6$khj5?ZeX%ySF(PaG1{pgLJWDlT)@E7w9XwkQe9$im)oZNDWq+8d8xaB%|5n6Qc z;)-x7Zt2R!wSkPrWr0pwWHc@dyOvl#W3vZ z(lZ6P`zhVE&v$zXy%zF#M!g@52|q?ZaOBHdE>2xlXGQ}_svy!i-^y!lrid2@#Hw41SLJm}^u zqT2`0qWK8_N)N^Ru+s4n82L=hF(bR(?DmVvXf}JL+jD~6iz&kiii`1rcymActJo)) z6abv(yijrEWaow2BX!0H!E2m!Y*BIKq~mYY6gl7c8)pS?sV;JA@Hc9TAHt{TtjRxc zl2BdbA2?n38(lehOBIs-oQyBy6r$S1i9==STlgsTB+iuY;FizPOOx}1UYdM^zK=|& z%GW*)NyFDZ1M)JvDxxz~PF4EEeF?WnqME#YkNXKobNH{R?5c1|Q|U~YXB8<{k(0-r zd83}h@P^%2KI`WCpc04_ug06wg{fI@RkmuAnQ?dz`yxi$bRDd(twE!61h$tNA8BWe z=Qx|A_Ldw~>pMlyr4$~eR9}&t*0=ztRy_NzONqxO{)m*Z#t)0`fUJ1=Yw6y)=$e~b zq8h;UN}l_3dCa8xi+5;H#v{E+);<;a>vDn%N-Uu;{zH`#MBw9 z<)REViq_K@h(L!{rs523K+lC^a8~oUSI*^mk5TeP-8FqjMlrb#bIIg7Os`2U!StHs z>PxRlF1&P@#KLPl1Dujqu||?PvS2qCSrrki02fN*B0doC!{v49YfVd8Ug;OOt_d-X@ z*I`*ed=ufg$bo~3;t`%x(IFiZ(Rk|Kj`+OWt(GSn1Uw`0v(*4(9>r7?1@{Ax1;+Q| zM9z(yFm8=06hf>KTLU)gGRcD}>YYg$Rw$zbMc^0Z_)bUAUj&}(PETijaKx;y&Eyql z?(5VTgq>f)0pC$MjdXuGYB%aFL_TeSUm&=Qt9rkF$gXwtw=syxdCf+kr{(f8a=qaK zR+4kZYPR8>;Nk|1Ab_{SC`=E$15s^UsPzUn6{`jcrC==e*tC_A6|i_(V&;pg^ws5$ z7dW1-!QrC_FzFl)w{BxIO%6jek_rbVWO^Z0<0%?&;0=HU_wv9Wz%U@)rD}X-Q9zYA zr|Q=skqP1qhZpIMj-|$UmO6$evx2LGOiEw%i@c>Pzp%Kn->x*MXBZc#S8?Thknhsl z{2Bi9hzIiS09dL5@>spDGGNi~+<2DPbAE-1`n-EUlDIdgE)Y3G|FxdAqTRjM(RIb2kHL`m|jR#z%dzlEM$!LAf9Ji>WY#3 zAHb@ZI95)nK{uZ^c9`HBUe~k~9+q5%g9V<+ywu2>V|kY~q^~ zsdNZcsVQqZT+K5d@W!qkxEOQk-DXVMNA8Bzj^6d=>)I20`StW6iL{u==0I}` z44(oe?*kno8Yr<7wJ>=fOpsbKE2R(+6DbZ#Cn=!i)DkihcViAw2wNU!t3YD)kSVT! z1hL+kAhC+|YE}7P+Cxzco+9!c$?v1IeaIjx2XVwtu_fs}%80wO^SR7yX2MM$sk8U| z%27NtFAs4kN!-yRG%z=o8yFk*^{V73J`|N9-QS3P)QO~ptRN5e`}yP$&Db?Li>=qN zhuyG5H!sMEY_IgDdL*?b;e*m^(f{BH_k)D`eF;LnDr0VYIb(+!EwGP<4Cwp%1RFK)PCMr-mvR4&<#-;?c4mH@28{+4P?<6qB5vhNJ&P4$_!a+K6 zHI2#y+_k2@W~ecafHcU2eE|oaduS+lFdrl{@rKl57u~nFCejlu%mOidIUnevR^s+V zk!0x7SyPq8Q24&xtg{M-@zV*CLsm~39Q$26gEWDb3A3eIYhs&`Lr3pN#j*-6p2}-B zR-cRYr{(ZswccE_RVe+CLMg}~lEcL=mF$uOip0^o=3XBZO&|pcvFN;v3D1N&lASv4 zLZ{=`Xk_}Jh8z{j5``)xQ1iPObU2Y6q>hvhlH46uCFYC{QfJwDnbd(7Me=*e;M{@m zxMS4xpRdk%Pkj1MtYCJKm z;ntJNULBLg5&9=lGTup&0?(j9wwG3`A?H-sl4Rhitx1Seo9%)v2?^B}bIRST1Q$SE z90gxLu-V?r*QwSdZrzj-Uy=YlaXu)m$UzuRBS7}Q5Gttj4k*5AY>j&8kH8~?kT9{? zdffiwo+1j`hwQ2x{2?&ME`b@8frt)ZsO@RO0WA3wFX?!>+>p+?G!0d#2Nhb3dQNPcTLRUV&YiqV+B-`8dgBONFJi^9Rqh*>w@vT)iKd~oYC4976h8Im%2f)04AAxrwk%)MPPUk`!5Ds@(xffO$$u3n=0jD%xbc zZph(R&VOAj>Xpk0F2RA3SFd&rx|IsvdRY(S3fCjr3v9z?|;F!WzH?i!9YN%x?z-%*gbUY=mg8`*+3t_})(`jrBf<&+rlEWUes|_f90d`VxfpFL~P9{x9 zNgB|Lo1$T1Xu@S4??uf8xMXl+o4CFNXmNx>kT2;01PojP0mBmD32!{B>p^#-;5qoo z8{G(DG_=Q(-=urExb|BU-uXQsamNCSSmHw7g+%wFVx(j83NN~n#h4~MmFN^P2+2E# zpr6B5RpyawqB?Fa6=SHx2iQBdx5SgTYH!L4z+FFMG{HrL~+ndJ9s99+ANL4d`lS@o0U zF#HP9E9tQAvb%F(R1?Eu5ayNqdJhysW}cx|aA$$*wUG7L3b+fIELe0xVr;X~%h9fj z6+&J>424eKISHgXYM<%YEp^1iG|B07qbKZ0M+}SiBm7X8>r%La$_>pdu-*>5X>T+o ze7Y^xQFV~#oig^+vV(l5lG7)imja`lEjnqI>I@>SBXYHn+mX_TzI1$#HbeL7TmGio@D$VjfV3)XSm4lr- zjv7f1pufa3Glu$uSb7mUN?y;D+DlDDwLn!*Uf*)RenJu{Il*tqXMQ=tgi8#-AsUGv zO32w7GVN>~&VFY}$y6)+aQ5`mOqU1a+#(=v-eK$Pfgv|rm{Jk8vxi)R@OCr^`!5C=0r zclD;ENuy#LyHEcWbnH7Tt3)pJeuok%lXOjXB$x4UCEp|LYhaG17eq~#Ryj(Mvm$>i z01`6-@R;Iy;RY6SjvtAZ1V{jaha(kXN9Lh7uI#O%SL=I1i?1J@I2mPjtmAD;GoMmGlKDkFNh|KnVUo9tPn3)l|qL( zD-Z#|^f)Tx*+cj%b5=Y9e|S4wW@9U{Lx>9}I)v#l-ic0cPoGA5&FUpNy^@-P%1Xvu z9Pa@XI9^Iwcti{s1|pyytdxnv~i`D@#55ZBZPkNJVWKki9I(5!P;}? zrW8gV9VWWs$yU0vLXTJNV!mq`7<@hfBp(El zX%2D7@Wcc`Q#e;of3?*S7Gq7Nz0RtC$^ejf?2tCF$h04tO1pt_Y@@@#V~lZS7N{i* z?$1JoroZ2XbBXLbWO;Ke>G2VbFEd*8PO~VkT&ij~#bf%8ay{KfSxMfD8kK$nzNKHOq4M$-vT~teLS5y%?mSRP+uQUh5FW_$6YifR8vUbJU zA^SdQgRW8{%Q&1lD6z=!T$m7km^=0A#*Wk}nWdtcgkRL zTlG)qFL@QqVOU`uNv+~$LID3TLnAjVsfnLprz(?#$ZR!`|0?)0Yj*OL(%jJu_V1aa zu?)xe>>XIiac6t&%h+;^Krh@Sw;Hwb?VY%oEL@?`hZI-Cx{3n1(-^#eZU6s{7 zTtn+o=Z&ayaZ(F+o`OynIkT@9#4)>3vfj8eu3j-XkHaBPd>uV=r5H`CawrH8?gR*l zhxmJb7~R1dkHPq+Z*iv+qK-2rc;aW09-i|RtL&KdUkr-IULuAYRE*&BLD0lk2Ol%t z;<%@>Cg(-%b%kpDUWdanq&ZFs!sbgs<;3^>(OA!`XqZv#zA;nx*%q>pss$KsHzUKd zrTli&KXBmel>M$G993w(N`}*X0Am{4#1U7SiyqU(TCwhxxq?U22#j{XTJyO#9|XR! zi9H;?M;dl*rNw0@K8c5#wns$4Xi7E%4sd)?F&vs9-3mTqDu47tU@$sa#Xc$;4wCDq z#^>hkrepv>#Je+_e+E#%^-7f{fNzxfFt{Lb2Pu#1u|yynJC~$5Mx2`NRnfLur%?ke zj!(rgJWHiw8B0>)drc1|8RS~A+;EQHj-xZoqS(k4k%!zlxh=slHJ=p(qa9^H4BsuV zm07^^L=ySMnFKU;zmio+@=vJzJQJCTs2;O3SY?Z7l#Ys9Rf#C6 zNMfwWOg}wBiTq48o+F>ie*Op`W%lzQ!Wbo9Xgp#zoRn;8^-VPeKZfp)L%y&8gN+um z*~ivQ`xbwM$X5AjIbuH#7|Q6G`R%J{eG0$*GA_T0O9Q`s4z1t7rH$J!qP2n6@1b=! zT7Q5RGvdD#w}^3K1d~c#k+=Z}+hg(aRzvFgl^|z@N~@5#Wy|SLPD#a3t_JYsz>`T8 z68CvVZsv@q0HF%SvUo+QZkeV3Rnm9ze%--tu`aO?z^l<&;=ZrJ&O$qgpF)?3uTOz4 zTktC9EMSd;H)1pyDsXe$?S9<($8J5d84DPpc2V+nZgzCkUh7n>W;o(Fd1AVyJ2UfA zx4LFK*{~l39Z}T5NS=;fk1!Sd_;%$YG&jP<=m0YFA+T8D**E<9q|mM_Ou+#rGxp=K zZs%fUF#!J}DEwtWk0aSQx{ZJ8XZg8Y;DAhz^X($#HN^l7ybKR@&KVTWNI@oeBdkt#}h2V6Crr^h)d$u?e5vlUjqCF;QcGK zTGC2?P6bjjr0>)b;P0a%0Nwb{zrheCt`};oOIbq6@oiA|Ea?1CXrcaw$=XN%0vJ+U z0~9pNQYwOQ+<}gnZ0I|HgI@gKMGOA)sY*3*qTq3?@w|xTFuza`JA7Mo&V5pS$SE1~ z-+=4I;K;;t;Y&dWao=#a_o8J!1}+qLgE)^%#la!aAsLdx@e1^a1WL(=T1mOHj(x1t za1xD-M^QcEHMaDwep%A;5EIaSAE57eI<@kpK}CprK-Y!=hlZFw- z_W(bn;8?s(-ZE(nLbQwV<5BN-C4>=%jZWocG8r7~NXG71UvhKC1cCYzfTH<{mM0jU zl2;!vn9AqXceFI`#X142R`M04(4Ux=LOw;WL5DCeC2!(Ehu1IEi{dxsgzi6p&S+0c zT%xkGY9-L!o6sFBO6FH^c`_FKJG8|v=9YG&UXjSsLIWvD>s3oKT{a`Kv*q6k2xP^oSmrc6bqqBVR)6mgdbg|Sgg-fMU zM#$x@WJPZ!>rUO{6I@H-vmhT3>EM09TMD_HC0=LHCqj_X=Ro|uAjeQSj6&qtmg}}5 z0#@?maw$4XIEt^5srLa_hW%Y5_?r8H_0yeGvSleoDAr^#QK%fDEt64td-33Pc<)l2 z*ERcIy%uC1N{+~tb;$@^>eg~pp?P16a6^LC^Mv{^dcO=OX-5I@t{AT{v~L`x2`}CL zY4gwJA@dl%yPPy?CZhU`Lq|~=Ku!ow${fZLc1*Up zDx~t+4zC|?9IMN|!e%JaQmxTxYft_?N3Bc2+MbU@#}z&2RAz6dTq&ItPpg&F<%Vb0 zF~5y(K55SEMOHXl;qjL&hv_A;480*`<#JROT5m?HC>P@~t5&6D^EBO9@rxzQLsB%ZyzGRS&m?2Y)slS) z|6O_6yf`U|JJ!`TyCYky%9WQbcM3v&3BKh}UR@Z^txm1ZtY)*Nsc|c3nQQ1}_{Ddu zX14_htw6g1k;~c>?>K60B0mIj=-o8}f67A}#V&VQ^E8P12$<>?pO7kgMb?UPQ9LJ_ zwolS*c3_&q*&%`W&2E~8p(S-=ds7ZX;k_?nh9+0&D`qRk-$JyghTze6{h7 z(nC=TO6bi#Z;2L}o6wRb`V2O(tW8BEgyG~INxxPJ##)QMaZmJPS~cACqyejj@w`K2 z$t1)aC9EP(0Q3Wg^+<@CpB@MZ0m#3of2co-ye_vq+#%v#%TSHv8u6sN1PH~Se#q0!9n z6J>idu*<&&06Yvc@iQ^kU*r&IZ)a5uR;>XBuWN$Qg>n%TzA5QpbfDx!iygE#@I><` z*|i`Vy)_R2uiG4=>5lQj{l!kRDR%z>Xc*o@k03-vA?F4mV^X{iO!3pe6fT>_PoQ9h z*xOP}#V8hyh9vB?=dI#899P2es3yHRKLWTO4dYb$`_eE(pv$K)ThrHny{@%d@Y20u z^>3P#W5;r(zLu9oQsO$UD%l%Xjc0RnGj1x>DJcPfvlDrSQ|YzlzZ@Zz{Ao(wWPQe9ok$Uwy-ELHU?+WR=FmDSxl5GkxpR#h?KxCN3QT;CgI`Si0zp_`0)E~ zd&Zr^Vp&82}8X7~|OMYEK7!S2f;tm1Kv1goP%3 zy;a5**&g72Brvh(&jZz=c?$IgDem0)H8<(auWnMqUd_(GD4m<{geGykn?^~f55reO z*k%kNpuY?ZJ`Y{te}RyTgYD1VqYU`Sz^3w#`05w%)qlfRW0&k6c^dop(zGj{Mc(`_hJTxiK5i20 zD5DQ(Ix>;sLXJ7{Uqb*b36PC@(pR`c^rq)-quy+1Uepop1rpyQ5<904kD@$~c-c8b z!Y%UwJRS`%i}cs-6$w{FeF=2QjMWT18v*;tdA!thlo{h?vO!ds`9=(1`e8LIUiV6f znaqoQ9(+rlgv&obd`!m-A=90ggpQ*aH3xi*+J#`0YoK=Z6+RXM+C;>b`E-0M{Yv&O z^<{J3t{3YP8t58J&3}aOMiiI%48Rh*R>$BgXj_g~iqLGRR~ffRvWpZ zx;A}LhPK1?8iU!&#RS;Nd@fK=b<5+!%T?lX>5$@*r)hB%O;IeHbyl?z<6>8VM;O^X z6AP40|41^5#1MI7z}bqJs4ES-NM~uglmKlLh``=v(rB=fu2~@Unq+ubbWt7}Ta|t} z_^9_L=WO@$rYF8yflCv%{ zAJMi_p`lz^L?ggD=_nr{;SV&QN$6P?~ zuK@R_a9Gxp_=~lTaJD6Ze24987gN@(Js> zCbGCzYF1Be9{Gv(mTCxrg4Hps^qHvdWvoUIF$(#J%#njI$!?#7>`2KaVh5ZdoMW4{ z24t-OsVF*Fedylw7x|uLp29<&R>>)y`ekda2A2*gY7s6uWwL0{KBzt?J$BPv27LaC ztE9DE*@;NHSl5Lnaj!$&MPdn~$24KA@sg6UzbB@P)q-6r z*(D041DJlJhG2PpOCsAWm2!y*(hhq9Ko53{KkvgH^~w2WYk-kp*J1FGS}m`2dZ?nGY?|S*80!srk^*(&gC`&3yABr7nUvNA<&xTiCiBS#@eU@%OoVt5l}L5 zM;8r9ipZ3XkTpheDTwXwn}L&i=s{3$5wAS|d7pFx&oJ|!aZ30Q`bzxdBN}MVKIRmB zCwg@y1|CiVAEYNtFr>o~8$<=8@*aWNMCB{<-*B$&9&zfrnk*42|CEo;z-wsohmDbt za!i=h@jt*0_aU)55(As8dG%kw^d^@QnkKkl7dmT6V3}NaTQ4YyAu|s@f)PZGDV3Oz zS#)11;SVNCJ((ZHU(Z7eS!>PjM~h{cen2I%5e;e;u6yF4_8C0N6tSO`R{W6~Sbv1i zBJn`oAeEOkeM_g8ciwYS`%!ofNk;HM;tko7TFo|0kj`HbBbbtpzApeX9&{^`P0_J> z?uvpB>Ck-0SSZN+JjjS#w z2>BtW<$)G4=$JaJzLZilU__U+j0*)xx8DV|(l_L}1IE5rSml}B{{f`NAL7DFMSqMI zixjywOkH#F+v*DgC?Q?3ieCl(iJKFBNTpzor#oqQvjo!rLEkrskxR+{J*8^7hU5X3 zENl5pt+Qsg^9_|vtd*~Bwa!$Es)nKbc>*C;x{LXtt(7wsnZ~Gb=tKs?o89~~kn}Hb z*(1G~e}$Ik>uuEf&ef$&{rt{e!rIdu?6La_cL+(G2AjU_Q%me%4su;Kl}n(GiWh2^rvxq2)E4J zyo}bb;5Vk{{2W><_>IXke*?ECaLe?The4DZaLe?QM{#=-ZjmFyya~6r;ugsl%mP{n zfHrT#AHIjZM-jiR;g*5PtGHz}>S_E|#w~+DYq+iB7BQJ-1Ggr^Mb4u2D6|kcXub@$ zkH;;d*39$JdL@2)0$NYPZH?xVmE-i>avN)_I{0P6ZgeaD-(j3GxiO@l|{E6LhCI+ z7)7_tcj5AO+@ijd`7X5Hi`EBlc|T}!a|BIfFNG363DCm)S?MUj1US8cB_Tct1b+^= zeFUvfpmWbs=VQ zFBB-_o45xN6+M9G@X_M(91!Yah|K4sMT^TbE7ezMxC!Wws7KEvD>z?2;Lpn_g2g6U6QI0awa9LBs&gd z)Qy>LdQZoBQ#eb#Ns1thO4-$LViJd$yI|=X0&EHxa`obVyDZ2Wz1FOEYNgG3^R%3e z$L)Ks_acmOZc-m?YnUy+FT5En9Fyv@p4c-Wm-yS1;;TkDidu@|{(@h~yI!QHnwNh_RmVMz?y@a0g#gBFC5@b|qG zGF@fNHQDuLH?M&>dTrm+TSTu_Dc`ONSPe481BY;3(;TKlzkP-6?rdDsOqzWat!!&PIq*%H&P@=^2w@N)= z-cp^9Wz#kr!Sg z0JM|SI({9bC&Rrr27?E6kotxO9wZJdo~LwRm94rmO8Y*L9eAaL>970TwNxz00?id6w0Wv07 zy1`-LAc!O#j^23u-q#}6LYjtEr}SlPt&Ry3ytml>QHVsG_r*?n<{53;ZY}Y+L+6(c z#@HcSgLxd{#0^LbQ3q#Hif;Z`#^2b5rbPTWj{#?c4=txSY99ABqGH(XV`UNBuDiTV zfQ~nVj)>0ftItk-Gw#?OcWT5Ve}Y*6)8JItU_4Y`eQt=tE7m5&t_`B_O5I=g^)7W6 z5&z~YDAD&eO(Ln=9VwwDEZ1UEzqoWcp zcH&2a(V$XVAk5yZVD#w(a3zi}GPocD-przv!(|2+goc@?(5m9Xpr;yIOZdYXwA#2J zhQ-`Ki@_Q9<2>aoZV@P9ZlT3Uf;-WA2`)$QhkMb2x4ii}wBXBbo&jhN;1*8i<~MNK z@($d#@dr9_Un7HJehYti1dn_am%aFne!X<*EygzLui32fsVsZ(EAm17(F>K{ozLuL z^T%Uf1bi&N_p~05vF@I+KPi~$#%V0ZE48-+{`AB%y%KvSD&3jC3ye@`&U`!u<$PS= z1h!oU(Lg`qV%*rKKpcI^o`kRd04{VWgO8W_6x_0Q8{DqUi{#cg=q=2HOvSMA@I=x| zxJ*Sb0bOh^1-!Q$u-ki^QUy}>@wHkVnb#zFuMhj=#Nl zcZcS?Ap==*BJq7<09I0y4qWd+k96RAL|UFHCHVA0v%Fy^6^xOkrB1(s} zk3*8NK7hMV4Zf17o!k5jkW75D+6!W0Nq4%>VK|xpy%J+`s4PeWFmBhhpnKkLqH}uY zeF^BFi2(s(44uS8Nr3SH2ALj4Uj{66B>Ek|qV420v3SyI7uOT<<1y@=kxc->RBQ#^ z1R+2D9wANW=prn6c}$b& z;b%9PpsLZ1K}HP7P-e5P>3JUJ1s&&}h!)-D=x%-iZs~LWRJ7o8Zk&n%A`VmrAbS^J z7o*pIfSUJQwCJ;UIa=@_k0n8{sdcjEBmvMB=p0V#%9A`Vx5n8>g6x##B?)M512lAG zUqcH%?B*%79*fpn(W0OE+t8x3`P2+}?-V8MF|k(L*2x zPDPUjjo~0y0|JJF(2Gs^u0`^!4oeaP^m-70K__oQYZY=2Cxhl&aEo}89z*5Eu_a9p z#R9kkNu?D2!)`UlO?w6L}ZN)K+fo zF~$soO=5T%v+{Nj5-}^f6?VDYkbv>T4Ht-oNj^$Ll)VUeNy5!Y5+0$iQ7afpoUG3G zPNAxC)MrWpIKY^NRb?Is8Tk}UXo`d|q&*Cdc&`kV$y1XL;1)InN56=R^0K<1%uxauC7;lR z^_Rd2p8(8^;3`B;q@m0<;n6pL0lguv%H;VOOQj&X$+*#(M}%wftm_Jph+zLEboxBG z&@VmFO=uWgvH^p%E=Q+4i2E#B4A=T~v=ETxxxeuJWvgjbDt01vV;;C62**g=z!`v* zh-QG#7%n^y+bc?p=Y+tgU(~UiTS-+rNj&Fr5JY0M2tDioE{A~3vcr{1Kn*aFyPO3P zAe|@&D$of0GT>gp0$&3@h_v*Kxj_4{Rkfv}a=p^QA!!0LCV69SH<(1~{{kO|ihdofJAvb0 zVSHR~6251*5xIurvu2g&z)7H(xHm~Os6_K_;Ptn_@E)|j2@Kth1zuYo%ox)p=w2>g zPlpWwAyN4UVDSv*AoQ0SEqEk}p-Eg3AdQ>iN!FHQSVnu8{{%cc%%(JSe{(0U_&qgRsg{UJ16|KlWv?Y1;T zx(guDd=Q8{MsT2KRbY{Fa-A*L#j9fgWV(cTD(jODBoRVHy!kjF#Qer?_E?OsQhtZ;s-j4$_x2_yWA@51zc*#9JUzfceYZeTEV|eV6_w(ohE3y3m(EAWB zdw}gcE+3KGfMgUzMR7a3H2`+u5i~!JkEbFxTqudxCxOy_jF{`j;84M>eK{~shR4f1 zgkBP_pcx4+P&3w&a);b58wBh~-vkYpfn77HEW6Qk_Z9T+20;W#G5|An z4c)(h8B@_cgc)5<11WclJT{LBGUj)H){o)#-_e>w7P}vZwDz>aPStKoQ3@Zw_?!8V z|Fro+Xl==FgB=Jt(M|xVJwU*<_Z@cse1ggPG(-kJ$hir1|YfNbI?2E8CAeNO_x74XUp=sdQ=@4)F|)c`L`k}33W z9CJ2lK9EW9=Jgn{Tas4yeHcl)n?SIansIv>oMPLbBodaJF^o3?Yd1@P2JE8jD-)oq zk$9GX5R7Dq^vl(_C$q?&qq**rj<WPG1p{OV6Oy&4yQBOIX{WAo;=S#6n1M3I5ncR zJUkrf7a;57M__w)H&HqYUK#8p#yIi)QzWD$^G{)ci4)h^i_FNPvS}CE_0x8(B}qX0 zr85qNgyXmuQl`moAl{S<-!O1h>hv)h03z4%3%vhHjJKQHR-@t}yKNzrS`wrE%3+6~ zA?XC_MMKW zcy}nKe78HRqxJ^p@_m@g2riA9%f5t9V06t*q>oH#J5VVm9atuRkl)<3thbY=6oPWU{#XOQ&SStTS-V&dJE^2Ae+a^kUoj;=k#q@*X#idL(Q z`fei6;*Q+BdW8ZFN+Igk7-e_nb!5*`wVB^ZJoP1%OchVd9Iv&k)kH!ITY{tLX=_cZ zdKseu@}+uPgas?cNR>8k0~A{;+a6{T`X!JtsLx~G19VUAgzkxQOY*ABC%{he%gPOn zuLCp@W}TkD#C$mgEBD_(^LO*kCYTE|@ruO`Y{UVzOgz^p_YaAxE@q8Zq_jBFhZXp6 z<%uIFYxZVa(qq(D+ZpUfGX=Sbs2tBsM2X77{?pifX7=KOiTz5jdqWUZRbXC&TULR& z6xyn1`gCRw^R*@tniF4t=$GRi7>ONf*O-^#az7A5p%?E2-{loY-*AOk60S-5N7i0f#{oYxgEcKAH19n##}L^C|9Mtx`h>2+fz@8f_C^g|H2OM!E|Vc zgky+`83*EoJ@}CODwSnnXYh&ow;?7U3zBZdBx!5YYONPK#nZ9?>)VP=Yi-SLiYA=P zc!jc{39o3+Ys#MdjOPi&TV-&&B%UD9l*~DSb7QF4^54#>a=M%}{vKVtBoP$X>{`EA zidi0rChwA}O(Ta`YE&^>kSr^9WuWaxwNvgFf@ zmxmynMCKi!Dsqmg8b_L6T)a~{Ly-^+UK zBQ&rFM+#=NC`gGF61J)8QB2H+!ckp1Z~(uI%4#j!^+bF;P-8beMYtE_M4eT!ejELl zLhD-aHRw+MsK%DBVPhC8ZZRooDvMb+%tVsO>Ar_)$XZ{>OUE)_I}EaKY)t_3QH`$; zG*M^yvUdY@R4(%ko{@9m`syIDA>lDj!GzQcTB7(cuwzNK_o0ODvR+o(A>&YN~DY{+;IAs{s zVpr|%d$8xDaR52u`$TIxb5CotBjWYSYb@s?r=X-gO5u7kBAUeW1Eo?)Uq)Cirn&8u$$v;mvt623pq$pymRIGci{0w0GAFr}7JSp|j>5 zPVwM0qYjsF7>|PnBsF4x%oUB4%f^r4TqW`Y@_V_~?mD6md}lA9KrUS431e-mDaFxu z+h=WaKfrtipgw>W3Q+GL{C&;m|4Vf(diwc5lc=u(^Tc+CX)&pJCg=*Kj>$8pHn%&) zcP2y73(7esKd{LGHX7T`nCqv;=jQEZTh%K_#4>8$i{ZWx7ZwGhuEi+y`O7b1rC}#EqNtk#6z-}^;l+5|ebk8sIXZr{^hDjr9va%xayOJ>u^SIWS z2!KzPYo+>TB3nCVfqnpUvDQnbHKZ`E&hLF|Z5~5r9KbD~6 zHCB0Gfd}U7eiIP)OFf_{gJ<3rE8Ir8Xe-xh5uF1p7`bd=H8(poZIyDlQc;sXe_klkPa)WS!}$sgi&gGqdtpB=f-jTL81`QU&j zHeobOr06zoPKCqikON;F=KXdPOc45`_FAW6HIq%An35dohLz*ObmC7DK2s^{kxty_ zIJe4PW?o82*X+t5Vm3TfDR5jDn83_f2{~2yvn890>v@qIw@Q<%_H<#wnzn4aq|%*V z400ixzshv(F|-SZ-_yWyI|W{Lq2sVKGdgMl7}p(^EwwnvZ`F#6XOXv{s zdQ+5;Q2MjJ=;be7-ryXwTBlnXMCz_q>YE7=$wYed6c(=@5R+QFzy`>uZoU%7VM_tJ z5knub{s`utAo>Fp`rN?GWS)m5B)0Mrdyx;(2@A=UAkX)sJ9h&eLMP)Z13sZ*W7Z{c z6W=!X2A7ie5Xalkx+MIJ+-*K8SrIDY3%j%D8-)t1X1m!a!d)kr$v6E;;sQ%5eIOwt zP8?&c?~t!4-F#89njz@PH{l+WL>1Ut(dAOiJ%DwWnG=>Z9y})y%S`i)(qV8NL)4{M zx0*=vC6;M9Cob3gAEaiZIScSF@qZIrkzMQf_jm?1X@bujtyk>8GsX}5w=IUti0!5B z|0bU?Cj8r0{-k8d+$VCJ4G8pOcC~>zPyR#bnniG~1&kMqJ)%>w^RlUxL7;KsMA_cN zL#U5qobN1m_yJ{d3{}B1aQdY_fhP{)lh<-KB6Ul>g~ZUB5;q}Bd+d2=yr75GH_*8{ zdQ&CHkGBMeR%Q*Lu#(Ro!H72(|1*19ExTH%Y=O%722vX+PVA)|co+B_8+=$xQw_8vc! zO4XlX$;<=J&%Wg2i*Y1hc4l@uXRT%@3*+OHlO@YU85}tDcN$6ESU+4Tjkm*34fIz^E1%$T#RI?@i6k2B9Y?mdrR(nT<%%ortFen`xkst zu*ZQ&aRUaLWp46lSr~lQlDVV5VFXR&R3lT`s#(=?v4I?VJR0*{zWuPdtWFTTw4h#+ z`FM7VRImWc7A~kSW89+ABmBHi1T5;YW?&aT*ua|gYwkv$KY`0V$bRL2K93elP_VR+o7q?Lk4aP_WstTo z#XqwRr_^hMS-vEFC7;An2bE~v50U(3;KiyFEc}CN5WWFLLoUNIQUma2mpY&Ld1C-E zf=TpPVd8es6UmId#APR}O27F}SmOv;Ow8{9wSU7X z-Q=9F-~~BhO*Gy~l~S^kHoJC#O5~W#TTjjqyY$t6bqi52UHNzXr7PO`yusEL&QXcp(oS%a&JkLAjByET zz*kYM@BbXIpco*%fdUFDN+=-|MWt&%YAA|;q#Pg;l9)nOR79|#A_!hASP|5p%C%rG z*y{xqy}-3x#fBF&uh{GVdEUv+o=i?K$vyYahj;hc+3(q%E!mxU=bc$JWS9V<5d(9^ zASkz-!_xTs&CKXszZS$kxoBj~?AohOW)^mx*(>;bD{Of?ce#TTjSX7Gy=hp`=SbfL2;KJ^Q*5sFy~Ul}=aIbC84VMB zh|N6SaE<<-TU1|LQ6D2QLO%5YQ6BjOR#wd5FsJ$26pHcI5GP!#MqlrTUab?_nm$kc zEX(0kpYZ%X%1d0u^UE)(1b<>$2dbkvQJ1iKgL`wa4=3s~RCnPBML6+2c4M#@{*Cak zRuViD!;fxYNy*H@a36Z(4{R*+FrJeqc{mf8hp_M3?=KJGe_xHyfI1G(Vg}TEIEm_M zW`(}Dz_fZ?Z2zyk@wv$5Zq>b)NA(;t;5)^pBP~!`kE~>%N63IsZkbz#z+>;P-4eBK zx*3`k{uQg=>SboCh-tH!pRg~f*L{^n^3I9I38FX4xS3`%2XiPb_4nOiAD}= zjWGBX_dA_A_zxAURDl^0?-)M^I(S5wN4D`djn>3S7MYyC|ZbEiLZ_rGCM$MY@h4AgK6Hvagv{==$IATK(d0yr>dq@D*_#tpJAS;`}A zN}p44baokWclqULF*^q#W2N(W)`~(Ep*sK2beLUje2jMSpm$3g>xrCbg={VloprH5 zK^=D%-`~-D?&z0;{EALr-d>j=4}q{j5NrI2H)=4JTK6(PNffm8nc$^7YW>R3tjI?l z-XGVC?1;ug#;@4uCwZ=5KKz=(VE&zz{dJCph2{-{r)qZ8UQ}9X7|wH~HHYQQmVVSG zatW5WXxSpN9OgY_pvyr0-{LsOWaG*0|l(vtc{7VIxW8MEe zf~>v;ujAR!Iu*yE4sKvRim9}U#oCn)q*;$MgyEQrDrO9v5kjZJXk<^TSd*B6wanwK zoal&<_b`uI|6$c9Fd@=y6^#ts!9D7Dlk2EhrwVEf=YD2D2aNQ3nXp~Qi*3QHJ-njH zK=5w8>r!^U7R)MyqXx{@{cqBLSm^dOy@NFyx&WKuDTG+|angA=B z!EbOb1O3X(&}1jJ&Ep^nC$?p$h1sDK+vc;kM{&h8j1pdcVp}_QKs5(19s&kQ2Abx= z!TcVxznz(mTxrvx?4x|n0v)_4&Ya59(vq@@P{CLoe#Mq$`WF@EmTMI^5Q7oOSsFtB z5;R(v%I>$knLc37KV;5hG7wJOmd~}eKx+P?Tc9NJpCRHZ*fEA*3ehSIYCE$UHPB$K zxB5r5^3*N(v8MTlg1F4!54?k`s<@BS5(VdqCT6;x#btdH%7Vm$UpGd#TsJ_wj%>W_iU^vK{r>T2zk8{Qm0v+7T zv-Y!|V*j)woGH-D)O+`z)d)Kc>hJ*F8~*EHclMtTyU@(V`2Wob4esM%vm0CZIl_3y zft-2_IlW#)m;44jI6%Z$TX> z;AiG*VN_1>Uk0{Eyl2^V_bW5eOrK52r{)(GrQjdDLVt4IG4;Ba*obSkf?o%w*Znl} zW3;1i-UCO~Cv!pe2n-%TN6ja^0tZ4x>DI1w-h%AxN3R{Lz(V}uSv}1_&hdGu<+>yuLiHiMUf;z-RDXyQQI13aqqwJ4rC9WKyJii<`@GA63Tbl3mdoFAm1A5{SQ0A5stU!32xlJPUZ=& z;34*-(ymF7pFbK`9>uoE)3`tOJPHn_T0y0bR{B`O+tDK&dB&I!I^m%#?+!rLxRan= zk%l7|b@&v*4?SZH#-NPSvu+d*oE@Knz8^Oce}LiH@ZaBF^HytI^W6jvhh~*TCB~G!eabTTC87)U#$u( zea=DlSqf^OpU%u$1@ltL2|NDO@swv?YPuI2p9wmegX~pge8An9i68mI)ebuInUnK5 zvEJAH=P4>LWbF)e5%;=?lT79*hWXUKDC&@dTC3me3*{iA4A={fd(P35C`C~sP#s8#5 zMk9v~s&xymW-iznL|w7L>$s@yQti3Xk2yP>7miNSpt>q`c#G@FX)lQzsnlPo-3`=V zshtdt=PxuwUp;^H_XXDxzLS%;xJ&C(GcoQO9nQY?!T%$oeyjVa=)5u^;-Bzm^cw{q z;0k(+Omy6XTvRVmFW&p=3Sz(a;3Hf?zen&e--Y!PM+m{LivftL7a!JCV+!22PyLJTiJBa86x+_+g)s$v|LeG@b+2 zuMyPniN3sF2lEf@Szg)an4LupKV=aLdiA`95q_yxFb8L6KQH_6a$OWoOW>;i(J|M$ zNg^F@q+8@QUXIr}QNNA4Y}hlpLE#Fy_G`_56%G*g0;E$+2X#1=w}nQ#Y-K*);=NJ# zt?Cc?Rr~GGxUxNiYRm`&biV|aH#j&VH$1X1BR8yk7~ypI;|+ubZ`6oQtWinTn{*h@ zka~pv#WVCivpKuL7b!fKjmsD>*~iSmr_4d*dM-ID`-T zWwE<*=d%1rUoP(E$Ial>S9gffQ>{KPb$4mB(+HmVuXxCNIMERq81kf!ukgx9*o|$^ zKx2n3tyO;cmiwlIEvNxc`>4h+XB;;H&yd@*%SR<4U;fg~s+0R>w;|E34 zE3GachCvyZkH#dmU_M%MLbr?#q}8Cm%xTqL^ZK4!?|AgDlK!8-+=kxf(~C;-a*G7T(jol~ku#-5^C@lJcg7nM;_%+l9orM`FZ8z!-!NPLw7egE7sVyej8M(nZsqeMW zo%7~Cn){o;!&fiOaa`2kFdaieL&DUPk--(}$>>5gnST=+veko&JuwMPj#wCt)|(@k z$6eBSQipq9cjSE|Hwv#Ra9^nO@m8QvkHs(3E+A@iia!Bzmh;jJT+PkI*z1jf2yW$;)_VHAXUWubt}MW@qO_W0%Xgx0S4wFU2c1 zyu~W)V*0yeEI&Rg$hM4V>|KK;S27E}>v9nPQipJ&F^n9_#P|@WAgzu+rRoe03!y7$ zs3>ZV-m{qtbzQDt`C~ORn#Z*1oM?EXdKZhhSj>sK7&q_<)8N{|Y*T77DwanZ_opp~3xFy|Vc6?JM}$9FNuU7LCDQR%K8Z6phEg8Xm&^Jfa(@bd-jn zyn~7(|6x_1OZIyz$uB7?k6MGuBYf=K$~@f0i8eYs$b4};hdQEwaw_no%|}0g=!CrmGCsGx=}Z6@*@Cy(AMZSN;M)L6CKB5D;J+-W^_ag^{~FhG`d-Xp|x8I_LV z@CIRRd{@6#`&cX<$%zi>pl+_Gh-~HLIIcLJ6Kxvb#x!+!Jx9g%Xyf|QF&Mg$>(0q` zuGLWyPT-=Bz?nLe@LK&I&+3IF0R266FSDs@+BqptB;aYZ&K{;&ogkyF>s zD6UZdj<)-b=He$@%TW%3|K>zJEfcsx2Opr%C3q$l!#hfZ2c&3tdZj70W1#iIM%+NP z+`wNkBfB`6%8aNpCZ9@Mq174V4@WSaD?TSYgV_ulU!%@!qL1#VP#K@l(a5d(fOLcc z^#O6;^T-0Xp|3KC2EJmqiaxeF6{ZKk?e6WgXvzagTVQ9ni94^v_f&LB+ zeuRc14aGeRpE4_&gjNZElqdg5+BNJ+8g_;J0l9UgczvLr$DA$X#ILw<#E0Nwrd`5` zj>w?3w=lO$-JA8Vx8|-s9RO?Homz9dk~_belYPukSj~-T*KwjlL}>L*N5*3vE^xkI zehJTHVea%|cGk-;&j|0Z8FdfGTITC!PQGKVwYH^WI=sy^*1PKX`w8phS|f-4`D}d2 zRfp1hhZ*=8nF@^Mp!O3>iuqjugcYMRrN0xjd)BYq8tUFPH?LPg*MdGhdiCkuqni$> z5dLlsJNupo+}};(k45W-I(!~0h=DQVOYpMop9hb2CBE>>h(#QgX@c^1rw-8i+=}`M zk>7dcG}b|fYG8fS3{1zWU*NP_du;4}0vLEA$fyA`HiKWa&{5|`+x-l{_e!Uil~fiN z@Cy+&TD%%|UG8 zA8j^0(Ts6X#cePUeBMrvEeYdyg(&e=m*ByBX@iuNw5{ z{Snq-BkY8Eof4wv%JeH59q7s&$RpM<9<(CBIzV`vNTi(Pz&jD0+Om!)q2oxL#%ySf zL#r6tXg-4Z8_CIVuGM;mRxz|$ZwyzA;tCyl!LMRyYnKkaki)fFr$kPsXV!c=q5Wlpr3tL;*AxTuv|)@yaFg@9k`8a$VS0i&txwA|tX ze&o!*V;c6RVuO+nps!cHw5fco|88fC`D zzX7#ctD^$4MjKYZs~JDpuI2b9cr|0Tuq@u6c;IMaADa4ziw=@LG4bbw32!{$;D#aOX5|EcgH7Bybc9 z?OGUUy}wFfwt=(e zIYd|SY1+P-6&PrbbX@qCxf^yV|76SKlf0ffFou31MI&U^@={K)y9kRVid#KZeGt?we5q*=&NnPU`Q_yCg=H0$xkWrnW{eB}N;GV*8dIZvU0>p^b@0If z-1SS0Wq*^CCz**ixK=x&YQ)XET+xevrT?VT;X8)#XK#~xpJ^X(qLDJ%ll0$QWVlT5 z6DsXf`X;yhDHn(Gx1UkzpcLD=6&utnnYpxJZz9PIe z0h1rN_zNe0a7t`Q0q1hp&bIPUQe?o2zSj^fZf`n8QS zxk5Xoj$;}}dkY@OUS{riOQMChCFcu)VkSq2OIi6`p5YYj;wBi18uFd3%9en=nBc~%v4I43TdJ!U{ z!%tE7dX~AmW##4f>fNntZYUp3@mZl@FYaJDcO|?LPT}GKyb)G0Z7>!CRYc=@hdFO)A?9N@gW%lXieaQu_Gm{X9M@EANhgL86$5HRNqwYQOyHD$t)jhX& zD64mFx30mPncHE^?Zx$Nq^!Gj^?16;USH1Bg z8Pqk|JJ8zeqj9)*@Nh@-aOXAb;)EY9t^T8>sX>U&d+WN&}0_&EX1twdq?;-(~t5)3?=yT)UK$YcL6%+o)54+kg)5 zNgPDAd-V;_yN^9B;ZLU=J!)Ka{yYmYs<_sr^5(5pwU9(}s@%IcFD+{K+e$=&*c5ESfxw-{%& z5qmD^-J_sSpJ{n`r)6cKtPy;LJN5hbf5D7w<5B1DfA{0E8?pBu-7~xA_vzEEd#}9A z{O(yj{BG*OaV&*>$joRIoyN}X=3`lrxb*8Wi*@)9hDO!iF1qlPmNqAR0~5 zgdc6v(SJ1PLwhRe*9fz@!vA=Nc6B+OX*yJo|49pfq?}P)tJMSl;}*xWwCdLk*zv@E zmOec6=f7wqs};tol@9IG;@3RJGH+V*@T(dc^Pqh|^!pcD>9~$(@eIP+`$9Wj*x-cV z6t2)t4>~xF4Il{SbA@&eV1s;6dkE+!5=yy38?Uw9n!)oL=^iZS3T;!qlh^SPuFxRx z`?;v0*+TU+SNuxFFl-(6BX}^YRvHei!%oC=@o-MI65;3%!H!&HU~cdfDvg=Vqteh= zjfxF%(GPwt;-VkpTFJ#ZocQsq^SG!HtAB9I=W$UZQMFn80xoJN?72KPzeRizS7_Af z0~zDl~=h|eWPuy8?!x?25o7m);-)W1IPp8y{k7eV^m>j2u+@i3K*&N z7`l~v(73HPnH>#6SI;El{9p7?=hM8-i6y07XQ0i7HjVu3& zh#ev=sIg5N*7PH<&=ovdbrxyR_^*UDbV%dHA7j?kC!|iG-?>&J!ZplCojdB+d6L}W z+~uD{HdCq7W;0i4q<2&LIG*F84(_E6ntXZz4&e$Lr(--S>POK~>lR$AE))%G>9piE40L;g`J^X)c7SW z>}WY>7}E}=he3-tTBbRjX)#RG;*6GLlDIgWD{Lo!6Jj%xY1$KB`@gp*r(dSm63Q`L z)DjB6OdrhPqLxdvNTOeO&t#fkB+;*8h-cL^uX|6 z_FI^yu`c??*MJv&?Z3?x8jRw<_BA3!zeKF>etqq0Fbd;Pg8DgPzW}g<8_<3bS_;qr zkv%+3`VC>fC@_Hs?Z=DgcZK~zfqqTc@0D;iVZV%^p%c@X#?T4#!QmkP^3G+NmKOY= z0sR)R78EYxS}iE}0r^$Tt`-lpP_T@M-vZ4c`c0ug%LCVPtu{z&TeOa3@0SO(xmbr< z*O2v_2y1yjivk?IJa`M!GeAQov$c^#%LBzcbl+94BWY_p#y*}vEedEUKpp2g=C!{2^|h}p z8tOCG;jZ;%uTFA(&ucq|4oj`Ccy*2I+nqy1s~bF!V_SkE4A$nCx*FCVZVwum1^L zdDWyOydp3D_GDzLug_1&(GDjXHqH~{puu3i9rqiX|*j-jg#0DYNj=Q&2+ngMOK zDMY;h`W{y=fWF7I?yuE;9rIQjMf4S}b^rIc0d)Xy^jp&?qOWl6c;`C+bi7)>r=7Nu zr~^O;tyKqrA3dtAC0h5_ab>mc?{}@!8o#!i=-{$i_xHQj`89qW{#9F0G~QDm=UUm< zdcKYUs}FH)`Or{Izjm)fx9XEzqa(G7&#_uflZe*y{isD9O;w-Y`qb8T2(A0;kgDnc z@E_e;?bm@+weGK8e0_B5Q(HR(X|-PmSJh{=*8MfWkKXp6_Jz>_SN*!b|J0_RJg5!; z9f?&P0Q%_Gr?w8ls{Um42WXR|KDF6l!*rwC#-miHfIhH0bA@_qwJ(*rY<1XH-*2lv z0^e`Tz76Ja?t5^x7u1KmZT*(V54j`Xq2NE_wbrjydad>A2(VhO*Oo`E`r9a>u=Yl+ z^=l3Pb8cC`IH`|)ed22kzZVPC-!Oj~Iuc|xL#z3$;fM9d@V%6cd<-;ve6CzOY-C1x zbsL&K>}m|!hrq|M!TQQe5#_*+FBzU6m#t1={fTM;jXav5@AlB4DfQ*29uIXF=$MiE z%JV%1&2ef26YWF2?lB!3nz5K~{64!h|4!nCZG!(;c|U|K@c0T?HxV8x+nn5c6~M`6?u z`BqHxol|FU0~%W5`=xZ0L@mzvE~&}nG&00@M4ig>tL`Uyp29-*YIn12*bS?mt88xl zH*VOEq^miOVPj8eko8FQdg;)ITIBM5T_d?)>){HEFRC?MVPp5NUa~RVO*`ZyEPB0W z2eF2oGj*=%*A{f}LMZ@9-{ikZsmC{ z=B_lx#&?bB0D4+yr~b$)57QC(g-keT|uw3xV=+f#4XB5qWRguah!DbutJ z=nq?eIn!3LDCLh>e>KyzZ0Gy4RxnMAaO%bSm^)g{G%cz5ZmZjPj{HZnAMMuI^Q4Y1 z^?9w~?zGhB`@D1@DjPNs=I&ysY2egapZRjboe_Q}#e8g0SwR@_2Og&@1Kg{=nsqahOUh45uXP4g$sNOAgZ28T5>d7)rEV?m81*FuK(fjHPiVoKfP$r#@ty&W*E%|?1I0cr>r5_DlN!sNVb57 zdEfeAU%`_&QSaM8Ds{o#$lF=HZ(5vJ@0$~W;TPi78RwVZ)h*{2-ThL#I_R{(ei^Tk z-%RJX(5b&pBLcN0PmAeiBUgc96e=QysFoMZ)ELyvu86}as1dD-&zWW*DFeMkCfN_T zPRg$1zW*Ej{*;yIPK zgf@HTQu(gWJzUJ=#P@pUbFqLE-}M>7Vqh&}u^M|AI^yi43jMTg`J{}DNt4P;D$DXi zou`M2Ll`Kgq^yoBYKE#cT@R~2m0MDlF}9?H{o63M42FWh0c*KhgT?;;WYD`SBj&DL zFTd{}{*_NE-z%)XV08og&R^f<>-%`sv#U;B-=FLIZhb$k`efA|tNvGYz52e^1iEX~ zuj>0yeSfJsNYyv$J44m`sg6&-J<@k*`X0sD`-I;wonl<$i2-A=xX$#*CDt|Q;!@B4*( zACT|<@m)Q>TgUgg`<@!#E93jkeIL2+5BD7-zSqO|Yp5e*E6e6uE7xlHhg|%Glg~L( z-?G+tw2Jcs(|+MZYXVyI*8;zm@U=*&S^x_g_N#{?S*@ z$Be+(#mO)})lOg-6hEXB+|0$VxMD9SmjMEeyWc)rZrQHJ zw+bSC1*MGsG5uQ3iF~D>p=XJO%)XpV;^NOdLBDbG7|v2~I?@82{4OPtoa%!@((3+kz0Xi}&ccJc>j-5J zSbt&Uz~wGZcyyqpn{c?7-^d#XjBD80gvYZ!VcLOIyIVgZxr+uO2M#o|_y~k{g{sfz z0K79;D{4B>q2^|*BY(R%QN)3kZbD+j-vv%@=;_hJts{0h(7xtQ7{#l1Tv#lyx#PkU z;%fgWklmEZh_F4(Z# z1X}qSF)ITD8oYP&!!Vy`@B%*UF687QP6lx@hmXw#oIKCPmpHkKi`QTh$l2dB+xHmM zyHga$1PcsADSLn0-S5h3M?mmQX7nshCUY`{lc$*Pr#aD4qqp*1`W7aEWGxO?m(oM# z1;ByZf}gVltld(zljrTMm^PzlqF)ybpMSz%*57Nq!tlpv220bI=g=;A$41-;(hG|# z_J5Q$w{>n8uZD>~Jq*y(=!|)%pkR28dQt{soVSuP>!Qb?%R(5}A)GT$!fej6i>H-@VO_&94%9ZJsASHh zY^rHc*~RQNf^lC={+NNk_{G@JtWtbGd#@d zwQVD>9a|O()%|;BwR&xQ_3!zKt?c5`$_k#ZwCY52xzQV|u-L9kud&X%6RNj%eDz9u z0}L#~*NQ^!T~JMTa%qply;N3$ZwiFv^XUDv@F-Sqv}0YMcMJa2&PQNyQHRZ_Ynx=5 zN#``wd0^zd8~d;F>u|^G^Vh%iagMytj@c)V$tJI0c4MD|rmf9>(D zjm;B1ttbAar?rk;z=zuSJ^xofrYE-1+2)T&)vp4{2Aqf= zo;7dm>ec#&Ys8mA!|pSGY|+}Id+e`t;QvlD(WwD!$NI5>GwOG${6C+_cT4T#3XE&? z5Gej(N7!s^?TZsrBPno7{SK+ls~_lFkDTx4*LD20dbiVlTXzC6qsj_rI7fh!KjmoWsx0u%S_}qZ3tMdI_mnz4G&@ujXz7jd;%z8CyF44Ero#NfilTXgSZ3wv?q5`x zTaM#7K(lesh>{7pWyOI6uVBgJ!WBWNN5#Cr0eZX#=&`mO!n0=1rY0O}j#YKDA*dIq zI(SS;NyVVTGIPF)c`XjHevCl#F(H)V3TKB%9D)fhd`a27z+q!JG*Nl=ie$|!-Z|B` zhTV9Iv%=p%yt76R&c(y>kzI~a+0DTOnt8WGpedXXfdhsW78eBKcoU8*9b1Bt_(H>T zIn;3AFb_0Girlfr8i+L~g89XOD7r48Mv`|yV(fjPHyI8Z9fD_v3Wk)G%nG!!cPtli zUk6%N|8C^$P+3`FK?t{gVL3{{^Yq~A`5kgRee{y;) zn*MfCbmacL72cNX`T9cfpbXJFWtI8-8>rrD%|vgDrS*FxhCSs6tHaM;1;z)}%6G(% zRaBpyf(Gx=48@$0Gb0xdhuZt9vD!PXdVU5z?6|_-%C+|qw$j@}MT3tcd?U7ix&M7x z%-idL`t8+w3DtQ2Rd0i_D*Q*+Mr@lv0RIDVn8d>pV2Q9KSTZaHmI_OQrNdgo+Q1Hn z9RX_#YX@r&I}&yjtOKkg>}VLbe+=wcSSQ$Vu;XE!VH_Tezvpk5&Q^KmBLl|$b%Al8 zWZZ3qZ>KBPcZ2b`x?`RR>jBGx^@R0;^@jChPJN2DVX#3+;?NP z!Q<(N-}Z+MfN^;s=G@;PSQ9LJ>(Es=Fc@jv*AN(w@l+U(3k`RA9(XOnuLIfBVA(M5 zS`3A*@AYucKcaH=T-SA;hhf{^dFH)xI+oE{EifE&F1POz2vi+$aaFsjBdd<8I;QH_ zs!l(}S7odSEU!9cMev%cA^oeiR=q>@?tp#zuWEbMj;ftTV_NmDmHVnbSP{Io>f?d? zsy+tuCFWmZz8CYo`>MXh?Av`+->(QRuljLCa7EQmgZRs;U-kD@NA9cobDuN`$^k(q zU77{=$zefh8C((kJvk_e!G4kkI}&y@tTU_+YyfO9EEiS)D}kL0D}zk7+)^@g1QI|tz%pScz)phohYf^{gpG#fz|Me8hULKu zV8yU=Vdb#%U>CqHhFt=?6m|vdO4xGP3fQ%<)v&+8Zh+kmy9@Rp>}lAuu$N(5U~j?R zgMAIFf_)474)!N3a6msf5Ec(hgSCORg|&wr1v?scEbKT~CM*lq2Q~zD8Y~y~ci4ll zM`4e_9*4aKdk6Lb>{Hn1urFb|VFKF+`wsR8EO;RD06Q4g92N&lfF;Am!Onn9giV5# z!75>MVDn%LVCTUW!Y+g@f~|+$3wsLoEbKYh3$T}ATVU_PcEP@ceGU5#_5-ZRLAb`S zgJFljQebUhN5GDPb%k|@^?>z+^?{uTn**B%TL3#Bb^&Y=>{8g3uxnr|VSj^N4_gbn z1$Ha!cGw-T^{~5O_rV^9y#OmY7{?2%fX#u;hn)|*0Co}VV%Sr#=V33xlA86CR9HH! z4eSV5JJ^x14zQzP$HI<-Wx;yEM#9Fx#=$1Q&V-!>n+%%@D}YUdO^2NWn+5w3_6IC* zNIy9Ub|~yHSW8$OECH4bI|9}Yb{woTEC)8>5Immb44qEIbhS)5nEk#?1_7v?QI#6_g=t|KQB9kH$B8wsmq7OwMh!ZJJggAxb6o>&710V)b41yR! zF$5x;A{$~f#b}6e6yqSypg03!BE>|A$rO_z3MdL7W>Cz4m`O1cqKKjhqLiW(qMV`} zVh+U|h=zk7-A{KQi#hbE{C{^;wp&c6w4u2Q>=!#k>W;(brkC$Hc)JU zxQF5%h%FRbAl{~U8{%DxcOkY@Y=`LE9HMV?oFj?>5MwFELQJ5T0Fh6T4>5yc2EB91rdSNIgklNAr4*M!TtRUK#I+RHLR?32 z9mMq%*F)SyaTCOy6n8?br&teh55+wY_fgyj@c_jG5Su7AK|DtB7{rqlPeMFR@ifF{ zip>x&P`m)~GR4afuTi`Pv4vs_#M=~aL;RECpAb7Kc0&9>@dL!K6u&|=ISiu7Vf*AD zii04UQ#6NYLD2#tmLe7+fg%ASnIah?jUo-A4MiJ>b`9nhPKOvlF#_UDiZdamP)vcCN--58mm(J;pCTV(8pSk-LW)9&B8no2 zSroG%N+?PoDkv%-W>d_Dm`gDi;yjA;AQnu@B;VitizQr1%lyPl`VwI>kVAirFW}QydS`g`x{Y zcZ%*1Jt=xZ^rGkmaYD>#(l-XPs(0mNCZ3GM{uKQo22u=!7)&u3VmQTch*1=yAaW>j zAkLsT17ae@M2N{0lOd*3Oohm&$cG3~gdonLI0vGbq8Or-q7zAU0EMhIlcCulbiST~YPt>9!Jr_k6Qpjm1}i zTqAG945`|Ik^qEkiQ)9E7o3I@_}yuL;dl;W3utK zjgehksv0tMU)2!#96$LY2HV_?#NW1~xG-#=?2WK#O4B}b~X136hl?S4fMbOM3R$H)l3oUthAWC5b%?#o`3!d6SOJ*L3QW`-s zgLuG#r?=3On+Kv4N6^e5p0Hp}3oY4sAWC@z%?#o_3r=jIB|i^DDUhI4B15pYkXl4+* zEjYi0mP|bmrBs4u2C>J2i&|*O)dNwAC1_?4Ut4fl3oY4t;MWE;Gl1V)aAgZE`FbEq z!Q7&mLHuIDn_6he*aJ~YCTM05zguua3oSW&AWG2$%?u)VsQ2f(v4uR?!uhL4QCt6^ zsO@1-wUDP>3f7?OSIU; zRx-)OPysMln#G=PrL_U?l%QsSe@rr9YYV>7N^1)qh?)aIGlOVr!FO6|ZNdXlvmj_@ z5bZ6vvz691JP6LoC)eR!(s-RM-rbZLy)TGTg;boio^Ii;atw zGh7UnJ%f$2*pyhwbum;04R(gbX2!}a7ehtSU=uA?7Axg0hH9k2CR=QNtSoRbR5A@# zV6h8hWs!@a3Tm(!7F!xCm$?`!s0N#9u@$j$t&5@hYOo@U{Vi5*a4}SF4OVKgTVv%m z7c2F!a*M5xl?^V2im}<+9E;r>EBCn=s?7$QXR(K4Ws{4cQf;tB7JE8Yo^df$xed11 zV$a9QOD={AxxtoN?DbfA!^KctH`wJCdpB18>0+qN8|*5JeGn@jx)`eZ23u~ik7MN% z7hCROt1b3ftbFcba1)rV-Dt7hvGN}mgA>7E>nye>R=##IxEKt!!D13C`&0)qR80>9}HI0)4;+&@?TpI>^*J91$>0u=nJ26g9axu7p%udTKHZ@N2 zTntVkgUz+r^f;N}VsIfD>^zIjijxu-gM-On3oTY2ClxLR_mjaES?s(xxxmHXoHE#A zi!F(h%UleuD}ybu*tK!8%EjQ=GT5aSyCF_)aZu(+G5S)liP`xES1?27Aq7o#Um8i@_;suq_tr5idPm3@%fH zy=}1*(*axpl}4R)f%UW%8OT@3DY zgPmltf5gjH7lX6iU_&hSZoF)FF}UIlHq>Gt#LGu621mWYPPf=6@$#vQ!HsXQ5f=L~ zUVd^hIQb2Brp11bmp@z#O#lX)VzC1gX z(70f*e2b+fNSceG>A_&rEOtbKw0AKyOc<=tV#g-PaV~~t3xgF|tXqO~cQG_-7;Kis zdL>A27ekYW!AdN4Qi7c9VrURCScSy~CCFeGtMIVd78{x%!(0rFDQ0VPEjB7aM!OiA zS`2oc#c~p4yo;eB#$XFAc2tbl|GT6-) z+nFH$axpZA8SFNTeVib>Tnvq623u#b&lBVe7eiB;!8TZIPl9~yVrXbH*gY1L1o_s* z& zd)#7iiIU)AXdE=yn-)t=lr$GZ)1kq(TC827w0AKyEE;T^#g0vs<6LZ;hwZdj*F@>& zVrY~!TYKMPJrkvui=oNVU>{lRltk(0VrbAb*e;6=Oq9VchUQL#eQL4nL^<8X&=_j4 zFDy1XQO39!no14!mBl6`%0w4KL#n~{SnTXX$#XF@vl^_*V$%|3hKr#Q)?oWAHY-s| zTntUL2K(M(m5DOj#n6CjupcdUVWM2@Vrbqq*q;_#k|;}E42{1A>lEXaRIf;sWiE!M zVS^oSv1<}#g^Qu#*kD~OwmMO+bFnTS*4<(^CCXYCL!-0VT2G7JmMC|+7@DLF*2`iW za9g5%)2kLk;~$d@c(MiWOVl=N4@CPlK{JEsZ^4HXwN2Xt(Y{U4%pe9@@X17N^Y%cr ze-kt_h`|e#5WK$Gl)eNygW%`9y}274+PB&VyOj}CuvNC2O>U#pqW8jZoySa8Z+U6 zh@T*6W)N3f@a80qsqnz74QOTnS6J|lB#pW7K*V2gi)IF~+Jg5aX-tL(B0htlnL(_v z;DbpTv*Ce=-ympa5SuOdSdu)R2UInyYF?FE zl~$GhQ)1QO3~BGpkokU8{W%%H(2}8ptA5 z(^O7uDknD`BJVeq52)lro#F={HI+}A%C4sJX;VDUn#yNQ<@2WUrT$`fQ^dkQ6qK(J zBmFb%S6BjKl~ZBqu)|>?*p;xguv=m4V0Xdpg*^;=3ib?aGwgNPo3Jggw_xwWcECP{ zjYRD67}!|Yc-Sh~^|0GucfdBl-h=Ic{R{RXEP(jnL9kO{!(hWF$&xD-?n*z&&gX0Yb47+5P<94rC$0_-K&>#%>ow!r=g+X?#!_AzW1>{Hm6u-lib~S7zY!&P}*!8fruv=hv zz}Ca=f^CHT3-%H0W7wy#FJNE7{sa3O_ATst*pIN^VJXcKqYrBhYXfTs>j2A!oemog z8x6~Wjfb5Dn*y5(D}WWkX2FVKrLZzsC2S7teAorBi(yM)SHf1nHo!K*QV&BMIqYcI zaj=cBr(n;(o`byrdkOY3>=oE+ur08+VeMiNKM(5&I~LX%))kfs%YxksyA5^+Y#r=Q z*ap~LuzO(l!tR4@ggpRz5cV+a5!j=!$6-&xo`F3F`vvv~EYJcm{jdXJ&0x)8En%^+ zcvvDV8I}%f13LnCB&-AM7+5D*XIK|lH&_o?FIXSgiLjGkr@;Ed2EqoxhQP96!(k&~ zV_;)p<6&pOCc&n_@?q0qg|Jz$Qdk*mHtbp0^RO3SFT!4dy$X9B_6F=9u(x3Ez_!8u z3EK&KANFt9F4(8A-7tZD5Bm}J3+#7TuqDn5>|j_k*kQ0(*x|4vU`N3^!j6L-59yN=hK+=cfsKVtgiV5-4a|WSL*h8>Qu*YFf!d`&A40{#!ChQ-u zcVX|rw!=Pz{TucP>@(PZV0&RzumfA++`wAF;$Vre6j&OpHS7pjd)QI1j<923onZZ8 zgJIdQ;jkRoc-Wb+vtUzU`LF`mG*}^QCTte06jlM73tIrY7>B-pToX{ z?S}mawios_>>Jp(uF;xca!4#HG|gl2wm&Qu3y7SC z#y@I*hUHckjElvB4?+_(Gl&!mwvNSu4?+_(Gl+H;yd@S3J_t?F%pmTx;9ap;@Ih#T zW(Kj*f)B=G!3UuUni<677JM=m3qA-<(99q1o80;5|{Shm_ z0P}7IX#8W60h`2m_soHD(gZDaHI5Yt20PSZF>!LJiy^^a2^LF^lLQw-g2B=)c6gkm zyBHD-*4|muv;v4N1WW^Vn{I9dW+o~C+l4d2?pC}v4`Shql+QIV2@es z$vAn;#gJgI%@%tlPByz35)8J*V%y?mi;E$_U^^`KVVvx6F(eplm&JC+$u1W|g2AdR z_IsRExfl`*)+FA0)U=G3Ch_j0CcYX=vRG=oB)J$8^q;i1SciBlI9o%4!H%_9*LXSB z#gJgIOpEo7mrNH!g2DP)tY5tJbulCu>{N>ljh9nh3<(AsWwD%i83oLHNJHZvlk}gQ zVZpQFvEUpl5)5{>#X|9Nwu>RbVCPtDR=k|!Vn{Gpxy5G3OSy|7!C(t4wkTc}xEK-) zw!~tW$IB8ILxRDsve>G4xyr?mV6Zh7TN^KHTnq^YyUk*E#>;Ikh6IECpT+Kvm;ZAy zBp7Uy#Ux%fxfl`*_JhTKjh7!>3<(Bnn&AC49GoCc(O~0Ud}#b*k^v91V0?lc2C&8( z8VLqVvDo1WlHy`WFxZh6>zE)%x)>4+*4bjGBuHl$LxRDkSS&9=rnndq43=-PP=e&U z7!nLN!(v4VGQ-7?V6ak)RVGNOiy^^avn@6!L1w!c5)3xiV)GJYu8SeTVDl|@UV_Yb zF(eplp~WspkcBRW1cO~$Wj+Wg29$qY*m6R zb1@_sY>mZkPmnb(h6IDHx7a-ivfjmzV6crAdpJQhx)>4+_L#+B5)Age#ePhX?}2$w5or8lk^z6U;2#O{r@OshJ*-Kh_f%?@ zC{57rnCTM05i55&r#DWh(6Eri3HWqA~hy~|4hXnm6M_KHc zL@YQM5)9VaVi}3j*~O4xuq=!9PLwPcLxREjSgdcN^l>pH7_7g=PDSIHiy^^a!z?y3 zQHHq~5)3xZVrM4GI2S{L!6sWQKT#&T7!nK?vRGlFgj@^>1}nB$X`&Rn7!nLN$6|96 zWsZv>!C><&Ha}73xfl`*w!mTw6J>#mA;Dl5SZq*8 z3<(B%%3@C^%2O_e1cN+DBD~N2?qO@#Xd@u zf4LYE47ST+pC!sJ7ej)qC{gf!*yBHD-_N&GI zNR(e)3<(AcBzaHG1Ck_w#4+Ho#(ol4O93A;DmSEjBbs2D=y%3^u}IqmyKW ziy^^a<1IEJNyY>7o=MR7$0P$zw&2-_8wdlT37Q#1o&~2RVZq-bG(j_iD6-(WNm%ef zXo6-2vA}{CC1Jq_p$VE9#HAKomV^Z#geGWa5GyTsZ4wrozY8SjKe^swHzi@g!H{6E zwHCW2N!Et#78?JUWWaS6+>j)9x!YUkVfS0??@98Ii{0;Gk6P^MBze}w9`&&2E%tJf zyyjxhd)O9>y^|!{Tx^Sn?XcKKNwNc&cfUaMSj`OLGYjrXlD+QsKJ&Kst;O~w$+uzK zgXZ?k4B{sX{+xsbf5*@S%?#o<3;vme1s{YaXl4*ilD&uHfyr3#L1=e0f)7FyG&6`U7VMUc1s{YaXl4*SESQyy1s{YaXl4+7 zEOT5MLbl(^VT z4?EXl<;ha%V&{6;9E;6OmU%8V$HUII*urGFz{Sq@u!}6VI9Zms*hL<8nZ>S1mMdNC zG7npBu@%X((#4j0*eZ+tEm_vM*eVaZ$znGr%dIYUlZV}5u?@*`my6xuVRu{X|B~fC z7rWcTHd^fO$?|}UZS=5B7JDRF9(A!z9`=OAo=TRdUF-=Dd&XkVCd+0Qd&a|Fu-J>q z@{)_a;9)OY?A2s>-Njz^us1CBX0rUl#oq9+trmMbS>AE6tseHC#kMEQ4i|gR!**Ki z!(`d%Vo1<`vddy$B+G6W+vQ<(Su8U}dbn6O59?{MUMbSY z#d>;JUyGfTA}708Uk~eVv4JTv*v0yL*bs{iO_54_j)n%TweE7hCFK%Pe+viY#}rWgfQDV%Mg~Y8PASVQVaQeTv-ZVrx9? z7K`1MBDc6063nGvXR-AuvcbjHdDz_+yEjGdbFsTU?0$>1$zqSB$fGW{ z$-|zs*i$L;Brxy(g~mT7nS*%7g3qVO3-0!w@vs*y_DYJp>S8Z?*c%pmGe!R4VsCiZ zTNZmKMYg%vTORhF#df5~P8WO6!``>p2PyKAi@on*pIB^HihSx~pLp087TcX7|8cP| zJZ!JUs!~K;Y_Esyv)K13@}rCG^RS;S_DhQV>S8~8*dG=Pq)IT=c{lvwVNFuKSIB{> zai}g#D{w{X1hYhsY zpi~*`Vgo(wREwRKD%mb}s)r4;*y*V|%>u zk}6AF>|zhQ)MA&V%H=M0sfS%@v8z($Y8SiG!&nP^vuaVh?)Q zV-|ZnRi1FM$2{yAi#?kvn_cV~4}0EXFQv-MF7~{Ky<)M~Q{_z;d&R@HSnRD-dE3Rd zc-S_Jy_YK6U2L0&?XcMUsq&$V?eMUVEVe6EK6SB=JnS=zeVHn|UF z3<;*h^|i&SQbkO*K|vF2%Vn2R;@uo#QAOp{m_i}A2HizTES5C?Ha$%WU2K|%61xyi+@^RTrRyCqF-cd@k|w$5VzmnQeS*g6k; z&|;g?EchTaK{JCm z#DdM!vEYNy1kDVhg#}xtW5EZZ37Q#1oCV|4vEYNy1kDU0$%4u0Snxq;f@TJhX2CY; zSnxq;f@TJBgazBBW5EZZ37Q$iQ5Niwjs+itCTM05$5`;VbS(HFG(j_i=xo6*=~(bV zXo6-2(cOZX=~(bVXo6-2k!8W2=~(bVXo6-2(Z_-(q+`Jcp$VE9#7P!BIUNf=2u;w; zAo^QyKspwD5SpNwK@7IwkaR5gAT&WUgUGhvuyic=AT&WUgBWhXk?C0QL1=jxVoOFJ5V{SS=oUt-pR$*y121n5Ea9x+Kv%i_y^=5XXncZY&w}4+Ex2E@(+tX!T zdVhQ^2q|miuJqw@ce>nz+5e@>y_nsfE*mj>AYC5B?4fjd7_&#x~ z#_ZX2*^G_cD9@!2+=mH=Yj~0JMU}5mzM}Fq%GXrBLHUNtEtFeuz*{M{LcBxq4#YN! zZ4m#Y_$S16itP|PD0V=+kA44s0XxLv119VU+lm6cTG3$@f*o1gQJ_~UI-EkVBkD#9 zb~JsQ0=-7jAryigMPH#{N6@z@*wu3f1v_)@rC@i>?#!7i1DQn1rx z0!0EuIt4pEwx?j%#$zeid9fP>yC?RbKz~E@E`(qg!+{j+L^za!-2_Kcup{6&3U>9I zOu^24AqsZaE2ChCyag2Oa<`a*o$8iRu-n{q6zmvx3kAErt*2n;wv80%t%km75bU6~ znL@juQLvNQ4hnW7+eN{SVpSCE3f3eZqDeg77!*km?J3Yd3%#)**d;5IA`_x7MPG1>L#AK?1Hp}f}M=6qF^_oH5BY9bQ=Y`0{tHa zJNs;+K<^#&)q!A#ou&y8O%Wr17{y@_DHQBfb0h_N$)HaR1Utq|pE+4 z#YT#a5RXx?+?& z5b_Vft^my`5Z8~8eTYPeHWY0jj-p^NerF1X+hUTqkAflO3n&&qTtLAv@JlEd=)IDHf!sG!FjRXz1%t8g zr(n4CCJF{rKSjZi>E|gJ6#Xg%!=ATMFtGVw6o^ztTrvcMlXp`v{P=4M1{i-&frw$m z2SYGOIFJN^s9(hRLNL&`IR!&`V<{M{n@)k~Tg2KzFyOW$1w(3&qhQc%HwuQu_M%|m zYhMaPvLbF300>Ie!3ppK_ti0NbshLGk_FhsP7f+3&_C>Y{-DFs6~S5h!U z^Lh#fVXmcMnB_VOL`};56o`wIM=22bD9=+Mwo$fFAbJsji4Y7}{EPzehX^f%V94Q5 z6bvc+je;SAO_CuH|A){%2!{N%qG$z?Ou>-7))WlMYfr(DyQ3)>Qg<8$;^Pqd2EmZH z9u$agL+Ba=;@1$G29XUhoPr@~qbNo}ogaT0@ zaykX#JY+NlA~|F{#dwH`6o|z@7zPBQEhLWu@f0$h0ud83lL9djQc8iS2boPV8)5+k zA{S&41!5CqDFvbrWElnG3uGk)A_!y+1!4pc5dgukfOQmT=a;)F(2_6rQ=qM0Hc@PX zc#;CG?eYu-+SBDl3bdHZ8x&|0m$xX;>Mie4ya(|<1zN7<6AH9V%NG=AeU`lxXkV6n z6lg(~pDEBrEPqg-6j4xu;%q6G!oY9)>Wt+A3sf%aBOqez1|oZ@hZ_7rFp zm5vl>_moZ)XxWqu3bb8HCIwn2r6&d2ALRs!6Ch5eI2mFf1zHK^R0^~M$}kGF^vOsH zwB<<-1zPK50tMRRI!E#w3?gpcP53q(D27ET=$AkgTFWTaVm8fz}*ZOR*MWJq2214^x&=EQ44{0Y9W%M*&Zxtfhc2 zQPxqcgLsev{y=$x0vW*&*C^=5ySnvhvb;5Ba!qSlfrXWv$+fLz6&6-=CfBu= zzhPkwXL5aOxd96|awa#mmbF;8nKQYiwcLt@+c=ZkTf@_beb58=76mE`-}qaFnGEk=mFbJK@Zm+3b?D_iGrYq>N^U0pnj&Hhv|0; zxQpNkf`B^+o*oFed*I1|fIA1C8VI;+;E92VgGi!)y9J&U2)I+=DS@B|V7|39|Q1kT3t{r?RT2D6`Y zX3l9(q7o9VNU{?}CGBa`Ds5UxilmTaE6Vn@M3kkpC@q$V3Q2ou(KZ(?vgH51o~!5L z+`s>My*}rD&pB_;7-r7g_jO;-b7V>;deeHDn%Sne@+$oBW_Wkej7=J1l^t6j<2idO`e3Ast0VD)y-)J9v5)wai)$ir?cOK(x!Fe?>*9xz_|e`c z`I*{BeA>m2BXQl{C;55XN1W*5`bgZc_ep*h_Yo(#_(>#g-1{Uyr~8PXM&B;eG9CEm z;G0D@p-0cl%;>TIzD;;`PW17A-yD4WV)XHU-x7ShF#7nvZv;MG9DV%Xe?K3;5qxv8jXwVGznYKV4L)8TeEd0o(_!*ObpIvyT2g7ZjXU{@zxUMW%bcQ*Oi9bv{>V4# z_v?4oe;3SLRF4a0b{J6JvAk3HS>>I}yOf{3y{P;gy;f#deLK`{r%S&a8IYrgAD9z= z=RA@lLvrNN9RGLYIcHu_T^tpOWA{GEbNh(TaNLnHF^4M3#K?R}@udhCDK5(4Cq&^@ zUuSrm>f!uAV-p;$+6@((vUPFjme4R6mlAAPR<~0NC$E;xs+T^ zdXlTiHKZ50p4>!wlUvE{n zH+m#Fiqs{?ka}bmnM+gHTjPGKz<_I$RFfyvV-g<6}dKPWm26KkRp;IW#m9| zD5*t`B1e;BNdwY|G$ALGQ%O_OoU|YpkxNNWay7Y@Tt{voH$Zw;QHt>;fuO1u9f!I;XHd zP*0B0(k3A9#d4RluM40KcI2Ar#KE>KzxD6K{f zPT@e{V1FdTS7;R)a=g{OeA3S)t%6`lqrDog|> zDNF*UDoh2YD@+GwDa-<9E6fI7RCp1XuP`52q_7BBtgskZqOb&5s<0GTuCN?RMXoGgS)npeRiP?SL!kyxpilr5D-;7sg(Psa!qGrIg?c~(g$6()g+@R# zg=Rntg%&_7g;qdYg|a zHSnFncfe+a&A^WeKLWLD0=0Q7>N*N_fTI&IH;iv;#UTbOz2-I1lKd&;z(g;UeHtg-e0U6)p#QD)a=d zQn(7}qtFMqP2o1+4uv~_dlc>g?o+rA=&#Tp7@#l!cu3(P;9-S_fkzY`0fs6J1s+#; z92l-J92lc81{kj}9+;>w5tyVf37DoZ4Va-Y19)EHd0?KxJYa#s0$`ECB4Dw?Vqmkv zX5eRqpMl>Meg_hHKq8L?xI!6lVqP0LC69s0ww%rfE%O+dP)lo7TBCGO=m2z4=mK<8 z=mwmxa6WL6!bQO43YP;{DO?3yr*Iu`v%<|lAB8@^?FzR86BH%@lNBZdZz{YAyrb|A z@R7ntzy^g4z^4kI0uAzk2E6_FNeU+crzxBUG*f5>v`}aPv{q;hv{PsYbjjCW^WCER z^SB=_z4Ke?TI8WBkldTE_xI(?{rS=_U;5|E1NMa%41*?)rq80sS>k=d%=hCO?`cOoX{9?;ZGfw2M>nWg3V1pNVQk z^9qA;uFcAiCK>VZm~g0Q1MrNC^YWufNGviTQPBqASr=c=k0vRx$b>~j8-OV;zLOtK zVq%dAjfyq^|8sFwel*F6#s8UT1LAZSH{?f?pjc!=q(`&?nBn3V`OzdP7H61f1L8~< zf5?v}QL#AFL>mxixws`inqmz2yO=15CV{cYgiw!Y1F+e}0}G-_Vk|OY zRM7@tn~Sx1Pv|PVV*U4R3#(`Y@Ry6H6hxEESY*Pfq7A?f7h7>{=Y5U{t7rqT%f$`_ z(IhoKA`?~>Z2&4%jeoSxDTpSqvB-p0MH_(qUA(X$n&ieJ6J8Z<0P4DURY5cfjzuQK zD%t=va`BOZXp$U@Oqf-)0chgl@B(>)_KK{ZYG&2Zjaha4rHn0*@u9|?+q9;xO)8Md zp~j5dv@=|rQ6RHIjrqE1XSz0*Z?8~eHg8&M*A^DY%b~_x-?YxIy;cxS{NsNT76IJ! zArrf~_)bBzFo;DK2`btEoa^F>f@t9oi!35kv;ip9cmIxFV^6Wv(J#DBwY3*@^{W1VB# zo38y(AU}p0t02?fcCEZXwuTyOB-56;_Gf`?4>eX$rmb{sCqHkY#`?;%_g&ksP;%&z z$@)%a^<~;B*D4pv0inj)%(OMGv92?1y=x_fk_a_ceWq=6 zt*lTop~jlfv^x4mY|*#VA%${isIg)+t)6Q~7E0|)L6%w*4nk!h0-R}Smm15$F+`y(kawf1Dke- zYiAeAIibc1*|fV{JGW5I3pLiyrrqn>1%+~9sIj^>t)FXG6iUxfW9@C)0N1W9lwP66 z%G|VpuH9HDH-{SQcGCvAc3Yv`8EUNRO&j9cU4?RQsIlfZ?J?ILD3k%AMn%B1;jRrT zlt)61dVy(Axb|3~JRWLP6HI%`wGoB#M5s|~Fm0@BqYGtBs8NY9?P=GZDU=DJMxDa6 ziLOm5lqsP`6~nYiuFWWvS)oRa!?dZc%_)?*p+*J7wCS!bER;o|Mt#JzS+2cSC~t%s z)f3ZZySB7Y-U&5oE2h2Z+KNJ19colwOq=i8`a=06)Tqmtw#cOrP0ckP-Yxi-|O7Mb?GYrTu)mQbUX zWZEv*?kJMJp+=?2w2Jz^aM4S2zakkBYSf`jtL)m4A{iQLRH;m>>e>@UGBVVtVVPFL zwedyrbf{6`GOfV1Nkvh)E1o-0`r@V!nON-N^dgxV9*_E%X-U`S70FAXM)l0Jqg`86 zBrk^=wKdb~x%PUIED1F#Z>BYH?d>9YC)B9Rnbyd)z9^EfLXB#nX&qeqzDRxyHEM~b-Rj!UMe<9i zQE4=-pKDu-WLv0Fhcs<~YkP`hKiXBZCR0=?O&j7`wPL9eYSb`I8|GR`u_Qu`3a4pL zxOQN%91?2OKTUhewc5pURH#uMHEpbG^@`=VP@{Hg+B2>-DwY#MjmoNNlUzHwSWXEw z>aM0ubFF!?v&tyQtK2{mfArpb<7Tb?t&; zxiHkI2AlShYdwqQs!*d=Y}x|Xt}T{cp++Uyw3l7Gu~>SC8g*vV7Q1$LvD_PKRH03K z&9$M$@>r-*qc&}cYflu*Q=vu$+qAb`d%9RAh8p#4)82FKf5kFA)Tn-&w#>D;#qwgP zQ5!dHg=?=A%j=;=<=nKDuDx9>?}Qq4b<};$59XjhzwG8oG8aZ`B-X z?3F-$Yr6%u8L`mUAwwOdW9N$E~cIATJI9+6Kd?pn0Bgb_ms%Jp~ilVX-!@0 zUm_2N8oN2BHFs@Li3|=k_IgZf;o4&*GAz{C2{P?W*G87elcB~wk!kH*8&e|VLXBM{ z(>l90u|y_?8hcEpo#)!j5_vw<*nu*whimgn_vruB4fRf(()HTK0!yUMkXN@QKAv1?{pAJ;xDk*M2CGA484(IMeQN?dKBtCDhohGwnXt%1cB-jlDe6`n&d5iToXE z?DUy7z_nc^vOCn+2Q=*=*D55WBIkr;y;`zMXxhWB9gvW!p~fDfX^*&;myrBWV~5eS zp{^Arq$JeXe>ClJ*OCb-4K;QrO&jjofeAS{)Y!W;ZH#M&C*+7wV`tN}@vhZLNZn9l z-_x{-t{s<<`k}_IsA-d2Ym|`2p~jx6Y13RgB_XGU8at|{&2a7Xgq#s-?6;csylbrz z(mK@GjWunaYaJ5OG1S+SW1rWw#jf>C$d#eSF0g5v zUF(&Q>q3n^V$*(h?S_Qh6l&}soA$eFw+u`h^<1&!&~R_D~|) zijJ4XY)f;~hfHkk;^X{3u-zMru!=SS9b6ohh&HTak;${Qo>^Tog_+5lYc;@iA2!agFb zq7A@RE`FGZHr(S+&E~s`HUQVTxQTCueU1pLXajJwi$5fy4g2_rY~HJA1JK9C-}#2v z=ZLV1HUPJ~_-7*8@Q;tk=D&(I025r?k%$@sVv*(m6>R_}ySQI6Y8Z$`ng>+00eI8J z%3Qa4pT8rlq7A@1F6JhqhJ*NsG#{vF1MrcHd0cIJpCiI5+5l{Du{aquEW}5oc|k=R zfKOd4AUVT7$VR>OO7KANn>&fX-3WR%h`dZ*A+M4*$ZGNl`J8-3z9T=9E#w#S8xit1*-3VjJtT)- z`ikTL(wE#v`jZFA!(=e|i2Oe!o*@&-vt$yPMdpyXWEJ_D{7QsuCp*Y4 z@-NBJK6bJ{sY0rgnk1hTl46o1r6f%bB8QN}NCR>_Ie|1GCzI32ZRAdJ7rBSrNBWZi zk@P0Fle@`% zq(2!z29iN!FnN@WCS%AXGMl_eULuRgE95QmE?G_*R^ z!ZKjB!fIfx!dhUx!g^q%!bac=g)e}w6}|>GD{KaSQuqn@Md26VH-+DTtqNO#KNbE2 zb|~xs_9*NDDrtLlCEBYC6$*jF6b=LGD%1t)E7S)XDKr93QaA}{rqB#HQ{hbDEQPax z^A*kqE>yS>xLo0Kpr=Al;2MQ%fL;o{fYl1Cfwc;2fsYhE0yZdY05&OX0=`iA0{B|t zYd{nP*rBik*r~7+_*dayAV-^yb7(r=Utxcsib542S0NY3Q^*7I74m^1g(4uKkN`>* zN`W$kGT>l^gMq^p4hN1>I0`sL;S}IBh0}oM3eAC*3N3-w3ax>53hjXI3f+NA6fOa- zQn(7ZPT@MBw?c2=7KK}YI~DE(?o+rA=&#Tpcu3(PV6ehq;7Nrifr$zefnOAU0m>E1 zfvpN#f$a+0ft?CFf!zwbfjtU)fJ)jLT#44;$_kZ%Y6{hW>I&6?nhG_6e1&|VSfLn5 zC?tT4LIyZO;RxVJg(HFb3iW|D3T=S)3hjYT3Y~y13SEG13f+M23f+NA6fOa-QMd-U zN#Q2oPK7&xz6yPT`xWj79#nV`7_2ZD7^N@@7^^TAn5i%mcuC3D)fB1$H56(9MG8egN+AVg6f(f!3Wo!=6>0;IDm)4dR~QbAR2T`2Q5XX}qwoyy zoWgU!_X^(wKPvnP{HE|5@Q1=5z;=c0zz&5Sz;1=zz<%1{ydSgwN(z;L0~8JbMkE1fo%%g zfIk)f1a>Iw0Cp?v2KFle_M_{pl0qfm0EGj9DhgGAY6{hW8VWUlJcT@9@to|DcBoq?_j zU4ioz&IfuZ^Z+haxEQ!h;WFSVg{y$;6s`k$EA$3#SGXPMtI!v?PvJhGze0atpu#|4 zh{6zHsKQWSn8Gk%l)@-ryux_kS%qhTsR~np|0(tLcV~RLdJs#ZkHPfEEHYbD(FS0(i?FrDT-!@vB+#uMH_%GTztMLnnA`Qvq=?g z0KRr{VNo>0j74UfD%t>ScJY;>Xa*XK%tlqT0r<(qw~C?}YApU_q78_@xVWk)n!&~* zvspc&4Zv?MepVFCaAT3#u8KAQTV32-6wQERk=d|{HUNLR_~L{M zQ8a^&MP}0~+5qfvu>$WW&kQ>jVHIrvDpila!>blYGw@hsHm;%#K%tB2;%J5*i_F$l zv;jEG#UqNN8GI}y6Vv*H|iZ%de zx%g~xv_gqRRx2vn0G#jQjAD77;#Ss66ib@u#*!xf51dyl3qy?sk7<{?wzybc4K~lPrn?7XXM=pL>9Ie{oPs|EVMH_$(F8<6X-sgz0iZ%e7T>QN_TJ^<8WCf_A z4Zs&J{#6{U3S*HKqKY;EU%R-YI9fHvA}dH0Z2-i@N^Jb@^LK<*v;o-RV$~9<&Yo`8 zcMQwW=*BWM{*Eaqk)lvzk!sq%uBA&P6KX7BP0P`qmFQRQ;U!Wl)L7t}w!dq2OXQeP zWBF@Z71tV;NTX0=aco+yYp0Y*(@*A|t?;!vZ2VOnd~-YAi`LXGloMYO3uI(w29QMMqUTP@znAYF5{S#6p)F=g+_K<7U6H+tOC={7C*tNoh z6o(pRB-5UBEyV_Ws8M7xZK7)jCFIahqXcEzFRs-}NbOLgKxJCFYsVzy*ifTq=5+Pn5i zLOu;ON}r~6a_!rMd>?8QMosJD+HVOd4>iiBrgd}ekA(akY7|vX>+aglgzOGAO0K3| z;#y8pDzWRH_0mN_*0gI}tD2N*p+>pZw3}S3nUsQ1qnK;jovxK6B^7FvdQI!=+JQ+q zDAXtfn|8lz-I8){s8J?1?LpVNC*^`rqlj$UVAn2A$|a#jiP^MKu3eRst3!^L!L(;w`#dRMg&La^rakA{k4gDC z)Y!T(?R(dLP0DYf#>R$eKf1OxDceGgZ4c9abM5b>{1a+yikS9?YyT!?PpGkFV%m1s zDyF0oSF+A}ePct#v>mQhPDzzeW4pz)-L6$jNp7gI8DrXh+R7CD$ka$l%}`^j#E{K_L6CnT&tCmBSVeNC(|aoc2r7^4mGx>Oq=0a{ggBeH8!qHd&9L8Q*uhE zv8`p=yRJ1)NsCZp)62A#uC-1{n^0p*%(M?&>zI8rx~6mAlqG zB|Soo%{J4vxpr|%E( z`xV4L3wNZXZ>X^aXj&!L?oUboP-BD8v;$mwC?$hJjqO9zs<`%8N`{9Tn~SDZbM48L zj1D!n9!;y^+A}Gc5Nd2pnwIC4nK zo7Ug8xur5M)Y!r|?IG6|mdc_~V}swcA+EhvDzAqc+yACL=Gt4O@^+}v9AMgd*H)Cu z`=LhbfN7gt`=~VPBZ!y9^b~N@hfM5H7{8W(S{n5b#3KC!D%t>acJZsysK+1{={Hc( z2B52pTS}uIgjl2>K}8#Y^IiPCH0n`^Mfw#~v;pYh;-95a4?`@{&!D0Wz{M`^E{%E| zVv&9a6>R`6bFpGs)B_QV^h2m<18|j#)ykqCiCCmxLPZ;Z>s-t)i+U(xk$wslZ2)?^ zm?(>SEMk#<3l(huZg(+V7WH7nBK;UD+5q%*@vyR}MhXw0`aM*%0T}3FK0jq8^c0q+diu8-SrMwk(T! zNMezG5*2L#hPl{*w=JdxBNky5Z2(5Ocs6fbypIU0Xag|b#qMQMk4k(*`c+i40eIHM z%gUl2mRNk&L>myNx_C`l)Z-G1^tu}Hs+ ziZ%fAT#1F*!!(Pc80 z_Z!Lj%}LWvbd%@G^sJA`WgTT|nM`AtUM4dbp63f=n9E=(uDLPH;@}iZ*nWSo!m+Kl6%Pg)8_CV2 z4;erPl84D)@(6j9JVu6*;ba6ENk);;WD1!|rjvKca`G|xgnUlEBH!(=KQiA(_djqy zN`Bfu>fryyhTm=2X2ah${A0sT{9O}d_x|+q?cSfB9fdu>iIss9D|5=3LJOdkLMx!1 zLOY;~LKmQ$LO0+_g)4z;6|MztP`ClOS>a~jR)t%E+ZApH`YH4S9#nV`cu3(PV6ehq zV2HvHV3@)%;7Nrifu|In0>&wf1C}c+2UaPp0xIZ5`YTl7!sZHXfes2CfX)h?fvyT& zf%6s42QF5)7`Q^=3gBjin}I$GeSkX^?gZ{uxEr`n;Xa_BLO3e|xEg#sX{kOa~SX`q2Z1E7gQ6QH9)N1(GpXW$%#bAWRd&IP(FbO(AU z^Z+hVxCFRd;d0;#g)4xo6s`iURk#+oN#Q2o7KK}Y`xWj7hARvQMkO=Z zn5r-pn4vHOcwXUoV4lJ}V7|h9V4=c7;8lfJfj1Q109Grk2G%O91wK~z7}%h&0r*1U z3*Z}tZ-DO=z6Z7_Yyp0)rmyV3NB6@0aQUNJtMcD?eFtQFHND?aO?Fn3UDf2@YO-H0 z|EtxcLatQImHlab&Xp?BiCxvWA1>8%+w#MiEBX3Sc^kT$+ejgQq$rnTCiKiM{Y}7P z^dK5I<&a!Cj3*C|nmPZQF!C$HW{!JYtDP%#LXBS_rkz+hK3ct8IWE-r^S2~9pzw}JI z(zWina$%_PE77!TUArt-`i2_6FipF`wSKwMKh*ejYTC`Ny_72pLycdyrrqk=;#_$x z)c93w+U>5rl`Bg_jbGHJ^>b}yuB-|*evO;(2{0Zbe0 z+BdoKU8pfZFl~ryKjzAoP-FUF+A!CC&lL$ZCKskX>Du49vOUz8dYJZQWMFOlnM9+IT<)#d6?W2$9ZSJytNE*nFQiI{2UyY_u` z`7zX(rkQrJYrj^P-$RW_oM~6MmZ>2JaS~tFe-=|b({6UHRt>2gYD@r4>*LyqHRPmF zV|r-XovwANA!mgelSk9;cJ1sM(lykWTAFsBYvrq243^k^urakQ1 zWi{mTP-D_++9R%AT|=%3wMSxYsB72PkQ+jc39lV(glo6gkUK(+>9A>|T)Vr5+!Ja{ zmQ5Su+PyX8{!n8oZQ6L(9;_h)Lyd{HX%k!0sIt*HSg5EYw(7n6}ilLu$&Qp~kYqwB@c1swqQ4jYWxRt6UpaQ$~auOBU1Cxb|dC zc`DRc(3rN>wP$L|v!TXv$F%LPO|B_ZLXE|cX**q;T~p?U8cQY9cDwd+O?frcSV)<+ z$F(vqm{V! zc}@8u)L7n`mU8XOn(}q1vG_Bs%(WkC%8#MO($KU6UHhe`{2FR398EjSwQV)!k5FS- zX<9AU{;4TDLybkJX?0xtx2Eg~wK}nOoNJZxWPeT*&ict>!D>fq;96duA*>zF530RF zw69&;l_&p(8l^1LzH==nUn+9BgRIwH3SFlC;9AvusTOLK!AvW6t!BRDg&IXN)BbR+ zIA0Q>MhVTdzg;^pUk(X13T&qBbgg#2935(u-%Q)%TD^QZF4QQ_nN~sHf+w01G|HF8 zp+@P>w92lXoG+(_8ihU6s=3xOUs{D4Wk1uZyLNHDToP&&1x+h(?ecuNI@Bl`nwE6! z`h2-D)F>#LmUgXAzT6gSlp9TJ;9B2&xhK>pMw-^dwSoEaaHvtLG_9j+BY3yLP@|A( zT4&eB@Fs$xMw!#Jb6k5iU!Ds!ilC;Q>)KS_#V^z-k($=swb{JwU8qq&HLZthFXqcj zp+Wb|ziVIR%h#bsIoY(~u6>s;n?sFa zvuPt;JFGws=ZYd(FI<$OO&jOh(FJl$s8Ogk?K#&P6iCBRql|6ZRM$=}kkdkqBDZNX zTsxycT80`WaMPZ5txbWn4K)hnrp?naBXOTJRWLn7nt^iYoiL}sZe7x!L)B&d!|4pgc@57rhV_)hXwLcsId`Y z+7{Q|EtFMsr(}KivQ1&yIDz1*J@d;KHt;k_Qu?IR9y@v%r8 zzV}HPw3m60YZqrl;+(xt^4va0e8I)}k+@**lk&n|=AEovd@T}R-}@xb?Q_JXG{!t7 z@8q1pwOk@|h2n|`S1GRI0z7LK)&d_Zd<@)F0l29G`_>A5fV(T`2Gf1qKOy}qwA4=_ z4_1giQ+Y#n;86xukiq}=nV~%MSOppOf1i1hXP&AcV>#yTu{ko1CX{E$b7V4^O8!S? zkXd9ld4ar0ULp&~Lb8~=PL_~2$vfmdQcnIP+sO`6nTC^Uq&lfd5+p?qC&!TENE31@ zX--;_)}$Lbk8~$J$i?IeawWNjTt{vucawWbKk^WHggia7L&Kg+vGj6oU9=q zlds5T@&nmIej!iOBr<`_AT!Bq@&cJhULp&~BJv7(mApaTB&*39@*(+%Y#^1nENCvN zK@#LpQj63kb;!}=SaKXWl{6*INON*JIfI-@+K{%S1L;K0CSA$7q&vBoTt==T*O7r_ z33-dWM^=#c$p_>kvYu=to5<(nE3%pVNPZ^2lHW-=*-HK*+sRJyFWHYvjaDF)NEK3z z)Fk<&m?TLl$&iD|VdMx>o75%8kb0y(X-FEAlgKILG}4TmPR<}L$(f`TX-(RYwxk_t zPdbo}q!T%dbS7QM*`zBuk6b`5B$tpyWC{74d`EsDKa#EF5AqlJhwLP~$sV#Fmp!dW z_9vCevE(??fE-U6lat8F