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