chore:修改目录
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Infrastructure.AspNetCore
|
||||||
|
{
|
||||||
|
public static class StratUrlsExtensions
|
||||||
|
{
|
||||||
|
public static IWebHostBuilder UseStartUrlsServer(this IWebHostBuilder hostBuilder, IConfiguration configuration, string option = "StartUrl")
|
||||||
|
{
|
||||||
|
return hostBuilder.UseUrls(configuration.GetValue<string>(option));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 常量定义
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public class DictionaryConst
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
using Furion.DependencyInjection;
|
||||||
|
using Furion.DynamicApiController;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using SqlSugar;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||||
|
using Yi.Framework.Module.DictionaryManager.Dtos.Dictionary;
|
||||||
|
using Yi.Framework.Module.DictionaryManager.Entities;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dictionary服务实现
|
||||||
|
/// </summary>
|
||||||
|
public class DictionaryService : CrudAppService<DictionaryEntity, DictionaryGetOutputDto, DictionaryGetListOutputDto, long, DictionaryGetListInputVo, DictionaryCreateInputVo, DictionaryUpdateInputVo>,
|
||||||
|
IDictionaryService,IDynamicApiController,ITransient
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 查询
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public override async Task<PagedResultDto<DictionaryGetListOutputDto>> GetListAsync(DictionaryGetListInputVo input)
|
||||||
|
{
|
||||||
|
RefAsync<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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 常量定义
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public class DictionaryTypeConst
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
using Furion.DependencyInjection;
|
||||||
|
using Furion.DynamicApiController;
|
||||||
|
using SqlSugar;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||||
|
using Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType;
|
||||||
|
using Yi.Framework.Module.DictionaryManager.Entities;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// DictionaryType服务实现
|
||||||
|
/// </summary>
|
||||||
|
public class DictionaryTypeService : CrudAppService<DictionaryTypeEntity, DictionaryTypeGetOutputDto, DictionaryTypeGetListOutputDto, long, DictionaryTypeGetListInputVo, DictionaryTypeCreateInputVo, DictionaryTypeUpdateInputVo>,
|
||||||
|
IDictionaryTypeService, IDynamicApiController, ITransient
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public async override Task<PagedResultDto<DictionaryTypeGetListOutputDto>> GetListAsync(DictionaryTypeGetListInputVo input)
|
||||||
|
{
|
||||||
|
|
||||||
|
RefAsync<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)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||||
|
{
|
||||||
|
/// <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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||||
|
{
|
||||||
|
public class DictionaryGetListInputVo : PagedAndSortedResultRequestDto
|
||||||
|
{
|
||||||
|
public string? DictType { get; set; }
|
||||||
|
public string? DictLabel { get; set; }
|
||||||
|
public bool? State { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||||
|
{
|
||||||
|
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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||||
|
{
|
||||||
|
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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.Dictionary
|
||||||
|
{
|
||||||
|
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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||||
|
{
|
||||||
|
/// <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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||||
|
{
|
||||||
|
public class DictionaryTypeGetListInputVo : PagedAllResultRequestDto
|
||||||
|
{
|
||||||
|
public string? DictName { get; set; }
|
||||||
|
public string? DictType { get; set; }
|
||||||
|
public string? Remark { get; set; }
|
||||||
|
|
||||||
|
public bool? State { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||||
|
{
|
||||||
|
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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||||
|
{
|
||||||
|
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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
namespace Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType
|
||||||
|
{
|
||||||
|
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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
using SqlSugar;
|
||||||
|
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||||
|
using Yi.Framework.Infrastructure.Data.Entities;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.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; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
using SqlSugar;
|
||||||
|
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||||
|
using Yi.Framework.Infrastructure.Data.Entities;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager.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; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||||
|
using Yi.Framework.Module.DictionaryManager.Dtos.Dictionary;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dictionary服务抽象
|
||||||
|
/// </summary>
|
||||||
|
public interface IDictionaryService : ICrudAppService<DictionaryGetOutputDto, DictionaryGetListOutputDto, long, DictionaryGetListInputVo, DictionaryCreateInputVo, DictionaryUpdateInputVo>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||||
|
using Yi.Framework.Module.DictionaryManager.Dtos.DictionaryType;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.DictionaryManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// DictionaryType服务抽象
|
||||||
|
/// </summary>
|
||||||
|
public interface IDictionaryTypeService : ICrudAppService<DictionaryTypeGetOutputDto, DictionaryTypeGetListOutputDto, long, DictionaryTypeGetListInputVo, DictionaryTypeCreateInputVo, DictionaryTypeUpdateInputVo>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
43
Yi.Furion.Rbac/Yi.Framework.Module/FileManager/FileEntity.cs
Normal file
43
Yi.Furion.Rbac/Yi.Framework.Module/FileManager/FileEntity.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
using SqlSugar;
|
||||||
|
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.FileManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 文件表
|
||||||
|
///</summary>
|
||||||
|
[SugarTable("File")]
|
||||||
|
public class FileEntity : IEntity<long>, IAuditedObject
|
||||||
|
{
|
||||||
|
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 文件类型
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "FileContentType")]
|
||||||
|
public string? FileContentType { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 文件大小
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "FileSize")]
|
||||||
|
public decimal FileSize { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 文件名
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "FileName")]
|
||||||
|
public string FileName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 文件路径
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "FilePath")]
|
||||||
|
public string FilePath { get; set; }
|
||||||
|
|
||||||
|
public DateTime CreationTime { get; set; }
|
||||||
|
public long? CreatorId { get; set; }
|
||||||
|
|
||||||
|
public long? LastModifierId { get; set; }
|
||||||
|
|
||||||
|
public DateTime? LastModificationTime { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.FileManager
|
||||||
|
{
|
||||||
|
public class FileGetListOutputDto : IEntityDto
|
||||||
|
{
|
||||||
|
public long Id { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
143
Yi.Furion.Rbac/Yi.Framework.Module/FileManager/FileService.cs
Normal file
143
Yi.Furion.Rbac/Yi.Framework.Module/FileManager/FileService.cs
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
using Furion.DependencyInjection;
|
||||||
|
using Furion.DynamicApiController;
|
||||||
|
using Mapster;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Yi.Framework.Infrastructure.AspNetCore;
|
||||||
|
using Yi.Framework.Infrastructure.Const;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||||
|
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||||
|
using Yi.Framework.Infrastructure.Enums;
|
||||||
|
using Yi.Framework.Infrastructure.Helper;
|
||||||
|
using Yi.Framework.Module.ImageSharp;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Module.FileManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 文件处理
|
||||||
|
/// </summary>
|
||||||
|
public class FileService : ApplicationService, IFileService, IDynamicApiController, ITransient
|
||||||
|
{
|
||||||
|
private readonly IRepository<FileEntity> _repository;
|
||||||
|
private readonly ImageSharpManager _imageSharpManager;
|
||||||
|
private readonly HttpContext _httpContext;
|
||||||
|
public FileService(IRepository<FileEntity> repository, ImageSharpManager imageSharpManager, IHttpContextAccessor httpContextAccessor
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_repository = repository;
|
||||||
|
_imageSharpManager = imageSharpManager;
|
||||||
|
if (httpContextAccessor.HttpContext is null)
|
||||||
|
{
|
||||||
|
throw new ApplicationException("HttpContext为空");
|
||||||
|
}
|
||||||
|
_httpContext = httpContextAccessor.HttpContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 下载文件,是否缩略图
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Route("/api/file/{code}/{isThumbnail?}")]
|
||||||
|
public async Task<IActionResult> Get([FromRoute] long code, [FromRoute] bool? isThumbnail)
|
||||||
|
{
|
||||||
|
var file = await _repository.GetByIdAsync(code);
|
||||||
|
if (file is null)
|
||||||
|
{
|
||||||
|
return new NotFoundResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = file.FilePath;
|
||||||
|
//如果为缩略图,需要修改路径
|
||||||
|
if (isThumbnail is true)
|
||||||
|
{
|
||||||
|
path = $"{PathConst.wwwroot}/{FileTypeEnum.Thumbnail}/{file.Id}{Path.GetExtension(file.FileName)}";
|
||||||
|
}
|
||||||
|
//路径为: 文件路径/文件id+文件扩展名
|
||||||
|
|
||||||
|
if (!File.Exists(path))
|
||||||
|
{
|
||||||
|
return new NotFoundResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
var steam = await File.ReadAllBytesAsync(path);
|
||||||
|
|
||||||
|
//设置附件下载,下载名称
|
||||||
|
_httpContext.FileAttachmentHandle(file.FileName);
|
||||||
|
return new FileContentResult(steam, file.FileContentType ?? @"text/plain");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 上传文件
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<FileGetListOutputDto>> Post([FromForm] IFormFileCollection file)
|
||||||
|
{
|
||||||
|
if (file.Count() == 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentException("文件上传为空!");
|
||||||
|
}
|
||||||
|
//批量插入
|
||||||
|
List<FileEntity> entities = new();
|
||||||
|
|
||||||
|
foreach (var f in file)
|
||||||
|
{
|
||||||
|
FileEntity data = new();
|
||||||
|
data.Id = SnowflakeHelper.NextId;
|
||||||
|
data.FileSize = (decimal)f.Length / 1024;
|
||||||
|
data.FileName = f.FileName;
|
||||||
|
|
||||||
|
|
||||||
|
data.FileContentType = MimeHelper.GetMimeMapping(f.FileName);
|
||||||
|
|
||||||
|
|
||||||
|
var type = MimeHelper.GetFileType(f.FileName);
|
||||||
|
|
||||||
|
//落盘文件,文件名为雪花id+自己的扩展名
|
||||||
|
string filename = data.Id.ToString() + Path.GetExtension(f.FileName);
|
||||||
|
string typePath = $"{PathConst.wwwroot}/{type}";
|
||||||
|
if (!Directory.Exists(typePath))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(typePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
var filePath = Path.Combine(typePath, filename);
|
||||||
|
data.FilePath = filePath;
|
||||||
|
|
||||||
|
|
||||||
|
//生成文件
|
||||||
|
using (var stream = new FileStream(filePath, FileMode.CreateNew, FileAccess.ReadWrite))
|
||||||
|
{
|
||||||
|
await f.CopyToAsync(stream);
|
||||||
|
|
||||||
|
//如果是图片类型,还需要生成缩略图,当然,如果图片很小,直接复制过去即可
|
||||||
|
if (FileTypeEnum.Image.Equals(type))
|
||||||
|
{
|
||||||
|
string thumbnailPath = $"{PathConst.wwwroot}/{FileTypeEnum.Thumbnail}";
|
||||||
|
if (!Directory.Exists(thumbnailPath))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(thumbnailPath);
|
||||||
|
}
|
||||||
|
string thumbnailFilePath = Path.Combine(thumbnailPath, filename);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_imageSharpManager.ImageCompress(f.FileName, f.OpenReadStream(), thumbnailFilePath);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
var result = new byte[stream.Length];
|
||||||
|
await stream.ReadAsync(result, 0, result.Length);
|
||||||
|
await File.WriteAllBytesAsync(thumbnailFilePath, result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
entities.Add(data);
|
||||||
|
}
|
||||||
|
await _repository.InsertRangeAsync(entities);
|
||||||
|
return entities.Adapt<List<FileGetListOutputDto>>();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Yi.Framework.Module.FileManager
|
||||||
|
{
|
||||||
|
public interface IFileService
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,5 +29,9 @@
|
|||||||
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\monbaiti.ttf" />
|
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\monbaiti.ttf" />
|
||||||
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\STCAIYUN.ttf" />
|
<EmbeddedResource Include="ImageSharp\HeiCaptcha\fonts\STCAIYUN.ttf" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="DictionaryManager\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -2,17 +2,17 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||||
using Yi.Framework.Infrastructure.Exceptions;
|
using Yi.Framework.Infrastructure.Exceptions;
|
||||||
using Yi.Framework.Infrastructure.Helper;
|
using Yi.Framework.Infrastructure.Helper;
|
||||||
using Yi.Furion.Rbac.Core.ConstClasses;
|
using Yi.Furion.Core.Rbac.ConstClasses;
|
||||||
using Yi.Furion.Rbac.Core.Dtos;
|
using Yi.Furion.Core.Rbac.Dtos;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Domain
|
namespace Yi.Furion.Application.Rbac.Domain
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户领域服务
|
/// 用户领域服务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class AccountManager:ITransient
|
public class AccountManager : ITransient
|
||||||
{
|
{
|
||||||
private readonly IRepository<UserEntity> _repository;
|
private readonly IRepository<UserEntity> _repository;
|
||||||
public AccountManager(IRepository<UserEntity> repository)
|
public AccountManager(IRepository<UserEntity> repository)
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||||
using Yi.Framework.Infrastructure.Helper;
|
using Yi.Framework.Infrastructure.Helper;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Domain
|
namespace Yi.Furion.Application.Rbac.Domain
|
||||||
{
|
{
|
||||||
public class RoleManager:ITransient
|
public class RoleManager : ITransient
|
||||||
{
|
{
|
||||||
private IRepository<RoleEntity> _repository;
|
private IRepository<RoleEntity> _repository;
|
||||||
private IRepository<RoleMenuEntity> _roleMenuRepository;
|
private IRepository<RoleMenuEntity> _roleMenuRepository;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||||
using Yi.Framework.Infrastructure.Helper;
|
using Yi.Framework.Infrastructure.Helper;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Domain
|
namespace Yi.Furion.Application.Rbac.Domain
|
||||||
{
|
{
|
||||||
public class UserManager:ITransient
|
public class UserManager : ITransient
|
||||||
{
|
{
|
||||||
private readonly IRepository<UserEntity> _repository;
|
private readonly IRepository<UserEntity> _repository;
|
||||||
private readonly IRepository<UserRoleEntity> _repositoryUserRole;
|
private readonly IRepository<UserRoleEntity> _repositoryUserRole;
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||||
{
|
{
|
||||||
public class CaptchaImageDto
|
public class CaptchaImageDto
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||||
{
|
{
|
||||||
public class LoginInputVo
|
public class LoginInputVo
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||||
{
|
{
|
||||||
public class PhoneCaptchaImageDto
|
public class PhoneCaptchaImageDto
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||||
{
|
{
|
||||||
public class RegisterDto
|
public class RegisterDto
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||||
{
|
{
|
||||||
public class RestPasswordDto
|
public class RestPasswordDto
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||||
{
|
{
|
||||||
public class UpdateIconDto
|
public class UpdateIconDto
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Account
|
namespace Yi.Furion.Application.Rbac.Dtos.Account
|
||||||
{
|
{
|
||||||
public class UpdatePasswordDto
|
public class UpdatePasswordDto
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Dept输入创建对象
|
/// Dept输入创建对象
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||||
{
|
{
|
||||||
public class DeptGetListInputVo : PagedAllResultRequestDto
|
public class DeptGetListInputVo : PagedAllResultRequestDto
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||||
{
|
{
|
||||||
public class DeptGetListOutputDto : IEntityDto<long>
|
public class DeptGetListOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||||
{
|
{
|
||||||
public class DeptGetOutputDto : IEntityDto<long>
|
public class DeptGetOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Dept
|
namespace Yi.Furion.Application.Rbac.Dtos.Dept
|
||||||
{
|
{
|
||||||
public class DeptUpdateInputVo
|
public class DeptUpdateInputVo
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Menu输入创建对象
|
/// Menu输入创建对象
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||||
{
|
{
|
||||||
public class MenuGetListInputVo : PagedAndSortedResultRequestDto
|
public class MenuGetListInputVo : PagedAndSortedResultRequestDto
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||||
{
|
{
|
||||||
public class MenuGetListOutputDto : IEntityDto<long>
|
public class MenuGetListOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||||
{
|
{
|
||||||
public class MenuGetOutputDto : IEntityDto<long>
|
public class MenuGetOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Menu
|
namespace Yi.Furion.Application.Rbac.Dtos.Menu
|
||||||
{
|
{
|
||||||
public class MenuUpdateInputVo
|
public class MenuUpdateInputVo
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Post输入创建对象
|
/// Post输入创建对象
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||||
{
|
{
|
||||||
public class PostGetListInputVo : PagedAndSortedResultRequestDto
|
public class PostGetListInputVo : PagedAndSortedResultRequestDto
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||||
{
|
{
|
||||||
public class PostGetListOutputDto : IEntityDto<long>
|
public class PostGetListOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||||
{
|
{
|
||||||
public class PostGetOutputDto : IEntityDto<long>
|
public class PostGetOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Post
|
namespace Yi.Furion.Application.Rbac.Dtos.Post
|
||||||
{
|
{
|
||||||
public class PostUpdateInputVo
|
public class PostUpdateInputVo
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Role输入创建对象
|
/// Role输入创建对象
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||||
{
|
{
|
||||||
public class RoleGetListInputVo : PagedAllResultRequestDto
|
public class RoleGetListInputVo : PagedAllResultRequestDto
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||||
{
|
{
|
||||||
public class RoleGetListOutputDto : IEntityDto<long>
|
public class RoleGetListOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||||
{
|
{
|
||||||
public class RoleGetOutputDto : IEntityDto<long>
|
public class RoleGetOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.Role
|
namespace Yi.Furion.Application.Rbac.Dtos.Role
|
||||||
{
|
{
|
||||||
public class RoleUpdateInputVo
|
public class RoleUpdateInputVo
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||||
{
|
{
|
||||||
public class ProfileUpdateInputVo
|
public class ProfileUpdateInputVo
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// User输入创建对象
|
/// User输入创建对象
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||||
{
|
{
|
||||||
public class UserGetListInputVo : PagedAllResultRequestDto
|
public class UserGetListInputVo : PagedAllResultRequestDto
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||||
{
|
{
|
||||||
public class UserGetListOutputDto : IEntityDto<long>
|
public class UserGetListOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Dept;
|
using Yi.Furion.Application.Rbac.Dtos.Dept;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Post;
|
using Yi.Furion.Application.Rbac.Dtos.Post;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Role;
|
using Yi.Furion.Application.Rbac.Dtos.Role;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||||
{
|
{
|
||||||
public class UserGetOutputDto : IEntityDto<long>
|
public class UserGetOutputDto : IEntityDto<long>
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Dtos.User
|
namespace Yi.Furion.Application.Rbac.Dtos.User
|
||||||
{
|
{
|
||||||
public class UserUpdateInputVo
|
public class UserUpdateInputVo
|
||||||
{
|
{
|
||||||
@@ -4,16 +4,16 @@ using UAParser;
|
|||||||
using Yi.Framework.Infrastructure.AspNetCore;
|
using Yi.Framework.Infrastructure.AspNetCore;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
using Yi.Framework.Infrastructure.Ddd.Repositories;
|
||||||
using Yi.Framework.Infrastructure.Helper;
|
using Yi.Framework.Infrastructure.Helper;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
using Yi.Furion.Rbac.Core.Etos;
|
using Yi.Furion.Core.Rbac.Etos;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Event
|
namespace Yi.Furion.Application.Rbac.Event
|
||||||
{
|
{
|
||||||
public class LoginEventHandler : IEventSubscriber,ISingleton
|
public class LoginEventHandler : IEventSubscriber, ISingleton
|
||||||
{
|
{
|
||||||
private readonly IRepository<LoginLogEntity> _loginLogRepository;
|
private readonly IRepository<LoginLogEntity> _loginLogRepository;
|
||||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||||
private HttpContext _httpContext=> _httpContextAccessor.HttpContext;
|
private HttpContext _httpContext => _httpContextAccessor.HttpContext;
|
||||||
public LoginEventHandler(IRepository<LoginLogEntity> loginLogRepository, IHttpContextAccessor httpContextAccessor)
|
public LoginEventHandler(IRepository<LoginLogEntity> loginLogRepository, IHttpContextAccessor httpContextAccessor)
|
||||||
{
|
{
|
||||||
_loginLogRepository = loginLogRepository;
|
_loginLogRepository = loginLogRepository;
|
||||||
@@ -22,7 +22,7 @@ namespace Yi.Furion.Rbac.Application.System.Event
|
|||||||
//[EventSubscribe(nameof(LoginEventSource))]
|
//[EventSubscribe(nameof(LoginEventSource))]
|
||||||
public Task HandlerAsync(EventHandlerExecutingContext context)
|
public Task HandlerAsync(EventHandlerExecutingContext context)
|
||||||
{
|
{
|
||||||
var eventData=(LoginEventArgs)context.Source.Payload;
|
var eventData = (LoginEventArgs)context.Source.Payload;
|
||||||
var loginLogEntity = GetLoginLogInfo(_httpContext);
|
var loginLogEntity = GetLoginLogInfo(_httpContext);
|
||||||
loginLogEntity.Id = SnowflakeHelper.NextId;
|
loginLogEntity.Id = SnowflakeHelper.NextId;
|
||||||
loginLogEntity.LogMsg = eventData.UserName + "登录系统";
|
loginLogEntity.LogMsg = eventData.UserName + "登录系统";
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Dept;
|
using Yi.Furion.Application.Rbac.Dtos.Dept;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services
|
namespace Yi.Furion.Application.Rbac.Services
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Dept服务抽象
|
/// Dept服务抽象
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Menu;
|
using Yi.Furion.Application.Rbac.Dtos.Menu;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services
|
namespace Yi.Furion.Application.Rbac.Services
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Menu服务抽象
|
/// Menu服务抽象
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Post;
|
using Yi.Furion.Application.Rbac.Dtos.Post;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services
|
namespace Yi.Furion.Application.Rbac.Services
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Post服务抽象
|
/// Post服务抽象
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Role;
|
using Yi.Furion.Application.Rbac.Dtos.Role;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services
|
namespace Yi.Furion.Application.Rbac.Services
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Role服务抽象
|
/// Role服务抽象
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.User;
|
using Yi.Furion.Application.Rbac.Dtos.User;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services
|
namespace Yi.Furion.Application.Rbac.Services
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// User服务抽象
|
/// User服务抽象
|
||||||
@@ -9,15 +9,15 @@ using Yi.Framework.Infrastructure.Ddd.Services;
|
|||||||
using Yi.Framework.Infrastructure.Exceptions;
|
using Yi.Framework.Infrastructure.Exceptions;
|
||||||
using Yi.Framework.Module.ImageSharp.HeiCaptcha;
|
using Yi.Framework.Module.ImageSharp.HeiCaptcha;
|
||||||
using Yi.Framework.Module.Sms.Aliyun;
|
using Yi.Framework.Module.Sms.Aliyun;
|
||||||
using Yi.Furion.Rbac.Application.System.Domain;
|
using Yi.Furion.Application.Rbac.Domain;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Account;
|
using Yi.Furion.Application.Rbac.Dtos.Account;
|
||||||
using Yi.Furion.Rbac.Core.ConstClasses;
|
using Yi.Furion.Core.Rbac.ConstClasses;
|
||||||
using Yi.Furion.Rbac.Core.Dtos;
|
using Yi.Furion.Core.Rbac.Dtos;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
using Yi.Furion.Rbac.Core.Etos;
|
using Yi.Furion.Core.Rbac.Etos;
|
||||||
using Yi.Furion.Rbac.Sqlsugar.Core.Repositories;
|
using Yi.Furion.Sqlsugar.Core.Repositories;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||||
{
|
{
|
||||||
public class AccountService : ApplicationService, ITransient, IDynamicApiController
|
public class AccountService : ApplicationService, ITransient, IDynamicApiController
|
||||||
{
|
{
|
||||||
@@ -251,16 +251,16 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
|||||||
throw new UserFriendlyException("用户已存在,注册失败");
|
throw new UserFriendlyException("用户已存在,注册失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
var newUser = new UserEntity(input.UserName, input.Password, input.Phone);
|
var newUser = new UserEntity(input.UserName, input.Password, input.Phone);
|
||||||
|
|
||||||
var entity = await _userRepository.InsertReturnEntityAsync(newUser);
|
var entity = await _userRepository.InsertReturnEntityAsync(newUser);
|
||||||
//赋上一个初始角色
|
//赋上一个初始角色
|
||||||
var roleRepository = _roleRepository;
|
var roleRepository = _roleRepository;
|
||||||
var role = await roleRepository.GetFirstAsync(x => x.RoleCode == UserConst.GuestRoleCode);
|
var role = await roleRepository.GetFirstAsync(x => x.RoleCode == UserConst.GuestRoleCode);
|
||||||
if (role is not null)
|
if (role is not null)
|
||||||
{
|
{
|
||||||
await _userManager.GiveUserSetRoleAsync(new List<long> { entity.Id }, new List<long> { role.Id });
|
await _userManager.GiveUserSetRoleAsync(new List<long> { entity.Id }, new List<long> { role.Id });
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Dept;
|
using Yi.Furion.Application.Rbac.Dtos.Dept;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Dept服务实现
|
/// Dept服务实现
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Menu;
|
using Yi.Furion.Application.Rbac.Dtos.Menu;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Application.Rbac.Services;
|
||||||
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Menu服务实现
|
/// Menu服务实现
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Post;
|
using Yi.Furion.Application.Rbac.Dtos.Post;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Post服务实现
|
/// Post服务实现
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
using Yi.Framework.Infrastructure.Ddd.Dtos;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||||
using Yi.Furion.Rbac.Application.System.Domain;
|
using Yi.Furion.Application.Rbac.Domain;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.Role;
|
using Yi.Furion.Application.Rbac.Dtos.Role;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Role服务实现
|
/// Role服务实现
|
||||||
@@ -14,8 +14,8 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
|||||||
IRoleService, ITransient, IDynamicApiController
|
IRoleService, ITransient, IDynamicApiController
|
||||||
{
|
{
|
||||||
public RoleService(RoleManager roleManager) =>
|
public RoleService(RoleManager roleManager) =>
|
||||||
(_roleManager) =
|
_roleManager =
|
||||||
(roleManager);
|
roleManager;
|
||||||
private RoleManager _roleManager { get; set; }
|
private RoleManager _roleManager { get; set; }
|
||||||
|
|
||||||
|
|
||||||
@@ -45,10 +45,10 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
|||||||
RoleGetOutputDto outputDto;
|
RoleGetOutputDto outputDto;
|
||||||
//using (var uow = _unitOfWorkManager.CreateContext())
|
//using (var uow = _unitOfWorkManager.CreateContext())
|
||||||
//{
|
//{
|
||||||
var entity = await MapToEntityAsync(input);
|
var entity = await MapToEntityAsync(input);
|
||||||
await _repository.InsertAsync(entity);
|
await _repository.InsertAsync(entity);
|
||||||
outputDto = await MapToGetOutputDtoAsync(entity);
|
outputDto = await MapToGetOutputDtoAsync(entity);
|
||||||
await _roleManager.GiveRoleSetMenuAsync(new List<long> { entity.Id }, input.MenuIds);
|
await _roleManager.GiveRoleSetMenuAsync(new List<long> { entity.Id }, input.MenuIds);
|
||||||
// uow.Commit();
|
// uow.Commit();
|
||||||
//}
|
//}
|
||||||
|
|
||||||
@@ -67,13 +67,13 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
|||||||
var dto = new RoleGetOutputDto();
|
var dto = new RoleGetOutputDto();
|
||||||
//using (var uow = _unitOfWorkManager.CreateContext())
|
//using (var uow = _unitOfWorkManager.CreateContext())
|
||||||
//{
|
//{
|
||||||
var entity = await _repository.GetByIdAsync(id);
|
var entity = await _repository.GetByIdAsync(id);
|
||||||
await MapToEntityAsync(input, entity);
|
await MapToEntityAsync(input, entity);
|
||||||
await _repository.UpdateAsync(entity);
|
await _repository.UpdateAsync(entity);
|
||||||
|
|
||||||
await _roleManager.GiveRoleSetMenuAsync(new List<long> { id }, input.MenuIds);
|
await _roleManager.GiveRoleSetMenuAsync(new List<long> { id }, input.MenuIds);
|
||||||
|
|
||||||
dto = await MapToGetOutputDtoAsync(entity);
|
dto = await MapToGetOutputDtoAsync(entity);
|
||||||
// uow.Commit();
|
// uow.Commit();
|
||||||
//}
|
//}
|
||||||
return dto;
|
return dto;
|
||||||
@@ -4,13 +4,13 @@ using Yi.Framework.Infrastructure.Ddd.Dtos;
|
|||||||
using Yi.Framework.Infrastructure.Ddd.Services;
|
using Yi.Framework.Infrastructure.Ddd.Services;
|
||||||
using Yi.Framework.Infrastructure.Exceptions;
|
using Yi.Framework.Infrastructure.Exceptions;
|
||||||
using Yi.Framework.Module.OperLogManager;
|
using Yi.Framework.Module.OperLogManager;
|
||||||
using Yi.Furion.Rbac.Application.System.Domain;
|
using Yi.Furion.Application.Rbac.Domain;
|
||||||
using Yi.Furion.Rbac.Application.System.Dtos.User;
|
using Yi.Furion.Application.Rbac.Dtos.User;
|
||||||
using Yi.Furion.Rbac.Core.ConstClasses;
|
using Yi.Furion.Core.Rbac.ConstClasses;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
using Yi.Furion.Rbac.Sqlsugar.Core.Repositories;
|
using Yi.Furion.Sqlsugar.Core.Repositories;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
namespace Yi.Furion.Application.Rbac.Services.Impl
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// User服务实现
|
/// User服务实现
|
||||||
@@ -21,13 +21,13 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
|||||||
|
|
||||||
|
|
||||||
public UserService(UserManager userManager, IUserRepository userRepository, ICurrentUser currentUser) =>
|
public UserService(UserManager userManager, IUserRepository userRepository, ICurrentUser currentUser) =>
|
||||||
(_userManager, _userRepository, _currentUser) =
|
(_userManager, _userRepository, _currentUser) =
|
||||||
(userManager, userRepository, currentUser);
|
(userManager, userRepository, currentUser);
|
||||||
private UserManager _userManager { get; set; }
|
private UserManager _userManager { get; set; }
|
||||||
|
|
||||||
private IUserRepository _userRepository { get; set; }
|
private IUserRepository _userRepository { get; set; }
|
||||||
|
|
||||||
|
|
||||||
private ICurrentUser _currentUser { get; set; }
|
private ICurrentUser _currentUser { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -89,13 +89,13 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
|||||||
|
|
||||||
//using (var uow = _unitOfWorkManager.CreateContext())
|
//using (var uow = _unitOfWorkManager.CreateContext())
|
||||||
//{
|
//{
|
||||||
var returnEntity = await _repository.InsertReturnEntityAsync(entities);
|
var returnEntity = await _repository.InsertReturnEntityAsync(entities);
|
||||||
await _userManager.GiveUserSetRoleAsync(new List<long> { returnEntity.Id }, input.RoleIds);
|
await _userManager.GiveUserSetRoleAsync(new List<long> { returnEntity.Id }, input.RoleIds);
|
||||||
await _userManager.GiveUserSetPostAsync(new List<long> { returnEntity.Id }, input.PostIds);
|
await _userManager.GiveUserSetPostAsync(new List<long> { returnEntity.Id }, input.PostIds);
|
||||||
//uow.Commit();
|
//uow.Commit();
|
||||||
|
|
||||||
var result = await MapToGetOutputDtoAsync(returnEntity);
|
var result = await MapToGetOutputDtoAsync(returnEntity);
|
||||||
return result;
|
return result;
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -135,9 +135,9 @@ namespace Yi.Furion.Rbac.Application.System.Services.Impl
|
|||||||
await MapToEntityAsync(input, entity);
|
await MapToEntityAsync(input, entity);
|
||||||
//using (var uow = _unitOfWorkManager.CreateContext())
|
//using (var uow = _unitOfWorkManager.CreateContext())
|
||||||
//{
|
//{
|
||||||
var res1 = await _repository.UpdateAsync(entity);
|
var res1 = await _repository.UpdateAsync(entity);
|
||||||
await _userManager.GiveUserSetRoleAsync(new List<long> { id }, input.RoleIds);
|
await _userManager.GiveUserSetRoleAsync(new List<long> { id }, input.RoleIds);
|
||||||
await _userManager.GiveUserSetPostAsync(new List<long> { id }, input.PostIds);
|
await _userManager.GiveUserSetPostAsync(new List<long> { id }, input.PostIds);
|
||||||
// uow.Commit();
|
// uow.Commit();
|
||||||
//}
|
//}
|
||||||
return await MapToGetOutputDtoAsync(entity);
|
return await MapToGetOutputDtoAsync(entity);
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<NoWarn>1701;1702;1591</NoWarn>
|
<NoWarn>1701;1702;1591</NoWarn>
|
||||||
<DocumentationFile>Yi.Furion.Rbac.Application.xml</DocumentationFile>
|
<DocumentationFile>Yi.Furion.Application.xml</DocumentationFile>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Remove="applicationsettings.json" />
|
<None Remove="applicationsettings.json" />
|
||||||
<None Remove="Yi.Furion.Rbac.Application.xml" />
|
<None Remove="Yi.Furion.Application.xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -24,11 +24,11 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Yi.Framework.Infrastructure\Yi.Framework.Infrastructure.csproj" />
|
<ProjectReference Include="..\Yi.Framework.Infrastructure\Yi.Framework.Infrastructure.csproj" />
|
||||||
<ProjectReference Include="..\Yi.Framework.Module\Yi.Framework.Module.csproj" />
|
<ProjectReference Include="..\Yi.Framework.Module\Yi.Framework.Module.csproj" />
|
||||||
<ProjectReference Include="..\Yi.Furion.Rbac.EntityFramework.Core\Yi.Furion.Rbac.Sqlsugar.Core.csproj" />
|
<ProjectReference Include="..\Yi.Furion.Sqlsugar.Core\Yi.Furion.Sqlsugar.Core.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="System\Dtos\" />
|
<Folder Include="Bbs\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
364
Yi.Furion.Rbac/Yi.Furion.Application/Yi.Furion.Application.xml
Normal file
364
Yi.Furion.Rbac/Yi.Furion.Application/Yi.Furion.Application.xml
Normal file
@@ -0,0 +1,364 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>Yi.Furion.Application</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Domain.AccountManager">
|
||||||
|
<summary>
|
||||||
|
用户领域服务
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.LoginValidationAsync(System.String,System.String,System.Action{Yi.Furion.Core.Rbac.Entities.UserEntity})">
|
||||||
|
<summary>
|
||||||
|
登录效验
|
||||||
|
</summary>
|
||||||
|
<param name="userName"></param>
|
||||||
|
<param name="password"></param>
|
||||||
|
<param name="userAction"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.ExistAsync(System.String,System.Action{Yi.Furion.Core.Rbac.Entities.UserEntity})">
|
||||||
|
<summary>
|
||||||
|
判断账户合法存在
|
||||||
|
</summary>
|
||||||
|
<param name="userName"></param>
|
||||||
|
<param name="userAction"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.UserInfoToClaim(Yi.Furion.Core.Rbac.Dtos.UserRoleMenuDto)">
|
||||||
|
<summary>
|
||||||
|
令牌转换
|
||||||
|
</summary>
|
||||||
|
<param name="dto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.UpdatePasswordAsync(System.Int64,System.String,System.String)">
|
||||||
|
<summary>
|
||||||
|
更新密码
|
||||||
|
</summary>
|
||||||
|
<param name="userId"></param>
|
||||||
|
<param name="newPassword"></param>
|
||||||
|
<param name="oldPassword"></param>
|
||||||
|
<returns></returns>
|
||||||
|
<exception cref="T:Yi.Framework.Infrastructure.Exceptions.UserFriendlyException"></exception>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Domain.AccountManager.RestPasswordAsync(System.Int64,System.String)">
|
||||||
|
<summary>
|
||||||
|
重置密码
|
||||||
|
</summary>
|
||||||
|
<param name="userId"></param>
|
||||||
|
<param name="password"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Domain.RoleManager.GiveRoleSetMenuAsync(System.Collections.Generic.List{System.Int64},System.Collections.Generic.List{System.Int64})">
|
||||||
|
<summary>
|
||||||
|
给角色设置菜单
|
||||||
|
</summary>
|
||||||
|
<param name="roleIds"></param>
|
||||||
|
<param name="menuIds"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Domain.UserManager.GiveUserSetRoleAsync(System.Collections.Generic.List{System.Int64},System.Collections.Generic.List{System.Int64})">
|
||||||
|
<summary>
|
||||||
|
给用户设置角色
|
||||||
|
</summary>
|
||||||
|
<param name="userIds"></param>
|
||||||
|
<param name="roleIds"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Domain.UserManager.GiveUserSetPostAsync(System.Collections.Generic.List{System.Int64},System.Collections.Generic.List{System.Int64})">
|
||||||
|
<summary>
|
||||||
|
给用户设置岗位
|
||||||
|
</summary>
|
||||||
|
<param name="userIds"></param>
|
||||||
|
<param name="postIds"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.UserName">
|
||||||
|
<summary>
|
||||||
|
账号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.Password">
|
||||||
|
<summary>
|
||||||
|
密码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.Uuid">
|
||||||
|
<summary>
|
||||||
|
唯一标识码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.Phone">
|
||||||
|
<summary>
|
||||||
|
电话
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto.Code">
|
||||||
|
<summary>
|
||||||
|
验证码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Dtos.Dept.DeptCreateInputVo">
|
||||||
|
<summary>
|
||||||
|
Dept输入创建对象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Dtos.Menu.MenuCreateInputVo">
|
||||||
|
<summary>
|
||||||
|
Menu输入创建对象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Dtos.Post.PostCreateInputVo">
|
||||||
|
<summary>
|
||||||
|
Post输入创建对象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Dtos.Role.RoleCreateInputVo">
|
||||||
|
<summary>
|
||||||
|
Role输入创建对象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Dtos.User.UserCreateInputVo">
|
||||||
|
<summary>
|
||||||
|
User输入创建对象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Event.LoginEventHandler.GetClientInfo(Microsoft.AspNetCore.Http.HttpContext)">
|
||||||
|
<summary>
|
||||||
|
获取客户端信息
|
||||||
|
</summary>
|
||||||
|
<param name="context"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Event.LoginEventHandler.GetLoginLogInfo(Microsoft.AspNetCore.Http.HttpContext)">
|
||||||
|
<summary>
|
||||||
|
记录用户登陆信息
|
||||||
|
</summary>
|
||||||
|
<param name="context"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.IDeptService">
|
||||||
|
<summary>
|
||||||
|
Dept服务抽象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.IMenuService">
|
||||||
|
<summary>
|
||||||
|
Menu服务抽象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.ValidationImageCaptcha(Yi.Furion.Application.Rbac.Dtos.Account.LoginInputVo)">
|
||||||
|
<summary>
|
||||||
|
效验图片登录验证码,无需和账号绑定
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.ValidationPhoneCaptcha(Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto)">
|
||||||
|
<summary>
|
||||||
|
效验电话验证码,需要与电话号码绑定
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.PostLoginAsync(Yi.Furion.Application.Rbac.Dtos.Account.LoginInputVo)">
|
||||||
|
<summary>
|
||||||
|
登录
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.GetCaptchaImage">
|
||||||
|
<summary>
|
||||||
|
生成验证码
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.ValidationPhone(System.String)">
|
||||||
|
<summary>
|
||||||
|
验证电话号码
|
||||||
|
</summary>
|
||||||
|
<param name="str_handset"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.PostCaptchaPhone(Yi.Furion.Application.Rbac.Dtos.Account.PhoneCaptchaImageDto)">
|
||||||
|
<summary>
|
||||||
|
注册 手机验证码
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.PostRegisterAsync(Yi.Furion.Application.Rbac.Dtos.Account.RegisterDto)">
|
||||||
|
<summary>
|
||||||
|
注册,需要验证码通过
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.Get">
|
||||||
|
<summary>
|
||||||
|
查询已登录的账户信息
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
<exception cref="T:Yi.Framework.Infrastructure.Exceptions.AuthException"></exception>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.GetVue3Router">
|
||||||
|
<summary>
|
||||||
|
获取当前登录用户的前端路由
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.PostLogout">
|
||||||
|
<summary>
|
||||||
|
退出登录
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.UpdatePasswordAsync(Yi.Furion.Application.Rbac.Dtos.Account.UpdatePasswordDto)">
|
||||||
|
<summary>
|
||||||
|
更新密码
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.RestPasswordAsync(System.Int64,Yi.Furion.Application.Rbac.Dtos.Account.RestPasswordDto)">
|
||||||
|
<summary>
|
||||||
|
重置密码
|
||||||
|
</summary>
|
||||||
|
<param name="userId"></param>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.AccountService.UpdateIconAsync(Yi.Furion.Application.Rbac.Dtos.Account.UpdateIconDto)">
|
||||||
|
<summary>
|
||||||
|
更新头像
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.DeptService">
|
||||||
|
<summary>
|
||||||
|
Dept服务实现
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.DeptService.GetListRoleIdAsync(System.Int64)">
|
||||||
|
<summary>
|
||||||
|
通过角色id查询该角色全部部门
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.DeptService.GetListAsync(Yi.Furion.Application.Rbac.Dtos.Dept.DeptGetListInputVo)">
|
||||||
|
<summary>
|
||||||
|
多查
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.MenuService">
|
||||||
|
<summary>
|
||||||
|
Menu服务实现
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.MenuService.GetListRoleIdAsync(System.Int64)">
|
||||||
|
<summary>
|
||||||
|
查询当前角色的菜单
|
||||||
|
</summary>
|
||||||
|
<param name="roleId"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.PostService">
|
||||||
|
<summary>
|
||||||
|
Post服务实现
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.RoleService">
|
||||||
|
<summary>
|
||||||
|
Role服务实现
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.RoleService.CreateAsync(Yi.Furion.Application.Rbac.Dtos.Role.RoleCreateInputVo)">
|
||||||
|
<summary>
|
||||||
|
添加角色
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.RoleService.UpdateAsync(System.Int64,Yi.Furion.Application.Rbac.Dtos.Role.RoleUpdateInputVo)">
|
||||||
|
<summary>
|
||||||
|
修改角色
|
||||||
|
</summary>
|
||||||
|
<param name="id"></param>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.RoleService.UpdateStateAsync(System.Int64,System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
更新状态
|
||||||
|
</summary>
|
||||||
|
<param name="id"></param>
|
||||||
|
<param name="state"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.Impl.UserService">
|
||||||
|
<summary>
|
||||||
|
User服务实现
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.GetListAsync(Yi.Furion.Application.Rbac.Dtos.User.UserGetListInputVo)">
|
||||||
|
<summary>
|
||||||
|
查询用户
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.CreateAsync(Yi.Furion.Application.Rbac.Dtos.User.UserCreateInputVo)">
|
||||||
|
<summary>
|
||||||
|
添加用户
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
<exception cref="T:Yi.Framework.Infrastructure.Exceptions.UserFriendlyException"></exception>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.GetAsync(System.Int64)">
|
||||||
|
<summary>
|
||||||
|
单查
|
||||||
|
</summary>
|
||||||
|
<param name="id"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.UpdateAsync(System.Int64,Yi.Furion.Application.Rbac.Dtos.User.UserUpdateInputVo)">
|
||||||
|
<summary>
|
||||||
|
更新用户
|
||||||
|
</summary>
|
||||||
|
<param name="id"></param>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.UpdateProfileAsync(Yi.Furion.Application.Rbac.Dtos.User.ProfileUpdateInputVo)">
|
||||||
|
<summary>
|
||||||
|
更新个人中心
|
||||||
|
</summary>
|
||||||
|
<param name="input"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Application.Rbac.Services.Impl.UserService.UpdateStateAsync(System.Int64,System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
更新状态
|
||||||
|
</summary>
|
||||||
|
<param name="id"></param>
|
||||||
|
<param name="state"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.IPostService">
|
||||||
|
<summary>
|
||||||
|
Post服务抽象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.IRoleService">
|
||||||
|
<summary>
|
||||||
|
Role服务抽象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Application.Rbac.Services.IUserService">
|
||||||
|
<summary>
|
||||||
|
User服务抽象
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 常量定义
|
/// 常量定义
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 常量定义
|
/// 常量定义
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 常量定义
|
/// 常量定义
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 常量定义
|
/// 常量定义
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.ConstClasses
|
namespace Yi.Furion.Core.Rbac.ConstClasses
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 常量定义
|
/// 常量定义
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Yi.Furion.Rbac.Core.Entities;
|
using Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Dtos
|
namespace Yi.Furion.Core.Rbac.Dtos
|
||||||
{
|
{
|
||||||
public class UserRoleMenuDto
|
public class UserRoleMenuDto
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using static Yi.Framework.Infrastructure.Helper.TreeHelper;
|
using static Yi.Framework.Infrastructure.Helper.TreeHelper;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Dtos
|
namespace Yi.Furion.Core.Rbac.Dtos
|
||||||
{
|
{
|
||||||
public class Vue3RouterDto : ITreeModel<Vue3RouterDto>
|
public class Vue3RouterDto : ITreeModel<Vue3RouterDto>
|
||||||
{
|
{
|
||||||
@@ -7,7 +7,7 @@ using Yi.Framework.Infrastructure.Data.Auditing;
|
|||||||
using Yi.Framework.Infrastructure.Data.Entities;
|
using Yi.Framework.Infrastructure.Data.Entities;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities
|
namespace Yi.Furion.Core.Rbac.Entities
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 部门表
|
/// 部门表
|
||||||
@@ -3,7 +3,7 @@ using SqlSugar;
|
|||||||
using Yi.Framework.Infrastructure.Data.Auditing;
|
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities
|
namespace Yi.Furion.Core.Rbac.Entities
|
||||||
{
|
{
|
||||||
[SugarTable("LoginLog")]
|
[SugarTable("LoginLog")]
|
||||||
public class LoginLogEntity : IEntity<long>, ICreationAuditedObject
|
public class LoginLogEntity : IEntity<long>, ICreationAuditedObject
|
||||||
@@ -6,10 +6,10 @@ using Yi.Framework.Infrastructure.Data.Auditing;
|
|||||||
using Yi.Framework.Infrastructure.Data.Entities;
|
using Yi.Framework.Infrastructure.Data.Entities;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
using Yi.Framework.Infrastructure.Helper;
|
using Yi.Framework.Infrastructure.Helper;
|
||||||
using Yi.Furion.Rbac.Core.Dtos;
|
using Yi.Furion.Core.Rbac.Dtos;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities
|
namespace Yi.Furion.Core.Rbac.Entities
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 菜单表
|
/// 菜单表
|
||||||
@@ -4,7 +4,7 @@ using Yi.Framework.Infrastructure.Data.Auditing;
|
|||||||
using Yi.Framework.Infrastructure.Data.Entities;
|
using Yi.Framework.Infrastructure.Data.Entities;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities
|
namespace Yi.Furion.Core.Rbac.Entities
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 岗位表
|
/// 岗位表
|
||||||
@@ -5,7 +5,7 @@ using System.Text.Json.Serialization;
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities;
|
namespace Yi.Furion.Core.Rbac.Entities;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色部门关系表
|
/// 角色部门关系表
|
||||||
@@ -4,9 +4,9 @@ using SqlSugar;
|
|||||||
using Yi.Framework.Infrastructure.Data.Auditing;
|
using Yi.Framework.Infrastructure.Data.Auditing;
|
||||||
using Yi.Framework.Infrastructure.Data.Entities;
|
using Yi.Framework.Infrastructure.Data.Entities;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities
|
namespace Yi.Furion.Core.Rbac.Entities
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色表
|
/// 角色表
|
||||||
@@ -5,7 +5,7 @@ using System.Text.Json.Serialization;
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities;
|
namespace Yi.Furion.Core.Rbac.Entities;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色菜单关系表
|
/// 角色菜单关系表
|
||||||
///</summary>
|
///</summary>
|
||||||
@@ -5,9 +5,9 @@ using Yi.Framework.Infrastructure.Data.Auditing;
|
|||||||
using Yi.Framework.Infrastructure.Data.Entities;
|
using Yi.Framework.Infrastructure.Data.Entities;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
using Yi.Framework.Infrastructure.Helper;
|
using Yi.Framework.Infrastructure.Helper;
|
||||||
using Yi.Furion.Rbac.Core.EnumClasses;
|
using Yi.Furion.Core.Rbac.EnumClasses;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities
|
namespace Yi.Furion.Core.Rbac.Entities
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户表
|
/// 用户表
|
||||||
@@ -5,7 +5,7 @@ using System.Text.Json.Serialization;
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities;
|
namespace Yi.Furion.Core.Rbac.Entities;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户岗位表
|
/// 用户岗位表
|
||||||
///</summary>
|
///</summary>
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Yi.Framework.Infrastructure.Ddd.Entities;
|
using Yi.Framework.Infrastructure.Ddd.Entities;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Entities
|
namespace Yi.Furion.Core.Rbac.Entities
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户角色关系表
|
/// 用户角色关系表
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.EnumClasses
|
namespace Yi.Furion.Core.Rbac.EnumClasses
|
||||||
{
|
{
|
||||||
public enum DataScopeEnum
|
public enum DataScopeEnum
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.EnumClasses
|
namespace Yi.Furion.Core.Rbac.EnumClasses
|
||||||
{
|
{
|
||||||
public enum MenuTypeEnum
|
public enum MenuTypeEnum
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.EnumClasses
|
namespace Yi.Furion.Core.Rbac.EnumClasses
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 性别
|
/// 性别
|
||||||
@@ -6,7 +6,7 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Furion.EventBus;
|
using Furion.EventBus;
|
||||||
|
|
||||||
namespace Yi.Furion.Rbac.Core.Etos
|
namespace Yi.Furion.Core.Rbac.Etos
|
||||||
{
|
{
|
||||||
public class LoginEventSource : IEventSource
|
public class LoginEventSource : IEventSource
|
||||||
{
|
{
|
||||||
@@ -4,13 +4,13 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<NoWarn>1701;1702;1591</NoWarn>
|
<NoWarn>1701;1702;1591</NoWarn>
|
||||||
<DocumentationFile>Yi.Furion.Rbac.Core.xml</DocumentationFile>
|
<DocumentationFile>Yi.Furion.Core.xml</DocumentationFile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Remove="Yi.Furion.Rbac.Core.xml" />
|
<None Remove="Yi.Furion.Core.xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
||||||
@@ -27,4 +27,10 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Bbs\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
622
Yi.Furion.Rbac/Yi.Furion.Core/Yi.Furion.Core.xml
Normal file
622
Yi.Furion.Rbac/Yi.Furion.Core/Yi.Furion.Core.xml
Normal file
@@ -0,0 +1,622 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>Yi.Furion.Core</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.DeptConst">
|
||||||
|
<summary>
|
||||||
|
常量定义
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.MenuConst">
|
||||||
|
<summary>
|
||||||
|
常量定义
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.PostConst">
|
||||||
|
<summary>
|
||||||
|
常量定义
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.RoleConst">
|
||||||
|
<summary>
|
||||||
|
常量定义
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.ConstClasses.UserConst">
|
||||||
|
<summary>
|
||||||
|
常量定义
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.DeptEntity">
|
||||||
|
<summary>
|
||||||
|
部门表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.IsDeleted">
|
||||||
|
<summary>
|
||||||
|
逻辑删除
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.CreationTime">
|
||||||
|
<summary>
|
||||||
|
创建时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.CreatorId">
|
||||||
|
<summary>
|
||||||
|
创建者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.LastModifierId">
|
||||||
|
<summary>
|
||||||
|
最后修改者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.LastModificationTime">
|
||||||
|
<summary>
|
||||||
|
最后修改时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.OrderNum">
|
||||||
|
<summary>
|
||||||
|
排序
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.State">
|
||||||
|
<summary>
|
||||||
|
状态
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.DeptName">
|
||||||
|
<summary>
|
||||||
|
部门名称
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.DeptCode">
|
||||||
|
<summary>
|
||||||
|
部门编码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.Leader">
|
||||||
|
<summary>
|
||||||
|
负责人
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.ParentId">
|
||||||
|
<summary>
|
||||||
|
父级id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.DeptEntity.Remark">
|
||||||
|
<summary>
|
||||||
|
描述
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.LoginUser">
|
||||||
|
<summary>
|
||||||
|
登录用户
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.LoginLocation">
|
||||||
|
<summary>
|
||||||
|
登录地点
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.LoginIp">
|
||||||
|
<summary>
|
||||||
|
登录Ip
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.Browser">
|
||||||
|
<summary>
|
||||||
|
浏览器
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.Os">
|
||||||
|
<summary>
|
||||||
|
操作系统
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.LoginLogEntity.LogMsg">
|
||||||
|
<summary>
|
||||||
|
登录信息
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.MenuEntity">
|
||||||
|
<summary>
|
||||||
|
菜单表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.IsDeleted">
|
||||||
|
<summary>
|
||||||
|
逻辑删除
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.CreationTime">
|
||||||
|
<summary>
|
||||||
|
创建时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.CreatorId">
|
||||||
|
<summary>
|
||||||
|
创建者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.LastModifierId">
|
||||||
|
<summary>
|
||||||
|
最后修改者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.LastModificationTime">
|
||||||
|
<summary>
|
||||||
|
最后修改时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.OrderNum">
|
||||||
|
<summary>
|
||||||
|
排序
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.State">
|
||||||
|
<summary>
|
||||||
|
状态
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.MenuName">
|
||||||
|
<summary>
|
||||||
|
菜单名
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.MenuType">
|
||||||
|
<summary>
|
||||||
|
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.PermissionCode">
|
||||||
|
<summary>
|
||||||
|
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.ParentId">
|
||||||
|
<summary>
|
||||||
|
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.MenuIcon">
|
||||||
|
<summary>
|
||||||
|
菜单图标
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Router">
|
||||||
|
<summary>
|
||||||
|
菜单组件路由
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.IsLink">
|
||||||
|
<summary>
|
||||||
|
是否为外部链接
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.IsCache">
|
||||||
|
<summary>
|
||||||
|
是否缓存
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.IsShow">
|
||||||
|
<summary>
|
||||||
|
是否显示
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Remark">
|
||||||
|
<summary>
|
||||||
|
描述
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Component">
|
||||||
|
<summary>
|
||||||
|
组件路径
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.MenuEntity.Query">
|
||||||
|
<summary>
|
||||||
|
路由参数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.MenuEntityExtensions">
|
||||||
|
<summary>
|
||||||
|
实体扩展
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Core.Rbac.Entities.MenuEntityExtensions.Vue3RouterBuild(System.Collections.Generic.List{Yi.Furion.Core.Rbac.Entities.MenuEntity})">
|
||||||
|
<summary>
|
||||||
|
构建vue3路由
|
||||||
|
</summary>
|
||||||
|
<param name="menus"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.PostEntity">
|
||||||
|
<summary>
|
||||||
|
岗位表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.IsDeleted">
|
||||||
|
<summary>
|
||||||
|
逻辑删除
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.CreationTime">
|
||||||
|
<summary>
|
||||||
|
创建时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.CreatorId">
|
||||||
|
<summary>
|
||||||
|
创建者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.LastModifierId">
|
||||||
|
<summary>
|
||||||
|
最后修改者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.LastModificationTime">
|
||||||
|
<summary>
|
||||||
|
最后修改时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.OrderNum">
|
||||||
|
<summary>
|
||||||
|
排序
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.State">
|
||||||
|
<summary>
|
||||||
|
状态
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.PostCode">
|
||||||
|
<summary>
|
||||||
|
岗位编码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.PostName">
|
||||||
|
<summary>
|
||||||
|
岗位名称
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.PostEntity.Remark">
|
||||||
|
<summary>
|
||||||
|
描述
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.RoleDeptEntity">
|
||||||
|
<summary>
|
||||||
|
角色部门关系表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleDeptEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleDeptEntity.RoleId">
|
||||||
|
<summary>
|
||||||
|
角色id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleDeptEntity.DeptId">
|
||||||
|
<summary>
|
||||||
|
部门id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.RoleEntity">
|
||||||
|
<summary>
|
||||||
|
角色表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.IsDeleted">
|
||||||
|
<summary>
|
||||||
|
逻辑删除
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.CreationTime">
|
||||||
|
<summary>
|
||||||
|
创建时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.CreatorId">
|
||||||
|
<summary>
|
||||||
|
创建者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.LastModifierId">
|
||||||
|
<summary>
|
||||||
|
最后修改者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.LastModificationTime">
|
||||||
|
<summary>
|
||||||
|
最后修改时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.OrderNum">
|
||||||
|
<summary>
|
||||||
|
排序
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.RoleName">
|
||||||
|
<summary>
|
||||||
|
角色名
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.RoleCode">
|
||||||
|
<summary>
|
||||||
|
角色编码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.Remark">
|
||||||
|
<summary>
|
||||||
|
描述
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.DataScope">
|
||||||
|
<summary>
|
||||||
|
角色数据范围
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleEntity.State">
|
||||||
|
<summary>
|
||||||
|
状态
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.RoleMenuEntity">
|
||||||
|
<summary>
|
||||||
|
角色菜单关系表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleMenuEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleMenuEntity.RoleId">
|
||||||
|
<summary>
|
||||||
|
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.RoleMenuEntity.MenuId">
|
||||||
|
<summary>
|
||||||
|
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.UserEntity">
|
||||||
|
<summary>
|
||||||
|
用户表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.IsDeleted">
|
||||||
|
<summary>
|
||||||
|
逻辑删除
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Name">
|
||||||
|
<summary>
|
||||||
|
姓名
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Age">
|
||||||
|
<summary>
|
||||||
|
年龄
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.UserName">
|
||||||
|
<summary>
|
||||||
|
用户名
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Password">
|
||||||
|
<summary>
|
||||||
|
密码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Salt">
|
||||||
|
<summary>
|
||||||
|
加密盐值
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Icon">
|
||||||
|
<summary>
|
||||||
|
头像
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Nick">
|
||||||
|
<summary>
|
||||||
|
昵称
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Email">
|
||||||
|
<summary>
|
||||||
|
邮箱
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Ip">
|
||||||
|
<summary>
|
||||||
|
Ip
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Address">
|
||||||
|
<summary>
|
||||||
|
地址
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Phone">
|
||||||
|
<summary>
|
||||||
|
电话
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Introduction">
|
||||||
|
<summary>
|
||||||
|
简介
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Remark">
|
||||||
|
<summary>
|
||||||
|
备注
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Sex">
|
||||||
|
<summary>
|
||||||
|
性别
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.DeptId">
|
||||||
|
<summary>
|
||||||
|
部门id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.CreationTime">
|
||||||
|
<summary>
|
||||||
|
创建时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.CreatorId">
|
||||||
|
<summary>
|
||||||
|
创建者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.LastModifierId">
|
||||||
|
<summary>
|
||||||
|
最后修改者
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.LastModificationTime">
|
||||||
|
<summary>
|
||||||
|
最后修改时间
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.OrderNum">
|
||||||
|
<summary>
|
||||||
|
排序
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.State">
|
||||||
|
<summary>
|
||||||
|
状态
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Roles">
|
||||||
|
<summary>
|
||||||
|
角色
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Posts">
|
||||||
|
<summary>
|
||||||
|
岗位
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserEntity.Dept">
|
||||||
|
<summary>
|
||||||
|
部门
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Core.Rbac.Entities.UserEntity.BuildPassword(System.String)">
|
||||||
|
<summary>
|
||||||
|
构建密码,MD5盐值加密
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Yi.Furion.Core.Rbac.Entities.UserEntity.JudgePassword(System.String)">
|
||||||
|
<summary>
|
||||||
|
判断密码和加密后的密码是否相同
|
||||||
|
</summary>
|
||||||
|
<param name="password"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.UserPostEntity">
|
||||||
|
<summary>
|
||||||
|
用户岗位表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserPostEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserPostEntity.UserId">
|
||||||
|
<summary>
|
||||||
|
用户id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserPostEntity.PostId">
|
||||||
|
<summary>
|
||||||
|
岗位id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.Entities.UserRoleEntity">
|
||||||
|
<summary>
|
||||||
|
用户角色关系表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserRoleEntity.Id">
|
||||||
|
<summary>
|
||||||
|
主键
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserRoleEntity.RoleId">
|
||||||
|
<summary>
|
||||||
|
角色id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Yi.Furion.Core.Rbac.Entities.UserRoleEntity.UserId">
|
||||||
|
<summary>
|
||||||
|
用户id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Yi.Furion.Core.Rbac.EnumClasses.SexEnum">
|
||||||
|
<summary>
|
||||||
|
性别
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:Yi.Furion.Core.Rbac.EnumClasses.SexEnum.Male">
|
||||||
|
<summary>
|
||||||
|
男性
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:Yi.Furion.Core.Rbac.EnumClasses.SexEnum.Woman">
|
||||||
|
<summary>
|
||||||
|
女性
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:Yi.Furion.Core.Rbac.EnumClasses.SexEnum.Unknown">
|
||||||
|
<summary>
|
||||||
|
未知
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user