优化菜单管理请求参数
This commit is contained in:
parent
bd0361552d
commit
4a440f3b1c
@ -36,7 +36,7 @@ namespace ZR.Admin.WebApi.Controllers.System
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[ActionPermissionFilter(Permission = "system:menu:list")]
|
[ActionPermissionFilter(Permission = "system:menu:list")]
|
||||||
[HttpGet("list")]
|
[HttpGet("list")]
|
||||||
public IActionResult TreeMenuList([FromQuery] SysMenu menu)
|
public IActionResult TreeMenuList([FromQuery] MenuQueryDto menu)
|
||||||
{
|
{
|
||||||
long userId = HttpContext.GetUId();
|
long userId = HttpContext.GetUId();
|
||||||
return SUCCESS(sysMenuService.SelectTreeMenuList(menu, userId), "yyyy-MM-dd HH:mm:ss");
|
return SUCCESS(sysMenuService.SelectTreeMenuList(menu, userId), "yyyy-MM-dd HH:mm:ss");
|
||||||
@ -62,7 +62,7 @@ namespace ZR.Admin.WebApi.Controllers.System
|
|||||||
public IActionResult TreeSelect()
|
public IActionResult TreeSelect()
|
||||||
{
|
{
|
||||||
long userId = HttpContext.GetUId();
|
long userId = HttpContext.GetUId();
|
||||||
var list = sysMenuService.SelectMenuList(new SysMenu(), userId).FindAll(f => f.visible == "0");
|
var list = sysMenuService.SelectMenuList(new MenuQueryDto(), userId).FindAll(f => f.visible == "0");
|
||||||
var treeMenus = sysMenuService.BuildMenuTreeSelect(list);
|
var treeMenus = sysMenuService.BuildMenuTreeSelect(list);
|
||||||
|
|
||||||
return SUCCESS(treeMenus);
|
return SUCCESS(treeMenus);
|
||||||
@ -78,7 +78,7 @@ namespace ZR.Admin.WebApi.Controllers.System
|
|||||||
public IActionResult RoleMenuTreeselect(int roleId)
|
public IActionResult RoleMenuTreeselect(int roleId)
|
||||||
{
|
{
|
||||||
long userId = HttpContext.GetUId();
|
long userId = HttpContext.GetUId();
|
||||||
var menus = sysMenuService.SelectMenuList(new SysMenu(), userId);
|
var menus = sysMenuService.SelectMenuList(new MenuQueryDto(), userId);
|
||||||
var checkedKeys = sysRoleService.SelectUserRoleMenus(roleId);
|
var checkedKeys = sysRoleService.SelectUserRoleMenus(roleId);
|
||||||
return SUCCESS(new
|
return SUCCESS(new
|
||||||
{
|
{
|
||||||
|
|||||||
@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Hosting;
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
using System;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using ZR.Admin.WebApi.Extensions;
|
using ZR.Admin.WebApi.Extensions;
|
||||||
using ZR.Admin.WebApi.Filters;
|
using ZR.Admin.WebApi.Filters;
|
||||||
@ -98,11 +99,12 @@ namespace ZR.Admin.WebApi.Controllers.System
|
|||||||
SysUser user = UserService.SelectUserById(loginUser.UserId);
|
SysUser user = UserService.SelectUserById(loginUser.UserId);
|
||||||
string oldMd5 = NETCore.Encrypt.EncryptProvider.Md5(oldPassword);
|
string oldMd5 = NETCore.Encrypt.EncryptProvider.Md5(oldPassword);
|
||||||
string newMd5 = NETCore.Encrypt.EncryptProvider.Md5(newPassword);
|
string newMd5 = NETCore.Encrypt.EncryptProvider.Md5(newPassword);
|
||||||
if (user.Password != oldMd5.ToLower())
|
|
||||||
|
if (!user.Password.Equals(oldMd5, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
return ToResponse(ApiResult.Error("修改密码失败,旧密码错误"));
|
return ToResponse(ApiResult.Error("修改密码失败,旧密码错误"));
|
||||||
}
|
}
|
||||||
if (user.Password == newMd5.ToLower())
|
if (user.Password.Equals(newMd5, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
return ToResponse(ApiResult.Error("新密码不能和旧密码相同"));
|
return ToResponse(ApiResult.Error("新密码不能和旧密码相同"));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,4 +73,19 @@ namespace ZR.Model.System.Dto
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string MenuNameKey { get; set; }
|
public string MenuNameKey { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class MenuQueryDto
|
||||||
|
{
|
||||||
|
public string MenuName { get; set; }
|
||||||
|
public string Visible { get; set; }
|
||||||
|
public string Status { get; set; }
|
||||||
|
public string MenuTypeIds { get; set; } = string.Empty;
|
||||||
|
public string[] MenuTypeIdArr
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return MenuTypeIds.Split(',', StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,12 +18,13 @@ namespace ZR.Repository.System
|
|||||||
/// 获取所有菜单(菜单管理)
|
/// 获取所有菜单(菜单管理)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public List<SysMenu> SelectTreeMenuList(SysMenu menu)
|
public List<SysMenu> SelectTreeMenuList(MenuQueryDto menu)
|
||||||
{
|
{
|
||||||
return Context.Queryable<SysMenu>()
|
return Context.Queryable<SysMenu>()
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), it => it.MenuName.Contains(menu.MenuName))
|
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), it => it.MenuName.Contains(menu.MenuName))
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.visible), it => it.visible == menu.visible)
|
.WhereIF(!string.IsNullOrEmpty(menu.Visible), it => it.visible == menu.Visible)
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.status), it => it.status == menu.status)
|
.WhereIF(!string.IsNullOrEmpty(menu.Status), it => it.status == menu.Status)
|
||||||
|
|
||||||
.OrderBy(it => new { it.parentId, it.orderNum })
|
.OrderBy(it => new { it.parentId, it.orderNum })
|
||||||
.ToTree(it => it.children, it => it.parentId, 0);
|
.ToTree(it => it.children, it => it.parentId, 0);
|
||||||
}
|
}
|
||||||
@ -34,7 +35,7 @@ namespace ZR.Repository.System
|
|||||||
/// <param name="sysMenu"></param>
|
/// <param name="sysMenu"></param>
|
||||||
/// <param name="roles">用户角色集合</param>
|
/// <param name="roles">用户角色集合</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public List<SysMenu> SelectTreeMenuListByUserId(SysMenu sysMenu, List<long> roles)
|
public List<SysMenu> SelectTreeMenuListByUserId(MenuQueryDto sysMenu, List<long> roles)
|
||||||
{
|
{
|
||||||
var roleMenus = Context.Queryable<SysRoleMenu>()
|
var roleMenus = Context.Queryable<SysRoleMenu>()
|
||||||
.Where(r => roles.Contains(r.Role_id));
|
.Where(r => roles.Contains(r.Role_id));
|
||||||
@ -42,8 +43,8 @@ namespace ZR.Repository.System
|
|||||||
return Context.Queryable<SysMenu>()
|
return Context.Queryable<SysMenu>()
|
||||||
.InnerJoin(roleMenus, (c, j) => c.MenuId == j.Menu_id)
|
.InnerJoin(roleMenus, (c, j) => c.MenuId == j.Menu_id)
|
||||||
.WhereIF(!string.IsNullOrEmpty(sysMenu.MenuName), (c, j) => c.MenuName.Contains(sysMenu.MenuName))
|
.WhereIF(!string.IsNullOrEmpty(sysMenu.MenuName), (c, j) => c.MenuName.Contains(sysMenu.MenuName))
|
||||||
.WhereIF(!string.IsNullOrEmpty(sysMenu.visible), (c, j) => c.visible == sysMenu.visible)
|
.WhereIF(!string.IsNullOrEmpty(sysMenu.Visible), (c, j) => c.visible == sysMenu.Visible)
|
||||||
.WhereIF(!string.IsNullOrEmpty(sysMenu.status), (c, j) => c.status == sysMenu.status)
|
.WhereIF(!string.IsNullOrEmpty(sysMenu.Status), (c, j) => c.status == sysMenu.Status)
|
||||||
.OrderBy((c, j) => new { c.parentId, c.orderNum })
|
.OrderBy((c, j) => new { c.parentId, c.orderNum })
|
||||||
.Select(c => c)
|
.Select(c => c)
|
||||||
.ToTree(it => it.children, it => it.parentId, 0);
|
.ToTree(it => it.children, it => it.parentId, 0);
|
||||||
@ -53,12 +54,12 @@ namespace ZR.Repository.System
|
|||||||
/// 获取所有菜单
|
/// 获取所有菜单
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public List<SysMenu> SelectMenuList(SysMenu menu)
|
public List<SysMenu> SelectMenuList(MenuQueryDto menu)
|
||||||
{
|
{
|
||||||
return Context.Queryable<SysMenu>()
|
return Context.Queryable<SysMenu>()
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), it => it.MenuName.Contains(menu.MenuName))
|
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), it => it.MenuName.Contains(menu.MenuName))
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.visible), it => it.visible == menu.visible)
|
.WhereIF(!string.IsNullOrEmpty(menu.Visible), it => it.visible == menu.Visible)
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.status), it => it.status == menu.status)
|
.WhereIF(!string.IsNullOrEmpty(menu.Status), it => it.status == menu.Status)
|
||||||
.OrderBy(it => new { it.parentId, it.orderNum })
|
.OrderBy(it => new { it.parentId, it.orderNum })
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
@ -69,7 +70,7 @@ namespace ZR.Repository.System
|
|||||||
/// <param name="sysMenu"></param>
|
/// <param name="sysMenu"></param>
|
||||||
/// <param name="roles">用户角色集合</param>
|
/// <param name="roles">用户角色集合</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public List<SysMenu> SelectMenuListByRoles(SysMenu sysMenu, List<long> roles)
|
public List<SysMenu> SelectMenuListByRoles(MenuQueryDto sysMenu, List<long> roles)
|
||||||
{
|
{
|
||||||
var roleMenus = Context.Queryable<SysRoleMenu>()
|
var roleMenus = Context.Queryable<SysRoleMenu>()
|
||||||
.Where(r => roles.Contains(r.Role_id));
|
.Where(r => roles.Contains(r.Role_id));
|
||||||
@ -78,7 +79,7 @@ namespace ZR.Repository.System
|
|||||||
.InnerJoin(roleMenus, (c, j) => c.MenuId == j.Menu_id)
|
.InnerJoin(roleMenus, (c, j) => c.MenuId == j.Menu_id)
|
||||||
.Where((c, j) => c.status == "0")
|
.Where((c, j) => c.status == "0")
|
||||||
.WhereIF(!string.IsNullOrEmpty(sysMenu.MenuName), (c, j) => c.MenuName.Contains(sysMenu.MenuName))
|
.WhereIF(!string.IsNullOrEmpty(sysMenu.MenuName), (c, j) => c.MenuName.Contains(sysMenu.MenuName))
|
||||||
.WhereIF(!string.IsNullOrEmpty(sysMenu.visible), (c, j) => c.visible == sysMenu.visible)
|
.WhereIF(!string.IsNullOrEmpty(sysMenu.Visible), (c, j) => c.visible == sysMenu.Visible)
|
||||||
.OrderBy((c, j) => new { c.parentId, c.orderNum })
|
.OrderBy((c, j) => new { c.parentId, c.orderNum })
|
||||||
.Select(c => c)
|
.Select(c => c)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|||||||
@ -9,8 +9,8 @@ namespace ZR.Service.System.IService
|
|||||||
{
|
{
|
||||||
//List<SysMenu> SelectMenuList(long userId);
|
//List<SysMenu> SelectMenuList(long userId);
|
||||||
|
|
||||||
List<SysMenu> SelectMenuList(SysMenu menu, long userId);
|
List<SysMenu> SelectMenuList(MenuQueryDto menu, long userId);
|
||||||
List<SysMenu> SelectTreeMenuList(SysMenu menu, long userId);
|
List<SysMenu> SelectTreeMenuList(MenuQueryDto menu, long userId);
|
||||||
|
|
||||||
SysMenu GetMenuByMenuId(int menuId);
|
SysMenu GetMenuByMenuId(int menuId);
|
||||||
int AddMenu(SysMenu menu);
|
int AddMenu(SysMenu menu);
|
||||||
|
|||||||
@ -31,7 +31,7 @@ namespace ZR.Service
|
|||||||
/// 获取所有菜单数(菜单管理)
|
/// 获取所有菜单数(菜单管理)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public List<SysMenu> SelectTreeMenuList(SysMenu menu, long userId)
|
public List<SysMenu> SelectTreeMenuList(MenuQueryDto menu, long userId)
|
||||||
{
|
{
|
||||||
List<SysMenu> menuList;
|
List<SysMenu> menuList;
|
||||||
if (SysRoleService.IsAdmin(userId))
|
if (SysRoleService.IsAdmin(userId))
|
||||||
@ -50,7 +50,7 @@ namespace ZR.Service
|
|||||||
/// 获取所有菜单列表
|
/// 获取所有菜单列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public List<SysMenu> SelectMenuList(SysMenu menu, long userId)
|
public List<SysMenu> SelectMenuList(MenuQueryDto menu, long userId)
|
||||||
{
|
{
|
||||||
List<SysMenu> menuList;
|
List<SysMenu> menuList;
|
||||||
if (SysRoleService.IsAdmin(userId))
|
if (SysRoleService.IsAdmin(userId))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user