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;
}
}
}