Discuz.Forum/Friendship.cs

(开头部分) 13KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Discuz.Common;
using Discuz.Entity;
using Discuz.Common.Generic;
using System.Collections;
using System.Text;

namespace Discuz.Forum
{
    public class Friendship
    {
        /// <summary>
        /// 创建好友请求信息
        /// </summary>
        /// <param name="friendshipRequestInfo">好友请求信息</param>
        /// <param name="userGroupInfo">当前用户用户组信息</param>
        /// <returns></returns>
        public static CreateNewFriendshipRequestEnum CreateNewFriendshipRequest(FriendshipRequestInfo friendshipRequestInfo, UserGroupInfo userGroupInfo)
        {
            if (friendshipRequestInfo.FromUid <= 0 || friendshipRequestInfo.ToUid <= 0 || friendshipRequestInfo.FromUid == friendshipRequestInfo.ToUid)
                return CreateNewFriendshipRequestEnum.MessageError;
            //如果用户之间已经是好友或者用户之间已经有一方请求的
            IsFriendshipExistEnum existResult = IsFriendshipExist(friendshipRequestInfo.FromUid, friendshipRequestInfo.ToUid);

            if (existResult == IsFriendshipExistEnum.Exist)
                return CreateNewFriendshipRequestEnum.FriendshipAlreadyExists;

            if (existResult == IsFriendshipExistEnum.RequestExist)
                return CreateNewFriendshipRequestEnum.RequestAlreadyExists;

            if (GetUserFriendsCount(friendshipRequestInfo.FromUid) >= userGroupInfo.MaxFriendsCount)
                return CreateNewFriendshipRequestEnum.UserFriendshipOverflow;

            if (Data.Friendship.CreateNewFriendshipRequest(friendshipRequestInfo) == (int)CreateNewFriendshipRequestEnum.Success)
            {
                int olId = OnlineUsers.GetOlidByUid(friendshipRequestInfo.ToUid);

                if (olId > 0)//如果被请求用户在线,则更新其在线状态
                    OnlineUsers.UpdateNewFriendsRequest(olId, 1);

                return CreateNewFriendshipRequestEnum.Success;
            }

            return CreateNewFriendshipRequestEnum.MessageError;
        }

        /// <summary>
        /// 通过好友的请求信息
        /// </summary>
        /// <param name="fromUid">请求人ID</param>
        /// <param name="toUid">被请求人ID</param>
        /// <param name="toUserGroupInfo">被请求人用户组信息</param>
        /// <param name="groupId">被请求人将请求人划分的好友组,0表示不分组</param>
        /// <returns></returns>
        public static PassFriendshipEnum PassFriendship(int fromUid, int toUid, UserGroupInfo toUserGroupInfo, int groupId)
        {
            if (fromUid <= 0 || toUid <= 0 || fromUid == toUid)
                return PassFriendshipEnum.MessageError;

            FriendshipRequestInfo requestInfo = GetUserFriendRequestInfo(fromUid, toUid);

后面还有 296 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。