Browse Source

1.修改webapi接口路由

2.调整测试demo
pull/25/head
SmallChi(Koike) 3 years ago
parent
commit
1f5b223e33
24 changed files with 134 additions and 97 deletions
  1. +1
    -0
      .gitignore
  2. +4
    -4
      simples/JT808.Gateway.NBIotSimpleClient/Jobs/Up2013Service.cs
  3. +5
    -5
      simples/JT808.Gateway.NBIotSimpleClient/Services/ProccessPackageService.cs
  4. +5
    -5
      simples/JT808.Gateway.SimpleClient/Services/Up2011Service.cs
  5. +5
    -5
      simples/JT808.Gateway.SimpleClient/Services/Up2013Service.cs
  6. +5
    -5
      simples/JT808.Gateway.SimpleClient/Services/Up2019Service.cs
  7. +1
    -2
      simples/JT808.Gateway.SimpleQueueServer/Program.cs
  8. +1
    -2
      simples/JT808.Gateway.SimpleServer/Program.cs
  9. +1
    -1
      src/JT808.Gateway.Kafka/JT808MsgConsumer.cs
  10. +1
    -1
      src/JT808.Gateway.Kafka/JT808MsgReplyConsumer.cs
  11. +1
    -1
      src/JT808.Gateway.Kafka/JT808MsgReplyLoggingConsumer.cs
  12. +1
    -1
      src/JT808.Gateway.Kafka/JT808SessionConsumer.cs
  13. +2
    -2
      src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/Customs/JT808HttpClientExt.cs
  14. +2
    -2
      src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/Jobs/CallHttpClientJob.cs
  15. +4
    -0
      src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/Program.cs
  16. +2
    -1
      src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/appsettings.json
  17. +1
    -1
      src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/JT808.Gateway.QueueHosting.csproj
  18. +39
    -1
      src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Program.cs
  19. +8
    -0
      src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/appsettings.json
  20. +0
    -1
      src/JT808.Gateway.Tests/JT808.Gateway.Test/JT808.Gateway.Test.csproj
  21. +20
    -45
      src/JT808.Gateway.WebApiClientTool/JT808HttpClient.cs
  22. +10
    -2
      src/JT808.Gateway.WebApiClientTool/JT808HttpClientExtensions.cs
  23. +5
    -1
      src/JT808.Gateway/JT808UdpServer.cs
  24. +10
    -9
      src/JT808.Gateway/JT808WebApi.cs

+ 1
- 0
.gitignore View File

@@ -332,3 +332,4 @@ ASALocalRun/
/src/JT808.DotNetty.Admin/tools/protoc-gen-grpc-web-1.0.3-windows-x86_64.exe /src/JT808.DotNetty.Admin/tools/protoc-gen-grpc-web-1.0.3-windows-x86_64.exe
/src/JT808.Gateway.Benchmark/JT808.Gateway.CleintBenchmark/.config/dotnet-tools.json /src/JT808.Gateway.Benchmark/JT808.Gateway.CleintBenchmark/.config/dotnet-tools.json
/src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/wwwroot/logs/JT808.Gateway /src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/wwwroot/logs/JT808.Gateway
/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/wwwroot/logs/JT808.Gateway

+ 4
- 4
simples/JT808.Gateway.NBIotSimpleClient/Jobs/Up2013Service.cs View File

@@ -35,7 +35,7 @@ namespace JT808.Gateway.NBIotSimpleClient.Jobs
var address = Dns.GetHostAddresses("jtt808.ctwing.cn"); var address = Dns.GetHostAddresses("jtt808.ctwing.cn");
JT808TcpClient client1 = await jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, address[0].ToString(), 6001, version:JT808Version.JTT2019), cancellationToken); JT808TcpClient client1 = await jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, address[0].ToString(), 6001, version:JT808Version.JTT2019), cancellationToken);
await Task.Delay(1000); await Task.Delay(1000);
var p1 = JT808MsgId.终端注册.Create(sim, new JT808_0x0100()
var p1 = JT808MsgId._0x0100.Create(sim, new JT808_0x0100()
{ {
PlateNo = "粤A12346", PlateNo = "粤A12346",
PlateColor = 0, PlateColor = 0,
@@ -62,7 +62,7 @@ namespace JT808.Gateway.NBIotSimpleClient.Jobs
if (!string.IsNullOrEmpty(deviceInfo.Code)) if (!string.IsNullOrEmpty(deviceInfo.Code))
{ {
//2.终端鉴权 //2.终端鉴权
await client1.SendAsync(JT808MsgId.终端鉴权.Create(sim, new JT808_0x0102()
await client1.SendAsync(JT808MsgId._0x0102.Create(sim, new JT808_0x0102()
{ {
Code= deviceInfo.Code, Code= deviceInfo.Code,
})); }));
@@ -80,7 +80,7 @@ namespace JT808.Gateway.NBIotSimpleClient.Jobs
{ {
if (deviceInfo.Successed) if (deviceInfo.Successed)
{ {
await client1.SendAsync(JT808MsgId.位置信息汇报.Create(sim, new JT808_0x0200()
await client1.SendAsync(JT808MsgId._0x0200.Create(sim, new JT808_0x0200()
{ {
Lat = 110000 + i, Lat = 110000 + i,
Lng = 100000 + i, Lng = 100000 + i,
@@ -94,7 +94,7 @@ namespace JT808.Gateway.NBIotSimpleClient.Jobs
} }
} }
i++; i++;
await Task.Delay(5000);
await Task.Delay(5000, cancellationToken);
} }
}, cancellationToken); }, cancellationToken);
} }


+ 5
- 5
simples/JT808.Gateway.NBIotSimpleClient/Services/ProccessPackageService.cs View File

@@ -46,7 +46,7 @@ namespace JT808.Gateway.NBIotSimpleClient.Services
{ {
foreach(var package in ReceviePackageService.BlockingCollection.GetConsumingEnumerable(cancellationToken)) foreach(var package in ReceviePackageService.BlockingCollection.GetConsumingEnumerable(cancellationToken))
{ {
if(package.Header.MsgId == JT808MsgId.终端注册应答.ToUInt16Value())
if(package.Header.MsgId == JT808MsgId._0x8100.ToUInt16Value())
{ {
if (package.Bodies is JT808_0x8100 body) if (package.Bodies is JT808_0x8100 body)
{ {
@@ -57,13 +57,13 @@ namespace JT808.Gateway.NBIotSimpleClient.Services
Logger.LogInformation($"{package.Header.TerminalPhoneNo}-{body.Code}-success"); Logger.LogInformation($"{package.Header.TerminalPhoneNo}-{body.Code}-success");
} }
} }
else if (package.Header.MsgId == JT808MsgId.平台通用应答.ToValue())
else if (package.Header.MsgId == JT808MsgId._0x8001.ToValue())
{ {
if(package.Bodies is JT808_0x8001 body) if(package.Bodies is JT808_0x8001 body)
{ {
if(body.AckMsgId== JT808MsgId.终端鉴权.ToUInt16Value())
if(body.AckMsgId== JT808MsgId._0x0102.ToUInt16Value())
{ {
if(body.JT808PlatformResult== JT808PlatformResult.成功)
if(body.JT808PlatformResult== JT808PlatformResult.succeed)
{ {
if (DeviceInfoService.DeviceInfos.TryGetValue(package.Header.TerminalPhoneNo, out var deviceInfo)) if (DeviceInfoService.DeviceInfos.TryGetValue(package.Header.TerminalPhoneNo, out var deviceInfo))
{ {
@@ -81,7 +81,7 @@ namespace JT808.Gateway.NBIotSimpleClient.Services
{ {


} }
}, cancellationToken);
});
return Task.CompletedTask; return Task.CompletedTask;
} }




+ 5
- 5
simples/JT808.Gateway.SimpleClient/Services/Up2011Service.cs View File

@@ -26,7 +26,7 @@ namespace JT808.Gateway.SimpleClient.Services
JT808TcpClient client1 = await jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, "127.0.0.1", 808,version: JT808Version.JTT2011), cancellationToken); JT808TcpClient client1 = await jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, "127.0.0.1", 808,version: JT808Version.JTT2011), cancellationToken);
await Task.Delay(2000); await Task.Delay(2000);
//1.终端注册 //1.终端注册
await client1.SendAsync(JT808MsgId.终端注册.Create(sim, new JT808_0x0100()
await client1.SendAsync(JT808MsgId._0x0100.Create(sim, new JT808_0x0100()
{ {
PlateNo = "粤A12345", PlateNo = "粤A12345",
PlateColor = 2, PlateColor = 2,
@@ -37,7 +37,7 @@ namespace JT808.Gateway.SimpleClient.Services
TerminalModel = "Koike001" TerminalModel = "Koike001"
})); }));
//2.终端鉴权 //2.终端鉴权
await client1.SendAsync(JT808MsgId.终端鉴权.Create(sim, new JT808_0x0102()
await client1.SendAsync(JT808MsgId._0x0102.Create(sim, new JT808_0x0102()
{ {
Code = "1234" Code = "1234"
})); }));
@@ -46,7 +46,7 @@ namespace JT808.Gateway.SimpleClient.Services
{ {
var i = 0; var i = 0;
//3.每5秒发一次 //3.每5秒发一次
await client1.SendAsync(JT808MsgId.位置信息汇报.Create(sim, new JT808_0x0200()
await client1.SendAsync(JT808MsgId._0x0200.Create(sim, new JT808_0x0200()
{ {
Lat = 110000 + i, Lat = 110000 + i,
Lng = 100000 + i, Lng = 100000 + i,
@@ -58,9 +58,9 @@ namespace JT808.Gateway.SimpleClient.Services
StatusFlag = 10 StatusFlag = 10
})); }));
i++; i++;
await Task.Delay(5000);
await Task.Delay(5000, cancellationToken);
} }
}, cancellationToken);
});
} }


public Task StopAsync(CancellationToken cancellationToken) public Task StopAsync(CancellationToken cancellationToken)


+ 5
- 5
simples/JT808.Gateway.SimpleClient/Services/Up2013Service.cs View File

@@ -26,7 +26,7 @@ namespace JT808.Gateway.SimpleClient.Services
JT808TcpClient client1 = await jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, "127.0.0.1", 808,version: JT808Version.JTT2013), cancellationToken); JT808TcpClient client1 = await jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, "127.0.0.1", 808,version: JT808Version.JTT2013), cancellationToken);
await Task.Delay(2000); await Task.Delay(2000);
//1.终端注册 //1.终端注册
await client1.SendAsync(JT808MsgId.终端注册.Create(sim, new JT808_0x0100()
await client1.SendAsync(JT808MsgId._0x0100.Create(sim, new JT808_0x0100()
{ {
PlateNo = "粤A12345", PlateNo = "粤A12345",
PlateColor = 2, PlateColor = 2,
@@ -37,7 +37,7 @@ namespace JT808.Gateway.SimpleClient.Services
TerminalModel = "Koike001" TerminalModel = "Koike001"
})); }));
//2.终端鉴权 //2.终端鉴权
await client1.SendAsync(JT808MsgId.终端鉴权.Create(sim, new JT808_0x0102()
await client1.SendAsync(JT808MsgId._0x0102.Create(sim, new JT808_0x0102()
{ {
Code = "1234" Code = "1234"
})); }));
@@ -46,7 +46,7 @@ namespace JT808.Gateway.SimpleClient.Services
{ {
var i = 0; var i = 0;
//3.每5秒发一次 //3.每5秒发一次
await client1.SendAsync(JT808MsgId.位置信息汇报.Create(sim, new JT808_0x0200()
await client1.SendAsync(JT808MsgId._0x0200.Create(sim, new JT808_0x0200()
{ {
Lat = 110000 + i, Lat = 110000 + i,
Lng = 100000 + i, Lng = 100000 + i,
@@ -58,9 +58,9 @@ namespace JT808.Gateway.SimpleClient.Services
StatusFlag = 10 StatusFlag = 10
})); }));
i++; i++;
await Task.Delay(5000);
await Task.Delay(5000, cancellationToken);
} }
}, cancellationToken);
});
} }


public Task StopAsync(CancellationToken cancellationToken) public Task StopAsync(CancellationToken cancellationToken)


+ 5
- 5
simples/JT808.Gateway.SimpleClient/Services/Up2019Service.cs View File

@@ -26,7 +26,7 @@ namespace JT808.Gateway.SimpleClient.Services
JT808TcpClient client1 = await jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, "127.0.0.1", 808, version:JT808Version.JTT2019), cancellationToken); JT808TcpClient client1 = await jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, "127.0.0.1", 808, version:JT808Version.JTT2019), cancellationToken);
await Task.Delay(2000); await Task.Delay(2000);
//1.终端注册 //1.终端注册
await client1.SendAsync(JT808MsgId.终端注册.Create2019(sim, new JT808_0x0100()
await client1.SendAsync(JT808MsgId._0x0100.Create2019(sim, new JT808_0x0100()
{ {
PlateNo = "粤A12346", PlateNo = "粤A12346",
PlateColor = 2, PlateColor = 2,
@@ -37,7 +37,7 @@ namespace JT808.Gateway.SimpleClient.Services
TerminalModel = "Koike002" TerminalModel = "Koike002"
})); }));
//2.终端鉴权 //2.终端鉴权
await client1.SendAsync(JT808MsgId.终端鉴权.Create2019(sim, new JT808_0x0102()
await client1.SendAsync(JT808MsgId._0x0102.Create2019(sim, new JT808_0x0102()
{ {
Code = "6666", Code = "6666",
IMEI="123456", IMEI="123456",
@@ -49,7 +49,7 @@ namespace JT808.Gateway.SimpleClient.Services
{ {
var i = 0; var i = 0;
//3.每5秒发一次 //3.每5秒发一次
await client1.SendAsync(JT808MsgId.位置信息汇报.Create2019(sim, new JT808_0x0200()
await client1.SendAsync(JT808MsgId._0x0200.Create2019(sim, new JT808_0x0200()
{ {
Lat = 110000 + i, Lat = 110000 + i,
Lng = 100000 + i, Lng = 100000 + i,
@@ -61,9 +61,9 @@ namespace JT808.Gateway.SimpleClient.Services
StatusFlag = 10 StatusFlag = 10
})); }));
i++; i++;
await Task.Delay(5000);
await Task.Delay(5000, cancellationToken);
} }
}, cancellationToken);
});
} }


public Task StopAsync(CancellationToken cancellationToken) public Task StopAsync(CancellationToken cancellationToken)


+ 1
- 2
simples/JT808.Gateway.SimpleQueueServer/Program.cs View File

@@ -34,8 +34,7 @@ namespace JT808.Gateway.SimpleQueueServer
.AddServerKafkaMsgReplyConsumer(hostContext.Configuration) .AddServerKafkaMsgReplyConsumer(hostContext.Configuration)
.AddServerKafkaSessionProducer(hostContext.Configuration) .AddServerKafkaSessionProducer(hostContext.Configuration)
.AddTcp() .AddTcp()
.AddUdp()
.AddHttp();
.AddUdp();
}); });


await serverHostBuilder.RunConsoleAsync(); await serverHostBuilder.RunConsoleAsync();


+ 1
- 2
simples/JT808.Gateway.SimpleServer/Program.cs View File

@@ -40,7 +40,7 @@ namespace JT808.Gateway.SimpleServer
services.AddSingleton<JT808SessionService>(); services.AddSingleton<JT808SessionService>();
services.AddSingleton<IJT808SessionProducer, JT808SessionProducer>(); services.AddSingleton<IJT808SessionProducer, JT808SessionProducer>();
services.AddSingleton<IJT808SessionConsumer, JT808SessionConsumer>(); services.AddSingleton<IJT808SessionConsumer, JT808SessionConsumer>();
services.AddJT808Configure()
services.AddJT808Configure()
.AddGateway(hostContext.Configuration) .AddGateway(hostContext.Configuration)
.AddMessageHandler<JT808MessageHandlerImpl>() .AddMessageHandler<JT808MessageHandlerImpl>()
.AddMsgLogging<JT808MsgLogging>() .AddMsgLogging<JT808MsgLogging>()
@@ -48,7 +48,6 @@ namespace JT808.Gateway.SimpleServer
.AddTransmit(hostContext.Configuration) .AddTransmit(hostContext.Configuration)
.AddTcp() .AddTcp()
.AddUdp() .AddUdp()
.AddHttp()
.Builder(); .Builder();
}); });




+ 1
- 1
src/JT808.Gateway.Kafka/JT808MsgConsumer.cs View File

@@ -62,7 +62,7 @@ namespace JT808.Gateway.Kafka
logger.LogError(ex, TopicName); logger.LogError(ex, TopicName);
} }
} }
}, Cts.Token);
});
} }
public void Subscribe() public void Subscribe()
{ {


+ 1
- 1
src/JT808.Gateway.Kafka/JT808MsgReplyConsumer.cs View File

@@ -61,7 +61,7 @@ namespace JT808.Gateway.Kafka
logger.LogError(ex, TopicName); logger.LogError(ex, TopicName);
} }
} }
}, Cts.Token);
});
} }


public void Subscribe() public void Subscribe()


+ 1
- 1
src/JT808.Gateway.Kafka/JT808MsgReplyLoggingConsumer.cs View File

@@ -61,7 +61,7 @@ namespace JT808.Gateway.Kafka
logger.LogError(ex, TopicName); logger.LogError(ex, TopicName);
} }
} }
}, Cts.Token);
});
} }


public void Subscribe() public void Subscribe()


+ 1
- 1
src/JT808.Gateway.Kafka/JT808SessionConsumer.cs View File

@@ -62,7 +62,7 @@ namespace JT808.Gateway.Kafka
logger.LogError(ex, TopicName); logger.LogError(ex, TopicName);
} }
} }
}, Cts.Token);
});
} }


public void Subscribe() public void Subscribe()


+ 2
- 2
src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/Customs/JT808HttpClientExt.cs View File

@@ -1,6 +1,7 @@
using JT808.Gateway.Abstractions.Dtos; using JT808.Gateway.Abstractions.Dtos;
using JT808.Gateway.WebApiClientTool; using JT808.Gateway.WebApiClientTool;
using System.Net.Http; using System.Net.Http;
using System.Net.Http.Json;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;


@@ -22,8 +23,7 @@ namespace JT808.Gateway.NormalHosting.Customs
var request = new HttpRequestMessage(HttpMethod.Get, index1); var request = new HttpRequestMessage(HttpMethod.Get, index1);
var response = await HttpClient.SendAsync(request); var response = await HttpClient.SendAsync(request);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<string>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<string>>();
return value; return value;
} }
} }


+ 2
- 2
src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/Jobs/CallHttpClientJob.cs View File

@@ -41,8 +41,8 @@ namespace JT808.Gateway.NormalHosting.Jobs
HexData= "7E02000026123456789012007D02000000010000000200BA7F0E07E4F11C0028003C00001810151010100104000000640202007D01137E" HexData= "7E02000026123456789012007D02000000010000000200BA7F0E07E4F11C0028003C00001810151010100104000000640202007D01137E"
}); });
Logger.LogInformation($"[GetIndex Ext]:{JsonSerializer.Serialize(result1)}"); Logger.LogInformation($"[GetIndex Ext]:{JsonSerializer.Serialize(result1)}");
Logger.LogInformation($"[GetTcpAtomicCounter]:{JsonSerializer.Serialize(result2)}");
Logger.LogInformation($"[GetTcpSessionAll]:{JsonSerializer.Serialize(result3)}");
Logger.LogInformation($"[GetTcpSessionAll]:{JsonSerializer.Serialize(result2)}");
Logger.LogInformation($"[UnificationSend]:{JsonSerializer.Serialize(result3)}");
Thread.Sleep(3000); Thread.Sleep(3000);
} }
}, cancellationToken); }, cancellationToken);


+ 4
- 0
src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/Program.cs View File

@@ -31,6 +31,8 @@ namespace JT808.Gateway.NormalHosting
{ {
static void Main(string[] args) static void Main(string[] args)
{ {
//ref:https://andrewlock.net/exploring-dotnet-6-part-2-comparing-webapplicationbuilder-to-the-generic-host/
//the new hotness in .NET 6.
var builder = WebApplication.CreateBuilder(); var builder = WebApplication.CreateBuilder();
builder.Host.ConfigureAppConfiguration((hostingContext, config) => builder.Host.ConfigureAppConfiguration((hostingContext, config) =>
{ {
@@ -95,7 +97,9 @@ namespace JT808.Gateway.NormalHosting
}); });
var app = builder.Build(); var app = builder.Build();


app.UseRouting();
app.UseCors(); app.UseCors();

app.MapControllers().RequireCors("jt808"); app.MapControllers().RequireCors("jt808");


app.Run(); app.Run();


+ 2
- 1
src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/appsettings.json View File

@@ -3,7 +3,8 @@
"LogLevel": { "LogLevel": {
"Default": "Debug", "Default": "Debug",
"Microsoft.AspNetCore.Mvc": "Information", "Microsoft.AspNetCore.Mvc": "Information",
"Microsoft.AspNetCore.Server.Kestrel": "Information"
"Microsoft.AspNetCore.Server.Kestrel": "Information",
"Microsoft.Extensions.Http.*": "Information"
} }
}, },
"JT808Configuration": { "JT808Configuration": {


+ 1
- 1
src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/JT808.Gateway.QueueHosting.csproj View File

@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk.Web">


<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>


+ 39
- 1
src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Program.cs View File

@@ -17,6 +17,9 @@ using JT808.Gateway.Kafka;
using JT808.Gateway.WebApiClientTool; using JT808.Gateway.WebApiClientTool;
using JT808.Gateway.QueueHosting.Impl; using JT808.Gateway.QueueHosting.Impl;
using JT808.Gateway.MsgIdHandler; using JT808.Gateway.MsgIdHandler;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using JT808.Gateway.Abstractions.Configurations;


namespace JT808.Gateway.QueueHosting namespace JT808.Gateway.QueueHosting
{ {
@@ -24,7 +27,8 @@ namespace JT808.Gateway.QueueHosting
{ {
static async Task Main(string[] args) static async Task Main(string[] args)
{ {
var serverHostBuilder = new HostBuilder()

var serverHostBuilder = Host.CreateDefaultBuilder()
.ConfigureAppConfiguration((hostingContext, config) => .ConfigureAppConfiguration((hostingContext, config) =>
{ {
config.SetBasePath(AppDomain.CurrentDomain.BaseDirectory) config.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
@@ -73,8 +77,42 @@ namespace JT808.Gateway.QueueHosting
services.AddHostedService<CallHttpClientJob>(); services.AddHostedService<CallHttpClientJob>();
//客户端测试 //客户端测试
services.AddHostedService<UpJob>(); services.AddHostedService<UpJob>();
})
.ConfigureWebHostDefaults(webBuilder => {
webBuilder.UseKestrel((app, ksOptions) =>
{
//1.配置webapi端口监听
var jT808Configuration = app.Configuration.GetSection(nameof(JT808Configuration)).Get<JT808Configuration>();
ksOptions.ListenAnyIP(jT808Configuration.WebApiPort);
})
.UseStartup<Startup>();
}); });
await serverHostBuilder.RunConsoleAsync(); await serverHostBuilder.RunConsoleAsync();
} }
} }

public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();

app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
} }

+ 8
- 0
src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/appsettings.json View File

@@ -1,4 +1,12 @@
{ {
"Logging": {
"LogLevel": {
"Default": "Debug",
"Microsoft.Extensions.Http.*": "Information",
"Microsoft.AspNetCore.Routing": "Warning",
"Microsoft.AspNetCore.*": "Warning"
}
},
"JT808Configuration": { "JT808Configuration": {
"TcpPort": 808, "TcpPort": 808,
"UdpPort": 808, "UdpPort": 808,


+ 0
- 1
src/JT808.Gateway.Tests/JT808.Gateway.Test/JT808.Gateway.Test.csproj View File

@@ -2,7 +2,6 @@


<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>

<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
</PropertyGroup> </PropertyGroup>




+ 20
- 45
src/JT808.Gateway.WebApiClientTool/JT808HttpClient.cs View File

@@ -4,6 +4,7 @@ using System;
using System.Buffers.Text; using System.Buffers.Text;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net.Http; using System.Net.Http;
using System.Net.Http.Json;
using System.Text; using System.Text;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -36,12 +37,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<bool>> UnificationSend(JT808UnificationSendRequestDto parameter) public async ValueTask<JT808ResultDto<bool>> UnificationSend(JT808UnificationSendRequestDto parameter)
{ {
var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.UnificationSend);
request.Content = new StringContent(JsonSerializer.Serialize(parameter));
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.UnificationSend, parameter);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<bool>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<bool>>();
return value; return value;
} }


@@ -54,8 +52,7 @@ namespace JT808.Gateway.WebApiClientTool
var request = new HttpRequestMessage(HttpMethod.Get, JT808GatewayConstants.JT808WebApiRouteTable.SessionTcpGetAll); var request = new HttpRequestMessage(HttpMethod.Get, JT808GatewayConstants.JT808WebApiRouteTable.SessionTcpGetAll);
var response = await HttpClient.SendAsync(request); var response = await HttpClient.SendAsync(request);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<List<JT808TcpSessionInfoDto>>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<List<JT808TcpSessionInfoDto>>>();
return value; return value;
} }


@@ -66,12 +63,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<JT808TcpSessionInfoDto>> QueryTcpSessionByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter) public async ValueTask<JT808ResultDto<JT808TcpSessionInfoDto>> QueryTcpSessionByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter)
{ {
var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.QueryTcpSessionByTerminalPhoneNo);
request.Content = new StringContent(JsonSerializer.Serialize(parameter));
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.QueryTcpSessionByTerminalPhoneNo, parameter);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<JT808TcpSessionInfoDto>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<JT808TcpSessionInfoDto>>();
return value; return value;
} }


@@ -82,12 +76,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<bool>> RemoveTcpByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter) public async ValueTask<JT808ResultDto<bool>> RemoveTcpByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter)
{ {
var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.SessionRemoveByTerminalPhoneNo);
request.Content = new StringContent(JsonSerializer.Serialize(parameter));
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.SessionRemoveByTerminalPhoneNo, parameter);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<bool>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<bool>>();
return value; return value;
} }


@@ -97,11 +88,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<List<JT808UdpSessionInfoDto>>> GetUdpSessionAll() public async ValueTask<JT808ResultDto<List<JT808UdpSessionInfoDto>>> GetUdpSessionAll()
{ {
var request = new HttpRequestMessage(HttpMethod.Get, JT808GatewayConstants.JT808WebApiRouteTable.SessionUdpGetAll);
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.GetAsync(JT808GatewayConstants.JT808WebApiRouteTable.SessionUdpGetAll);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<List<JT808UdpSessionInfoDto>>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<List<JT808UdpSessionInfoDto>>>();
return value; return value;
} }


@@ -112,12 +101,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<JT808UdpSessionInfoDto>> QueryUdpSessionByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter) public async ValueTask<JT808ResultDto<JT808UdpSessionInfoDto>> QueryUdpSessionByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter)
{ {
var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.QueryUdpSessionByTerminalPhoneNo);
request.Content = new StringContent(JsonSerializer.Serialize(parameter));
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.QueryUdpSessionByTerminalPhoneNo, parameter);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<JT808UdpSessionInfoDto>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<JT808UdpSessionInfoDto>>();
return value; return value;
} }


@@ -128,12 +114,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<bool>> RemoveUdpByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter) public async ValueTask<JT808ResultDto<bool>> RemoveUdpByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter)
{ {
var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.RemoveUdpByTerminalPhoneNo);
request.Content = new StringContent(JsonSerializer.Serialize(parameter));
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.RemoveUdpByTerminalPhoneNo,parameter);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<bool>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<bool>>();
return value; return value;
} }


@@ -144,12 +127,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<bool>> BlacklistAdd(JT808TerminalPhoneNoDto parameter) public async ValueTask<JT808ResultDto<bool>> BlacklistAdd(JT808TerminalPhoneNoDto parameter)
{ {
var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.BlacklistAdd);
request.Content = new StringContent(JsonSerializer.Serialize(parameter));
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.BlacklistAdd, parameter);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<bool>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<bool>>();
return value; return value;
} }


@@ -160,12 +140,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<bool>> BlacklistRemove(JT808TerminalPhoneNoDto parameter) public async ValueTask<JT808ResultDto<bool>> BlacklistRemove(JT808TerminalPhoneNoDto parameter)
{ {
var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.BlacklistRemove);
request.Content = new StringContent(JsonSerializer.Serialize(parameter));
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.BlacklistRemove, parameter);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<bool>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<bool>>();
return value; return value;
} }


@@ -175,11 +152,9 @@ namespace JT808.Gateway.WebApiClientTool
/// <returns></returns> /// <returns></returns>
public async ValueTask<JT808ResultDto<List<string>>> GetBlacklistAll() public async ValueTask<JT808ResultDto<List<string>>> GetBlacklistAll()
{ {
var request = new HttpRequestMessage(HttpMethod.Get, JT808GatewayConstants.JT808WebApiRouteTable.BlacklistGet);
var response = await HttpClient.SendAsync(request);
var response = await HttpClient.GetAsync(JT808GatewayConstants.JT808WebApiRouteTable.BlacklistGet);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStreamAsync();
var value = await JsonSerializer.DeserializeAsync<JT808ResultDto<List<string>>>(data);
var value = await response.Content.ReadFromJsonAsync<JT808ResultDto<List<string>>>();
return value; return value;
} }
} }


+ 10
- 2
src/JT808.Gateway.WebApiClientTool/JT808HttpClientExtensions.cs View File

@@ -4,6 +4,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net.Http.Headers;
using System.Text; using System.Text;


namespace JT808.Gateway.WebApiClientTool namespace JT808.Gateway.WebApiClientTool
@@ -26,6 +27,7 @@ namespace JT808.Gateway.WebApiClientTool
serviceDescriptors.AddHttpClient("JT808WebApiClientTool", c => serviceDescriptors.AddHttpClient("JT808WebApiClientTool", c =>
{ {
c.DefaultRequestHeaders.Add("token", token); c.DefaultRequestHeaders.Add("token", token);
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.BaseAddress = webapiUri; c.BaseAddress = webapiUri;
c.Timeout = TimeSpan.FromSeconds(timeout); c.Timeout = TimeSpan.FromSeconds(timeout);
}) })
@@ -43,6 +45,7 @@ namespace JT808.Gateway.WebApiClientTool
{ {
serviceDescriptors.AddHttpClient("JT808WebApiClientTool", c => serviceDescriptors.AddHttpClient("JT808WebApiClientTool", c =>
{ {
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get<string>()); c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get<string>());
c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get<string>()); c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get<string>());
c.Timeout = TimeSpan.FromSeconds(timeout); c.Timeout = TimeSpan.FromSeconds(timeout);
@@ -61,6 +64,7 @@ namespace JT808.Gateway.WebApiClientTool
{ {
jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c => jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c =>
{ {
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get<string>()); c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get<string>());
c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get<string>()); c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get<string>());
c.Timeout = TimeSpan.FromSeconds(timeout); c.Timeout = TimeSpan.FromSeconds(timeout);
@@ -80,6 +84,7 @@ namespace JT808.Gateway.WebApiClientTool
{ {
jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c => jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c =>
{ {
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.DefaultRequestHeaders.Add("token", token); c.DefaultRequestHeaders.Add("token", token);
c.BaseAddress = webapiUri; c.BaseAddress = webapiUri;
c.Timeout = TimeSpan.FromSeconds(timeout); c.Timeout = TimeSpan.FromSeconds(timeout);
@@ -100,6 +105,7 @@ namespace JT808.Gateway.WebApiClientTool
{ {
serviceDescriptors.AddHttpClient("JT808WebApiClientTool", c => serviceDescriptors.AddHttpClient("JT808WebApiClientTool", c =>
{ {
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.DefaultRequestHeaders.Add("token", token); c.DefaultRequestHeaders.Add("token", token);
c.BaseAddress = webapiUri; c.BaseAddress = webapiUri;
c.Timeout = TimeSpan.FromSeconds(timeout); c.Timeout = TimeSpan.FromSeconds(timeout);
@@ -119,6 +125,7 @@ namespace JT808.Gateway.WebApiClientTool
{ {
serviceDescriptors.AddHttpClient("JT808WebApiClientTool", c => serviceDescriptors.AddHttpClient("JT808WebApiClientTool", c =>
{ {
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get<string>()); c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get<string>());
c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get<string>()); c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get<string>());
c.Timeout = TimeSpan.FromSeconds(timeout); c.Timeout = TimeSpan.FromSeconds(timeout);
@@ -138,6 +145,7 @@ namespace JT808.Gateway.WebApiClientTool
{ {
jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c => jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c =>
{ {
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get<string>()); c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get<string>());
c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get<string>()); c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get<string>());
c.Timeout = TimeSpan.FromSeconds(timeout); c.Timeout = TimeSpan.FromSeconds(timeout);
@@ -158,11 +166,11 @@ namespace JT808.Gateway.WebApiClientTool
{ {
jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c => jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c =>
{ {
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.DefaultRequestHeaders.Add("token", token); c.DefaultRequestHeaders.Add("token", token);
c.BaseAddress = webapiUri; c.BaseAddress = webapiUri;
c.Timeout = TimeSpan.FromSeconds(timeout); c.Timeout = TimeSpan.FromSeconds(timeout);
})
.AddTypedClient<TJT808HttpClient>();
}).AddTypedClient<TJT808HttpClient>();
return jT808Builder; return jT808Builder;
} }
} }


+ 5
- 1
src/JT808.Gateway/JT808UdpServer.cs View File

@@ -80,9 +80,13 @@ namespace JT808.Gateway
{ {
Logger.LogError(ex, "Receive MessageFrom Async"); Logger.LogError(ex, "Receive MessageFrom Async");
} }
catch (SocketException ex)
{
//Logger.LogWarning(ex, $"Socket Error");
}
catch (Exception ex) catch (Exception ex)
{ {
Logger.LogError(ex, $"Received Bytes");
Logger.LogError(ex, $"Service Error");
} }
finally finally
{ {


+ 10
- 9
src/JT808.Gateway/JT808WebApi.cs View File

@@ -84,7 +84,7 @@ namespace JT808.Gateway
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[Route("/Tcp/Session/GetAll")]
[Route("Tcp/Session/GetAll")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<List<JT808TcpSessionInfoDto>>> SessionTcpGetAll() public ActionResult<JT808ResultDto<List<JT808TcpSessionInfoDto>>> SessionTcpGetAll()
{ {
@@ -116,7 +116,7 @@ namespace JT808.Gateway
/// <param name="parameter"></param> /// <param name="parameter"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("/Tcp/Session/QuerySessionByTerminalPhoneNo")]
[Route("Tcp/Session/QuerySessionByTerminalPhoneNo")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<JT808TcpSessionInfoDto>> QueryTcpSessionByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter) public ActionResult<JT808ResultDto<JT808TcpSessionInfoDto>> QueryTcpSessionByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter)
{ {
@@ -147,7 +147,7 @@ namespace JT808.Gateway
/// <param name="parameter"></param> /// <param name="parameter"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("/Tcp/Session/RemoveByTerminalPhoneNo")]
[Route("Tcp/Session/RemoveByTerminalPhoneNo")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<bool>> SessionTcpRemoveByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter) public ActionResult<JT808ResultDto<bool>> SessionTcpRemoveByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter)
{ {
@@ -172,7 +172,7 @@ namespace JT808.Gateway
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[Route("/Udp/Session/GetAll")]
[Route("Udp/Session/GetAll")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<List<JT808UdpSessionInfoDto>>> SessionUdpGetAll() public ActionResult<JT808ResultDto<List<JT808UdpSessionInfoDto>>> SessionUdpGetAll()
{ {
@@ -197,13 +197,14 @@ namespace JT808.Gateway
} }
return resultDto; return resultDto;
} }

/// <summary> /// <summary>
/// 会话服务-通过设备终端号查询对应会话 /// 会话服务-通过设备终端号查询对应会话
/// </summary> /// </summary>
/// <param name="parameter"></param> /// <param name="parameter"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("/Udp/Session/QuerySessionByTerminalPhoneNo")]
[Route("Udp/Session/QuerySessionByTerminalPhoneNo")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<JT808UdpSessionInfoDto>> QueryUdpSessionByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter) public ActionResult<JT808ResultDto<JT808UdpSessionInfoDto>> QueryUdpSessionByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter)
{ {
@@ -234,7 +235,7 @@ namespace JT808.Gateway
/// <param name="parameter"></param> /// <param name="parameter"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("/Udp/Session/RemoveByTerminalPhoneNo")]
[Route("Udp/Session/RemoveByTerminalPhoneNo")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<bool>> SessionUdpRemoveByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter) public ActionResult<JT808ResultDto<bool>> SessionUdpRemoveByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter)
{ {
@@ -259,7 +260,7 @@ namespace JT808.Gateway
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("/Blacklist/Add")]
[Route("Blacklist/Add")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<bool>> BlacklistAdd([FromBody] JT808TerminalPhoneNoDto parameter) public ActionResult<JT808ResultDto<bool>> BlacklistAdd([FromBody] JT808TerminalPhoneNoDto parameter)
{ {
@@ -284,7 +285,7 @@ namespace JT808.Gateway
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("/Blacklist/Remove")]
[Route("Blacklist/Remove")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<bool>> BlacklistRemove([FromBody] JT808TerminalPhoneNoDto parameter) public ActionResult<JT808ResultDto<bool>> BlacklistRemove([FromBody] JT808TerminalPhoneNoDto parameter)
{ {
@@ -309,7 +310,7 @@ namespace JT808.Gateway
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[Route("/Blacklist/GetAll")]
[Route("Blacklist/GetAll")]
[JT808Token] [JT808Token]
public ActionResult<JT808ResultDto<List<string>>> BlacklistGetAll() public ActionResult<JT808ResultDto<List<string>>> BlacklistGetAll()
{ {


Loading…
Cancel
Save