Bladeren bron

调整mqtt 收到消息后请求内部接口

devin.zhu@doverfs.com 9 maanden geleden
bovenliggende
commit
cc50e7e02b

+ 2 - 1
Ai.AgentServer/Program.cs

@@ -41,8 +41,9 @@ app.MapControllers();
 //{
 //    Console.WriteLine("sub:" + "/ToServer/34322113 =>" + e.Topic + ":" + e.Payload.ToStr());
 //});
+CommonMessageHandle.init(builder.Configuration.GetSection("Sysurl").Value.ToString());
 var client = new MqttClientService();
 client.MqttClientStart(config);
-CommonMessageHandle.init(builder.Configuration.GetSection("Sysurl").ToString());
+
 
 app.Run();

+ 8 - 2
Ai.AgentServer/Server/CommonMessageHandle.cs

@@ -2,6 +2,7 @@
 using Ai.AgentServer.Server.FuelDto;
 using AutoMapper;
 using Newtonsoft.Json;
+using System.Net.Http.Json;
 using System.Text;
 
 namespace Ai.AgentServer.Server
@@ -64,11 +65,16 @@ namespace Ai.AgentServer.Server
                 var request = new FuelCommRequest();
                 request.GLid = deviceId;
                 request.NozzleNo = mqttMessageDto.data.nozzleNum;
+             
                 try
                 {
                     Console.WriteLine($"LockNozzle HttpClient: {Sysurl}");
-                    httpclient.PostAsync($"/nozzles/lock", new StringContent(JsonConvert.SerializeObject(mqttMessageDto), Encoding.UTF8, "application/json")).Wait();
-                
+                    var reponse = httpclient.PostAsJsonAsync<FuelCommRequest>("/aiFueling/internal/sendData", request).Result; 
+                   //httpclient.PostAsync($"/aiFueling/internal/sendData", new StringContent(JsonConvert.SerializeObject(mqttMessageDto), Encoding.UTF8, "application/json")).Result;
+                    if (reponse != null&& reponse.IsSuccessStatusCode)
+                    {
+                        Console.WriteLine($"LockNozzle send success");
+                    }
                 }
                 catch (Exception ex)
                 {

+ 2 - 0
Ai.AgentServer/Server/FuelDto/MqttMessageDto.cs

@@ -33,4 +33,6 @@
     }
     
 
+
+
 }

+ 6 - 1
Ai.AgentServer/Server/Mqtt_Ext/MqttClientService.cs

@@ -98,8 +98,13 @@ namespace Ai.AgentServer
         /// <returns></returns>
         private Task _mqttClient_ApplicationMessageReceivedAsync(MqttApplicationMessageReceivedEventArgs arg)
         {
-            Console.WriteLine($"ApplicationMessageReceivedAsync:客户端ID=【{arg.ClientId}】接收到消息。 Topic主题=【{arg.ApplicationMessage.Topic}】 消息=【{Encoding.UTF8.GetString(arg.ApplicationMessage.Payload)}】 qos等级=【{arg.ApplicationMessage.QualityOfServiceLevel}】");
+            var message = Encoding.UTF8.GetString(arg.ApplicationMessage.Payload);
+            Console.WriteLine($"ApplicationMessageReceivedAsync:客户端ID=【{arg.ClientId}】接收到消息。 Topic主题=【{arg.ApplicationMessage.Topic}】 消息=【{message}】 qos等级=【{arg.ApplicationMessage.QualityOfServiceLevel}】");
+            if (arg.ApplicationMessage.Topic.Contains("lock"))
+            {
+            }
 
+            CommonMessageHandle.Handle(arg.ApplicationMessage.Topic, message);
             return Task.CompletedTask;
         }
 

+ 1 - 1
Ai.AgentServer/appsettings.json

@@ -8,7 +8,7 @@
   "AllowedHosts": "*",
   "XunFei": "",
   "GeLin": "",
-  "Sysurl": "系统内部地址",
+  "Sysurl": "http://192.168.0.53:9001",
   "MqttSettings": {
     "Name": "Mqtt",
     "Host": "192.168.0.166",