Beispiel #1
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length == 0)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            GroupQuery query = cmdData.ProtoBufDeserialize <GroupQuery>();

            if (Compiled.Debug)
            {
                query.Debug("=== Social.MyGroup 上行数据===");
            }

            PageResult <int> pageResult = SocialBiz.GetGroupsByUser(context.UserId, query.QueryIndex, query.QuerySize);
            GroupList        result     = new GroupList
            {
                RecordCount = pageResult.RecordCount,
                QueryIndex  = pageResult.PageIndex,
                QuerySize   = pageResult.PageSize,
                IndexCount  = pageResult.PageCount,
                DataList    = pageResult.Data.Select(id => SocialBiz.ReadGroupCacheInfo(id).ToGroupBase()).ToList()
            };

            context.Flush <GroupList>(result);
        }
Beispiel #2
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length != 4)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            int targetUserId = BitConverter.ToInt32(cmdData.Reverse(), 0);

            if (Compiled.Debug)
            {
                targetUserId.Debug("=== Social.FollowOff 上行数据===");
                cmdData.Debug("=== Social.FollowOff 上行数据===");
            }

            if (targetUserId == context.UserId)
            {
                context.Flush(RespondCode.DataInvalid);
                return;
            }

            SocialBiz.RemoveFollowedByTargetUser(context.UserId, targetUserId);
            context.Flush();
        }
Beispiel #3
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length != 4)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            int groupId = BitConverter.ToInt32(cmdData.Reverse(), 0);

            if (Compiled.Debug)
            {
                groupId.Debug("=== Social.GroupJoin 上行数据===");
            }

            int resultCode = SocialBiz.UserJoinToGroup(context.UserId, groupId);

            if (-2 == resultCode)
            {
                context.Flush(RespondCode.ShowError, "圈子不存在!");
            }
            else if (-1 == resultCode || 0 == resultCode)
            {
                context.Flush(RespondCode.ShowError, "圈子成员已满!");
            }
            else
            {
                context.Flush();
            }
        }
Beispiel #4
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length == 0)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            ContactsQuery query = cmdData.ProtoBufDeserialize <ContactsQuery>();

            if (Compiled.Debug)
            {
                query.Debug("=== Social.QueryFans 上行数据===");
            }

            int userId = query.TargetId == 0 ? context.UserId : query.TargetId;
            PageResult <UserFollowed> pageResult = SocialBiz.GetFollowedUserPageData(userId, query.QueryIndex, query.QuerySize);
            ContactsList result = new ContactsList
            {
                RecordCount = pageResult.RecordCount,
                QueryIndex  = pageResult.PageIndex,
                QuerySize   = pageResult.PageSize,
                IndexCount  = pageResult.PageCount,
                DataList    = pageResult.Data.Select(f => UserBiz.ReadUserCacheInfo(f.UserId).ToUserBase()).ToList()
            };

            context.Flush <ContactsList>(result);
        }
Beispiel #5
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length == 0)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            ContactsQuery query = cmdData.ProtoBufDeserialize <ContactsQuery>();

            if (Compiled.Debug)
            {
                query.Debug("=== Social.GroupMembers 上行数据===");
            }

            PageResult <UserCacheInfo> pageResult = SocialBiz.GetGroupMembers(query.TargetId, query.QueryIndex, query.QuerySize);
            ContactsList result = new ContactsList
            {
                RecordCount = pageResult.RecordCount,
                QueryIndex  = pageResult.PageIndex,
                QuerySize   = pageResult.PageSize,
                IndexCount  = pageResult.PageCount,
                DataList    = pageResult.Data.Select(u => u.ToUserBase()).ToList()
            };

            context.Flush <ContactsList>(result);
        }
Beispiel #6
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length == 0)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            GroupQuery query = cmdData.ProtoBufDeserialize <GroupQuery>();

            if (Compiled.Debug)
            {
                query.Debug("=== Social.GroupFind 上行数据===");
            }

            string keyword  = query.Keyword ?? string.Empty;
            string interest = null == query.Interest ? string.Empty : query.Interest.ToString();

            UserCacheInfo    userCache  = UserBiz.ReadUserCacheInfo(context.UserId);
            PageResult <int> pageResult = SocialBiz.GroupFind(keyword, interest, query.OnlyLessMax, context.UserId, userCache.UserSite, query.QueryIndex, query.QuerySize);
            GroupList        result     = new GroupList
            {
                RecordCount = pageResult.RecordCount,
                QueryIndex  = pageResult.PageIndex,
                QuerySize   = pageResult.PageSize,
                IndexCount  = pageResult.PageCount,
                DataList    = pageResult.Data.Select(id => SocialBiz.ReadGroupCacheInfo(id).ToGroupBase()).ToList()
            };

            context.Flush <GroupList>(result);
        }
Beispiel #7
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length != 4)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            int targetUserId = BitConverter.ToInt32(cmdData.Reverse(), 0);

            if (Compiled.Debug)
            {
                targetUserId.Debug("=== Social.Followed 上行数据===");
                cmdData.Debug("=== Social.Followed 上行数据===");
            }

            if (targetUserId == context.UserId)
            {
                context.Flush(RespondCode.DataInvalid);
                return;
            }

            bool beFollowed = SocialBiz.AlreadyBeFollowed(context.UserId, targetUserId);

            context.Flush <BoolSingle>(new BoolSingle {
                Data = beFollowed
            });
        }
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length != 4)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            int groupId = BitConverter.ToInt32(cmdData.Reverse(), 0);

            if (Compiled.Debug)
            {
                groupId.Debug("=== Social.GroupRemove 上行数据===");
            }

            GroupInfo groupInfo = SocialBiz.ReadGroupCacheInfo(groupId);

            if (null != groupInfo && groupInfo.CreatorId != context.UserId)
            {
                context.Flush(RespondCode.ShowError, "你不是圈子的创建者!");
                return;
            }

            SocialBiz.QuitFromGroup(context.UserId, groupId);
            context.Flush();
        }
Beispiel #9
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length == 0)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            GroupForm form = cmdData.ProtoBufDeserialize <GroupForm>();

            if (Compiled.Debug)
            {
                form.Debug("=== Social.GroupMembers 上行数据===");
            }

            string groupName = form.GroupName ?? "未命名圈子";
            string interest  = string.Empty;

            if (form.Interest != null)
            {
                interest = form.Interest.ToString();
            }
            byte[] iconData = null;
            string iconExt  = ".jpg";

            if (null != form.GroupIcon)
            {
                iconData = form.GroupIcon.Data;
                iconExt  = form.GroupIcon.Name ?? ".jpg";
            }

            GroupInfo groupInfo = SocialBiz.CreateGroup(context.UserId, groupName, interest, iconData, iconExt);

            if (null != groupInfo)
            {
                context.Flush <GroupBase>(groupInfo.ToGroupBase());
            }
            else
            {
                context.Flush(RespondCode.ExecError);
            }
        }
Beispiel #10
0
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length != 4)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            int groupId = BitConverter.ToInt32(cmdData.Reverse(), 0);

            if (Compiled.Debug)
            {
                groupId.Debug("=== Social.GroupQuit 上行数据===");
            }

            SocialBiz.QuitFromGroup(context.UserId, groupId);
            context.Flush();
        }
        /// <summary>
        /// 命令执行
        /// </summary>
        /// <param name="context"></param>
        public override void Execute(DataContext context)
        {
            byte[] cmdData = context.CmdData;
            if (cmdData.Length == 4)
            {
                context.Flush(RespondCode.CmdDataLack);
                return;
            }

            StringSingle stringSingle = cmdData.ProtoBufDeserialize <StringSingle>();

            if (Compiled.Debug)
            {
                stringSingle.Debug("=== Social.GroupQuickJoin 上行数据===");
            }

            string quickJoinCode = stringSingle.Data ?? string.Empty;

            if (string.IsNullOrEmpty(quickJoinCode))
            {
                context.Flush(RespondCode.DataInvalid);
                return;
            }

            int resultCode = SocialBiz.UserJoinToGroup(context.UserId, 0, quickJoinCode);

            if (-2 == resultCode)
            {
                context.Flush(RespondCode.ShowError, "圈子不存在!");
            }
            else if (-1 == resultCode || 0 == resultCode)
            {
                context.Flush(RespondCode.ShowError, "圈子成员已满!");
            }
            else
            {
                context.Flush();
            }
        }