You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
4.5 KiB
C#
147 lines
4.5 KiB
C#
using ProductionSystem_Log;
|
|
using ProductionSystem_Model.DbModel.System;
|
|
using ProductionSystem_Model.ViewModel.Response.System;
|
|
using SqlSugar;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace ProductionSystem_Service
|
|
{
|
|
/// <summary>
|
|
/// 菜单角色
|
|
/// </summary>
|
|
public class MenuRoleService : DbContext
|
|
{
|
|
/// <summary>
|
|
/// 查询所有菜单角色关系
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ISugarQueryable<Sys_Menu_Role> QueryMenuRoles()
|
|
{
|
|
try
|
|
{
|
|
return db.Queryable<Sys_Menu_Role>();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex, "执行MenuRoleService下QueryMenuRoles时异常");
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询有效菜单角色关系
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ISugarQueryable<Sys_Menu_Role> QueryActiveMenuRoles()
|
|
{
|
|
try
|
|
{
|
|
return db.Queryable<Sys_Menu_Role>().Where(m => m.IsActive);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex, "执行MenuRoleService下QueryActiveMenuRoles时异常");
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据角色编码查询有效菜单角色关系
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<Sys_Menu_Role> QueryActiveMenuRolesByRoleCode(string roleCode)
|
|
{
|
|
try
|
|
{
|
|
return db.Queryable<Sys_Menu_Role>().Where(m => m.RoleCode == roleCode && m.IsActive).ToList();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex, "执行MenuRoleService下QueryActiveMenuRolesByRoleCode时异常");
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据角色编码查询有效菜单
|
|
/// </summary>
|
|
/// <param name="roleCode"></param>
|
|
/// <returns></returns>
|
|
public List<MenuVM> QueryActiveMenusByRoleCode(string roleCode)
|
|
{
|
|
try
|
|
{
|
|
return db.Queryable<Sys_Menu_Role>()
|
|
.InnerJoin<Sys_Menu>((a, b) => a.MenuCode == b.MenuCode && a.IsActive && b.IsActive)
|
|
.Where((a, b) => a.RoleCode == roleCode)
|
|
.Select((a, b) => new MenuVM
|
|
{
|
|
MenuCode = a.MenuCode,
|
|
MenuName = b.MenuName,
|
|
ImgPath = b.MenuImgPath
|
|
}).ToList();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex, "执行MenuRoleService下QueryActiveMenusByRoleCode时异常");
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增菜单角色关系
|
|
/// </summary>
|
|
/// <param name="sys_Menu_Role"></param>
|
|
/// <returns></returns>
|
|
public int AddMenuRole(Sys_Menu_Role sys_Menu_Role)
|
|
{
|
|
try
|
|
{
|
|
return db.Insertable(sys_Menu_Role).ExecuteCommand();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex, "执行MenuRoleService下AddMenuRole时异常");
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改菜单角色关系
|
|
/// </summary>
|
|
/// <param name="sys_Menu_Role"></param>
|
|
/// <returns></returns>
|
|
public int UpdateMenuRole(Sys_Menu_Role sys_Menu_Role)
|
|
{
|
|
try
|
|
{
|
|
return db.Updateable(sys_Menu_Role).ExecuteCommand();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex, "执行MenuRoleService下UpdateMenuRole时异常");
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据Id集合物理删除菜单角色关系
|
|
/// </summary>
|
|
/// <param name="ids"></param>
|
|
/// <returns></returns>
|
|
public int DoDelMenusByIds(List<string> ids)
|
|
{
|
|
try
|
|
{
|
|
return db.Deleteable<Sys_Menu_Role>().Where(m => ids.Contains(m.Id)).ExecuteCommand();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex, "执行MenuRoleService下DoDelMenusByIds时异常");
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|