/// <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));
        }
Example #2
0
    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)));
    }
Example #3
0
    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; //战力
        }
    }
Example #4
0
        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 = "系统异常,请稍候重试!" }));
        }
Example #5
0
 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);
         }
     }
 }
Example #6
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));
        }
Example #8
0
    /// <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();
    }
Example #9
0
        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;
                    }
                }
            });
        }
Example #10
0
        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));
        }
Example #12
0
    /// <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);
            }
        }
    }
Example #13
0
        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));
        }
Example #14
0
        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;
                    }
                }
            });
        }
Example #15
0
        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 }));
        }
Example #16
0
        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));
        }
Example #18
0
    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);
        }
    }
Example #19
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));
        }
Example #20
0
        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, "保存失败."));
            }
        }
Example #21
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);
        }