using CommonUtil; using Microsoft.AspNetCore.Mvc; using Operater.DAL; using Operater.DbModel; using Operater.DTO.System; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Api.Operater.Controllers { [Route(TopConstants.API_ROUTE)] public class RoleManageController : BaseController { /// /// 新增角色 /// /// /// [HttpPost] public IActionResult AddRoleSet([FromBody] AddRoleSetRequest request) { var isExect = new RoleSetDAL().IsExist(t => t.Name == request.Name && t.IsDe == 0); if (isExect) { return Error("角色名已存在,请修改!"); } RoleSet roleSet = new RoleSet() { Id = Guid.NewGuid().ToString(), Name = request.Name, CreateTime = DateTime.Now, IsDe = 0, Memo = request.Memo, Roles = request.Roles }; new RoleSetDAL().Insert(roleSet); return Success(true); } /// /// 获取角色列表 /// /// /// [HttpPost] public IActionResult GetRoleList([FromBody] GetRoleListRequest request) { var expression = Expressionable.Create().And(t => t.IsDe == 0) .AndIF(!request.Name.IsNull(), t => request.Name.Contains(t.Name)) .ToExpression(); int totalCount = 0; var history = new RoleSetDAL().ListPageGet(expression, t => t.CreateTime, DbEnum.OrderType.Desc, request.PageNo, request.PageSize, ref totalCount); List response = new List(); if(!history.IsNull()&& history.Count>0) { response = JSONUtil.JsonToObject>(JSONUtil.ObjectToJson(history)); var countList = new UserInfoDAL().GetRoleIdCount(); foreach (var res in response) { var count = countList.Where(t=>t.RoleId==res.Id).ToList(); res.UserCount = (count.IsNull() || count.Count == 0) ? 0 : count[0].Sum; } } return Success(response, request.PageNo, request.PageSize, totalCount); } /// /// 删除角色 /// /// /// [HttpPost] public IActionResult DelRole([FromBody] DelRoleRequest request) { RoleSet set = new RoleSet { IsDe = 1 }; var res = new RoleSetDAL().Update(set, i => new { i.IsDe }, t => t.Id == request.RoleId); return Success(res == 1); } /// /// 修改角色 /// /// /// [HttpPost] public IActionResult EditRole([FromBody] EditRoleRequest request) { RoleSet roleSet = new RoleSet() { Name = request.Name, CreateTime = DateTime.Now, IsDe = 0, Memo = request.Memo, Roles = request.Roles }; var res = new RoleSetDAL().Update(roleSet, i => new { i.Name, i.IsDe, i.Memo, i.Roles }, t => t.Id == request.RoleId); return Success(res == 1); } /// /// 获取角色详情 /// /// /// [HttpPost] public IActionResult GetRoleDetail([FromBody] GetRoleDetailRequset request) { var res = new RoleSetDAL().GetById(request.RoleId); return Success(res); } [HttpPost] public IActionResult GetMenuRole() { List response = new List(); var menu = new MenuSetDAL().ListGet(t => t.Id != null); var menuOne = menu.Where(t => t.MenuLevel == 1).OrderBy(t => t.OrdIndex); foreach (var m in menuOne) { GetMenuRoleResponse res = new GetMenuRoleResponse() { title = m.MenuName, value = m.MenuRole, key = m.MenuRole }; var menuSecond = menu.Where(t => t.ParentId == m.Id).OrderBy(t => t.OrdIndex).ToList(); if (!menuSecond.IsNull() && menuSecond.Count > 0) { List getMenuRoleTrees = new List(); foreach (var te in menuSecond) { GetMenuRoleTree getMenuRoleTree = new GetMenuRoleTree() { title = te.MenuName, value = te.MenuRole, key = te.MenuRole }; getMenuRoleTrees.Add(getMenuRoleTree); } res.children = getMenuRoleTrees; } response.Add(res); } return Success(response); } } }