using System; using System.Collections.Generic; using System.Text; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using System.Text.Json; using JT808.Protocol.Extensions; using Microsoft.Extensions.Options; using JT808.Gateway.Abstractions.Configurations; using JT808.Gateway.WebApiClientTool; using JT808.Gateway.SimpleClient.Customs; namespace JT808.Gateway.SimpleClient.Jobs { public class CallHttpClientJobExt : IHostedService { private readonly ILogger Logger; private JT808HttpClientExt jT808HttpClientExt; public CallHttpClientJobExt( ILoggerFactory loggerFactory, JT808HttpClientExt jT808HttpClient) { Logger = loggerFactory.CreateLogger(); this.jT808HttpClientExt = jT808HttpClient; } public Task StartAsync(CancellationToken cancellationToken) { Task.Run(async() => { while (!cancellationToken.IsCancellationRequested) { var result1 = await jT808HttpClientExt.GetIndex1(); var result2 = await jT808HttpClientExt.GetTcpSessionAll(); var result3 = await jT808HttpClientExt.UnificationSend(new Abstractions.Dtos.JT808UnificationSendRequestDto { TerminalPhoneNo= "123456789012", HexData= "7E02000026123456789012007D02000000010000000200BA7F0E07E4F11C0028003C00001810151010100104000000640202007D01137E" }); var result4 = await jT808HttpClientExt.QueryTcpSessionByTerminalPhoneNo(new Abstractions.Dtos.JT808TerminalPhoneNoDto { TerminalPhoneNo= "33333333333" }); Logger.LogInformation($"[GetIndex1]:{JsonSerializer.Serialize(result1)}"); Logger.LogInformation($"[GetTcpAtomicCounter]:{JsonSerializer.Serialize(result2)}"); Logger.LogInformation($"[UnificationSend]:{JsonSerializer.Serialize(result3)}"); Logger.LogInformation($"[QueryTcpSessionByTerminalPhoneNo]:{JsonSerializer.Serialize(result4)}"); Thread.Sleep(3000); } }, cancellationToken); return Task.CompletedTask; } public Task StopAsync(CancellationToken cancellationToken) { return Task.CompletedTask; } } }