using System; using System.Collections.Generic; using System.Threading.Tasks; using Etor.Infrastructure.Common; using Etor.Infrastructure.Data; using Etor.Infrastructure.Serializer; using Etor.Infrastructure.WebApi; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using ServiceClient; using ServiceClient.Response.Room; namespace ServiceClient.Response.Room { public class QueryHouseholderRoomsByUserIdResponse { [JsonProperty("userToRoomData")] public List UserRoomItems { get; set; } = new List(); } } namespace BaseInfoClient.Extension { public static class QueryHouseholderRoomsByUserIdExtension { public static async Task> QueryHouseholderRoomsByUserId(this BaseInfoHttpClient client , int ownerId, int userId, bool throwException = false) { try { var response = await client.CreateHttpClient().GetAsync( $"{client.BaseUrl}/api/baseinfo/v1/BaseData/GetOneBasePerson?Data.userToroomUserId={userId}&OwnerID={ownerId}"); var content = await response.Content.ReadAsStringAsync(); return content.FromJsonTo>().Data.UserRoomItems; } catch (Exception e) { LogHelper.Error("根据UserId获取用户房间信息", e); if (throwException) { BusinessException.Throw("获取用户房间信息失败"); } else { return new List(); } } return new List(); } } }