diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core.Sqlsugar/Repositories/SqlsugarRepository.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Core.Sqlsugar/Repositories/SqlsugarRepository.cs index c530e44b..a90e2ee6 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Core.Sqlsugar/Repositories/SqlsugarRepository.cs +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core.Sqlsugar/Repositories/SqlsugarRepository.cs @@ -28,17 +28,17 @@ namespace Yi.Framework.Core.Sqlsugar.Repositories public async Task> GetPageListAsync(Expression> whereExpression, IPagedAndSortedResultRequestDto page) { - return await base.GetPageListAsync(whereExpression, new PageModel { PageIndex = page.PageIndex, PageSize = page.PageSize }); + return await base.GetPageListAsync(whereExpression, new PageModel { PageIndex = page.PageNum, PageSize = page.PageSize }); } public async Task> GetPageListAsync(Expression> whereExpression, IPagedAndSortedResultRequestDto page, Expression>? orderByExpression = null, OrderByEnum orderByType = OrderByEnum.Asc) { - return await base.GetPageListAsync(whereExpression, new PageModel { PageIndex = page.PageIndex, PageSize = page.PageSize }, orderByExpression, orderByType.EnumToEnum()); + return await base.GetPageListAsync(whereExpression, new PageModel { PageIndex = page.PageNum, PageSize = page.PageSize }, orderByExpression, orderByType.EnumToEnum()); } public async Task> GetPageListAsync(Expression> whereExpression, IPagedAndSortedResultRequestDto page, string? orderBy, OrderByEnum orderByType = OrderByEnum.Asc) { - return await _DbQueryable.Where(whereExpression).OrderByIF(orderBy is not null, orderBy + " " + orderByType.ToString().ToLower()).ToPageListAsync(page.PageIndex, page.PageSize); + return await _DbQueryable.Where(whereExpression).OrderByIF(orderBy is not null, orderBy + " " + orderByType.ToString().ToLower()).ToPageListAsync(page.PageNum, page.PageSize); } diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core.Sqlsugar/Yi.Framework.Core.Sqlsugar.csproj b/Yi.Framework.Net6/src/framework/Yi.Framework.Core.Sqlsugar/Yi.Framework.Core.Sqlsugar.csproj index 42b58aee..d7032fa3 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Core.Sqlsugar/Yi.Framework.Core.Sqlsugar.csproj +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core.Sqlsugar/Yi.Framework.Core.Sqlsugar.csproj @@ -7,7 +7,7 @@ - + diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Yi.Framework.Core.csproj b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Yi.Framework.Core.csproj index f7eab964..0eb9ac96 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Yi.Framework.Core.csproj +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Yi.Framework.Core.csproj @@ -12,7 +12,7 @@ - + diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/AuditedObject.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/AuditedObject.cs new file mode 100644 index 00000000..9867b612 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Auditing/AuditedObject.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 class AuditedObject : IAuditedObject + { + public DateTime CreationTime { get; set; }= DateTime.Now; + + public long? CreatorId { get; set; } + + public long? LastModifierId { get; set; } + + public DateTime? LastModificationTime { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Entities/IState.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Entities/IState.cs index fee2f365..55e08fc5 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Entities/IState.cs +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Data/Entities/IState.cs @@ -8,6 +8,6 @@ namespace Yi.Framework.Data.Entities { public interface IState { - public bool State { get; set; } + public bool? State { get; set; } } } diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/Abstract/IPagedAndSortedResultRequestDto.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/Abstract/IPagedAndSortedResultRequestDto.cs index c35f05b5..8f55de87 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/Abstract/IPagedAndSortedResultRequestDto.cs +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/Abstract/IPagedAndSortedResultRequestDto.cs @@ -9,7 +9,7 @@ namespace Yi.Framework.Ddd.Dtos { public interface IPagedAndSortedResultRequestDto { - int PageIndex { get; set; } + int PageNum { get; set; } int PageSize { get; set; } string? SortBy { get; set; } diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAndSortedResultRequestDto.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAndSortedResultRequestDto.cs index bea64671..cde6606f 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAndSortedResultRequestDto.cs +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedAndSortedResultRequestDto.cs @@ -9,7 +9,7 @@ namespace Yi.Framework.Ddd.Dtos { public class PagedAndSortedResultRequestDto : IPagedAndSortedResultRequestDto { - public int PageIndex { get; set; } = 1; + public int PageNum { get; set; } = 1; public int PageSize { get; set; } = int.MaxValue; public string? SortBy { get; set; } public OrderByEnum SortType { get; set; } = OrderByEnum.Desc; diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedDto.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedDto.cs new file mode 100644 index 00000000..87038530 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Ddd/Dtos/PagedDto.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Ddd.Dtos +{ + public class PagedDto + { + public PagedDto(long totalCount, List items) + { + Total = totalCount; + Items = items; + } + public long Total { get; set; } + + public List Items{ get; set; } +} +} 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 9fe006b5..71621f35 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs @@ -14,10 +14,13 @@ TemplateFactory templateFactory = new(); //string modelName = "Exhibition"; //string nameSpaces = "Yi.BBS"; //List entityNames = new() { "Banner" }; -string modelName = "Identity"; +//string modelName = "Identity"; +//string nameSpaces = "Yi.RBAC"; +//List entityNames = new() { "_" }; +string modelName = "Dictionary"; string nameSpaces = "Yi.RBAC"; List entityNames = new() { "_" }; - +List entityNames = new() { "_", "_" }; diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/ApplicationContractsSwaggerDoc.xml b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/ApplicationContractsSwaggerDoc.xml index f1194e71..8bea12d0 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/ApplicationContractsSwaggerDoc.xml +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/ApplicationContractsSwaggerDoc.xml @@ -4,6 +4,26 @@ Yi.RBAC.Application.Contracts + + + DictionaryType输入创建对象 + + + + + Dictionary输入创建对象 + + + + + Dictionary服务抽象 + + + + + DictionaryType服务抽象 + + Dept输入创建对象 diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryCreateInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryCreateInputVo.cs new file mode 100644 index 00000000..97f179b1 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryCreateInputVo.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.RBAC.Application.Contracts.Dictionary.Dtos +{ + /// + /// Dictionary输入创建对象 + /// + public class DictionaryCreateInputVo + { + public long Id { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + public string? Remark { get; set; } + public string? ListClass { get; set; } + public string? CssClass { get; set; } + public string DictType { get; set; } = string.Empty; + public string? DictLabel { get; set; } + public string DictValue { get; set; } = string.Empty; + public bool IsDefault { get; set; } + + public bool State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetListInputVo.cs new file mode 100644 index 00000000..18251f8e --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetListInputVo.cs @@ -0,0 +1,16 @@ +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.Dictionary.Dtos +{ + public class DictionaryGetListInputVo : PagedAndSortedResultRequestDto + { + public string? DictType { get; set; } + public string? DictLabel { get; set; } + public bool? State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetListOutputDto.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetListOutputDto.cs new file mode 100644 index 00000000..449e7b90 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetListOutputDto.cs @@ -0,0 +1,24 @@ +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.Dictionary.Dtos +{ + public class DictionaryGetListOutputDto : IEntityDto + { + public long Id { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + public string? Remark { get; set; } + public string? ListClass { get; set; } + public string? CssClass { get; set; } + public string DictType { get; set; } = string.Empty; + public string? DictLabel { get; set; } + public string DictValue { get; set; } = string.Empty; + public bool IsDefault { get; set; } + public bool State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetOutputDto.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetOutputDto.cs new file mode 100644 index 00000000..037f8bde --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryGetOutputDto.cs @@ -0,0 +1,25 @@ +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.Dictionary.Dtos +{ + public class DictionaryGetOutputDto : IEntityDto + { + public long Id { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + public string? Remark { get; set; } + public string? ListClass { get; set; } + public string? CssClass { get; set; } + public string DictType { get; set; } = string.Empty; + public string? DictLabel { get; set; } + public string DictValue { get; set; } = string.Empty; + public bool IsDefault { get; set; } + + public bool State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryUpdateInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryUpdateInputVo.cs new file mode 100644 index 00000000..fc5ac6b1 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/Dictionary/DictionaryUpdateInputVo.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.RBAC.Application.Contracts.Dictionary.Dtos +{ + public class DictionaryUpdateInputVo + { + public long Id { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + public string? Remark { get; set; } + public string? ListClass { get; set; } + public string? CssClass { get; set; } + public string DictType { get; set; } = string.Empty; + public string? DictLabel { get; set; } + public string DictValue { get; set; } = string.Empty; + public bool IsDefault { get; set; } + + public bool State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeCreateInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeCreateInputVo.cs new file mode 100644 index 00000000..fa1eebe1 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeCreateInputVo.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.RBAC.Application.Contracts.Dictionary.Dtos +{ + /// + /// DictionaryType输入创建对象 + /// + public class DictionaryTypeCreateInputVo + { + public long Id { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + public string DictName { get; set; } = string.Empty; + public string DictType { get; set; } = string.Empty; + public string? Remark { get; set; } + + public bool State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetListInputVo.cs new file mode 100644 index 00000000..5a66475c --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetListInputVo.cs @@ -0,0 +1,18 @@ +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.Dictionary.Dtos +{ + public class DictionaryTypeGetListInputVo : PagedAllResultRequestDto + { + public string? DictName { get; set; } + public string? DictType { get; set; } + public string? Remark { get; set; } + + public bool? State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetListOutputDto.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetListOutputDto.cs new file mode 100644 index 00000000..45dcbde6 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetListOutputDto.cs @@ -0,0 +1,21 @@ +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.Dictionary.Dtos +{ + public class DictionaryTypeGetListOutputDto : IEntityDto + { + public long Id { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + public string DictName { get; set; } = string.Empty; + public string DictType { get; set; } = string.Empty; + public string? Remark { get; set; } + + public bool State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetOutputDto.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetOutputDto.cs new file mode 100644 index 00000000..e726504f --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeGetOutputDto.cs @@ -0,0 +1,21 @@ +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.Dictionary.Dtos +{ + public class DictionaryTypeGetOutputDto : IEntityDto + { + public long Id { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + public string DictName { get; set; } = string.Empty; + public string DictType { get; set; } = string.Empty; + public string? Remark { get; set; } + + public bool State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeUpdateInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeUpdateInputVo.cs new file mode 100644 index 00000000..2f053fb3 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/Dtos/DictionaryType/DictionaryTypeUpdateInputVo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.RBAC.Application.Contracts.Dictionary.Dtos +{ + public class DictionaryTypeUpdateInputVo + { + public long Id { get; set; } + public DateTime CreationTime { get; set; } = DateTime.Now; + public long? CreatorId { get; set; } + public string DictName { get; set; } = string.Empty; + public string DictType { get; set; } = string.Empty; + public string? Remark { get; set; } + public bool State { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/IDictionaryService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/IDictionaryService.cs new file mode 100644 index 00000000..a04c8327 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/IDictionaryService.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.Dictionary.Dtos; +using Yi.Framework.Ddd.Services.Abstract; + +namespace Yi.RBAC.Application.Contracts.Dictionary +{ + /// + /// Dictionary服务抽象 + /// + public interface IDictionaryService : ICrudAppService + { + + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/IDictionaryTypeService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/IDictionaryTypeService.cs new file mode 100644 index 00000000..88848508 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Dictionary/IDictionaryTypeService.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.Dictionary.Dtos; +using Yi.Framework.Ddd.Services.Abstract; + +namespace Yi.RBAC.Application.Contracts.Dictionary +{ + /// + /// DictionaryType服务抽象 + /// + public interface IDictionaryTypeService : ICrudAppService + { + + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Account/Dtos/LoginInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Account/LoginInputVo.cs similarity index 85% rename from Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Account/Dtos/LoginInputVo.cs rename to Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Account/LoginInputVo.cs index 33720df9..10ef1d51 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Account/Dtos/LoginInputVo.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Account/LoginInputVo.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Yi.RBAC.Application.Contracts.Account.Dtos +namespace Yi.RBAC.Application.Contracts.Identity.Dtos.Account { public class LoginInputVo { diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/ApplicationSwaggerDoc.xml b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/ApplicationSwaggerDoc.xml index 5f111fc7..4fec4835 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/ApplicationSwaggerDoc.xml +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/ApplicationSwaggerDoc.xml @@ -4,7 +4,29 @@ Yi.RBAC.Application - + + + Dictionary服务实现 + + + + + 查询 + + + + + 根据字典类型获取字典列表 + + + + + + + DictionaryType服务实现 + + + 登录 diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryService.cs new file mode 100644 index 00000000..7673319e --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryService.cs @@ -0,0 +1,48 @@ +using Yi.RBAC.Application.Contracts.Dictionary; +using NET.AutoWebApi.Setting; +using Yi.RBAC.Application.Contracts.Dictionary.Dtos; +using Yi.RBAC.Domain.Dictionary.Entities; +using Yi.Framework.Ddd.Services; +using Microsoft.AspNetCore.Mvc; +using Yi.Framework.Ddd.Dtos; +using Yi.RBAC.Domain.Dictionary.Repositories; + +namespace Yi.RBAC.Application.Dictionary +{ + /// + /// Dictionary服务实现 + /// + [AppService] + public class DictionaryService : CrudAppService, + IDictionaryService, IAutoApiService + { + /// + /// 查询 + /// + [Autowired] + private IDictionaryRepository _dictionaryRepository { get; set; } + public override async Task> GetListAsync(DictionaryGetListInputVo input) + { + var data = await _dictionaryRepository.SelectGetListAsync(await MapToEntityAsync(input), input); + return new PagedResultDto + { + Total = data.Total, + Items = await MapToGetListOutputDtosAsync(data.Items) + }; + } + + + /// + /// 根据字典类型获取字典列表 + /// + /// + /// + [Route("/api/dictionary/dic-type/{dicType}")] + public async Task> GetDicType([FromRoute] string dicType) + { + var entities = await _repository.GetListAsync(u => u.DictType == dicType && u.State == true); + var result = await MapToGetListOutputDtosAsync(entities); + return result; + } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryTypeService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryTypeService.cs new file mode 100644 index 00000000..f634af22 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/DictionaryTypeService.cs @@ -0,0 +1,33 @@ +using Yi.RBAC.Application.Contracts.Dictionary; +using NET.AutoWebApi.Setting; +using Yi.RBAC.Application.Contracts.Dictionary.Dtos; +using Yi.RBAC.Domain.Dictionary.Entities; +using Yi.Framework.Ddd.Services; +using Yi.RBAC.Domain.Dictionary.Repositories; +using Yi.Framework.Ddd.Dtos; + +namespace Yi.RBAC.Application.Dictionary +{ + /// + /// DictionaryType服务实现 + /// + [AppService] + public class DictionaryTypeService : CrudAppService, + IDictionaryTypeService, IAutoApiService + { + + [Autowired] + private IDictionaryTypeRepository _dictionaryTypeRepository { get; set; } + + public async override Task> GetListAsync(DictionaryTypeGetListInputVo input) + { + var data = await _dictionaryTypeRepository.SelectGetListAsync(await MapToEntityAsync(input), input); + return new PagedResultDto + { + Total = data.Total, + Items = await MapToGetListOutputDtosAsync(data.Items) + }; + } + + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/MapperConfig/DictionaryProfile.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/MapperConfig/DictionaryProfile.cs new file mode 100644 index 00000000..e1850afc --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/MapperConfig/DictionaryProfile.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.Dictionary.Dtos; +using Yi.RBAC.Domain.Dictionary.Entities; + +namespace Yi.RBAC.Application.Dictionary.MapperConfig +{ + public class DictionaryProfile: Profile + { + public DictionaryProfile() + { + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/MapperConfig/DictionaryTypeProfile.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/MapperConfig/DictionaryTypeProfile.cs new file mode 100644 index 00000000..1283061b --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Dictionary/MapperConfig/DictionaryTypeProfile.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.Dictionary.Dtos; +using Yi.RBAC.Domain.Dictionary.Entities; + +namespace Yi.RBAC.Application.Dictionary.MapperConfig +{ + public class DictionaryTypeProfile: Profile + { + public DictionaryTypeProfile() + { + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs index e2161013..9343ab1a 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs @@ -17,7 +17,6 @@ using Yi.Framework.Core.Exceptions; using Yi.Framework.Ddd.Repositories; using Yi.Framework.Ddd.Services; using Yi.Framework.ThumbnailSharp; -using Yi.RBAC.Application.Contracts.Account.Dtos; using Yi.RBAC.Application.Contracts.Identity; using Yi.RBAC.Application.Contracts.Identity.Dtos.Account; using Yi.RBAC.Domain.Identity; diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Dictionary/ConstClasses/DictionaryConst.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Dictionary/ConstClasses/DictionaryConst.cs new file mode 100644 index 00000000..241106cb --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Dictionary/ConstClasses/DictionaryConst.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.Dictionary.ConstClasses +{ + /// + /// 常量定义 + /// + + public class DictionaryConst + { + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Dictionary/ConstClasses/DictionaryTypeConst.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Dictionary/ConstClasses/DictionaryTypeConst.cs new file mode 100644 index 00000000..2bc0302c --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain.Shared/Dictionary/ConstClasses/DictionaryTypeConst.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.Dictionary.ConstClasses +{ + /// + /// 常量定义 + /// + + public class DictionaryTypeConst + { + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/DictionaryDataSeed.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/DictionaryDataSeed.cs new file mode 100644 index 00000000..e54da168 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/DictionaryDataSeed.cs @@ -0,0 +1,369 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Data.DataSeeds; +using Yi.Framework.Ddd.Repositories; +using Yi.RBAC.Domain.Dictionary.Entities; + +namespace Yi.RBAC.Domain.DataSeeds +{ + [AppService(typeof(IDataSeed))] + public class DictionaryDataSeed : AbstractDataSeed + { + public DictionaryDataSeed(IRepository repository) : base(repository) + { + } + + public override List GetSeedData() + { + List entities= new List(); + DictionaryEntity dictInfo1 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "男", + DictValue = "0", + DictType = "sys_user_sex", + OrderNum = 100, + Remark = "性别男", + IsDeleted = false, + }; + entities.Add(dictInfo1); + + DictionaryEntity dictInfo2 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "女", + DictValue = "1", + DictType = "sys_user_sex", + OrderNum = 99, + Remark = "性别女", + IsDeleted = false, + }; + entities.Add(dictInfo2); + + DictionaryEntity dictInfo3 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "未知", + DictValue = "2", + DictType = "sys_user_sex", + OrderNum = 98, + Remark = "性别未知", + IsDeleted = false, + }; + entities.Add(dictInfo3); + + + + DictionaryEntity dictInfo4 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "显示", + DictValue = "true", + DictType = "sys_show_hide", + OrderNum = 100, + Remark = "显示菜单", + IsDeleted = false, + }; + entities.Add(dictInfo4); + + DictionaryEntity dictInfo5 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "隐藏", + DictValue = "false", + DictType = "sys_show_hide", + OrderNum = 99, + Remark = "隐藏菜单", + IsDeleted = false, + }; + entities.Add(dictInfo5); + + + + DictionaryEntity dictInfo6 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "正常", + DictValue = "true", + DictType = "sys_normal_disable", + OrderNum = 100, + Remark = "正常状态", + IsDeleted = false, + }; + entities.Add(dictInfo6); + DictionaryEntity dictInfo7 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "停用", + DictValue = "false", + DictType = "sys_normal_disable", + OrderNum = 99, + Remark = "停用状态", + IsDeleted = false, + ListClass = "danger" + }; + entities.Add(dictInfo7); + + + + DictionaryEntity dictInfo8 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "正常", + DictValue = "0", + DictType = "sys_job_status", + OrderNum = 100, + Remark = "正常状态", + IsDeleted = false, + }; + entities.Add(dictInfo8); + DictionaryEntity dictInfo9 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "暂停", + DictValue = "1", + DictType = "sys_job_status", + OrderNum = 99, + Remark = "停用状态", + IsDeleted = false, + ListClass = "danger" + }; + entities.Add(dictInfo9); + + + + + DictionaryEntity dictInfo10 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "默认", + DictValue = "DEFAULT", + DictType = "sys_job_group", + OrderNum = 100, + Remark = "默认分组", + IsDeleted = false, + }; + entities.Add(dictInfo10); + DictionaryEntity dictInfo11 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "系统", + DictValue = "SYSTEM", + DictType = "sys_job_group", + OrderNum = 99, + Remark = "系统分组", + IsDeleted = false, + }; + entities.Add(dictInfo11); + + + + DictionaryEntity dictInfo12 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "是", + DictValue = "Y", + DictType = "sys_yes_no", + OrderNum = 100, + Remark = "系统默认是", + IsDeleted = false, + }; + entities.Add(dictInfo12); + DictionaryEntity dictInfo13 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "否", + DictValue = "N", + DictType = "sys_yes_no", + OrderNum = 99, + Remark = "系统默认否", + IsDeleted = false, + ListClass = "danger" + }; + entities.Add(dictInfo13); + + + + DictionaryEntity dictInfo14 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "通知", + DictValue = "1", + DictType = "sys_notice_type", + OrderNum = 100, + Remark = "通知", + IsDeleted = false, + }; + entities.Add(dictInfo14); + DictionaryEntity dictInfo15 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "公告", + DictValue = "2", + DictType = "sys_notice_type", + OrderNum = 99, + Remark = "公告", + IsDeleted = false, + }; + entities.Add(dictInfo15); + + DictionaryEntity dictInfo16 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "正常", + DictValue = "0", + DictType = "sys_notice_status", + OrderNum = 100, + Remark = "正常状态", + IsDeleted = false, + }; + entities.Add(dictInfo16); + DictionaryEntity dictInfo17 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "关闭", + DictValue = "1", + DictType = "sys_notice_status", + OrderNum = 99, + Remark = "关闭状态", + IsDeleted = false, + ListClass = "danger" + }; + entities.Add(dictInfo17); + + DictionaryEntity dictInfo18 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "新增", + DictValue = "1", + DictType = "sys_oper_type", + OrderNum = 100, + Remark = "新增操作", + IsDeleted = false, + }; + entities.Add(dictInfo18); + DictionaryEntity dictInfo19 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "修改", + DictValue = "2", + DictType = "sys_oper_type", + OrderNum = 99, + Remark = "修改操作", + IsDeleted = false, + }; + entities.Add(dictInfo19); + DictionaryEntity dictInfo22 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "删除", + DictValue = "3", + DictType = "sys_oper_type", + OrderNum = 98, + Remark = "删除操作", + IsDeleted = false, + ListClass = "danger" + }; + entities.Add(dictInfo22); + DictionaryEntity dictInfo23 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "授权", + DictValue = "4", + DictType = "sys_oper_type", + OrderNum = 97, + Remark = "授权操作", + IsDeleted = false, + }; + entities.Add(dictInfo23); + DictionaryEntity dictInfo24 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "导出", + DictValue = "5", + DictType = "sys_oper_type", + OrderNum = 96, + Remark = "导出操作", + IsDeleted = false, + }; + entities.Add(dictInfo24); + DictionaryEntity dictInfo25 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "导入", + DictValue = "6", + DictType = "sys_oper_type", + OrderNum = 95, + Remark = "导入操作", + IsDeleted = false, + }; + entities.Add(dictInfo25); + DictionaryEntity dictInfo26 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "强退", + DictValue = "7", + DictType = "sys_oper_type", + OrderNum = 94, + Remark = "强退操作", + IsDeleted = false, + }; + entities.Add(dictInfo26); + DictionaryEntity dictInfo27 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "生成代码", + DictValue = "8", + DictType = "sys_oper_type", + OrderNum = 93, + Remark = "生成代码操作", + IsDeleted = false, + }; + entities.Add(dictInfo27); + DictionaryEntity dictInfo28 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "清空数据", + DictValue = "9", + DictType = "sys_oper_type", + OrderNum = 92, + Remark = "清空数据操作", + IsDeleted = false, + ListClass = "danger" + }; + entities.Add(dictInfo28); + + + + DictionaryEntity dictInfo20 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "成功", + DictValue = "false", + DictType = "sys_common_status", + OrderNum = 100, + Remark = "正常状态", + IsDeleted = false, + }; + entities.Add(dictInfo20); + DictionaryEntity dictInfo21 = new DictionaryEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictLabel = "失败", + DictValue = "true", + DictType = "sys_common_status", + OrderNum = 99, + Remark = "失败状态", + IsDeleted = false, + ListClass = "danger" + }; + entities.Add(dictInfo21); + + return entities; + } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/DictionaryTypeDataSeed.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/DictionaryTypeDataSeed.cs new file mode 100644 index 00000000..1d4c37ee --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/DataSeeds/DictionaryTypeDataSeed.cs @@ -0,0 +1,135 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Data.DataSeeds; +using Yi.Framework.Ddd.Repositories; +using Yi.RBAC.Domain.Dictionary.Entities; + +namespace Yi.RBAC.Domain.DataSeeds +{ + [AppService(typeof(IDataSeed))] + public class DictionaryTypeDataSeed : AbstractDataSeed + { + public DictionaryTypeDataSeed(IRepository repository) : base(repository) + { + } + + public override List GetSeedData() + { + List entities= new List(); + DictionaryTypeEntity dict1 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "用户性别", + DictType = "sys_user_sex", + OrderNum = 100, + Remark = "用户性别列表", + IsDeleted = false, + }; + entities.Add(dict1); + + DictionaryTypeEntity dict2 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "菜单状态", + DictType = "sys_show_hide", + OrderNum = 100, + Remark = "菜单状态列表", + IsDeleted = false, + }; + entities.Add(dict2); + + DictionaryTypeEntity dict3 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "系统开关", + DictType = "sys_normal_disable", + OrderNum = 100, + Remark = "系统开关列表", + IsDeleted = false, + }; + entities.Add(dict3); + + DictionaryTypeEntity dict4 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "任务状态", + DictType = "sys_job_status", + OrderNum = 100, + Remark = "任务状态列表", + IsDeleted = false, + }; + entities.Add(dict4); + + DictionaryTypeEntity dict5 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "任务分组", + DictType = "sys_job_group", + OrderNum = 100, + Remark = "任务分组列表", + IsDeleted = false, + }; + entities.Add(dict5); + + DictionaryTypeEntity dict6 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "系统是否", + DictType = "sys_yes_no", + OrderNum = 100, + Remark = "系统是否列表", + IsDeleted = false, + }; + entities.Add(dict6); + + DictionaryTypeEntity dict7 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "通知类型", + DictType = "sys_notice_type", + OrderNum = 100, + Remark = "通知类型列表", + IsDeleted = false, + }; + entities.Add(dict7); + DictionaryTypeEntity dict8 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "通知状态", + DictType = "sys_notice_status", + OrderNum = 100, + Remark = "通知状态列表", + IsDeleted = false, + }; + entities.Add(dict8); + + DictionaryTypeEntity dict9 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "操作类型", + DictType = "sys_oper_type", + OrderNum = 100, + Remark = "操作类型列表", + IsDeleted = false, + }; + entities.Add(dict9); + + + DictionaryTypeEntity dict10 = new DictionaryTypeEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + DictName = "系统状态", + DictType = "sys_common_status", + OrderNum = 100, + Remark = "登录状态列表", + IsDeleted = false, + }; + entities.Add(dict10); + return entities; + } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Entities/DictionaryEntity.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Entities/DictionaryEntity.cs new file mode 100644 index 00000000..f2153621 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Entities/DictionaryEntity.cs @@ -0,0 +1,76 @@ +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.Dictionary.Entities +{ + [SugarTable("Dictionary")] + public class DictionaryEntity : AuditedObject, IEntity, ISoftDelete, IOrderNum,IState + { + /// + /// 主键 + /// + [SugarColumn(IsPrimaryKey = true)] + public long Id { get; set; } + + + /// + /// 逻辑删除 + /// + public bool IsDeleted { get; set; } + + /// + /// 排序 + /// + public int OrderNum { get; set; } = 0; + + /// + /// 状态 + /// + public bool? State { get; set; } = true; + + /// + /// 描述 + /// + [SugarColumn(ColumnName = "Remark")] + public string? Remark { get; set; } + /// + /// tag类型 + /// + [SugarColumn(ColumnName = "ListClass")] + public string? ListClass { get; set; } + /// + /// tagClass + /// + [SugarColumn(ColumnName = "CssClass")] + public string? CssClass { get; set; } + + /// + /// 字典类型 + /// + [SugarColumn(ColumnName = "DictType")] + public string DictType { get; set; } = string.Empty; + /// + /// 字典标签 + /// + [SugarColumn(ColumnName = "DictLabel")] + public string? DictLabel { get; set; } + /// + /// 字典值 + /// + [SugarColumn(ColumnName = "DictValue")] + public string DictValue { get; set; } = string.Empty; + /// + /// 是否为该类型的默认值 + /// + [SugarColumn(ColumnName = "IsDefault")] + public bool IsDefault { get; set; } + + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Entities/DictionaryTypeEntity.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Entities/DictionaryTypeEntity.cs new file mode 100644 index 00000000..9fa9dcd7 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Entities/DictionaryTypeEntity.cs @@ -0,0 +1,55 @@ +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.Dictionary.Entities +{ + [SugarTable("DictionaryType")] + public class DictionaryTypeEntity : AuditedObject,IEntity, ISoftDelete, IOrderNum + { + /// + /// 主键 + /// + [SugarColumn(IsPrimaryKey = true)] + public long Id { get; set; } + + /// + /// 逻辑删除 + /// + public bool IsDeleted { get; set; } + + /// + /// 排序 + /// + public int OrderNum { get; set; } = 0; + + + /// + /// 状态 + /// + public bool? State { get; set; } = true; + + /// + /// 字典名称 + /// + [SugarColumn(ColumnName = "DictName")] + public string DictName { get; set; } = string.Empty; + /// + /// 字典类型 + /// + [SugarColumn(ColumnName = "DictType")] + public string DictType { get; set; } = string.Empty; + + /// + /// 描述 + /// + [SugarColumn(ColumnName = "Remark")] + public string? Remark { get; set; } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Repositories/IDictionaryRepository.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Repositories/IDictionaryRepository.cs new file mode 100644 index 00000000..987990a2 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Repositories/IDictionaryRepository.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Ddd.Dtos; +using Yi.Framework.Ddd.Dtos.Abstract; +using Yi.Framework.Ddd.Repositories; +using Yi.RBAC.Domain.Dictionary.Entities; +using Yi.RBAC.Domain.Identity.Entities; + +namespace Yi.RBAC.Domain.Dictionary.Repositories +{ + public interface IDictionaryRepository : IRepository + { + Task> SelectGetListAsync(DictionaryEntity input, IPagedAndSortedResultRequestDto pageInput); + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Repositories/IDictionaryTypeRepository.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Repositories/IDictionaryTypeRepository.cs new file mode 100644 index 00000000..317caf89 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Dictionary/Repositories/IDictionaryTypeRepository.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Ddd.Dtos; +using Yi.Framework.Ddd.Dtos.Abstract; +using Yi.Framework.Ddd.Repositories; +using Yi.RBAC.Domain.Dictionary.Entities; +using Yi.RBAC.Domain.Identity.Entities; + +namespace Yi.RBAC.Domain.Dictionary.Repositories +{ + public interface IDictionaryTypeRepository : IRepository + { + Task> SelectGetListAsync(DictionaryTypeEntity input, IPagedAllResultRequestDto pageInput); + } +} 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 3969952a..69ac6079 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,6 +4,96 @@ Yi.RBAC.Domain + + + 主键 + + + + + 逻辑删除 + + + + + 排序 + + + + + 状态 + + + + + 描述 + + + + + tag类型 + + + + + tagClass + + + + + 字典类型 + + + + + 字典标签 + + + + + 字典值 + + + + + 是否为该类型的默认值 + + + + + 主键 + + + + + 逻辑删除 + + + + + 排序 + + + + + 状态 + + + + + 字典名称 + + + + + 字典类型 + + + + + 描述 + + 用户领域服务 diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/DeptEntity.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/DeptEntity.cs index f4b3d1ec..4eb5027b 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/DeptEntity.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/DeptEntity.cs @@ -54,7 +54,7 @@ namespace Yi.RBAC.Domain.Identity.Entities /// /// 状态 /// - public bool State { get; set; } + public bool? State { get; set; } /// /// 部门名称 diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/MenuEntity.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/MenuEntity.cs index 00c36374..cb829e36 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/MenuEntity.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/MenuEntity.cs @@ -56,7 +56,7 @@ namespace Yi.RBAC.Domain.Identity.Entities /// /// 状态 /// - public bool State { get; set; } + public bool? State { get; set; } /// /// 菜单名 diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/PostEntity.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/PostEntity.cs index 902053ad..cd8989a7 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/PostEntity.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/PostEntity.cs @@ -55,7 +55,7 @@ namespace Yi.RBAC.Domain.Identity.Entities /// /// 状态 /// - public bool State { get; set; } + public bool? State { get; set; } /// /// 岗位编码 diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/RoleEntity.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/RoleEntity.cs index 3693ff21..8c729679 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/RoleEntity.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Identity/Entities/RoleEntity.cs @@ -79,7 +79,7 @@ namespace Yi.RBAC.Domain.Identity.Entities /// /// 状态 /// - public bool State { get; set; } + public bool? State { get; set; } [Navigate(typeof(RoleMenuEntity), nameof(RoleMenuEntity.RoleId), nameof(RoleMenuEntity.MenuId))] 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 index 221fd070..67d3d071 100644 --- 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 @@ -133,7 +133,7 @@ namespace Yi.RBAC.Domain.Identity.Entities /// /// 状态 /// - public bool State { get; set; } = true; + public bool? State { get; set; } = true; /// diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/DictionaryRepository.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/DictionaryRepository.cs new file mode 100644 index 00000000..bc8268e6 --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/DictionaryRepository.cs @@ -0,0 +1,36 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Core.Sqlsugar.Repositories; +using Yi.Framework.Ddd.Dtos; +using Yi.Framework.Ddd.Dtos.Abstract; +using Yi.RBAC.Domain.Dictionary.Entities; +using Yi.RBAC.Domain.Dictionary.Repositories; +using Yi.RBAC.Domain.Identity.Entities; +using Yi.RBAC.Domain.Identity.Repositories; + +namespace Yi.RBAC.Sqlsugar.Repositories +{ + [AppService] + public class DictionaryRepository : SqlsugarRepository, IDictionaryRepository + { + public DictionaryRepository(ISqlSugarClient context) : base(context) + { + } + + public async Task> SelectGetListAsync(DictionaryEntity input, IPagedAndSortedResultRequestDto pageInput) + { + RefAsync total = 0; + var entities = await _DbQueryable.WhereIF(input.DictType is not null, x => x.DictType == input.DictType) + .WhereIF(input.DictLabel is not null, x => x.DictLabel!.Contains(input.DictLabel!)) + .WhereIF(input.State is not null,x => x.State == input.State) + .ToPageListAsync(pageInput.PageNum, pageInput.PageSize, total); + + + return new PagedDto(total, entities); + } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/DictionaryTypeRepository.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/DictionaryTypeRepository.cs new file mode 100644 index 00000000..eeee90eb --- /dev/null +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/DictionaryTypeRepository.cs @@ -0,0 +1,35 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Core.Sqlsugar.Repositories; +using Yi.Framework.Ddd.Dtos; +using Yi.Framework.Ddd.Dtos.Abstract; +using Yi.RBAC.Domain.Dictionary.Entities; +using Yi.RBAC.Domain.Dictionary.Repositories; + +namespace Yi.RBAC.Sqlsugar.Repositories +{ + [AppService] + public class DictionaryTypeRepository : SqlsugarRepository, IDictionaryTypeRepository + { + public DictionaryTypeRepository(ISqlSugarClient context) : base(context) + { + } + + public async Task> SelectGetListAsync(DictionaryTypeEntity input, IPagedAllResultRequestDto pageInput) + { + RefAsync total = 0; + var entities = await _DbQueryable.WhereIF(input.DictName is not null, x => x.DictName.Contains(input.DictName!)) + .WhereIF(input.DictType is not null, x => x.DictType!.Contains(input.DictType!)) + .WhereIF(input.State is not null, x => x.State == input.State) + .WhereIF(pageInput.StartTime is not null && pageInput.EndTime is not null ,x=>x.CreationTime>=pageInput.StartTime && x.CreationTime<=pageInput.EndTime) + .ToPageListAsync(pageInput.PageNum, pageInput.PageSize, total); + + + return new PagedDto(total, entities); + } + } +} diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/UserRepository.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/UserRepository.cs index 327aedda..f202506a 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/UserRepository.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Sqlsugar/Repositories/UserRepository.cs @@ -29,7 +29,7 @@ namespace Yi.RBAC.Sqlsugar.Repositories var entities = await _DbQueryable.WhereIF(!string.IsNullOrEmpty(input.UserName), x => x.UserName.Contains(input.UserName!)). WhereIF(input.Phone is not null, x => x.Phone.ToString()! .Contains(input.Phone.ToString()!)). WhereIF(!string.IsNullOrEmpty(input.Name), x => x.Name!.Contains(input.Name!)). - WhereIF(pageInput.StartTime is not null && pageInput.EndTime is not null, x => x.CreationTime >= pageInput.StartTime && x.CreationTime <= pageInput.EndTime).ToPageListAsync(pageInput.PageIndex, pageInput.PageSize); + WhereIF(pageInput.StartTime is not null && pageInput.EndTime is not null, x => x.CreationTime >= pageInput.StartTime && x.CreationTime <= pageInput.EndTime).ToPageListAsync(pageInput.PageNum, pageInput.PageSize); return entities; } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db index bd2a8b2e..5791274a 100644 Binary files a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db and b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db differ diff --git a/Yi.RuoYi.Vue3/src/api/system/dict/data.js b/Yi.RuoYi.Vue3/src/api/system/dict/data.js index 8f7766ea..5a7971df 100644 --- a/Yi.RuoYi.Vue3/src/api/system/dict/data.js +++ b/Yi.RuoYi.Vue3/src/api/system/dict/data.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询字典数据列表 export function listData(query) { return request({ - url: '/dictionaryInfo/pageList', + url: '/dictionary', method: 'get', params: query }) @@ -12,7 +12,7 @@ export function listData(query) { // 查询字典数据详细 export function getData(dictCode) { return request({ - url: '/dictionaryInfo/getById/' + dictCode, + url: '/dictionary/' + dictCode, method: 'get' }) } @@ -20,7 +20,7 @@ export function getData(dictCode) { // 根据字典类型查询字典数据信息 export function getDicts(dictType) { return request({ - url: '/dictionaryInfo/GetListByType/' + dictType, + url: '/dictionary/dic-type/' + dictType, method: 'get' }) } @@ -28,7 +28,7 @@ export function getDicts(dictType) { // 新增字典数据 export function addData(data) { return request({ - url: '/dictionaryInfo/add', + url: '/dictionary', method: 'post', data: data }) @@ -37,7 +37,7 @@ export function addData(data) { // 修改字典数据 export function updateData(data) { return request({ - url: '/dictionaryInfo/update', + url: `/dictionary/${data.id}`, method: 'put', data: data }) @@ -45,14 +45,9 @@ export function updateData(data) { // 删除字典数据 export function delData(dictCode) { - -if("string"==typeof(dictCode)) -{ - dictCode=[dictCode]; -} +console.log(dictCode,"dictCode") return request({ - url: '/dictionaryInfo/delList', - method: 'delete', - data:dictCode + url: `/dictionary/${dictCode}`, + method: 'delete' }) } diff --git a/Yi.RuoYi.Vue3/src/api/system/dict/type.js b/Yi.RuoYi.Vue3/src/api/system/dict/type.js index 347686d6..cd4c4998 100644 --- a/Yi.RuoYi.Vue3/src/api/system/dict/type.js +++ b/Yi.RuoYi.Vue3/src/api/system/dict/type.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询字典类型列表 export function listType(query) { return request({ - url: '/dictionary/pageList', + url: '/dictionary-type', method: 'get', params: query }) @@ -12,7 +12,7 @@ export function listType(query) { // 查询字典类型详细 export function getType(dictId) { return request({ - url: '/dictionary/getById/' + dictId, + url: '/dictionary-type/' + dictId, method: 'get' }) } @@ -20,7 +20,7 @@ export function getType(dictId) { // 新增字典类型 export function addType(data) { return request({ - url: '/dictionary/add', + url: '/dictionary-type', method: 'post', data: data }) @@ -29,7 +29,7 @@ export function addType(data) { // 修改字典类型 export function updateType(data) { return request({ - url: '/dictionary/update', + url: `/dictionary-type/${data.id}`, method: 'put', data: data }) @@ -37,14 +37,9 @@ export function updateType(data) { // 删除字典类型 export function delType(dictId) { - if("string"==typeof(dictId)) -{ - dictId=[dictId]; -} return request({ - url: '/dictionary/delList', + url: `/dictionary-type/${dictId}`, method: 'delete', - data:dictId }) } @@ -59,7 +54,7 @@ export function refreshCache() { // 获取字典选择框列表 export function optionselect() { return request({ - url: '/dictionary/getList', + url: '/dictionary-type', method: 'get' }) } diff --git a/Yi.RuoYi.Vue3/src/views/system/dict/data.vue b/Yi.RuoYi.Vue3/src/views/system/dict/data.vue index e40296af..3117d6bc 100644 --- a/Yi.RuoYi.Vue3/src/views/system/dict/data.vue +++ b/Yi.RuoYi.Vue3/src/views/system/dict/data.vue @@ -19,13 +19,13 @@ @keyup.enter="handleQuery" /> - - + + @@ -96,15 +96,15 @@ - + - + @@ -161,8 +161,8 @@ > - - + + {{dict.label}} @@ -217,7 +217,7 @@ const data = reactive({ pageSize: 10, dictName: undefined, dictType: undefined, - isDeleted: false + state: true }, rules: { dictLabel: [{ required: true, message: "数据标签不能为空", trigger: "blur" }], @@ -240,14 +240,14 @@ function getTypes(dictId) { /** 查询字典类型列表 */ function getTypeList() { getDictOptionselect().then(response => { - typeOptions.value = response.data; + typeOptions.value = response.data.items; }); } /** 查询字典数据列表 */ function getList() { loading.value = true; listData(queryParams.value).then(response => { - dataList.value = response.data.data; + dataList.value = response.data.items; total.value = response.data.total; loading.value = false; }); @@ -266,7 +266,7 @@ function reset() { cssClass: undefined, listClass: "default", orderNum: 0, - isDeleted: false, + state: true, remark: undefined }; proxy.resetForm("dataRef"); diff --git a/Yi.RuoYi.Vue3/src/views/system/dict/index.vue b/Yi.RuoYi.Vue3/src/views/system/dict/index.vue index 62d56424..6e548ceb 100644 --- a/Yi.RuoYi.Vue3/src/views/system/dict/index.vue +++ b/Yi.RuoYi.Vue3/src/views/system/dict/index.vue @@ -19,18 +19,18 @@ @keyup.enter="handleQuery" /> - + @@ -112,15 +112,15 @@ - + - + @@ -158,8 +158,8 @@ - - + + {{dict.label}} @@ -202,7 +202,7 @@ const data = reactive({ pageSize: 10, dictName: undefined, dictType: undefined, - isDeleted: false + state: true }, rules: { dictName: [{ required: true, message: "字典名称不能为空", trigger: "blur" }], @@ -216,7 +216,7 @@ const { queryParams, form, rules } = toRefs(data); function getList() { loading.value = true; listType(proxy.addDateRange(queryParams.value, dateRange.value)).then(response => { - typeList.value = response.data.data; + typeList.value = response.data.items; total.value = response.data.total; loading.value = false; }); @@ -228,13 +228,7 @@ function cancel() { } /** 表单重置 */ function reset() { - form.value = { - id: undefined, - dictName: undefined, - dictType: undefined, - isDeleted: false, - remark: undefined - }; + proxy.resetForm("dictRef"); } /** 搜索按钮操作 */