Преглед изворни кода

feat:1、上传油枪信息到云端返回云端油枪id;2、油枪、油罐、油品上传云端回复打印日志

Zhenghanjv пре 2 месеци
родитељ
комит
c66f7ca590

+ 2 - 2
HengshanPaymentTerminal/HengshanPayTermHandler.cs

@@ -468,7 +468,7 @@ namespace HengshanPaymentTerminal
                         OrderFromMachine orderFromMachine = (OrderFromMachine)context.Incoming.Message;
                         FccOrderInfo fccOrderInfo = UpLoadOrder(orderFromMachine);
                         logger.Info($"receive order from machine,database had change");
-                        CreateTransaction(fccOrderInfo);
+                        CreateOrRedeemTransaction(fccOrderInfo);
                         break;
                     }
                     /**
@@ -1366,7 +1366,7 @@ namespace HengshanPaymentTerminal
             
         }
 
-        private async void CreateTransaction(FccOrderInfo fccOrderInfo)
+        private async void CreateOrRedeemTransaction(FccOrderInfo fccOrderInfo)
         {
             MysqlDbContext mysqlDbContext = new MysqlDbContext();
             CreateTransaction createTransaction = new CreateTransaction(fccOrderInfo);

+ 44 - 0
HengshanPaymentTerminal/Http/Response/Response.cs

@@ -23,6 +23,50 @@ namespace HengshanPaymentTerminal.Http.Response
 
     }
 
+    /// <summary>
+    /// 请求云端上传油枪信息回复
+    /// </summary>
+    public class UploadNozzleInfoResponse
+    {
+        /// <summary>
+        /// 云端油枪id
+        /// </summary>
+        public long Id { get; set; }
+
+        /// <summary>
+        /// fcc油枪id
+        /// </summary>
+        public long NozzleId { get; set; }
+
+        /// <summary>
+        /// 加油点
+        /// </summary>
+        public int PumpId { get; set; }
+
+        /// <summary>
+        /// 内部枪号
+        /// </summary>
+        public int InternalGunNumber { get; set; }
+
+        /// <summary>
+        /// 外部枪号
+        /// </summary>
+        public int ExternalGunNumber { get; set; }
+
+        /// <summary>
+        /// fcc 油罐id
+        /// </summary>
+        public long TankID { get; set; }
+
+        /// <summary>
+        /// 油品id
+        /// </summary>
+        public long ProductId { get; set; }
+    }
+
+    /// <summary>
+    /// 请求云端创建订单回复
+    /// </summary>
     public class CreateTransactionResponse
     {
         /// <summary>

+ 19 - 5
src/FccLife.Web/Services/FccNozzleInfo/NozzleInfoServiceImpl.cs

@@ -5,6 +5,7 @@ using FccLite.Web.Repositories.FccNozzleInfo;
 using FccLite.Web.Repositories.FccTankInfo;
 using HengshanPaymentTerminal.Http;
 using HengshanPaymentTerminal.Http.Request;
+using HengshanPaymentTerminal.Http.Response;
 using Newtonsoft.Json;
 using Org.BouncyCastle.Asn1.Ocsp;
 using System.Text;
@@ -46,13 +47,15 @@ namespace FccLite.Web.Services.FccNozzleInfo
                         SendNozzleInfo sendNozzleInfo = new SendNozzleInfo(id,nozzleInfoInput, fccTankInfo);
                         var requestJson = JsonConvert.SerializeObject(sendNozzleInfo);
                         HttpResponseMessage httpResponseMessage = await _httpClientUtils.SendNozzleInfo(requestJson);
-                        Logger.Info($"send nozzle response : {httpResponseMessage.Content}");
+                        string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                        Logger.Info($"send nozzle response : {responseJson}");
                     } else
                     {
                         UpdateNozzleInfo updateNozzleInfo = new UpdateNozzleInfo(id, nozzleInfoInput, fccTankInfo);
                         var requestJson = JsonConvert.SerializeObject(updateNozzleInfo);
                         HttpResponseMessage httpResponseMessage = await _httpClientUtils.UpdateNozzleInfo(requestJson);
-                        Logger.Info($"update nozzle response : {httpResponseMessage.Content}");
+                        string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                        Logger.Info($"update nozzle response : {responseJson}");
                     }
                 }
                 catch (Exception e)
@@ -93,14 +96,24 @@ namespace FccLite.Web.Services.FccNozzleInfo
                         SendNozzleInfo sendNozzleInfo = new SendNozzleInfo(id, nozzleInfoInput, fccTankInfo);
                         var requestJson = JsonConvert.SerializeObject(sendNozzleInfo);
                         HttpResponseMessage httpResponseMessage = await _httpClientUtils.SendNozzleInfo(requestJson);
-                        Logger.Info($"send nozzle response : {httpResponseMessage.Content}");
+                        string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                        Logger.Info($"send nozzle response : {responseJson}");
+                        Response<UploadNozzleInfoResponse>? response = JsonConvert.DeserializeObject<Response<UploadNozzleInfoResponse>>(responseJson);
+                        if(response?.data?.Id != null)
+                        {
+                            nozzleInfoInput.Id = id;
+                            nozzleInfoInput.CloundNozzleId = response?.data.Id;
+                            await _nozzleInfoReposity.UploadNozzleInfoFroMachine(nozzleInfoInput);
+                        }
+                        
                     }
                     else
                     {
                         UpdateNozzleInfo updateNozzleInfo = new UpdateNozzleInfo(id, nozzleInfoInput, fccTankInfo);
                         var requestJson = JsonConvert.SerializeObject(updateNozzleInfo);
                         HttpResponseMessage httpResponseMessage = await _httpClientUtils.UpdateNozzleInfo(requestJson);
-                        Logger.Info($"update nozzle response : {httpResponseMessage.Content}");
+                        string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                        Logger.Info($"update nozzle response : {responseJson}");
                     }
                 }
                 catch (Exception e)
@@ -163,7 +176,8 @@ namespace FccLite.Web.Services.FccNozzleInfo
                     DeleteNozzleInfo deleteNozzleInfo = new DeleteNozzleInfo(fccNozzleInfo);
                     var requestJson = JsonConvert.SerializeObject(deleteNozzleInfo);
                     HttpResponseMessage httpResponseMessage = await _httpClientUtils.DeleteNozzleInfo(requestJson);
-                    Logger.Info($"delete nozzle response : {httpResponseMessage.Content}");
+                    string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                    Logger.Info($"delete nozzle response : {responseJson}");
                 }
                 catch (Exception e)
                 {

+ 7 - 3
src/FccLife.Web/Services/FccOilInfo/OilInfoServiceImpl.cs

@@ -35,7 +35,9 @@ namespace FccLite.Web.Services.FccOilInfo
                     DeleteOilInfo deleteOilInfo = new DeleteOilInfo(fccOilInfo);
                     string requestJson = JsonConvert.SerializeObject(deleteOilInfo);
                     HttpResponseMessage httpResponseMessage = await _httpClientUtils.DeleteOilInfo(requestJson);
-                    Logger.Info($"delete oilInfo response : {httpResponseMessage.Content}");
+
+                    string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                    Logger.Info($"delete oilInfo response : {responseJson}");
                 } catch (Exception e)
                 {
                     Logger.Error($"delete nozzle to cloud error:{e.Message}", e);
@@ -110,14 +112,16 @@ namespace FccLite.Web.Services.FccOilInfo
                     SendOilInfo sendOilInfo = new SendOilInfo(id, oilInfoInput);
                     var requestJson = JsonConvert.SerializeObject(sendOilInfo);
                     HttpResponseMessage httpResponseMessage = await _httpClientUtils.SendOilInfo(requestJson);
-                    Logger.Info($"send oilInfo response : {httpResponseMessage.Content}");
+                    string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                    Logger.Info($"send oilInfo response : {responseJson}");
                 }
                 else
                 {
                     UpdateOilInfo updateOilInfo = new UpdateOilInfo(id, oilInfoInput);
                     var requestJson = JsonConvert.SerializeObject(updateOilInfo);
                     HttpResponseMessage httpResponseMessage = await _httpClientUtils.UpdateOilInfo(requestJson);
-                    Logger.Info($"update oilInfo response : {httpResponseMessage.Content}");
+                    string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                    Logger.Info($"update oilInfo response : {responseJson}");
                 }
             }
             catch (Exception e)

+ 6 - 3
src/FccLife.Web/Services/FccTankInfo/TankInfoServiceImpl.cs

@@ -81,7 +81,8 @@ namespace FccLite.Web.Services.FccTankInfo
                     SendTankInfo sendTankInfo = new SendTankInfo(id,addTankInput);
                     string requestJson = JsonConvert.SerializeObject(sendTankInfo);
                     HttpResponseMessage httpResponseMessage = await _httpClientUtil.SendTankInfo(requestJson);
-                    Logger.Info($"add tank response : {httpResponseMessage.Content}");
+                    string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                    Logger.Info($"add tank response : {responseJson}");
                 } catch(Exception e)
                 {
                     Logger.Error($"add tank to cloud error:{e.Message}", e);
@@ -115,7 +116,8 @@ namespace FccLite.Web.Services.FccTankInfo
                     UpdateTankInfo updateTankInfo = new UpdateTankInfo(id, updateTankInput);
                     string requestJson = JsonConvert.SerializeObject(updateTankInfo);
                     HttpResponseMessage httpResponseMessage = await _httpClientUtil.UpdateTankInfo(requestJson);
-                    Logger.Info($"update tank response : {httpResponseMessage.Content}");
+                    string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                    Logger.Info($"update tank response : {responseJson}");
                 }
                 catch (Exception e)
                 {
@@ -150,7 +152,8 @@ namespace FccLite.Web.Services.FccTankInfo
                     DeleteTankInfo deleteTankInfo = new DeleteTankInfo(fccTankInfo);
                     string requestJson = JsonConvert.SerializeObject(deleteTankInfo);
                     HttpResponseMessage httpResponseMessage = await _httpClientUtil.DeleteTankInfo(requestJson);
-                    Logger.Info($"delete tank response : {httpResponseMessage.Content}");
+                    string responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
+                    Logger.Info($"delete tank response : {responseJson}");
                 }
                 catch (Exception e)
                 {

+ 1 - 1
src/FccLife.Web/nlog.config

@@ -9,7 +9,7 @@
 
 	<targets>
 		<!-- 将日志写入文件 -->
-		<target xsi:type="File" name="file" archiveAboveSize="20480" archiveEvery="Day" archiveNumbering="Sequence" maxArchiveFiles="7" fileName="${basedir}/logs/nlog-${shortdate}.log"
+		<target xsi:type="File" name="file" archiveAboveSize="20480000" archiveEvery="Day" archiveNumbering="Sequence" maxArchiveFiles="7" fileName="${basedir}/logs/nlog-${shortdate}.log"
 		layout="${date:format=HH\:mm\:ss.fff} [${threadid}:${level:uppercase=true}]${logger} - ${message} ${exception}" />
 
 		<!-- 将日志写入控制台 -->