diff --git a/README.md b/README.md
index 8de544d..103b44e 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,8 @@
| IJT808MsgConsumer| 数据消费接口| 将数据进行对应的消息业务处理(例:设备流量统计、第三方平台数据转发、消息日志等) |
| IJT808MsgReplyProducer| 应答数据生产接口|将生产的数据解析为对应的消息Id应答发送到队列 |
| IJT808MsgReplyConsumer| 应答数据消费接口| 将接收到的应答数据下发给设备|
+| IJT808MsgReplyLoggingProducer| 网关应答数据日志生产接口|将网关能解析到直接能下发的数据发送到队列|
+| IJT808MsgReplyLoggingConsumer| 网关应答数据日志消费接口|将网关能解析到直接能下发的数据发送到日志系统|
> 使用物联网卡通过udp下发指令时,存储的那个socket地址端口,有效期非常短,不速度快点下发,那个socket地址端口就可能映射到别的对应卡去了,所以此处采用跟随设备消息下发指令。
@@ -44,11 +46,11 @@
|服务名称|服务说明|使用场景|
|:------:|:------|:------|
-|MsgIdHandler| 消息处理服务|从队列中消费设备上报数据,再结合自身的业务场景,将数据进行处理并入库 |
+|MsgIdHandler (v1.0.2新版pipeline)| 消息处理服务|从队列中消费设备上报数据,再结合自身的业务场景,将数据进行处理并入库 |
|MsgLogging | 消息日志服务|从队列中消费设备上报和平台应答数据,再将数据存入influxdb等数据库中,便于技术和技术支持排查设备与平台交互的原始数据|
|ReplyMessage| 消息响应服务| 用于响应设备上报消息,以及下发指令信息到设备|
|SessionNotice| 会话管理服务| 通知设备上线下线,对于udp设备来说,可以在设备上线时,将指令跟随消息下发到设备|
-|Traffic|流量统计服务 |由于运营商sim卡查询流量滞后,通过流量统计服务可以实时准确的统计设备流量,可以最优配置设备的流量大小,以节省成本
+|Traffic (v1.0.2新版pipeline已移出)|流量统计服务 |由于运营商sim卡查询流量滞后,通过流量统计服务可以实时准确的统计设备流量,可以最优配置设备的流量大小,以节省成本
|Transmit| 原包转发服务|该服务可以将设备上报原始数据转发到第三方,支持全部转发,指定终端号转发|
## 基于WebApi的消息业务处理程序
@@ -78,11 +80,11 @@ Pipeline分为两种方式使用,一种是使用队列的方式,一种是网
| Install-Package JT808.Gateway.Client|  | | |
| Install-Package JT808.Gateway.Kafka|  ||  |
| Install-Package JT808.Gateway.Transmit |  ||  |
-| Install-Package JT808.Gateway.Traffic |  | ||
| Install-Package JT808.Gateway.SessionNotice |  || |
| Install-Package JT808.Gateway.ReplyMessage |  | | |
| Install-Package JT808.Gateway.MsgLogging |  | ||
-| Install-Package JT808.Gateway.MsgIdHandler |  || |
+| Install-Package JT808.Gateway.MsgIdHandler (v1.0.2新版已移出)|  || |
+| Install-Package JT808.Gateway.Traffic (v1.0.2新版已移出)|  | ||
## 基于DotNetty
diff --git a/publish.gateway.bat b/publish.gateway.bat
index 1484e64..9cb6fb1 100644
--- a/publish.gateway.bat
+++ b/publish.gateway.bat
@@ -5,10 +5,8 @@ dotnet pack .\src\JT808.Gateway.Client\JT808.Gateway.Client.csproj -c Release --
dotnet pack .\src\JT808.Gateway.WebApiClientTool\JT808.Gateway.WebApiClientTool.csproj -c Release --output nupkgs
echo 'push service pacakge...'
-dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.MsgIdHandler\JT808.Gateway.MsgIdHandler.csproj -c Release --output nupkgs
dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.MsgLogging\JT808.Gateway.MsgLogging.csproj -c Release --output nupkgs
dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.ReplyMessage\JT808.Gateway.ReplyMessage.csproj -c Release --output nupkgs
dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.SessionNotice\JT808.Gateway.SessionNotice.csproj -c Release --output nupkgs
-dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.Traffic\JT808.Gateway.Traffic.csproj -c Release --output nupkgs
dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.Transmit\JT808.Gateway.Transmit.csproj -c Release --output nupkgs
pause
\ No newline at end of file
diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/IJT808MsgIdHandler.cs b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/IJT808MsgIdHandler.cs
deleted file mode 100644
index a6bcd6e..0000000
--- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/IJT808MsgIdHandler.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace JT808.Gateway.MsgIdHandler
-{
- ///
- /// JT808消息Id处理程序
- ///
- public interface IJT808MsgIdHandler
- {
- void Processor((string TerminalNo, byte[] Data) parameter);
- }
-}
diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj
deleted file mode 100644
index 11a9963..0000000
--- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- netstandard2.1
- 8.0
- Copyright 2019.
- SmallChi(Koike)
- https://github.com/SmallChi/JT808Gateway
- https://github.com/SmallChi/JT808Gateway
- https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE
- https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE
- false
- $(JT808GatewayPackageVersion)
- false
- LICENSE
- true
- JT808.Gateway.MsgIdHandler
- JT808.Gateway.MsgIdHandler
- 基于JT808消息业务处理程序服务
- 基于JT808消息业务处理程序服务
- LICENSE
-
-
-
-
-
-
-
-
diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs
deleted file mode 100644
index 4a711e8..0000000
--- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using JT808.Gateway.Abstractions;
-using Microsoft.Extensions.DependencyInjection;
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace JT808.Gateway.MsgIdHandler
-{
- public static class JT808MsgIdHandlerExtensions
- {
- public static IJT808ClientBuilder AddMsgIdHandler(this IJT808ClientBuilder jT808ClientBuilder)
- where TJT808MsgIdHandler: IJT808MsgIdHandler
- {
- jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808MsgIdHandler),typeof(TJT808MsgIdHandler));
- jT808ClientBuilder.JT808Builder.Services.AddHostedService();
- return jT808ClientBuilder;
- }
- }
-}
diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs
deleted file mode 100644
index db2a100..0000000
--- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System.Threading.Tasks;
-using Microsoft.Extensions.Hosting;
-using System.Threading;
-using JT808.Gateway.Abstractions;
-
-namespace JT808.Gateway.MsgIdHandler
-{
- public class JT808MsgIdHandlerHostedService : IHostedService
- {
- private readonly IJT808MsgConsumer jT808MsgConsumer;
-
- private readonly IJT808MsgIdHandler jT808MsgIdHandler;
- public JT808MsgIdHandlerHostedService(
- IJT808MsgIdHandler jT808MsgIdHandler,
- IJT808MsgConsumer jT808MsgConsumer)
- {
- this.jT808MsgIdHandler = jT808MsgIdHandler;
- this.jT808MsgConsumer = jT808MsgConsumer;
- }
-
- public Task StartAsync(CancellationToken cancellationToken)
- {
- jT808MsgConsumer.Subscribe();
- jT808MsgConsumer.OnMessage(jT808MsgIdHandler.Processor);
- return Task.CompletedTask;
- }
-
- public Task StopAsync(CancellationToken cancellationToken)
- {
- jT808MsgConsumer.Unsubscribe();
- return Task.CompletedTask;
- }
- }
-}
diff --git a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/IJT808Traffic.cs b/src/JT808.Gateway.Services/JT808.Gateway.Traffic/IJT808Traffic.cs
deleted file mode 100644
index c7c6f94..0000000
--- a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/IJT808Traffic.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Collections.Concurrent;
-using System.Linq;
-
-namespace JT808.Gateway.Traffic
-{
- public interface IJT808Traffic
- {
- long Get(string key);
- long Increment(string terminalNo, string field, int len);
- List<(string,long)> GetAll();
- }
-
- class JT808TrafficDefault : IJT808Traffic
- {
- private ConcurrentDictionary dict = new ConcurrentDictionary();
-
- public long Get(string key)
- {
- long value;
- dict.TryGetValue(key, out value);
- return value;
- }
-
- public List<(string, long)> GetAll()
- {
- return dict.Select(s => (s.Key, s.Value)).ToList();
- }
-
- public long Increment(string terminalNo, string field, int len)
- {
- return dict.AddOrUpdate($"{terminalNo}_{field}", len, (id, count) => count + len);
- }
- }
-}
diff --git a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808.Gateway.Traffic.csproj b/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808.Gateway.Traffic.csproj
deleted file mode 100644
index 9d2d525..0000000
--- a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808.Gateway.Traffic.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- netstandard2.1
- 8.0
- Copyright 2019.
- SmallChi(Koike)
- https://github.com/SmallChi/JT808Gateway
- https://github.com/SmallChi/JT808Gateway
- https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE
- https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE
- false
- $(JT808GatewayPackageVersion)
- false
- LICENSE
- true
- JT808.Gateway.Traffic
- JT808.Gateway.Traffic
- 基于JT808设备流量统计服务
- 基于JT808设备流量统计服务
- LICENSE
-
-
-
-
-
-
-
-
diff --git a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceExtensions.cs b/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceExtensions.cs
deleted file mode 100644
index 1c39252..0000000
--- a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceExtensions.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using JT808.Gateway.Abstractions;
-using Microsoft.Extensions.DependencyInjection;
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace JT808.Gateway.Traffic
-{
- public static class JT808TrafficServiceExtensions
- {
- ///
- /// 消息流量统计服务(不同的消费者实例)
- ///
- ///
- ///
- public static IJT808ClientBuilder AddTraffic(this IJT808ClientBuilder jT808ClientBuilder)
- where TIJT808Traffic:IJT808Traffic
- {
- jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(TIJT808Traffic));
- jT808ClientBuilder.JT808Builder.Services.AddHostedService();
- return jT808ClientBuilder;
- }
-
- ///
- /// 消息流量统计服务(不同的消费者实例)
- ///
- ///
- ///
- public static IJT808ClientBuilder AddTraffic(this IJT808ClientBuilder jT808ClientBuilder)
- {
- jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(JT808TrafficDefault));
- jT808ClientBuilder.JT808Builder.Services.AddHostedService();
- return jT808ClientBuilder;
- }
-
- ///
- /// 消息流量统计服务(不同的消费者实例)
- ///
- ///
- ///
- public static IJT808GatewayBuilder AddTraffic(this IJT808GatewayBuilder jT808GatewayBuilder)
- where TIJT808Traffic : IJT808Traffic
- {
- jT808GatewayBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(TIJT808Traffic));
- return jT808GatewayBuilder;
- }
-
-
- ///
- /// 消息流量统计服务(不同的消费者实例)
- ///
- ///
- ///
- public static IJT808GatewayBuilder AddTraffic(this IJT808GatewayBuilder jT808NormalGatewayBuilder)
- {
- jT808NormalGatewayBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(JT808TrafficDefault));
- return jT808NormalGatewayBuilder;
- }
- }
-}
diff --git a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceHostedService.cs b/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceHostedService.cs
deleted file mode 100644
index d4032f4..0000000
--- a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceHostedService.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System.Threading.Tasks;
-using Microsoft.Extensions.Hosting;
-using System.Threading;
-using JT808.Protocol.Extensions;
-using JT808.Gateway.Abstractions;
-using System;
-
-namespace JT808.Gateway.Traffic
-{
- public class JT808TrafficServiceHostedService : IHostedService
- {
- private readonly IJT808MsgConsumer jT808MsgConsumer;
- private readonly IJT808Traffic jT808Traffic;
-
- public JT808TrafficServiceHostedService(
- IJT808Traffic jT808Traffic,
- IJT808MsgConsumer jT808MsgConsumer)
- {
- this.jT808MsgConsumer = jT808MsgConsumer;
- this.jT808Traffic = jT808Traffic;
- }
-
- public Task StartAsync(CancellationToken cancellationToken)
- {
- jT808MsgConsumer.Subscribe();
- jT808MsgConsumer.OnMessage((item)=> {
- //string str = item.Data.ToHexString();
- jT808Traffic.Increment(item.TerminalNo,DateTime.Now.ToString("yyyyMMdd"), item.Data.Length);
- });
- return Task.CompletedTask;
- }
-
- public Task StopAsync(CancellationToken cancellationToken)
- {
- jT808MsgConsumer.Unsubscribe();
- return Task.CompletedTask;
- }
- }
-}