Jelajahi Sumber

1. 調整取佔用費金額 取不到資料應回覆Reject

Jessica Tseng 2 tahun lalu
induk
melakukan
0398984f4d

+ 35 - 25
EVCB_OCPP.WSServer/Message/CoreProfileHandler.cs

@@ -21,6 +21,7 @@ using System.Data.SqlClient;
 using System.Diagnostics;
 using System.Globalization;
 using System.Linq;
+using System.Net;
 using System.Threading.Tasks;
 
 namespace EVCB_OCPP.WSServer.Message
@@ -198,7 +199,6 @@ namespace EVCB_OCPP.WSServer.Message
                             }
                             if (_request.messageId == "ID_GetOccupancyFee")
                             {
-
                                 var getOccupancyFee = JsonConvert.DeserializeObject<ID_GetOccupancyFee>(_request.data);
                                 ID_GetOccupancyFeeResult occupancyFeeResult = new ID_GetOccupancyFeeResult()
                                 {
@@ -211,41 +211,51 @@ namespace EVCB_OCPP.WSServer.Message
                                     ChargeBoxId = session.ChargeBoxId,
                                     occupancySN = getOccupancyFee.occupancySN
 
-                                };
-
+                                };                           
                                 var response = await httpClient.Post(GlobalConfig.TCC_API_URL + "occupancy_payment", new Dictionary<string, string>()
                                         {
                                             { "PartnerId",session.CustomerId.ToString()}
 
-                                        }, report, GlobalConfig.TCC_SALTKEY);
-
-                                logger.Debug(JsonConvert.SerializeObject(response));
-
-                                var _httpResult = JsonConvert.DeserializeObject<CPOOuterResponse>(response.Response);
-
-                                if (!string.IsNullOrEmpty(_httpResult.Data))
+                                        }, report, GlobalConfig.TCC_SALTKEY);                      
+                              
+                                if (!response.Success)
+                                {
+                                    confirm.status = DataTransferStatus.Rejected;
+                                    confirm.data = JsonConvert.SerializeObject(occupancyFeeResult);
+                                }
+                                else
                                 {
-                                    JObject jo = JObject.Parse(_httpResult.Data);
-                                    if (jo.ContainsKey("ChargeEndTime"))
+                                  
+                                    var _httpResult = JsonConvert.DeserializeObject<CPOOuterResponse>(response.Response);
+                                    if (_httpResult.StatusCode != 1000)
                                     {
-                                        occupancyFeeResult.startTime = jo["ChargeEndTime"].Value<string>();
-
+                                        confirm.status = DataTransferStatus.Rejected;
+                                        confirm.data = JsonConvert.SerializeObject(occupancyFeeResult);
                                     }
-
-                                    if (jo.ContainsKey("OccupancyDuration"))
+                                    else
                                     {
-                                        occupancyFeeResult.duration = jo["OccupancyDuration"].Value<int>();
-                                    }
+                                        confirm.status = DataTransferStatus.Accepted;
+                                    
+                                        JObject jo = JObject.Parse(_httpResult.Data);
+                                        if (jo.ContainsKey("ChargeEndTime"))
+                                        {
+                                            occupancyFeeResult.startTime = jo["ChargeEndTime"].Value<string>();
 
+                                        }
+                                        if (jo.ContainsKey("OccupancyDuration"))
+                                        {
+                                            occupancyFeeResult.duration = jo["OccupancyDuration"].Value<int>();
+                                        }
 
-                                    if (jo.ContainsKey("OccupancyFee"))
-                                    {
-                                        occupancyFeeResult.occupancyFee = jo["OccupancyFee"].Value<decimal>();
-                                    }
-                                }
+                                        if (jo.ContainsKey("OccupancyFee"))
+                                        {
+                                            occupancyFeeResult.occupancyFee = jo["OccupancyFee"].Value<decimal>();
+                                        }
 
-                                confirm.status = DataTransferStatus.Accepted;
-                                confirm.data = JsonConvert.SerializeObject(occupancyFeeResult);
+                                        confirm.data = JsonConvert.SerializeObject(occupancyFeeResult);
+
+                                    }                                   
+                                }
                             }
                             if (_request.messageId == "ID_OccupancyDeductResult")
                             {

+ 1 - 1
EVCB_OCPP.WSServer/Properties/AssemblyInfo.cs

@@ -35,4 +35,4 @@ using System.Runtime.InteropServices;
 [assembly: AssemblyVersion("0.1.0.0")]
 [assembly: AssemblyFileVersion("0.1.0.0")]
 
-[assembly: AssemblyInformationalVersion("238ef3e")]
+[assembly: AssemblyInformationalVersion("ef13130")]