using System; using System.Collections.Generic; using System.Threading.Tasks; using BaseInfoClient.Response.Project; using Etor.Infrastructure.Common; using Etor.Infrastructure.Data; using Etor.Infrastructure.Serializer; using Etor.Infrastructure.WebApi; using Newtonsoft.Json; using ServiceClient; namespace BaseInfoClient.Response.Project { public class QueryOneProjectByCodeResponse { [JsonProperty("projectData")] public ProjectItem ProjectItem { get; set; } } } namespace BaseInfoClient.Extension { public static class QueryProjectByCodeResponseExtension { public static async Task QueryOneProjectByCodeAsync(this BaseInfoHttpClient client , int ownerId, int projectCode, bool throwException = false) { try { var response = await client.CreateHttpClient().GetAsync( $"{client.BaseUrl}/api/baseinfo/v1/BaseData/GetOneBaseProject?OwnerID={ownerId}&Data.projectCode={projectCode}"); var content = await response.Content.ReadAsStringAsync(); return content.FromJsonTo>().Data.ProjectItem; } catch (Exception e) { LogHelper.Error("根据ProjectCode获取小区", e); if (throwException) { BusinessException.Throw("获取小区信息失败"); } else { return new ProjectItem(); } } return new ProjectItem(); } } }