优化仓储

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

View File

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