/// <summary> /// 增加群组成员 /// </summary> /// <param name="groupMember"></param> public void CreateGroupMember(GroupMember groupMember) { //设计要点: //1、同一个群组不允许用户重复加入 //2、群主不允许成为群组成员 if (IsMember(groupMember.GroupId, groupMember.UserId)) { return; } if (IsOwner(groupMember.GroupId, groupMember.UserId)) { return; } long id = 0; long.TryParse(groupMemberRepository.Insert(groupMember).ToString(), out id); if (id > 0) { EventBus <GroupMember> .Instance().OnAfter(groupMember, new CommonEventArgs(EventOperationType.Instance().Create())); //用户的参与群组数+1 OwnerDataService ownerDataService = new OwnerDataService(TenantTypeIds.Instance().User()); ownerDataService.Change(groupMember.UserId, OwnerDataKeys.Instance().JoinedGroupCount(), 1); } }