diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IAuditedObject.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IAuditedObject.cs new file mode 100644 index 00000000..68a63853 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IAuditedObject.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Data.Auditing +{ + public interface IAuditedObject : ICreationAuditedObject, IModificationAuditedObject + { + } + + public interface IAuditedObject : IAuditedObject, ICreationAuditedObject, IModificationAuditedObject + { + + } + +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/ICreationAuditedObject.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/ICreationAuditedObject.cs new file mode 100644 index 00000000..e136c6e4 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/ICreationAuditedObject.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Data.Auditing +{ + public interface ICreationAuditedObject : IHasCreationTime, IMayHaveCreator + { + + } + + public interface ICreationAuditedObject : ICreationAuditedObject, IMayHaveCreator + { + + } + +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IDeletionAuditedObject.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IDeletionAuditedObject.cs new file mode 100644 index 00000000..34d536e0 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IDeletionAuditedObject.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Data.Auditing +{ + public interface IDeletionAuditedObject : IHasDeletionTime + { + long? DeleterId { get; } + } + + public interface IDeletionAuditedObject : IDeletionAuditedObject + { + + TUser Deleter { get; } + } +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IFullAuditedObject.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IFullAuditedObject.cs new file mode 100644 index 00000000..cc081c7d --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IFullAuditedObject.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Data.Auditing +{ + public interface IFullAuditedObject : IAuditedObject, IDeletionAuditedObject + { + + } + + public interface IFullAuditedObject : IAuditedObject, IFullAuditedObject, IDeletionAuditedObject + { + + } + +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasCreationTime.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasCreationTime.cs new file mode 100644 index 00000000..e6aa845b --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasCreationTime.cs @@ -0,0 +1,10 @@ +using System; + +namespace Yi.Framework.Data.Auditing; + + +public interface IHasCreationTime +{ + + DateTime CreationTime { get; } +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasDeletionTime.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasDeletionTime.cs new file mode 100644 index 00000000..5888993d --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasDeletionTime.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Data.Entities; + +namespace Yi.Framework.Data.Auditing +{ + public interface IHasDeletionTime : ISoftDelete + { + DateTime? DeletionTime { get; } + } +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasEntityVersion.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasEntityVersion.cs new file mode 100644 index 00000000..c35b983a --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasEntityVersion.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Data.Auditing +{ + public interface IHasEntityVersion + { + int EntityVersion { get; } + } +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasModificationTime.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasModificationTime.cs new file mode 100644 index 00000000..a61cbae7 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IHasModificationTime.cs @@ -0,0 +1,9 @@ + +namespace Yi.Framework.Data.Auditing; + + +public interface IHasModificationTime +{ + + DateTime? LastModificationTime { get; } +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IMayHaveCreator.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IMayHaveCreator.cs new file mode 100644 index 00000000..c5ee3eef --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IMayHaveCreator.cs @@ -0,0 +1,13 @@ +using System; + +namespace Yi.Framework.Data.Auditing; + +public interface IMayHaveCreator +{ + TCreator Creator { get; } +} + +public interface IMayHaveCreator +{ + long? CreatorId { get; } +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IModificationAuditedObject.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IModificationAuditedObject.cs new file mode 100644 index 00000000..c70a2631 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IModificationAuditedObject.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Data.Auditing +{ + public interface IModificationAuditedObject : IHasModificationTime + { + long? LastModifierId { get; } + } + + public interface IModificationAuditedObject : IModificationAuditedObject + { + TUser LastModifier { get; } + } + +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IMustHaveCreator.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IMustHaveCreator.cs new file mode 100644 index 00000000..c2b316c7 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/IMustHaveCreator.cs @@ -0,0 +1,13 @@ +using System; + +namespace Yi.Framework.Data.Auditing; + +public interface IMustHaveCreator : IMustHaveCreator +{ + TCreator Creator { get; } +} + +public interface IMustHaveCreator +{ + long CreatorId { get; } +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Entities/IOrderNum.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Entities/IOrderNum.cs new file mode 100644 index 00000000..04ab97c4 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Entities/IOrderNum.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Data.Entities +{ + public interface IOrderNum + { + int OrderNum { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstract/ModelTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstract/ModelTemplateProvider.cs index 2c3672aa..fa4e9e5b 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstract/ModelTemplateProvider.cs +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstract/ModelTemplateProvider.cs @@ -13,7 +13,7 @@ namespace Yi.Framework.Template.Abstract public ModelTemplateProvider(string modelName, string entityName, string nameSpaces) : base(modelName, entityName, nameSpaces) { - AddIgnoreEntityField(/*"Id", */"TenantId", "IsDeleted"); + AddIgnoreEntityField(/*"Id", */"TenantId", "IsDeleted", "LastModifierId", "LastModificationTime","OrderNum"); } private string entityPath=string.Empty; diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/ConstClasses/TemplateConst.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/ConstClasses/TemplateConst.cs index 991209f5..fe8a32b4 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.Template/ConstClasses/TemplateConst.cs +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/ConstClasses/TemplateConst.cs @@ -38,7 +38,7 @@ namespace Yi.Framework.Template.ConstClasses public const string NameSpaces = "#NameSpaces#"; - public const string BuildRootPath = "../../../../../project/BBS"; - public const string BuildEntityPath = "../../../../../project/BBS"; + public const string BuildRootPath = "../../../../../project/rbac"; + public const string BuildEntityPath = "../../../../../project/rbac"; } } diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs index 12db57df..5c6e5007 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs @@ -14,38 +14,38 @@ TemplateFactory templateFactory = new(); //string modelName = "Exhibition"; //string nameSpaces = "Yi.BBS"; //List entityNames = new() { "Banner" }; -//string modelName = "Forum"; -//string nameSpaces = "Yi.BBS"; -//List entityNames = new() { "_" }; +string modelName = "Identity"; +string nameSpaces = "Yi.RBAC"; +List entityNames = new() { "User" }; -//foreach (var entityName in entityNames) -//{ -// templateFactory.CreateTemplateProviders((option) => -// { -// option.Add(new ServiceTemplateProvider(modelName, entityName, nameSpaces)); -// option.Add(new IServiceTemplateProvider(modelName, entityName, nameSpaces)); +foreach (var entityName in entityNames) +{ + templateFactory.CreateTemplateProviders((option) => + { + option.Add(new ServiceTemplateProvider(modelName, entityName, nameSpaces)); + option.Add(new IServiceTemplateProvider(modelName, entityName, nameSpaces)); -// option.Add(new CreateInputVoTemplateProvider(modelName, entityName, nameSpaces)); -// option.Add(new UpdateInputVoTemplateProvider(modelName, entityName, nameSpaces)); -// option.Add(new GetListInputVoTemplateProvider(modelName, entityName, nameSpaces)); -// option.Add(new GetListOutputDtoTemplateProvider(modelName, entityName, nameSpaces)); -// option.Add(new GetOutputDtoTemplateProvider(modelName, entityName, nameSpaces)); + option.Add(new CreateInputVoTemplateProvider(modelName, entityName, nameSpaces)); + option.Add(new UpdateInputVoTemplateProvider(modelName, entityName, nameSpaces)); + option.Add(new GetListInputVoTemplateProvider(modelName, entityName, nameSpaces)); + option.Add(new GetListOutputDtoTemplateProvider(modelName, entityName, nameSpaces)); + option.Add(new GetOutputDtoTemplateProvider(modelName, entityName, nameSpaces)); -// option.Add(new ConstTemplateProvider(modelName, entityName, nameSpaces)); -// option.Add(new ProfileTemplateProvider(modelName, entityName, nameSpaces)); -// //option.Add(new ApiTemplateProvider(modelName, entityName)); -// }); -// //开始构建模板 -// templateFactory.BuildTemplate(); -// Console.WriteLine($"Yi.Framework.Template:{entityName}构建完成!"); -//} + option.Add(new ConstTemplateProvider(modelName, entityName, nameSpaces)); + option.Add(new ProfileTemplateProvider(modelName, entityName, nameSpaces)); + //option.Add(new ApiTemplateProvider(modelName, entityName)); + }); + //开始构建模板 + templateFactory.BuildTemplate(); + Console.WriteLine($"Yi.Framework.Template:{entityName}构建完成!"); +} -//Console.WriteLine("Yi.Framework.Template:模板全部生成完成!"); -//Console.ReadKey(); +Console.WriteLine("Yi.Framework.Template:模板全部生成完成!"); +Console.ReadKey(); //根据模板文件生成项目文件 -var template = "D:\\C#\\Yi\\Yi.Framework.Net6\\src\\project\\rbac"; -FileHelper.AllInfoReplace(template, "Template", "RBAC"); \ No newline at end of file +//var template = "D:\\C#\\Yi\\Yi.Framework.Net6\\src\\project\\rbac"; +//FileHelper.AllInfoReplace(template, "Template", "RBAC"); \ No newline at end of file diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.RBAC.Application.Contracts/Identity/IUserService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.RBAC.Application.Contracts/Identity/IUserService.cs new file mode 100644 index 00000000..4d44405c --- /dev/null +++ b/Yi.Framework.Net6/src/project/bbs/Yi.RBAC.Application.Contracts/Identity/IUserService.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.RBAC.Application.Contracts.Identity.Dtos; +using Yi.Framework.Ddd.Services.Abstract; + +namespace Yi.RBAC.Application.Contracts.Identity +{ + /// + /// User服务抽象 + /// + public interface IUserService : ICrudAppService + { + + } +} diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.RBAC.Application/Identity/UserService.cs b/Yi.Framework.Net6/src/project/bbs/Yi.RBAC.Application/Identity/UserService.cs new file mode 100644 index 00000000..6ddc6c96 --- /dev/null +++ b/Yi.Framework.Net6/src/project/bbs/Yi.RBAC.Application/Identity/UserService.cs @@ -0,0 +1,17 @@ +using Yi.RBAC.Application.Contracts.Identity; +using NET.AutoWebApi.Setting; +using Yi.RBAC.Application.Contracts.Identity.Dtos; +using Yi.RBAC.Domain.Identity.Entities; +using Yi.Framework.Ddd.Services; + +namespace Yi.RBAC.Application.Identity +{ + /// + /// User服务实现 + /// + [AppService] + public class UserService : CrudAppService, + IUserService, IAutoApiService + { + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserCreateInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserCreateInputVo.cs new file mode 100644 index 00000000..ab8a3ccc --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserCreateInputVo.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.RBAC.Application.Contracts.Identity.Dtos +{ + /// + /// User输入创建对象 + /// + public class UserCreateInputVo + { + public long Id { get; set; } + public string? Name { get; set; } + public int? Age { get; set; } + public string UserName { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + public string Salt { get; set; } = string.Empty; + public string? Icon { get; set; } + public string? Nick { get; set; } + public string? Email { get; set; } + public string? Ip { get; set; } + public string? Address { get; set; } + public long? Phone { get; set; } + public string? Introduction { get; set; } + public string? Remark { get; set; } + public SexEnum Sex { get; set; } = SexEnum.Unknown; + public long? DeptId { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetListInputVo.cs new file mode 100644 index 00000000..1b6ed458 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetListInputVo.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Ddd.Dtos; + +namespace Yi.RBAC.Application.Contracts.Identity.Dtos +{ + public class UserGetListInputVo : PagedAndSortedResultRequestDto + { + public long Id { get; set; } + public string? Name { get; set; } + public int? Age { get; set; } + public string UserName { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + public string Salt { get; set; } = string.Empty; + public string? Icon { get; set; } + public string? Nick { get; set; } + public string? Email { get; set; } + public string? Ip { get; set; } + public string? Address { get; set; } + public long? Phone { get; set; } + public string? Introduction { get; set; } + public string? Remark { get; set; } + public SexEnum Sex { get; set; } = SexEnum.Unknown; + public long? DeptId { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetListOutputDto.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetListOutputDto.cs new file mode 100644 index 00000000..7a211bd0 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetListOutputDto.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Ddd.Dtos; + +namespace Yi.RBAC.Application.Contracts.Identity.Dtos +{ + public class UserGetListOutputDto : IEntityDto + { + public long Id { get; set; } + public string? Name { get; set; } + public int? Age { get; set; } + public string UserName { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + public string Salt { get; set; } = string.Empty; + public string? Icon { get; set; } + public string? Nick { get; set; } + public string? Email { get; set; } + public string? Ip { get; set; } + public string? Address { get; set; } + public long? Phone { get; set; } + public string? Introduction { get; set; } + public string? Remark { get; set; } + public SexEnum Sex { get; set; } = SexEnum.Unknown; + public long? DeptId { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetOutputDto.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetOutputDto.cs new file mode 100644 index 00000000..7ac1d6b3 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserGetOutputDto.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Ddd.Dtos; + +namespace Yi.RBAC.Application.Contracts.Identity.Dtos +{ + public class UserGetOutputDto : IEntityDto + { + public long Id { get; set; } + public string? Name { get; set; } + public int? Age { get; set; } + public string UserName { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + public string Salt { get; set; } = string.Empty; + public string? Icon { get; set; } + public string? Nick { get; set; } + public string? Email { get; set; } + public string? Ip { get; set; } + public string? Address { get; set; } + public long? Phone { get; set; } + public string? Introduction { get; set; } + public string? Remark { get; set; } + public SexEnum Sex { get; set; } = SexEnum.Unknown; + public long? DeptId { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserUpdateInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserUpdateInputVo.cs new file mode 100644 index 00000000..43164276 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/User/UserUpdateInputVo.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.RBAC.Application.Contracts.Identity.Dtos +{ + public class UserUpdateInputVo + { + public long Id { get; set; } + public string? Name { get; set; } + public int? Age { get; set; } + public string UserName { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + public string Salt { get; set; } = string.Empty; + public string? Icon { get; set; } + public string? Nick { get; set; } + public string? Email { get; set; } + public string? Ip { get; set; } + public string? Address { get; set; } + public long? Phone { get; set; } + public string? Introduction { get; set; } + public string? Remark { get; set; } + public SexEnum Sex { get; set; } = SexEnum.Unknown; + public long? DeptId { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/IUserService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/IUserService.cs new file mode 100644 index 00000000..4d44405c --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/IUserService.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.RBAC.Application.Contracts.Identity.Dtos; +using Yi.Framework.Ddd.Services.Abstract; + +namespace Yi.RBAC.Application.Contracts.Identity +{ + /// + /// User服务抽象 + /// + public interface IUserService : ICrudAppService + { + + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MapperConfig/UserProfile.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MapperConfig/UserProfile.cs new file mode 100644 index 00000000..82a58059 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MapperConfig/UserProfile.cs @@ -0,0 +1,23 @@ +using AutoMapper; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.RBAC.Application.Contracts.Identity.Dtos; +using Yi.RBAC.Domain.Identity.Entities; + +namespace Yi.RBAC.Application.Identity.MapperConfig +{ + public class UserProfile: Profile + { + public UserProfile() + { + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs new file mode 100644 index 00000000..6ddc6c96 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs @@ -0,0 +1,17 @@ +using Yi.RBAC.Application.Contracts.Identity; +using NET.AutoWebApi.Setting; +using Yi.RBAC.Application.Contracts.Identity.Dtos; +using Yi.RBAC.Domain.Identity.Entities; +using Yi.Framework.Ddd.Services; + +namespace Yi.RBAC.Application.Identity +{ + /// + /// User服务实现 + /// + [AppService] + public class UserService : CrudAppService, + IUserService, IAutoApiService + { + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Identity/ConstClasses/UserConst.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Identity/ConstClasses/UserConst.cs new file mode 100644 index 00000000..a672ef85 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Identity/ConstClasses/UserConst.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.RBAC.Domain.Shared.Identity.ConstClasses +{ + /// + /// 常量定义 + /// + + public class UserConst + { + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DomainSwaggerDoc.xml b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DomainSwaggerDoc.xml index a849e1b4..f3d3380d 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DomainSwaggerDoc.xml +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DomainSwaggerDoc.xml @@ -4,5 +4,140 @@ Yi.RBAC.Domain + + + 用户表 + + + + + 主键 + + + + + 逻辑删除 + + + + + 姓名 + + + + + 年龄 + + + + + 用户名 + + + + + 密码 + + + + + 加密盐值 + + + + + 头像 + + + + + 昵称 + + + + + 邮箱 + + + + + Ip + + + + + 地址 + + + + + 电话 + + + + + 简介 + + + + + 备注 + + + + + 性别 + + + + + 部门id + + + + + 创建时间 + + + + + 创建者 + + + + + 最后修改者 + + + + + 最后修改时间 + + + + + 排序 + + + + + 性别 + + + + + 男性 + + + + + 女性 + + + + + 未知 + + diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/UserEntity.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/UserEntity.cs new file mode 100644 index 00000000..daa1fa5b --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/UserEntity.cs @@ -0,0 +1,151 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Data.Auditing; +using Yi.Framework.Data.Entities; +using Yi.Framework.Ddd.Entities; + +namespace Yi.RBAC.Domain.Identity.Entities +{ + /// + /// 用户表 + /// + [SugarTable("User")] + public class UserEntity : IEntity, ISoftDelete, IAuditedObject, IOrderNum + { + /// + /// 主键 + /// + [SugarColumn(IsPrimaryKey = true)] + public long Id { get; set; } + + /// + /// 逻辑删除 + /// + public bool IsDeleted { get; set; } + + /// + /// 姓名 + /// + public string? Name { get; set; } + + /// + /// 年龄 + /// + public int? Age { get; set; } + + /// + /// 用户名 + /// + public string UserName { get; set; } = string.Empty; + + /// + /// 密码 + /// + public string Password { get; set; } = string.Empty; + + /// + /// 加密盐值 + /// + public string Salt { get; set; } = string.Empty; + + /// + /// 头像 + /// + public string? Icon { get; set; } + + /// + /// 昵称 + /// + public string? Nick { get; set; } + + /// + /// 邮箱 + /// + public string? Email { get; set; } + + /// + /// Ip + /// + public string? Ip { get; set; } + + /// + /// 地址 + /// + + public string? Address { get; set; } + + /// + /// 电话 + /// + public long? Phone { get; set; } + + /// + /// 简介 + /// + public string? Introduction { get; set; } + + /// + /// 备注 + /// + public string? Remark { get; set; } + + /// + /// 性别 + /// + public SexEnum Sex { get; set; } = SexEnum.Unknown; + + /// + /// 部门id + /// + public long? DeptId { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreationTime { get; set; } = DateTime.Now; + + /// + /// 创建者 + /// + public long? CreatorId { get; set; } + + /// + /// 最后修改者 + /// + public long? LastModifierId { get; set; } + + /// + /// 最后修改时间 + /// + public DateTime? LastModificationTime { get; set; } + + /// + /// 排序 + /// + public int OrderNum { get; set; } = 0; + } + + /// + /// 性别 + /// + public enum SexEnum + { + /// + /// 男性 + /// + Male = 0, + /// + /// 女性 + /// + Woman = 1, + /// + /// 未知 + /// + Unknown = 2 + + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/Properties/launchSettings.json b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/Properties/launchSettings.json index 04173e5a..b6d2c1b7 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/Properties/launchSettings.json +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/Properties/launchSettings.json @@ -6,7 +6,7 @@ "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "swagger", - "applicationUrl": "http://localhost:19001", + "applicationUrl": "http://localhost:19002", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }