feat: 完成字典模块改造,前端完成首页界面

This commit is contained in:
橙子
2023-03-11 01:16:28 +08:00
parent fb5342594f
commit 9166fc50aa
46 changed files with 359 additions and 279 deletions

View File

@@ -4,26 +4,6 @@
<name>Yi.RBAC.Application.Contracts</name>
</assembly>
<members>
<member name="T:Yi.RBAC.Application.Contracts.Dictionary.Dtos.DictionaryTypeCreateInputVo">
<summary>
DictionaryType输入创建对象
</summary>
</member>
<member name="T:Yi.RBAC.Application.Contracts.Dictionary.Dtos.DictionaryCreateInputVo">
<summary>
Dictionary输入创建对象
</summary>
</member>
<member name="T:Yi.RBAC.Application.Contracts.Dictionary.IDictionaryService">
<summary>
Dictionary服务抽象
</summary>
</member>
<member name="T:Yi.RBAC.Application.Contracts.Dictionary.IDictionaryTypeService">
<summary>
DictionaryType服务抽象
</summary>
</member>
<member name="T:Yi.RBAC.Application.Contracts.Identity.Dtos.DeptCreateInputVo">
<summary>
Dept输入创建对象

View File

@@ -1,27 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.RBAC.Application.Contracts.Dictionary.Dtos
{
/// <summary>
/// Dictionary输入创建对象
/// </summary>
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; }
}
}

View File

@@ -1,16 +0,0 @@
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; }
}
}

View File

@@ -1,24 +0,0 @@
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<long>
{
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; }
}
}

View File

@@ -1,25 +0,0 @@
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<long>
{
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; }
}
}

View File

@@ -1,24 +0,0 @@
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; }
}
}

View File

@@ -1,23 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.RBAC.Application.Contracts.Dictionary.Dtos
{
/// <summary>
/// DictionaryType输入创建对象
/// </summary>
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; }
}
}

View File

@@ -1,18 +0,0 @@
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; }
}
}

View File

@@ -1,21 +0,0 @@
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<long>
{
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; }
}
}

View File

@@ -1,21 +0,0 @@
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<long>
{
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; }
}
}

View File

@@ -1,19 +0,0 @@
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; }
}
}

View File

@@ -1,18 +0,0 @@
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
{
/// <summary>
/// Dictionary服务抽象
/// </summary>
public interface IDictionaryService : ICrudAppService<DictionaryGetOutputDto, DictionaryGetListOutputDto, long, DictionaryGetListInputVo, DictionaryCreateInputVo, DictionaryUpdateInputVo>
{
}
}

View File

@@ -1,18 +0,0 @@
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
{
/// <summary>
/// DictionaryType服务抽象
/// </summary>
public interface IDictionaryTypeService : ICrudAppService<DictionaryTypeGetOutputDto, DictionaryTypeGetListOutputDto, long, DictionaryTypeGetListInputVo, DictionaryTypeCreateInputVo, DictionaryTypeUpdateInputVo>
{
}
}

View File

@@ -4,28 +4,6 @@
<name>Yi.RBAC.Application</name>
</assembly>
<members>
<member name="T:Yi.RBAC.Application.Dictionary.DictionaryService">
<summary>
Dictionary服务实现
</summary>
</member>
<member name="P:Yi.RBAC.Application.Dictionary.DictionaryService._dictionaryRepository">
<summary>
查询
</summary>
</member>
<member name="M:Yi.RBAC.Application.Dictionary.DictionaryService.GetDicType(System.String)">
<summary>
根据字典类型获取字典列表
</summary>
<param name="dicType"></param>
<returns></returns>
</member>
<member name="T:Yi.RBAC.Application.Dictionary.DictionaryTypeService">
<summary>
DictionaryType服务实现
</summary>
</member>
<member name="M:Yi.RBAC.Application.Identity.AccountService.PostLoginAsync(Yi.RBAC.Application.Contracts.Identity.Dtos.Account.LoginInputVo)">
<summary>
登录

View File

@@ -1,50 +0,0 @@
using Yi.RBAC.Application.Contracts.Dictionary;
using Cike.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;
namespace Yi.RBAC.Application.Dictionary
{
/// <summary>
/// Dictionary服务实现
/// </summary>
[AppService]
public class DictionaryService : CrudAppService<DictionaryEntity, DictionaryGetOutputDto, DictionaryGetListOutputDto, long, DictionaryGetListInputVo, DictionaryCreateInputVo, DictionaryUpdateInputVo>,
IDictionaryService, IAutoApiService
{
/// <summary>
/// 查询
/// </summary>
public override async Task<PagedResultDto<DictionaryGetListOutputDto>> GetListAsync(DictionaryGetListInputVo input)
{
int 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(input.PageNum, input.PageSize, total);
return new PagedResultDto<DictionaryGetListOutputDto>
{
Total = total,
Items = await MapToGetListOutputDtosAsync(entities)
};
}
/// <summary>
/// 根据字典类型获取字典列表
/// </summary>
/// <param name="dicType"></param>
/// <returns></returns>
[Route("/api/dictionary/dic-type/{dicType}")]
public async Task<List<DictionaryGetListOutputDto>> GetDicType([FromRoute] string dicType)
{
var entities = await _repository.GetListAsync(u => u.DictType == dicType && u.State == true);
var result = await MapToGetListOutputDtosAsync(entities);
return result;
}
}
}

View File

@@ -1,38 +0,0 @@
using Yi.RBAC.Application.Contracts.Dictionary;
using Cike.AutoWebApi.Setting;
using Yi.RBAC.Application.Contracts.Dictionary.Dtos;
using Yi.RBAC.Domain.Dictionary.Entities;
using Yi.Framework.Ddd.Services;
using Yi.Framework.Ddd.Dtos;
using SqlSugar;
namespace Yi.RBAC.Application.Dictionary
{
/// <summary>
/// DictionaryType服务实现
/// </summary>
[AppService]
public class DictionaryTypeService : CrudAppService<DictionaryTypeEntity, DictionaryTypeGetOutputDto, DictionaryTypeGetListOutputDto, long, DictionaryTypeGetListInputVo, DictionaryTypeCreateInputVo, DictionaryTypeUpdateInputVo>,
IDictionaryTypeService, IAutoApiService
{
public async override Task<PagedResultDto<DictionaryTypeGetListOutputDto>> GetListAsync(DictionaryTypeGetListInputVo input)
{
int 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(input.StartTime is not null && input.EndTime is not null, x => x.CreationTime >= input.StartTime && x.CreationTime <= input.EndTime)
.ToPageListAsync(input.PageNum, input.PageSize, total);
return new PagedResultDto<DictionaryTypeGetListOutputDto>
{
Total = total,
Items = await MapToGetListOutputDtosAsync(entities)
};
}
}
}

View File

@@ -1,16 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.RBAC.Domain.Shared.Dictionary.ConstClasses
{
/// <summary>
/// 常量定义
/// </summary>
public class DictionaryConst
{
}
}

View File

@@ -1,16 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.RBAC.Domain.Shared.Dictionary.ConstClasses
{
/// <summary>
/// 常量定义
/// </summary>
public class DictionaryTypeConst
{
}
}

View File

@@ -6,7 +6,6 @@ using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Data.DataSeeds;
using Yi.Framework.Ddd.Repositories;
using Yi.RBAC.Domain.Dictionary.Entities;
using Yi.RBAC.Domain.Identity.Entities;
namespace Yi.RBAC.Domain.DataSeeds

View File

@@ -6,7 +6,7 @@ using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Data.DataSeeds;
using Yi.Framework.Ddd.Repositories;
using Yi.RBAC.Domain.Dictionary.Entities;
using Yi.Framework.DictionaryManager.Entities;
namespace Yi.RBAC.Domain.DataSeeds
{

View File

@@ -6,7 +6,8 @@ using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Data.DataSeeds;
using Yi.Framework.Ddd.Repositories;
using Yi.RBAC.Domain.Dictionary.Entities;
using Yi.Framework.DictionaryManager.Entities;
namespace Yi.RBAC.Domain.DataSeeds
{

View File

@@ -1,76 +0,0 @@
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<long>, ISoftDelete, IOrderNum,IState
{
/// <summary>
/// 主键
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>
/// 逻辑删除
/// </summary>
public bool IsDeleted { get; set; }
/// <summary>
/// 排序
/// </summary>
public int OrderNum { get; set; } = 0;
/// <summary>
/// 状态
/// </summary>
public bool State { get; set; } = true;
/// <summary>
/// 描述
///</summary>
[SugarColumn(ColumnName = "Remark")]
public string? Remark { get; set; }
/// <summary>
/// tag类型
///</summary>
[SugarColumn(ColumnName = "ListClass")]
public string? ListClass { get; set; }
/// <summary>
/// tagClass
///</summary>
[SugarColumn(ColumnName = "CssClass")]
public string? CssClass { get; set; }
/// <summary>
/// 字典类型
///</summary>
[SugarColumn(ColumnName = "DictType")]
public string DictType { get; set; } = string.Empty;
/// <summary>
/// 字典标签
///</summary>
[SugarColumn(ColumnName = "DictLabel")]
public string? DictLabel { get; set; }
/// <summary>
/// 字典值
///</summary>
[SugarColumn(ColumnName = "DictValue")]
public string DictValue { get; set; } = string.Empty;
/// <summary>
/// 是否为该类型的默认值
///</summary>
[SugarColumn(ColumnName = "IsDefault")]
public bool IsDefault { get; set; }
}
}

View File

@@ -1,55 +0,0 @@
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<long>, ISoftDelete, IOrderNum
{
/// <summary>
/// 主键
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>
/// 逻辑删除
/// </summary>
public bool IsDeleted { get; set; }
/// <summary>
/// 排序
/// </summary>
public int OrderNum { get; set; } = 0;
/// <summary>
/// 状态
/// </summary>
public bool? State { get; set; } = true;
/// <summary>
/// 字典名称
///</summary>
[SugarColumn(ColumnName = "DictName")]
public string DictName { get; set; } = string.Empty;
/// <summary>
/// 字典类型
///</summary>
[SugarColumn(ColumnName = "DictType")]
public string DictType { get; set; } = string.Empty;
/// <summary>
/// 描述
///</summary>
[SugarColumn(ColumnName = "Remark")]
public string? Remark { get; set; }
}
}

View File

@@ -4,96 +4,6 @@
<name>Yi.RBAC.Domain</name>
</assembly>
<members>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.Id">
<summary>
主键
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.IsDeleted">
<summary>
逻辑删除
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.OrderNum">
<summary>
排序
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.State">
<summary>
状态
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.Remark">
<summary>
描述
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.ListClass">
<summary>
tag类型
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.CssClass">
<summary>
tagClass
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.DictType">
<summary>
字典类型
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.DictLabel">
<summary>
字典标签
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.DictValue">
<summary>
字典值
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryEntity.IsDefault">
<summary>
是否为该类型的默认值
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryTypeEntity.Id">
<summary>
主键
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryTypeEntity.IsDeleted">
<summary>
逻辑删除
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryTypeEntity.OrderNum">
<summary>
排序
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryTypeEntity.State">
<summary>
状态
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryTypeEntity.DictName">
<summary>
字典名称
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryTypeEntity.DictType">
<summary>
字典类型
</summary>
</member>
<member name="P:Yi.RBAC.Domain.Dictionary.Entities.DictionaryTypeEntity.Remark">
<summary>
描述
</summary>
</member>
<member name="T:Yi.RBAC.Domain.Identity.AccountManager">
<summary>
用户领域服务

View File

@@ -15,6 +15,7 @@
<PackageReference Include="UAParser" Version="3.1.47" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Yi.Framework.DictionaryManager\Yi.Framework.DictionaryManager.csproj" />
<ProjectReference Include="..\..\..\framework\Yi.Framework.Data\Yi.Framework.Data.csproj" />
<ProjectReference Include="..\..\..\module\Yi.Framework.EventBus\Yi.Framework.EventBus.csproj" />
<ProjectReference Include="..\..\..\module\Yi.Framework.FileManager\Yi.Framework.FileManager.csproj" />

View File

@@ -9,6 +9,7 @@ using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Core.Attributes;
using Yi.Framework.Data;
using Yi.Framework.DictionaryManager;
using Yi.Framework.EventBus;
using Yi.Framework.FileManager;
using Yi.Framework.OperLogManager;
@@ -24,7 +25,8 @@ namespace Yi.RBAC.Domain
typeof(YiFrameworkThumbnailSharpModule),
typeof(YiFrameworkEventBusModule),
typeof(YiFrameworkOperLogManagerModule),
typeof(YiFrameworkFileManagerModule)
typeof(YiFrameworkFileManagerModule),
typeof(YiFrameworkDictionaryManagerModule)
)]
public class YiRBACDomainModule : IStartupModule
{