From 00df8909bb87f034ea41c6c0818d5de288ffe1b3 Mon Sep 17 00:00:00 2001
From: "SmallChi(Koike)" <564952747@qq.com>
Date: Wed, 12 Aug 2020 17:54:18 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=B8=80=E4=B8=8BNetty?=
 =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E9=98=9F=E5=88=97demo?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../JT808.DotNetty.SimpleClient/Program.cs    |  2 +-
 ...808DotNettyReplyMessageServiceInherited.cs | 41 +++++++++++++++++++
 .../Program.cs                                |  6 ++-
 3 files changed, 46 insertions(+), 3 deletions(-)
 create mode 100644 simples/JT808.DotNetty.SimpleQueueService/Impl/JT808DotNettyReplyMessageServiceInherited.cs

diff --git a/simples/JT808.DotNetty.SimpleClient/Program.cs b/simples/JT808.DotNetty.SimpleClient/Program.cs
index f2b9634..050a4f9 100644
--- a/simples/JT808.DotNetty.SimpleClient/Program.cs
+++ b/simples/JT808.DotNetty.SimpleClient/Program.cs
@@ -33,7 +33,7 @@ namespace JT808.DotNetty.SimpleClient
                 services.AddJT808Configure()
                         .AddJT808Client();
                 services.AddHostedService<UpService>();
-                //services.AddHostedService<Up2019Service>();
+                services.AddHostedService<Up2019Service>();
             });
             await serverHostBuilder.RunConsoleAsync();
         }
diff --git a/simples/JT808.DotNetty.SimpleQueueService/Impl/JT808DotNettyReplyMessageServiceInherited.cs b/simples/JT808.DotNetty.SimpleQueueService/Impl/JT808DotNettyReplyMessageServiceInherited.cs
new file mode 100644
index 0000000..521aed0
--- /dev/null
+++ b/simples/JT808.DotNetty.SimpleQueueService/Impl/JT808DotNettyReplyMessageServiceInherited.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using JT808.DotNetty.Abstractions;
+using JT808.DotNetty.Kafka;
+using JT808.DotNetty.ReplyMessage;
+using JT808.Protocol;
+using JT808.Protocol.Extensions;
+using Microsoft.Extensions.Logging;
+
+namespace JT808.DotNetty.SimpleQueueService.Impl
+{
+    public class JT808DotNettyReplyMessageServiceInherited : JT808DotNettyReplyMessageService
+    {
+        public readonly ILogger<JT808DotNettyReplyMessageServiceInherited> logger;
+
+        public JT808DotNettyReplyMessageServiceInherited(IJT808Config jT808Config,
+            IJT808MsgReplyProducer jT808MsgReplyProducer,
+            ILoggerFactory loggerFactory) 
+            : base(jT808Config, jT808MsgReplyProducer)
+        {
+            logger = loggerFactory.CreateLogger<JT808DotNettyReplyMessageServiceInherited>();
+        }
+
+        public override void Processor((string TerminalNo, byte[] Data) parameter)
+        {
+            logger.LogDebug($"{parameter.TerminalNo}:{parameter.Data.ToHexString()}");
+            base.Processor(parameter);
+        }
+
+        public override byte[] Msg0x0200(JT808HeaderPackage request)
+        {
+            logger.LogWarning("===========================================");
+            logger.LogWarning($"{request.Header.TerminalPhoneNo}---{request.OriginalData.ToArray().ToHexString()}");
+            logger.LogWarning("===========================================");
+            return base.Msg0x0200(request);
+        }
+    }
+}
diff --git a/simples/JT808.DotNetty.SimpleQueueService/Program.cs b/simples/JT808.DotNetty.SimpleQueueService/Program.cs
index 2e7e159..934e423 100644
--- a/simples/JT808.DotNetty.SimpleQueueService/Program.cs
+++ b/simples/JT808.DotNetty.SimpleQueueService/Program.cs
@@ -1,5 +1,6 @@
 using JT808.DotNetty.Kafka;
 using JT808.DotNetty.ReplyMessage;
+using JT808.DotNetty.SimpleQueueService.Impl;
 using JT808.Protocol;
 using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.DependencyInjection;
@@ -28,8 +29,9 @@ namespace JT808.DotNetty.SimpleQueueService
                     services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
                     services.AddJT808Configure()
                             .AddJT808ClientKafka()
-                            .AddMsgReplyConsumer(hostContext.Configuration)
-                            .AddMsgReplyConsumer(hostContext.Configuration)
+                            .AddMsgReplyProducer(hostContext.Configuration)
+                            .AddMsgConsumer(hostContext.Configuration)
+                            .AddInprocJT808ReplyMessage<JT808DotNettyReplyMessageServiceInherited>();
                             ;
                 });