using JT808.Gateway.Abstractions; using JT808.Gateway.Abstractions.Dtos; using System; using System.Buffers.Text; using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Json; using System.Text; using System.Text.Json; using System.Threading.Tasks; namespace JT808.Gateway.WebApiClientTool { /// /// /// public class JT808HttpClient { /// /// /// public HttpClient HttpClient { get; } /// /// /// /// public JT808HttpClient(HttpClient httpClient) { HttpClient = httpClient; } /// /// 统一下发信息 /// /// /// public async ValueTask> UnificationSend(JT808UnificationSendRequestDto parameter) { var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.UnificationSend, parameter); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>(); return value; } /// /// 会话服务集合 /// /// public async ValueTask>> GetTcpSessionAll() { var request = new HttpRequestMessage(HttpMethod.Get, JT808GatewayConstants.JT808WebApiRouteTable.SessionTcpGetAll); var response = await HttpClient.SendAsync(request); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>>(); return value; } /// /// 会话服务集合 /// /// public async ValueTask>>> SessionTcpByPage(int pageIndex=0,int pageSize=10) { var request = new HttpRequestMessage(HttpMethod.Get, $"{JT808GatewayConstants.JT808WebApiRouteTable.SessionTcpByPage}?pageIndex={pageIndex}&pageSize={pageSize}"); var response = await HttpClient.SendAsync(request); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>>>(); return value; } /// /// 会话服务-通过设备终端号查询对应会话信息 /// /// /// public async ValueTask> QueryTcpSessionByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter) { var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.QueryTcpSessionByTerminalPhoneNo, parameter); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>(); return value; } /// /// 会话服务-通过设备终端号移除对应会话 /// /// /// public async ValueTask> RemoveTcpByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter) { var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.SessionRemoveByTerminalPhoneNo, parameter); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>(); return value; } /// /// 会话服务集合 /// /// public async ValueTask>> GetUdpSessionAll() { var response = await HttpClient.GetAsync(JT808GatewayConstants.JT808WebApiRouteTable.SessionUdpGetAll); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>>(); return value; } /// /// 会话服务集合 /// /// public async ValueTask>>> SessionUdpByPage(int pageIndex = 0, int pageSize = 10) { var request = new HttpRequestMessage(HttpMethod.Get, $"{JT808GatewayConstants.JT808WebApiRouteTable.SessionUdpByPage}?pageIndex={pageIndex}&pageSize={pageSize}"); var response = await HttpClient.SendAsync(request); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>>>(); return value; } /// /// 会话服务-通过设备终端号查询对应会话信息 /// /// /// public async ValueTask> QueryUdpSessionByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter) { var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.QueryUdpSessionByTerminalPhoneNo, parameter); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>(); return value; } /// /// 会话服务-通过设备终端号移除对应会话 /// /// /// public async ValueTask> RemoveUdpByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter) { var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.RemoveUdpByTerminalPhoneNo,parameter); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>(); return value; } /// /// SIM卡黑名单服务-将对应SIM号加入黑名单 /// /// /// public async ValueTask> BlacklistAdd(JT808TerminalPhoneNoDto parameter) { var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.BlacklistAdd, parameter); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>(); return value; } /// /// SIM卡黑名单服务-将对应SIM号移除黑名单 /// /// /// public async ValueTask> BlacklistRemove(JT808TerminalPhoneNoDto parameter) { var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.BlacklistRemove, parameter); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>(); return value; } /// /// SIM卡黑名单服务-获取所有sim的黑名单列表 /// /// public async ValueTask>> GetBlacklistAll() { var response = await HttpClient.GetAsync(JT808GatewayConstants.JT808WebApiRouteTable.BlacklistGet); response.EnsureSuccessStatusCode(); var value = await response.Content.ReadFromJsonAsync>>(); return value; } } }