Ejemplo n.º 1
0
        public IActionResult AddRole([FromBody] FromAddRole model)
        {
            string code = "000000";
            var    role = AutoMapperExt.MapTo <Sys_AdminRole>(model);

            if (!_sysAdminRoleService.IsAny(p => p.RoleName == role.RoleName))
            {
                role.CrtDate = DateTime.Now;
                role.UserId  = GetJwtIEntity().UserId;
                role.Id      = _sysAdminRoleService.Insert(role, true);

                if (role.Id > 0 && model.MenuList.Count > 0)
                {
                    //异步执行角色权限配置
                    Task.Run(() =>
                    {
                        var perList = new List <Sys_AdminPermission>();
                        foreach (var item in model.MenuList)
                        {
                            var perModel         = new Sys_AdminPermission();
                            perModel.BtnJson     = item.BtnJson;
                            perModel.CrtDate     = role.CrtDate;
                            perModel.MenuId      = item.MenuId;
                            perModel.RoleId      = role.Id;
                            perModel.UserId      = role.UserId;
                            perModel.Type        = item.Type;
                            perModel.CheckStatus = item.CheckStatus;
                            perList.Add(perModel);
                        }
                        _sysAdminPermissionService.InsertList(perList);
                    });
                }
                else if (role.Id == 0)
                {
                    code = "000001";
                }
            }
            else
            {
                code = "100006";
            }

            return(ReturnJson(code));
        }
Ejemplo n.º 2
0
 public bool Update(Sys_AdminPermission model)
 {
     return(_repository.Update(model) > 0);
 }
Ejemplo n.º 3
0
 public int Insert(Sys_AdminPermission model, bool isReturnId)
 {
     return(_repository.Insert(model, isReturnId));
 }
Ejemplo n.º 4
0
        public IActionResult UpdateRole([FromBody] FromUpdateRole model)
        {
            string code = "000000";

            if (_sysAdminRoleService.IsAny(p => p.Id == model.RoleId))
            {
                try
                {
                    var userId = GetJwtIEntity().UserId;
                    var now    = DateTime.Now;
                    //异步更新角色相关
                    Task.Run(() =>
                    {
                        var role         = new Sys_AdminRole();
                        role.Id          = model.RoleId;
                        role.RoleName    = model.RoleName;
                        role.Remark      = model.Remark;
                        role.IsForbidden = model.IsForbidden;
                        role.ModifyDate  = DateTime.Now;
                        _sysAdminRoleService.UpdateColumns(p => new { p.RoleName, p.Remark, p.IsForbidden, p.ModifyDate }, role, true);
                    });
                    //异步更新角色权限
                    if (model.MenuList.Where(p => p.Status == (int)RoleMenuStatus.update).Count() > 0)
                    {
                        Task.Run(() =>
                        {
                            var perList  = new List <Sys_AdminPermission>();
                            var menuList = model.MenuList.Where(p => p.Status == (int)RoleMenuStatus.update);

                            foreach (var item in menuList)
                            {
                                var perModel         = new Sys_AdminPermission();
                                perModel.Id          = item.PerId;
                                perModel.MenuId      = item.MenuId;
                                perModel.BtnJson     = item.BtnJson;
                                perModel.CrtDate     = now;
                                perModel.RoleId      = model.RoleId;
                                perModel.UserId      = userId;
                                perModel.CheckStatus = item.CheckStatus;
                                perList.Add(perModel);
                            }
                            _sysAdminPermissionService.UpdateList(perList, p => new { p.CheckStatus, p.UserId, p.CrtDate });
                        });
                    }
                    //异步添加角色权限
                    if (model.MenuList.Where(p => p.Status == (int)RoleMenuStatus.add).Count() > 0)
                    {
                        Task.Run(() =>
                        {
                            var perList  = new List <Sys_AdminPermission>();
                            var menuList = model.MenuList.Where(p => p.Status == (int)RoleMenuStatus.add);

                            foreach (var item in menuList)
                            {
                                var perModel = new Sys_AdminPermission();
                                //perModel.Id = item.PerId;
                                perModel.MenuId      = item.MenuId;
                                perModel.BtnJson     = item.BtnJson;
                                perModel.CrtDate     = now;
                                perModel.RoleId      = model.RoleId;
                                perModel.UserId      = userId;
                                perModel.Type        = item.Type;
                                perModel.CheckStatus = item.CheckStatus;
                                perList.Add(perModel);
                            }
                            _sysAdminPermissionService.InsertList(perList);
                        });
                    }
                    //异步删除角色权限
                    if (model.MenuList.Where(p => p.Status == (int)RoleMenuStatus.delete).Count() > 0)
                    {
                        Task.Run(() =>
                        {
                            var perList = model.MenuList.Where(p => p.Status == (int)RoleMenuStatus.delete).Select(p => p.PerId).ToArray();
                            _sysAdminPermissionService.DeleteByIdArray(perList);
                        });
                    }
                }
                catch (Exception ex)
                {
                    _log.LogError(ex.ToString());
                    code = "000100";
                }
            }
            else
            {
                code = "100007";
            }
            return(ReturnJson(code));
        }