From 263401d40b2d9d2c1b36a24f33d45c5cb7192518 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 23 十二月 2020 15:51:54 +0800
Subject: [PATCH] 20201223-6

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs |  114 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 82 insertions(+), 32 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
old mode 100644
new mode 100755
index 7dfdb0f..494a69d
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
@@ -1,4 +1,4 @@
-锘縰sing System;
+using System;
 using System.IO;
 using System.Net;
 using HDL_ON.DAL.Server;
@@ -10,31 +10,45 @@
     public  class Send
     {
         /// <summary>
+        /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID)
+        /// </summary>
+        public static string GatewayId
+        {
+            get
+            {
+                if (Entity.DB_ResidenceData.Instance.HomeGateway == null)
+                {
+                    return DriverLayer.Control.Ins.GatewayId;
+                }
+                return Entity.DB_ResidenceData.Instance.HomeGateway.gatewayId;
+            }
+        }
+         
+        /// <summary>
         /// 浣忓畢ID
         /// </summary>
-        public static string homeId = Entity.DB_ResidenceData.residenceData.CurReginID;
-        /// <summary>
-        /// 缃戝叧ID
-        /// </summary>
-        public static string gatewayId = DriverLayer.Control.Ins.GatewayId;
-
-        ///// <summary>
-        ///// 浣忓畢ID
-        ///// </summary>
-        //public static string homeId = "1333723044544233473";
-        ///// <summary>
-        ///// 缃戝叧ID
-        ///// </summary>
-        //public static string gatewayId = "1333723647223775233";
+        public static string HomeId
+        {
+            get
+            {
+                return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID; 
+            }
+        }
 
         /// <summary>
         /// 鑾峰彇閫昏緫ID鍒楄〃
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew getLogicIdList()
+        public static ResponsePackNew GetLogicIdList() 
         {
-            var jObject = new JObject { { "homeId", homeId } };
+            var jObject = new JObject { { "homeId", HomeId } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                GetLogicIdList();
+            }
             return responsePackNew;
         }
         /// <summary>
@@ -42,7 +56,7 @@
         /// </summary>
         /// <param name="listIdList">閫昏緫ID鍒楄〃</param>
         /// <returns></returns>
-        public static ResponsePackNew getLogic(List<string> listIdList)
+        public static ResponsePackNew GetLogic(List<string> listIdList)
         {
             var jArray = new JArray { };
             for (int i = 0; i < listIdList.Count; i++)
@@ -51,10 +65,16 @@
             }
             var jObject = new JObject { { "userLogicIds", jArray } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Info);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                GetLogic(listIdList);
+            }
             return responsePackNew;
         }
         /// <summary>
-        /// 娣诲姞鑷姩鍖栧懡浠�
+        /// 娣诲姞鑷姩鍖栧懡浠� 
         /// </summary>
         /// <param name="logic"></param>
         /// <returns></returns>
@@ -114,7 +134,7 @@
                 var logicjArray = new JArray { };
                 var logicIfon = new JObject { };
                 logicIfon.Add("sid", logic.sid);
-                logicIfon.Add("gatewayId", gatewayId);
+                logicIfon.Add("gatewayId", GatewayId);
                 logicIfon.Add("name", logic.name);
                 logicIfon.Add("relation", logic.relation);
                 logicIfon.Add("enable", logic.enable);
@@ -122,8 +142,14 @@
                 logicIfon.Add("input", inputArray);
                 logicIfon.Add("output", outputArray);
                 logicjArray.Add(logicIfon);
-                var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
+                var jObject = new JObject { { "homeId", HomeId }, { "logics", logicjArray } };
                 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add);
+                //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+                {
+                    RefreshToken();
+                    AddLogic(logic);
+                }
 
             }
             catch (Exception e)
@@ -139,7 +165,7 @@
         /// </summary>
         /// <param name="logic"></param>
         /// <returns></returns>
-        public static ResponsePackNew updateLogic(Logic logic)
+        public static ResponsePackNew UpdateLogic(Logic logic)
         {
             ResponsePackNew responsePackNew = null;
             try
@@ -196,7 +222,7 @@
                 var logicIfon = new JObject { };
                 logicIfon.Add("userLogicId", logic.userLogicId);
                 logicIfon.Add("sid", logic.sid);
-                logicIfon.Add("gatewayId", gatewayId);
+                logicIfon.Add("gatewayId", GatewayId);
                 logicIfon.Add("name", logic.name);
                 logicIfon.Add("relation", logic.relation);
                 logicIfon.Add("enable", logic.enable);
@@ -204,9 +230,14 @@
                 logicIfon.Add("input", inputArray);
                 logicIfon.Add("output", outputArray);
                 logicjArray.Add(logicIfon);
-                var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
+                var jObject = new JObject { { "homeId", HomeId }, { "logics", logicjArray } };
                 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update);
-
+                //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+                {
+                    RefreshToken();
+                    UpdateLogic(logic);
+                }
             }
             catch (Exception e)
             {
@@ -215,37 +246,49 @@
 
 
             return responsePackNew;
-        }
+        } 
         /// <summary>
         /// 鍒犻櫎閫昏緫
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew delLogic(Logic logic)
+        public static ResponsePackNew DelLogic(Logic logic)
         {
             var jArray = new JArray { };
             jArray.Add(logic.userLogicId);
             var jObject = new JObject { { "userLogicIds", jArray } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Delete);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                DelLogic(logic);
+            }
             return responsePackNew;
         }
-        /// <summary>
+        /// <summary> 
         /// 閫昏緫寮�鍏�
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew switchLogic(Logic logic)
+        public static ResponsePackNew SwitchLogic(Logic logic)
         {
             var jArray = new JArray { };
             var job = new JObject { { "userLogicId", logic.userLogicId } , { "enable", logic.enable } };
             jArray.Add(job);
             var jObject = new JObject { { "logics", jArray } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Enable);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                SwitchLogic(logic);
+            }
             return responsePackNew;
         }
         /// <summary>
-        ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛�
+        ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 10)
+        public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 3)
         {
             var requestJson = HttpUtil.GetSignRequestJson(o);
             return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
@@ -261,6 +304,13 @@
             return HttpUtil.RequestHttpsPost(api_Url, requestJson);
 
         }
-      
+        /// <summary>
+        /// 鍒锋柊Token
+        /// </summary>
+        public static void RefreshToken()
+        {
+            IMessageCommon.Current.StartRefreshToken();
+        }
+
     }
 }

--
Gitblit v1.8.0