From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:50:43 +0800
Subject: [PATCH] Revert "1"

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs |  300 +++++++++++++++++++++++++-----------------------------------
 1 files changed, 125 insertions(+), 175 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
index 4412688..fbdbaf9 100644
--- 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;
@@ -7,178 +7,48 @@
 
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
-    public class Send
+    public  class Send
     {
-        ///// <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";
-        ///// <summary>
-        ///// 鑾峰彇閫昏緫ID鍒楄〃
-        ///// </summary>
-        ///// <returns></returns>
-        //public const string getLogicId = "鑾峰彇閫昏緫ID";
-        ///// <summary>
-        ///// 鑾峰彇閫昏緫
-        ///// </summary>
-        ///// <returns></returns>
-        //public const string getLogic= "鑾峰彇閫昏緫璇︾粏";
-        ///// <summary>
-        ///// 娣诲姞鑷姩鍖栧懡浠�
-        ///// </summary>
-        ///// <returns></returns>
-        //public const string addLogic= "娣诲姞鏂伴�昏緫";
-        ///// <summary>
-        ///// 缂栬緫鏇存柊閫昏緫
-        ///// </summary>
-        ///// <returns></returns>
-        //public const string updateLogic = "缂栬緫閫昏緫";
-        ///// <summary>
-        ///// 鍒犻櫎閫昏緫
-        ///// </summary>
-        ///// <returns></returns>
-        //public const string delLogic = "鍒犻櫎閫昏緫";
-        ///// <summary>
-        ///// 閫昏緫寮�鍏�
-        ///// </summary>
-        ///// <returns></returns>
-        //public const string switchLogic = "閫昏緫寮�鍏�";
-        //public static ResponsePackNew Logic(string type,Logic logic) {
-        //    string url = "";
-        //    var jObject = new JObject { };
-        //    switch (type) {
-        //        case getLogicId: {
-        //                jObject.Add("homeId",homeId);
-        //                url = NewAPI.API_POST_Logic_List;
-        //            }
-        //            break;
-        //        case getLogic: {
-        //                var jArray = new JArray { };
-        //                jArray.Add(logic.userLogicId);
-        //                jObject.Add("userLogicIds", jArray);
-        //                url = NewAPI.API_POST_Logic_Info;
-        //            } break;
-        //        case addLogic: {
-        //                try
-        //                {
-        //                    var cycleJObject = new JObject { };
-        //                    var cyclevaluejArray = new JArray { };
-        //                    cycleJObject.Add("type", logic.cycle.type);
-        //                    foreach (var dictionary in logic.cycle.value)
-        //                    {
-        //                        cyclevaluejArray.Add(dictionary);
-        //                    }
-        //                    cycleJObject.Add("value", cyclevaluejArray);
-
-        //                    var inputArray = new JArray { };
-        //                    foreach (var dictionary in logic.input)
-        //                    {
-        //                        var inputTypeJOb = new JObject { };
-        //                        inputTypeJOb.Add("sid", dictionary.sid);
-        //                        inputTypeJOb.Add("condition_type", dictionary.condition_type);
-
-        //                        var conditionArray = new JArray { };
-        //                        foreach (var dic in dictionary.condition)
-        //                        {
-        //                            var conditionJOb = new JObject { };
-        //                            conditionJOb.Add("key", dic["key"]);
-        //                            conditionJOb.Add("comparator", dic["comparator"]);
-        //                            conditionJOb.Add("data_type", dic["data_type"]);
-        //                            conditionJOb.Add("value", dic["value"]);
-        //                            conditionArray.Add(conditionJOb);
-        //                        }
-        //                        inputTypeJOb.Add("condition", conditionArray);
-        //                        inputArray.Add(inputTypeJOb);
-        //                    }
-
-        //                    var outputArray = new JArray { };
-        //                    foreach (var dictionary in logic.output)
-        //                    {
-        //                        var outputTypeJOb = new JObject { };
-        //                        outputTypeJOb.Add("sid", dictionary.sid);
-        //                        outputTypeJOb.Add("target_type", dictionary.target_type);
-        //                        var statusArray = new JArray { };
-        //                        foreach (var dic in dictionary.status)
-        //                        {
-        //                            var statusJOb = new JObject { };
-        //                            statusJOb.Add("key", dic["key"]);
-        //                            statusJOb.Add("value", dic["value"]);
-        //                            statusArray.Add(statusJOb);
-        //                        }
-        //                        outputTypeJOb.Add("status", statusArray);
-        //                        outputArray.Add(outputTypeJOb);
-        //                    }
-
-        //                    var logicjArray = new JArray { };
-        //                    var logicIfon = new JObject { };
-        //                    logicIfon.Add("sid", logic.sid);
-        //                    logicIfon.Add("gatewayId", gatewayId);
-        //                    logicIfon.Add("name", logic.name);
-        //                    logicIfon.Add("relation", logic.relation);
-        //                    logicIfon.Add("enable", logic.enable);
-        //                    logicIfon.Add("cycle", cycleJObject);
-        //                    logicIfon.Add("input", inputArray);
-        //                    logicIfon.Add("output", outputArray);
-        //                    logicjArray.Add(logicIfon);
-        //                    var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
-        //                    responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add);
-
-        //                }
-        //                catch (Exception e)
-        //                {
-        //                    var dd = e.Message;
-        //                }
-        //            } break;
-        //        case updateLogic: {
-        //            } break;
-        //        case delLogic: { } break;
-        //        case switchLogic: { } break;
-
-
-        //    }
-
-        //    return RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add); 
-        //}
-
-
-
         /// <summary>
         /// 鑾峰彇閫昏緫ID鍒楄〃
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew getLogicIdList()
+        public static ResponsePackNew GetLogicIdList() 
         {
-            var jObject = new JObject { { "homeId", homeId } };
+            var jObject = new JObject { { "homeId", LogicMethod.HomeId } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                GetLogicIdList();
+            }
             return responsePackNew;
         }
         /// <summary>
         /// 鑾峰彇閫昏緫
         /// </summary>
+        /// <param name="listIdList">閫昏緫ID鍒楄〃</param>
         /// <returns></returns>
-        public static ResponsePackNew getLogic(Logic logic)
+        public static ResponsePackNew GetLogic(List<string> listIdList)
         {
             var jArray = new JArray { };
-            jArray.Add(logic.userLogicId);
+            for (int i = 0; i < listIdList.Count; i++)
+            {
+                jArray.Add(listIdList[i]);
+            }
             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>
@@ -222,6 +92,7 @@
                 {
                     var outputTypeJOb = new JObject { };
                     outputTypeJOb.Add("sid", dictionary.sid);
+                    outputTypeJOb.Add("delay", dictionary.delay);
                     outputTypeJOb.Add("target_type", dictionary.target_type);
                     var statusArray = new JArray { };
                     foreach (var dic in dictionary.status)
@@ -235,27 +106,55 @@
                     outputArray.Add(outputTypeJOb);
                 }
 
+
+                var noticeConfigJObject = new JObject();
+                noticeConfigJObject.Add("enable", logic.noticeConfig.enable);
+                noticeConfigJObject.Add("noticeContent", logic.noticeConfig.noticeContent);
+
+                var pushConfigsArray = new JArray { };
+                if (logic.pushConfigs.Count > 0)
+                {   //聽鎺ㄩ�佹枃鏈�
+                    foreach (var pushConfig in logic.pushConfigs)
+                    {
+                       
+                        var pushConfigJob = new JObject { };
+                        pushConfigJob.Add("pushMethod", pushConfig.pushMethod);
+                        var accountArray = new JArray { };
+                        foreach (var account in pushConfig.pushTarget)
+                        {
+                            accountArray.Add(account);
+                        }
+                        pushConfigJob.Add("pushTarget", accountArray);
+                        pushConfigsArray.Add(pushConfigJob);
+                    }
+                }
+
                 var logicjArray = new JArray { };
                 var logicIfon = new JObject { };
                 logicIfon.Add("sid", logic.sid);
-                logicIfon.Add("gatewayId", gatewayId);
+                logicIfon.Add("gatewayId", LogicMethod.GatewayId);
                 logicIfon.Add("name", logic.name);
                 logicIfon.Add("relation", logic.relation);
                 logicIfon.Add("enable", logic.enable);
                 logicIfon.Add("cycle", cycleJObject);
                 logicIfon.Add("input", inputArray);
                 logicIfon.Add("output", outputArray);
+                logicIfon.Add("noticeConfig", noticeConfigJObject);
+                logicIfon.Add("pushConfigs", pushConfigsArray);
                 logicjArray.Add(logicIfon);
-                var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
-                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add);
-
+                var jObject = new JObject { { "homeId", LogicMethod.HomeId }, { "logics", logicjArray } };
+                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add,5);
+                //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+                {
+                    RefreshToken();
+                    AddLogic(logic);
+                }
             }
             catch (Exception e)
             {
                 var dd = e.Message;
             }
-
-
             return responsePackNew;
         }
         /// <summary>
@@ -263,7 +162,7 @@
         /// </summary>
         /// <param name="logic"></param>
         /// <returns></returns>
-        public static ResponsePackNew updateLogic(Logic logic)
+        public static ResponsePackNew UpdateLogic(Logic logic)
         {
             ResponsePackNew responsePackNew = null;
             try
@@ -289,7 +188,10 @@
                     {
                         var conditionJOb = new JObject { };
                         conditionJOb.Add("key", dic["key"]);
-                        conditionJOb.Add("comparator", dic["comparator"]);
+                        var c1 = "";
+                        dic.TryGetValue("comparator", out c1);
+                        c1 = string.IsNullOrEmpty(c1) ? "" : c1;
+                        conditionJOb.TryAdd("comparator", c1);
                         conditionJOb.Add("data_type", dic["data_type"]);
                         conditionJOb.Add("value", dic["value"]);
                         conditionArray.Add(conditionJOb);
@@ -303,6 +205,7 @@
                 {
                     var outputTypeJOb = new JObject { };
                     outputTypeJOb.Add("sid", dictionary.sid);
+                    outputTypeJOb.Add("delay", dictionary.delay);
                     outputTypeJOb.Add("target_type", dictionary.target_type);
                     var statusArray = new JArray { };
                     foreach (var dic in dictionary.status)
@@ -316,66 +219,106 @@
                     outputArray.Add(outputTypeJOb);
                 }
 
+                var noticeConfigJObject = new JObject();
+                noticeConfigJObject.Add("enable", logic.noticeConfig.enable);
+                noticeConfigJObject.Add("noticeContent", logic.noticeConfig.noticeContent);
+
+                var pushConfigsArray = new JArray { };
+                if (logic.pushConfigs.Count > 0)
+                {
+                    //聽鎺ㄩ�佹枃鏈�
+                    foreach (var pushConfig in logic.pushConfigs)
+                    {
+
+                        var pushConfigJob = new JObject { };
+                        pushConfigJob.Add("pushMethod", pushConfig.pushMethod);
+                        var accountArray = new JArray { };
+                        foreach (var account in pushConfig.pushTarget)
+                        {
+                            accountArray.Add(account);
+                        }
+                        pushConfigJob.Add("pushTarget", accountArray);
+                        pushConfigsArray.Add(pushConfigJob);
+                    }
+                }
+
                 var logicjArray = new JArray { };
                 var logicIfon = new JObject { };
                 logicIfon.Add("userLogicId", logic.userLogicId);
                 logicIfon.Add("sid", logic.sid);
-                logicIfon.Add("gatewayId", gatewayId);
+                logicIfon.Add("gatewayId", LogicMethod.GatewayId);
                 logicIfon.Add("name", logic.name);
                 logicIfon.Add("relation", logic.relation);
                 logicIfon.Add("enable", logic.enable);
                 logicIfon.Add("cycle", cycleJObject);
                 logicIfon.Add("input", inputArray);
                 logicIfon.Add("output", outputArray);
-                logicjArray.Add(logicIfon);
-                var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
-                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update);
+                logicIfon.Add("noticeConfig", noticeConfigJObject);
+                logicIfon.Add("pushConfigs", pushConfigsArray);
 
+                logicjArray.Add(logicIfon);
+                var jObject = new JObject { { "homeId", LogicMethod.HomeId }, { "logics", logicjArray } };
+                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update,5);
+                //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+                {
+                    RefreshToken();
+                    UpdateLogic(logic);
+                }
             }
             catch (Exception e)
             {
                 var dd = e.Message;
             }
-
-
             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);
 
         }
-
         /// <summary>
         /// 璇锋眰鏈嶅姟鍣�
         /// </summary>
@@ -386,6 +329,13 @@
             return HttpUtil.RequestHttpsPost(api_Url, requestJson);
 
         }
-      
+        /// <summary>
+        /// 鍒锋柊Token
+        /// </summary>
+        public static void RefreshToken()
+        {
+            IMessageCommon.Current.StartRefreshToken();
+        }
+
     }
 }

--
Gitblit v1.8.0