Merge branch 'master' into master_sxs_合并分支
This commit is contained in:
commit
ecacfc7d35
|
|
@ -167,6 +167,44 @@
|
|||
<param name="end"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:langguanApi.Controllers.MenuController">
|
||||
<summary>
|
||||
MenuController
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:langguanApi.Controllers.MenuController._menuService">
|
||||
<summary>
|
||||
菜单服务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:langguanApi.Controllers.MenuController.List(langguanApi.Model.reqpage)">
|
||||
<summary>
|
||||
获取菜单列表
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Controllers.MenuController.Add(langguanApi.Model.Entity.AddMenuDto)">
|
||||
<summary>
|
||||
添加菜单
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Controllers.MenuController.Update(langguanApi.Model.Entity.UpdateMenuDto)">
|
||||
<summary>
|
||||
更新菜单
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Controllers.MenuController.Remove(System.Collections.Generic.IEnumerable{System.String})">
|
||||
<summary>
|
||||
删除菜单
|
||||
</summary>
|
||||
<param name="ids"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:langguanApi.Controllers.OrganizedController">
|
||||
<summary>
|
||||
组织的工序
|
||||
|
|
@ -805,6 +843,26 @@
|
|||
父菜单ID,一级菜单为null
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:langguanApi.Model.Entity.MenuTreeDto.Name">
|
||||
<summary>
|
||||
菜单名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:langguanApi.Model.Entity.MenuTreeDto.Url">
|
||||
<summary>
|
||||
菜单URL
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:langguanApi.Model.Entity.MenuTreeDto.Sort">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:langguanApi.Model.Entity.MenuTreeDto.ParentId">
|
||||
<summary>
|
||||
父菜单ID,一级菜单为null
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:langguanApi.Model.Entity.Role.RoleName">
|
||||
<summary>
|
||||
角色名称
|
||||
|
|
@ -825,6 +883,11 @@
|
|||
角色描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:langguanApi.Model.Entity.AddRoleDto.MenuIds">
|
||||
<summary>
|
||||
菜单ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:langguanApi.Model.Entity.UpdateRoleDto">
|
||||
<summary>
|
||||
更新角色DTO
|
||||
|
|
@ -1730,6 +1793,13 @@
|
|||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Service.MenuService.Pager(langguanApi.Model.reqpage)">
|
||||
<summary>
|
||||
获取菜单树
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:langguanApi.Service.OrganizedService">
|
||||
<summary>
|
||||
OrganizedService
|
||||
|
|
@ -1813,6 +1883,13 @@
|
|||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Service.RoleMenuServie.RemoveByRoleId(System.String)">
|
||||
<summary>
|
||||
删除角色菜单
|
||||
</summary>
|
||||
<param name="roleId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Service.RoleMenuServie.UpdateRoleMenu(langguanApi.Model.Entity.UpdateRoleMenuDTO)">
|
||||
<summary>
|
||||
更新角色菜单
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
using langguanApi.Model;
|
||||
using langguanApi.Model.Entity;
|
||||
using langguanApi.Service;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace langguanApi.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// MenuController
|
||||
/// </summary>
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class MenuController : ControllerBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 菜单服务
|
||||
/// </summary>
|
||||
private readonly MenuService _menuService;
|
||||
public MenuController(MenuService menuService)
|
||||
{
|
||||
_menuService = menuService;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取菜单列表
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
public async Task<IActionResult> List([FromQuery] reqpage input)
|
||||
{
|
||||
var result = await _menuService.Pager(input);
|
||||
return Ok(result);
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加菜单
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("add")]
|
||||
public async Task<IActionResult> Add(AddMenuDto input)
|
||||
{
|
||||
var result = await _menuService.AddMenu(input);
|
||||
return Ok(result);
|
||||
}
|
||||
/// <summary>
|
||||
/// 更新菜单
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPut("update")]
|
||||
public async Task<IActionResult> Update(UpdateMenuDto input)
|
||||
{
|
||||
var result = await _menuService.UpdateMenu(input);
|
||||
return Ok(result);
|
||||
}
|
||||
/// <summary>
|
||||
/// 删除菜单
|
||||
/// </summary>
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("remove")]
|
||||
public async Task<IActionResult> Remove(IEnumerable<string> ids)
|
||||
{
|
||||
await _menuService.BatchRemoveAsync(ids);
|
||||
return Ok(new ApiResult());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -16,9 +16,11 @@ namespace langguanApi.Controllers
|
|||
public class RoleController : ControllerBase
|
||||
{
|
||||
public readonly RoleService _roleService;
|
||||
public RoleController(RoleService roleService)
|
||||
private readonly RoleMenuServie _roleMenuServie;
|
||||
public RoleController(RoleService roleService, RoleMenuServie roleMenuServie)
|
||||
{
|
||||
_roleService = roleService;
|
||||
_roleMenuServie = roleMenuServie;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取角色详情
|
||||
|
|
|
|||
|
|
@ -45,4 +45,26 @@
|
|||
{
|
||||
public string Id { get; set; }
|
||||
}
|
||||
public class MenuTreeDto
|
||||
{
|
||||
public string Id { get; set; }
|
||||
/// <summary>
|
||||
/// 菜单名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
/// <summary>
|
||||
/// 菜单URL
|
||||
/// </summary>
|
||||
public string Url { get; set; }
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
public int Sort { get; set; }
|
||||
/// <summary>
|
||||
/// 父菜单ID,一级菜单为null
|
||||
/// </summary>
|
||||
public string ParentId { get; set; }
|
||||
public string ParentName { get; set; }
|
||||
public List<MenuTreeDto> Children { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,10 @@
|
|||
/// 角色描述
|
||||
/// </summary>
|
||||
public string RoleDescription { get; set; }
|
||||
/// <summary>
|
||||
/// 菜单ID
|
||||
/// </summary>
|
||||
public IEnumerable<string> MenuIds { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 更新角色DTO
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ namespace langguanApi.Service
|
|||
/// <returns></returns>
|
||||
public async Task<object> GetPage(reqpage input)
|
||||
{
|
||||
Expression<Func<Alert, bool>> exp = filter => filter.DeviceMn.Contains(input.key) && filter.IsDelete == false;
|
||||
Expression<Func<Alert, bool>> exp = filter => filter.IsDelete == false;
|
||||
return await base.GetPager(new ReqPaing()
|
||||
{
|
||||
pageSize = input.pageSize,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using langguanApi.Extensions.AutoDI;
|
||||
using langguanApi.Extensions;
|
||||
using langguanApi.Extensions.AutoDI;
|
||||
using langguanApi.Model;
|
||||
using langguanApi.Model.Entity;
|
||||
using Mapster;
|
||||
|
|
@ -30,5 +31,57 @@ namespace langguanApi.Service
|
|||
await base.UpdateAsync(entity.Id, entity);
|
||||
return new ApiResult();
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取菜单树
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult> Pager(reqpage input)
|
||||
{
|
||||
Expression<Func<Menu, bool>> exp = filter => filter.IsDelete == false;
|
||||
if (!string.IsNullOrEmpty(input.key))
|
||||
{
|
||||
exp = exp.And(filter => filter.Name.Contains(input.key));
|
||||
}
|
||||
List<MenuTreeDto> dto = new List<MenuTreeDto>();
|
||||
var MenuList = await GetChildList(null);
|
||||
foreach (var item in MenuList)
|
||||
{
|
||||
dto.Add(new MenuTreeDto()
|
||||
{
|
||||
Id = item.Id,
|
||||
Name = item.Name,
|
||||
Sort = item.Sort,
|
||||
ParentId = item.ParentId,
|
||||
ParentName = item.ParentName,
|
||||
Children = await GetChildList(item.Id)
|
||||
});
|
||||
}
|
||||
return new ApiResult() { data = dto };
|
||||
|
||||
//return await base.GetPager(new ReqPaing()
|
||||
//{
|
||||
// pageSize = input.pageSize,
|
||||
// current = input.current
|
||||
//}, exp);
|
||||
}
|
||||
/// <summary>
|
||||
/// 递归获取子菜单列表
|
||||
/// </summary>
|
||||
/// <param name="parentId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<MenuTreeDto>> GetChildList(string parentId)
|
||||
{
|
||||
Expression<Func<Menu, bool>> exp = filter => filter.IsDelete == false && filter.ParentId == parentId;
|
||||
var list = (await GetListWithExp(exp))
|
||||
.OrderByDescending(x => x.Sort)
|
||||
.ToList().Adapt<List<MenuTreeDto>>();
|
||||
foreach (var item in list)
|
||||
{
|
||||
item.Children = await GetChildList(item.Id);
|
||||
item.ParentName = (await base.GetAsync(item.ParentId))?.Name;
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,9 +38,16 @@ namespace langguanApi.Service
|
|||
}
|
||||
return new ApiResult() { code = 0 };
|
||||
}
|
||||
public async Task<ApiResult> DeleteRoleMenu(string roleId)
|
||||
/// <summary>
|
||||
/// 删除角色菜单
|
||||
/// </summary>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult> RemoveByRoleId(string roleId)
|
||||
{
|
||||
return null;
|
||||
Expression<Func<RoleMenu, bool>> exp = filter => filter.IsDelete == false && filter.RoleId == roleId;
|
||||
await base.BatchRemoveAsync(exp);
|
||||
return new ApiResult() { code = 0 };
|
||||
}
|
||||
/// <summary>
|
||||
/// 更新角色菜单
|
||||
|
|
|
|||
|
|
@ -36,6 +36,14 @@ namespace langguanApi.Service
|
|||
}
|
||||
var entity = role.Adapt<Role>();
|
||||
await base.CreateAsync(entity);
|
||||
foreach (var item in role.MenuIds)
|
||||
{
|
||||
await _roleMenuServie.CreateAsync(new RoleMenu()
|
||||
{
|
||||
RoleId = entity.Id,
|
||||
MenuId = item
|
||||
});
|
||||
}
|
||||
return new ApiResult() { code = 0 };
|
||||
}
|
||||
/// <summary>
|
||||
|
|
@ -78,6 +86,15 @@ namespace langguanApi.Service
|
|||
{
|
||||
var entity = role.Adapt<Role>();
|
||||
await base.UpdateAsync(entity.Id, entity);
|
||||
await _roleMenuServie.RemoveByRoleId(entity.Id);
|
||||
foreach (var item in role.MenuIds)
|
||||
{
|
||||
await _roleMenuServie.CreateAsync(new RoleMenu()
|
||||
{
|
||||
MenuId = item,
|
||||
RoleId = entity.Id
|
||||
});
|
||||
}
|
||||
return new ApiResult() { code = 0 };
|
||||
}
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -77,7 +77,11 @@ namespace langguanApi.Service
|
|||
/// <returns></returns>
|
||||
public async Task<ApiResult> GetPage(reqpage input)
|
||||
{
|
||||
Expression<Func<UserEntity, bool>> exp = filter => filter.Username.Contains(input.key) && filter.IsDelete == false;
|
||||
Expression<Func<UserEntity, bool>> exp = filter => true;
|
||||
if (!string.IsNullOrEmpty(input.key))
|
||||
{
|
||||
exp = filter => filter.Username.Contains(input.key) || filter.Phone.Contains(input.key) || filter.Email.Contains(input.key);
|
||||
}
|
||||
return await base.GetPager(new ReqPaing()
|
||||
{
|
||||
pageSize = input.pageSize,
|
||||
|
|
|
|||
Loading…
Reference in New Issue