优化仓储

This commit is contained in:
不做码农 2022-09-27 20:47:37 +08:00
parent b8b323a090
commit 2c0700d2f3
3 changed files with 31 additions and 23 deletions

View File

@ -20,7 +20,12 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public List<SysMenu> SelectTreeMenuList(MenuQueryDto menu) public List<SysMenu> SelectTreeMenuList(MenuQueryDto menu)
{ {
return Context.Queryable<SysMenu>() int parentId = 0;
if (menu.ParentId != null)
{
parentId = (int)menu.ParentId;
}
var list = Queryable()
.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)
@ -28,6 +33,8 @@ namespace ZR.Repository.System
.WhereIF(menu.ParentId != null, it => it.ParentId == menu.ParentId) .WhereIF(menu.ParentId != null, it => it.ParentId == menu.ParentId)
.OrderBy(it => new { it.ParentId, it.OrderNum }) .OrderBy(it => new { it.ParentId, it.OrderNum })
.ToTree(it => it.Children, it => it.ParentId, menu.ParentId); .ToTree(it => it.Children, it => it.ParentId, menu.ParentId);
return list;
} }
/// <summary> /// <summary>
@ -42,7 +49,7 @@ namespace ZR.Repository.System
.Where(r => roles.Contains(r.Role_id)) .Where(r => roles.Contains(r.Role_id))
.Select(f => f.Menu_id).Distinct().ToList(); .Select(f => f.Menu_id).Distinct().ToList();
return Context.Queryable<SysMenu>() return Queryable()
.Where(c => roleMenus.Contains(c.MenuId)) .Where(c => roleMenus.Contains(c.MenuId))
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), (c) => c.MenuName.Contains(menu.MenuName)) .WhereIF(!string.IsNullOrEmpty(menu.MenuName), (c) => c.MenuName.Contains(menu.MenuName))
.WhereIF(!string.IsNullOrEmpty(menu.Visible), (c) => c.Visible == menu.Visible) .WhereIF(!string.IsNullOrEmpty(menu.Visible), (c) => c.Visible == menu.Visible)
@ -59,7 +66,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public List<SysMenu> SelectMenuList(MenuQueryDto menu) public List<SysMenu> SelectMenuList(MenuQueryDto menu)
{ {
return Context.Queryable<SysMenu>() return Queryable()
.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)
@ -79,7 +86,7 @@ namespace ZR.Repository.System
var roleMenus = Context.Queryable<SysRoleMenu>() var roleMenus = Context.Queryable<SysRoleMenu>()
.Where(r => roles.Contains(r.Role_id)); .Where(r => roles.Contains(r.Role_id));
return Context.Queryable<SysMenu>() return Queryable()
.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))
@ -96,7 +103,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public SysMenu SelectMenuById(int menuId) public SysMenu SelectMenuById(int menuId)
{ {
return Context.Queryable<SysMenu>().Where(it => it.MenuId == menuId).Single(); return GetFirst(it => it.MenuId == menuId);
} }
/// <summary> /// <summary>
@ -106,9 +113,8 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public int AddMenu(SysMenu menu) public int AddMenu(SysMenu menu)
{ {
var Db = Context; menu.Create_time = DateTime.Now;
menu.Create_time = Db.GetDate(); menu.MenuId = InsertReturnIdentity(menu);
menu.MenuId = Db.Insertable(menu).ExecuteReturnIdentity();
return 1; return 1;
} }
@ -119,7 +125,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public int EditMenu(SysMenu menu) public int EditMenu(SysMenu menu)
{ {
return Context.Updateable(menu).ExecuteCommand(); return Update(menu, false);
} }
/// <summary> /// <summary>
@ -129,7 +135,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public int DeleteMenuById(int menuId) public int DeleteMenuById(int menuId)
{ {
return Context.Deleteable<SysMenu>().Where(it => it.MenuId == menuId).ExecuteCommand(); return Delete(menuId);
} }
/// <summary> /// <summary>
@ -168,8 +174,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public SysMenu CheckMenuNameUnique(SysMenu menu) public SysMenu CheckMenuNameUnique(SysMenu menu)
{ {
return Context.Queryable<SysMenu>() return GetFirst(it => it.MenuName == menu.MenuName && it.ParentId == menu.ParentId);
.Where(it => it.MenuName == menu.MenuName && it.ParentId == menu.ParentId).Single();
} }
/// <summary> /// <summary>
@ -179,7 +184,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public int HasChildByMenuId(long menuId) public int HasChildByMenuId(long menuId)
{ {
return Context.Queryable<SysMenu>().Where(it => it.ParentId == menuId).Count(); return Count(it => it.ParentId == menuId);
} }
#region RoleMenu #region RoleMenu

View File

@ -1,6 +1,7 @@
using Infrastructure.Attribute; using Infrastructure.Attribute;
using Infrastructure.Model; using Infrastructure.Model;
using SqlSugar; using SqlSugar;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using ZR.Model; using ZR.Model;
@ -72,7 +73,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public SysRole SelectRoleById(long roleId) public SysRole SelectRoleById(long roleId)
{ {
return Context.Queryable<SysRole>().InSingle(roleId); return GetId(roleId);
} }
/// <summary> /// <summary>
@ -82,7 +83,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public int DeleteRoleByRoleIds(long[] roleId) public int DeleteRoleByRoleIds(long[] roleId)
{ {
return Context.Deleteable<SysRole>().In(roleId).ExecuteCommand(); return Delete(roleId);
} }
/// <summary> /// <summary>
@ -149,8 +150,8 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public long InsertRole(SysRole sysRole) public long InsertRole(SysRole sysRole)
{ {
sysRole.Create_time = Context.GetDate(); sysRole.Create_time = DateTime.Now;
return Context.Insertable(sysRole).ExecuteReturnBigIdentity(); return InsertReturnBigIdentity(sysRole);
} }
/// <summary> /// <summary>
@ -180,8 +181,7 @@ namespace ZR.Repository.System
/// <summary> /// <summary>
/// 更改角色权限状态 /// 更改角色权限状态
/// </summary> /// </summary>
/// <param name="roleId"></param> /// <param name="role"></param>
/// <param name="status"></param>
/// <returns></returns> /// <returns></returns>
public int UpdateRoleStatus(SysRole role) public int UpdateRoleStatus(SysRole role)
{ {
@ -195,7 +195,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public SysRole CheckRoleKeyUnique(string roleKey) public SysRole CheckRoleKeyUnique(string roleKey)
{ {
return Context.Queryable<SysRole>().Where(it => it.RoleKey == roleKey).Single(); return GetFirst(it => it.RoleKey == roleKey);
} }
/// <summary> /// <summary>
@ -205,7 +205,7 @@ namespace ZR.Repository.System
/// <returns></returns> /// <returns></returns>
public SysRole CheckRoleNameUnique(string roleName) public SysRole CheckRoleNameUnique(string roleName)
{ {
return Context.Queryable<SysRole>().Where(it => it.RoleName == roleName).Single(); return GetFirst(it => it.RoleName == roleName);
} }
} }
} }

View File

@ -137,8 +137,11 @@ namespace ZR.Service
/// <returns></returns> /// <returns></returns>
public long InsertRole(SysRole sysRole) public long InsertRole(SysRole sysRole)
{ {
return SysRoleRepository.InsertRole(sysRole); sysRole.RoleId = SysRoleRepository.InsertRole(sysRole);
//return InsertRoleMenu(sysRole); //插入角色部门数据
DeptService.InsertRoleDepts(sysRole);
return sysRole.RoleId;
} }
/// <summary> /// <summary>