/// <summary> /// 获取普通用户的好友列表 /// </summary> /// <param name="username">用户名</param> /// <returns>返回普通用户的好友列表</returns> List<UserInfoResult> GetFriendListForClient(string username) { List<UserInfoResult> result = new List<UserInfoResult>(); var t = GetUser(username); #region 客服 Tokens.Where(x => x.Token.IsOfficial && x.Token.OnlineStatus != UserOnlineStatus.离线).ToList() .ForEach(x => { UserInfoResult uir = new UserInfoResult { Username = x.Token.Username, OnlineStatus = UserOnlineStatus.在线, Type = UserInfoType.客服 }; result.Add(uir); }); #endregion #region 上级 Tokens.Where(x => x.Token.UID.ToString() == t.Token.PID).ToList() .ForEach(x => { UserInfoResult uir = new UserInfoResult { Username = x.Token.Username, OnlineStatus = x.Token.OnlineStatus, Type = UserInfoType.上级 }; result.Add(uir); }); #endregion #region 下级 Tokens.Where(x => x.Token.PID == t.Token.UID.ToString()).ToList() .ForEach(x => { UserInfoResult uir = new UserInfoResult { Username = x.Token.Username, OnlineStatus = x.Token.OnlineStatus, Type = UserInfoType.下级 }; result.Add(uir); }); #endregion return result; }
/// <summary> /// 获取完整的用户列表 /// </summary> /// <param name="username">用户名</param> /// <returns>返回完整的用户列表</returns> List<UserInfoResult> GetFriendListFoCustomerService(string username) { var t = GetUser(username); if (!t.Token.IsOfficial) { throw new Exception("你不是客服人员"); } List<UserInfoResult> result = new List<UserInfoResult>(); Tokens.Where(x => x.Token.Username != username).ToList().ForEach(x => { UserInfoResult uir = new UserInfoResult { Username = x.Token.Username, OnlineStatus = x.Token.OnlineStatus, Type = x.Token.IsOfficial ? UserInfoType.客服 : UserInfoType.用户 }; result.Add(uir); }); return result; }