using Core.Web.WebHelper; using CRM.Core.BLL.Base; using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using WX.CRM.Common; namespace Core.Web.Controllers { public class RoleRightResourceController : BaseController { private BAS_RIGHTGROUP_BL rightGroupBiz = new BAS_RIGHTGROUP_BL(); private BAS_ROLE_BL _role = new BAS_ROLE_BL(); private BAS_ROLERIGHTRESOURCE_BL _roleRight = new BAS_ROLERIGHTRESOURCE_BL(); [HttpGet] public ActionResult Index() { var roles = _role.GetList(); ViewBag.roles = roles; return View(); } [HttpPost] public JsonResult Index(string where) { var dtree = rightGroupBiz.GetRightTreeList(true); return Json(new { status = new { code = 200, message = "success" }, data = dtree }, JsonRequestBehavior.AllowGet); } [HttpPost] public JsonResult Get(int roleId) { var list = _roleRight.GetRoleRightResourceByRoleId(roleId); var data = new List(); foreach (var item in list) { var lstt = new List(); var s = Convert.ToString(int.Parse(item.TOOLBARVALUE.Value.ToString()), 2); int index = s.Length - 1; foreach (char ch in s) { if (ch == '1') { lstt.Add(Math.Pow(2, index)); } index--; } foreach (var subItem in lstt) { data.Add(item.RIGHTID + "_" + subItem.ToString()); } } return Json(new { result = true, data = string.Join(",", data) }, JsonRequestBehavior.AllowGet); } [HttpPost] public JsonResult Save(string roleId, string rightIds) { try { if (string.IsNullOrWhiteSpace(roleId)) return JsonHandler.ManageMessage("参数不对!", false); var list = new List(); if (!string.IsNullOrWhiteSpace(rightIds)) { var arr = rightIds.Split(','); foreach (var item in arr) { var subItem = item.Split('_'); list.Add(new RightAndButton() { rightId = subItem[0], buttons = decimal.Parse(subItem[1].ToString()) }); } list = list.GroupBy(p => p.rightId).Select(g => new RightAndButton() { rightId = g.Key, buttons = g.Sum(p => p.buttons) }).ToList(); } bool result = _roleRight.Save(Convert.ToInt32(roleId), list.ToJson(), UserId); return JsonHandler.ManageMessage("操作成功!", result); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return JsonHandler.ManageMessage("操作失败!", false); } } } }