/// <summary> /// 添加角色 权限 /// </summary> /// <param name="rp"></param> /// <returns></returns> public JsonResult AddRolePower(RolePower rp) { string json = Newtonsoft.Json.JsonConvert.SerializeObject(rp); var result = HelperHttpClient.GetAll("post", "Organization/AddRolepower", json); return(Json(result)); }
public int power1; //战力 void Awake() { PowerPrefab = transform.Find("PowerPrefab").transform; Create = transform.Find("Scroll View/Viewport/Content").transform; //1.绑定事件 transform.Find("ButtonClose").GetComponent <Button>().onClick.AddListener(delegate() { SoundController.Instance.PlayAudio("audio"); Destroy(gameObject); }); grade = GameController.Instance.playerData.Level;//获取等级 //transform.Find("PowerPrefab/Grade").GetComponent<Text>().text = "等级:" + grade; power1 = GameController.Instance.playerData.Strength;//获取战力 power1 = grade * 20 + GameController.Instance.playerData.LevelPlan * 30; //战力信息 Debug.Log(GameController.Instance.playerData.Name); Debug.Log(power1); RolePower power = new RolePower(GameController.Instance.playerData.Name, power1); //绑定回调事件 NetClient.Instance.netResponseHandler += DoRankNetResponse; NetClient.Instance.SendRequest(new NetRequest("Rank", JsonConvert.SerializeObject(power))); }
IEnumerator Rank()//排行榜 { for (int i = transform.Find("Scroll View/Viewport/Content").childCount - 1; i >= 0; i--) { Destroy(transform.Find("Scroll View/Viewport/Content").GetChild(i).gameObject); } yield return(null); //为所得链表中的数据进行排序 for (int i = 0; i < rolepower.Count; i++) { for (int j = i + 1; j < rolepower.Count; j++) { if (rolepower[i].Power <= rolepower[j].Power) { RolePower temp = rolepower[i]; rolepower[i] = rolepower[j]; rolepower[j] = temp; } } } //显示排行信息 for (int i = 0; i < rolepower.Count; i++) { Transform clone = Instantiate(PowerPrefab); clone.SetParent(transform.Find("Scroll View/Viewport/Content")); clone.transform.Find("Name").GetComponent <Text>().text = rolepower[i].Name; //名字 clone.transform.Find("Ranking").GetComponent <Text>().text = "第 " + (i + 1) + " 名"; //名次 clone.transform.Find("Power").GetComponent <Text>().text = "战力:" + rolepower[i].Power; //战力 } }
public async Task <IActionResult> AddRole([FromBody] List <RolePowerModel> models) { var id = models.First().RoleId; var list = _zxPower.Query(a => a.Disabled == false && a.RoleId == id).ToList(); foreach (var data in list) { _zxPower.Remove(data); } foreach (var data in models) { var rolePower = new RolePower { PowerName = data.PowerName, Action = data.Action, RoleId = data.RoleId }; _zxPower.Insert(rolePower); } var state = await _unitOfWork.SaveAsync(); return(Json(new { result = state, msg = "系统异常,请稍候重试!" })); }
public static int Compare(RolePower a, RolePower b) { if (a.Shape < b.Shape) { return(-1); } else if (a.Shape > b.Shape) { return(1); } else { if (a.Deep < b.Deep) { return(-1); } else if (a.Deep > b.Deep) { return(1); } else { return(0); } } }
/// <summary> /// 设置角色的通道权值 /// </summary> /// <param name="HoldRoleList">已在格子的角色</param> /// <param name="_NewRolelist"></param> public void SetRolePower(RoleStations Role, RoleStations CalcInRole) { if (Role == null || CalcInRole == null) { return; } m_TLPower.Clear(); List <int> l = new List <int>(); Role.GetRoleList(ref l); List <RolePower> lold = new List <RolePower> (); for (int i = 0; i < l.Count; i++) { StationsInfo Info = Role.GetRoleStationsInfo(l[i]); if (Info != null) { RolePower p = new RolePower(); p.SetPower(Info); p.IsNewJoin = false; if (Info.m_IsTop == true) { m_TLPower.Add(p); } else { lold.Add(p); } } } // l.Clear(); // CalcInRole.GetRoleList(ref l); List <RolePower> lNew = new List <RolePower> (); for (int i = 0; i < l.Count; i++) { StationsInfo Info = CalcInRole.GetRoleStationsInfo(l[i]); if (Info != null) { RolePower p = new RolePower(); p.IsNewJoin = true; p.SetPower(Info); if (Info.m_IsTop == true) { m_TLPower.Add(p); } else { lNew.Add(p); } } } //划分中置顶阵营,前阵营,后阵营。 CalcTopChannel(ref lold, ref lNew); CalcMainCamp(ref lold, ref lNew); }
public int AddRolepower([FromBody] string json) { RolePower rp = Newtonsoft.Json.JsonConvert.DeserializeObject <RolePower>(json); int rid = rp.Rid; int[] intLst = Newtonsoft.Json.JsonConvert.DeserializeObject <int[]>(rp.Power); return(_organization.AddRolepower(rid, intLst)); }
/// <summary> /// 划分前后阵营,前阵营优先在已进入列表中寻找 /// </summary> public void CalcMainCamp(ref List <RolePower> lOld, ref List <RolePower> lNew) { lOld.Sort((x, y) => { return(RolePower.Compare(x, y)); }); lNew.Sort((x, y) => { return(RolePower.Compare(x, y)); }); LifeMCamp MainCamp = LifeMCamp.NONE; if (lOld != null && lOld.Count > 0) { MainCamp = lOld[0].m_Camp; } else if (lNew != null && lNew.Count > 0) { MainCamp = lNew[0].m_Camp; } // m_lFrontCamp.Clear(); m_lBackCamp.Clear(); if (lOld != null && lOld.Count > 0) { foreach (RolePower p in lOld) { if (p.m_Camp == MainCamp) { m_lFrontCamp.Add(p); } else { m_lBackCamp.Add(p); } } } if (lNew != null && lNew.Count > 0) { foreach (RolePower p in lNew) { if (p.m_Camp == MainCamp) { m_lFrontCamp.Add(p); } else { m_lBackCamp.Add(p); } } } lOld.Clear(); lNew.Clear(); }
public async Task RemoveRoleAsync(Int32 roleId) { Check.IfNullOrZero(roleId); await Task.Run(() => { using var mapper = EntityMapper.CreateMapper(); { mapper.OpenTransaction(); try { #region 前置条件验证 { var result = mapper.Query <UserRole>().Where(a => a.RoleId == roleId).Count(); if (result > 0) { throw new BusinessException("当前角色已绑定了账户,无法删除"); } } #endregion #region 除角色 { var role = new Role(); role.Remove(); var result = mapper.Update(role, r => r.Id == roleId); if (!result) { throw new BusinessException("删除角色失败"); } } #endregion #region 移除权限 { var rolePower = new RolePower(); rolePower.Remove(); var result = mapper.Update(rolePower, rp => rp.RoleId == roleId); if (!result) { throw new BusinessException("移除权限失败"); } } #endregion mapper.Commit(); } catch (Exception) { mapper.Rollback(); throw; } } }); }
public ActionResult QueryRolePrMenusConfig(string roleId) { RolePower request = new RolePower { RequestType = 0, RoleNo = roleId }; string response = WeChatHelper.PostService("RolePower", request); return(Json(response, JsonRequestBehavior.DenyGet)); }
public IActionResult UpdateRolePower(int roleId, string powerString) { var rolepower = _unitOfWork.GetRepository <RolePower>(); var res = new MgResult(); if (roleId <= 0 || string.IsNullOrEmpty(powerString)) { res.Code = 1; res.Msg = "参数有误!"; return(Json(res)); } IList <TreeModel> pList = JsonConvert.DeserializeObject <IList <TreeModel> >(powerString); if (!pList.Any()) { res.Code = 1; res.Msg = "没有任何需要变更的权限!"; return(Json(res)); } rolepower.Delete(rolepower.GetEntities(i => i.RoleId == roleId)); var listrp = new List <RolePower>(); foreach (var p in pList) { var rp = new RolePower(); var strtemp = p.id.Substring(0, 1); if (strtemp == "b") { rp.ButtonId = 0; rp.CreateTime = DateTime.Now; rp.CreateUser = CurUserInfo.UserName; rp.CreateUserId = CurUserInfo.UserId; rp.MentId = Convert.ToInt32(p.id.TrimStart('b')); rp.RoleId = roleId; } else { rp.ButtonId = Convert.ToInt32(p.id.TrimStart('c')); rp.CreateTime = DateTime.Now; rp.CreateUser = CurUserInfo.UserName; rp.CreateUserId = CurUserInfo.UserId; rp.MentId = Convert.ToInt32(p.pId.TrimStart('b')); rp.RoleId = roleId; } listrp.Add(rp); } rolepower.Insert(listrp); var r = _unitOfWork.SaveChanges(); res.Code = r > 0 ? 0 : 1; res.Msg = r > 0 ? "ok" : "SaveChanges失败!"; return(Json(res)); }
/// <summary> /// 通道排序 /// </summary> public void SortChannel() { ResetChannel(); m_lFrontCamp.Sort((x, y) => { return(RolePower.Compare(x, y)); }); m_lBackCamp.Sort((x, y) => { return(RolePower.Compare(x, y)); }); bool HaveFront = false; LifeMCamp TopFrontCamp = LifeMCamp.NONE; //置顶通道 if (m_TLPower.Count > 0) { int sceneID = m_TLPower[0].SceneID; HaveFront = true; TopFrontCamp = m_TLPower[0].m_Camp; RoleSeatDeep(sceneID, 0); } //前置阵营通道 if (m_lFrontCamp.Count > 0) { int start = 0; if (HaveFront == true && TopFrontCamp == m_lFrontCamp[0].m_Camp) { start = 1; } for (int i = 0; i < m_lFrontCamp.Count; i++) { int sceneID = m_lFrontCamp[i].SceneID; RoleSeatDeep(sceneID, i + start); } } //后置阵营 if (m_lBackCamp.Count > 0) { int start = 0; if (HaveFront == true && TopFrontCamp == m_lBackCamp[0].m_Camp) { start = 1; } for (int i = 0; i < m_lBackCamp.Count; i++) { HaveFront = true; int sceneID = m_lBackCamp[i].SceneID; RoleSeatDeep(sceneID, i + start); } } }
public ActionResult ModifyRolePower(IEnumerable <string> menus, IEnumerable <string> handles, string roleId) { RolePower request = new RolePower { RequestType = 2, RoleNo = roleId, Menus = menus == null ? null : menus.ToList(), Handles = handles == null ? null : handles.ToList(), CurrOper = Session["StaffNo"].CastTo(""), }; string response = WeChatHelper.PostService("RolePower", request); return(Json(response, JsonRequestBehavior.DenyGet)); }
public async Task AddPowerToCurrentRoleAsync(Int32 roleId, IEnumerable <Int32> powerIds) { Check.IfNullOrZero(roleId); Check.IfNullOrZero(powerIds); await Task.Run(() => { if (!powerIds.Any()) { throw new BusinessException("权限列表为空"); } using var mapper = EntityMapper.CreateMapper(); { mapper.OpenTransaction(); try { #region 移除之前的角色权限 { var rolePower = new RolePower(); rolePower.Remove(); var result = mapper.Update(rolePower, rp => rp.RoleId == roleId); if (!result) { throw new BusinessException("移除之前的角色权限失败"); } } #endregion #region 添加角色权限 { var sqlBuilder = new StringBuilder(); foreach (var item in powerIds) { var rolePower = new RolePower(roleId, item); mapper.Add(rolePower); } } #endregion mapper.Commit(); } catch (Exception) { mapper.Rollback(); throw; } } }); }
public ActionResult RoleSetPower(string ids, int roleId) { var data = db.RolePower.Where(w => w.roleId == roleId).Delete(); string[] strs = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (var item in strs) { var powerid = Convert.ToInt32(item); RolePower rp = new RolePower() { powerId = powerid, roleId = roleId }; db.RolePower.Add(rp); } db.SaveChanges(); return(Json(new { code = 1, isdelete = false })); }
public object Post(RolePower request) { RolePowerResponse rsp = new RolePowerResponse(); if (request.RequestType == (short)RolePowerRequestType.Menu) { _privilegeService.QueryRolePowerMenus(request, rsp); } else if (request.RequestType == (short)RolePowerRequestType.Handle) { _privilegeService.QueryRolePowerHandle(request, rsp); } else if (request.RequestType == (short)RolePowerRequestType.Modify) { _privilegeService.ModifyRolePower(request, rsp); } return(rsp); }
public ActionResult Update(int roleId, int NodeId, int ParentNodeId) { RolePower role = rolePowerManager.GetByWhere(item => item.RoleId == roleId && item.NodeId == ParentNodeId).SingleOrDefault(); if (role == null) { RolePower r = new RolePower(); r.RoleId = roleId; r.NodeId = ParentNodeId; r.CreateTime = DateTime.Now; r.IsDelete = 0; bool vall = rolePowerManager.Add(r); } RolePower rolePower = rolePowerManager.GetByWhere(item => item.RoleId == roleId && item.NodeId == NodeId).SingleOrDefault(); bool val = rolePowerManager.Delete(rolePower); return(Json(val, JsonRequestBehavior.AllowGet)); }
private void CalcTopChannel(ref List <RolePower> lOld, ref List <RolePower> lNew) { m_TLPower.Sort((x, y) => { return(RolePower.Compare(x, y)); }); if (m_TLPower == null || m_TLPower.Count < 2) { return; } for (int i = 1; i < m_TLPower.Count;) { if (m_TLPower[i].IsNewJoin) { lNew.Add(m_TLPower [i]); } else { lOld.Add(m_TLPower [i]); } m_TLPower.RemoveAt(i); } }
public ActionResult Edit(string[] CheckThis, string roleName1, int Mid) { string reg = "^[a-zA-Z0-9\u4e00-\u9fa5]+$"; if (!Regex.IsMatch(roleName1.Trim(), reg)) { return(Content("名称不允许有特殊字符!")); } if (roleName1.Trim() == "") { return(Content("名称不能为空!")); } if (roleName1.Trim().Length > 16) { return(Content("名称不能大于16位!")); } ReturnData <string> returnData = new ReturnData <string>(); ReturnData <string> rd = new ReturnData <string>(); UserRole roleModel = bll.FindUserRoleByID(Mid); roleModel.RoleName = roleName1; returnData = bll.AddOrUpdateUserRole(roleModel); IList <RolePower> list = rpBll.getList(Mid); RolePower rpModel = new RolePower(); if (CheckThis == null) { rpBll.Delete(Mid); return(Content("添加成功!")); } if (list.Count != 0) { returnData = rpBll.Delete(Mid); if (returnData.Status == true) { for (int i = 0; i < CheckThis.Length; i++) { rpModel.PowerID = CheckThis[i]; rpModel.UserRoleID = Mid; rd = rpBll.Add(rpModel); } } } else { for (int i = 0; i < CheckThis.Length; i++) { rpModel.PowerID = CheckThis[i]; rpModel.UserRoleID = Mid; rd = rpBll.Add(rpModel); } } if (rd.Status == true) { return(Content(rd.Message)); } return(Content(rd.Message)); }
public ActionResult SetPower() { StrObjectDict dict = GetParams(); string roleID = dict.GetString("RoleGroupID"); string powerID = dict.GetString("PowerID"); dict["RoleID"] = dict["RoleGroupID"]; #region 参数有效性检查 if (string.IsNullOrEmpty(roleID)) { return(this.MyJson(0, "参数错误:RoleGroupID")); } if (string.IsNullOrEmpty(powerID)) { return(this.MyJson(0, "参数错误:PowerID")); } #endregion IList <Object> menuIDs = new List <Object>(); try { menuIDs = ((Object[])dict.GetObject("PowerID")).ToList(); } catch { return(this.MyJson(0, "至少保留一个菜单项")); } IList <RolePower> list = new List <RolePower>(); RolePower rp = new RolePower(); foreach (var item in menuIDs) { var powers = item.toStrObjDict(); string powerId = null; string menuId = null; foreach (var items in powers) { if (items.Key == "btnId") { powerId = items.Value.ToString(); } if (items.Key == "menuId") { menuId = items.Value.ToString(); } } rp = new RolePower() { RoleID = roleID, PowerID = powerId, MenuID = menuId }; list.Add(rp); } //查询到已被分配权限,执行Delete + Insert //Delete var delete = RoleManager.Instance.DeletePowers(dict); //Insert var result = RoleManager.Instance.InsertPowers(list); if (result > 0) { return(this.MyJson(1, "保存成功.")); } else { return(this.MyJson(0, "保存失败.")); } }
public ActionResult Edit(string[] CheckThis, string roleName1,int Mid) { string reg = "^[a-zA-Z0-9\u4e00-\u9fa5]+$"; if (!Regex.IsMatch(roleName1.Trim(),reg)) { return Content("名称不允许有特殊字符!"); } if (roleName1.Trim()=="") { return Content("名称不能为空!"); } if (roleName1.Trim().Length>16) { return Content("名称不能大于16位!"); } ReturnData<string> returnData = new ReturnData<string>(); ReturnData<string> rd = new ReturnData<string>(); UserRole roleModel = bll.FindUserRoleByID(Mid); roleModel.RoleName = roleName1; returnData= bll.AddOrUpdateUserRole(roleModel); IList<RolePower> list = rpBll.getList(Mid); RolePower rpModel = new RolePower(); if (CheckThis==null) { rpBll.Delete(Mid); return Content("添加成功!"); } if (list.Count!=0) { returnData = rpBll.Delete(Mid); if (returnData.Status==true) { for (int i = 0; i < CheckThis.Length; i++) { rpModel.PowerID = CheckThis[i]; rpModel.UserRoleID = Mid; rd= rpBll.Add(rpModel); } } } else { for (int i = 0; i < CheckThis.Length; i++) { rpModel.PowerID = CheckThis[i]; rpModel.UserRoleID = Mid; rd = rpBll.Add(rpModel); } } if (rd.Status==true) { return Content(rd.Message); } return Content(rd.Message); }