/// <summary> /// 新增权限 /// </summary> /// <param name="userGroupRelation"></param> /// <param name="userRoleRelation"></param> /// <param name="rolePermisionRelations"></param> /// <param name="groupPermisionRelations"></param> /// <returns></returns> public bool AddAuthor(UserGroupRelationDAO userGroupRelation, UserRoleRelationDAO userRoleRelation, List <RolePermisionRelationDAO> rolePermisionRelations, List <GroupPermissionRelationDAO> groupPermisionRelations) { var dbContext = _orm.GetSqlClient <SqlSugarClient>(); try { dbContext.BeginTran(); dbContext.Insertable <UserGroupRelationDAO>(userGroupRelation).ExecuteCommand(); dbContext.Insertable <UserRoleRelationDAO>(userRoleRelation).ExecuteCommand(); dbContext.GetSimpleClient <RolePermisionRelationDAO>().InsertRange(rolePermisionRelations); dbContext.GetSimpleClient <GroupPermissionRelationDAO>().InsertRange(groupPermisionRelations); dbContext.CommitTran(); return(true); } catch (Exception ex) { dbContext.RollbackTran(); throw ex; } }
/// <summary> /// 用户,组织创建权限 /// </summary> /// <param name="userId"></param> /// <param name="orgId"></param> /// <returns></returns> public OperationResult CreateAdminAuthor(string userId, string orgId) { OperationResult result = new OperationResult(); //用户对于的角色 UserRoleRelationDAO userRoleRelation = new UserRoleRelationDAO() { MItemID = GuidUtility.GetGuid(), MUserID = userId, MOrgID = orgId, //管理员 MRoleID = "10000" }; //获取用户组模型 UserGroupRelationDAO userGroupRelation = new UserGroupRelationDAO() { MItemID = GuidUtility.GetGuid(), MUserID = userId, MOrgID = orgId, MGroupID = "10000" }; GroupRoleRealtionDAO groupRoleRealtion = new GroupRoleRealtionDAO() { MGroupID = "10000", MRoleID = "10000", MItemID = GuidUtility.GetGuid(), }; //获取角色,权限关系模型 List <RolePermisionRelationDAO> rolePermisionRelations = GetRolePermisionRelations(orgId, "10000", "11111"); //获取角色,权限关系模型 List <GroupPermissionRelationDAO> groupPermisionRelations = GetGroupPermisionRelations(orgId, "10000", "11111"); try { result.Success = _authorRepository.AddAuthor(userGroupRelation, userRoleRelation, rolePermisionRelations, groupPermisionRelations); //如果成功,返回一个权限创建成功队列 if (result.Success) { AuthorCreatedEvent @event = new AuthorCreatedEvent() { OrgId = orgId, UserId = userId }; _eventBus.PublishAsync <AuthorCreatedEvent>(@event); } else { OrganizationRollbackEvent @event = new OrganizationRollbackEvent() { OrgId = orgId }; _eventBus.PublishAsync <OrganizationRollbackEvent>(@event); } } catch (Exception ex) { //如果创建失败,发送一个组织回滚事件 OrganizationRollbackEvent @event = new OrganizationRollbackEvent() { OrgId = orgId }; _eventBus.PublishAsync <OrganizationRollbackEvent>(@event); } return(result); }