From 94e4e5b9fd3da964c44b7b14227d6fe2bbb426d7 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期四, 02 四月 2020 13:56:39 +0800 Subject: [PATCH] 2020-04-02-2 --- ZigbeeApp/Shared/Phone/Device/Logic/Send.cs | 159 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 90 insertions(+), 69 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs index 4ff194e..8c89431 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs @@ -12,7 +12,7 @@ { public class Send { - #region ----鑾峰彇Logic + #region ----Logic鎵�鏈夊彂閫佸懡浠� /// <summary> /// 鑾峰彇LogicId鐨勬柟娉� /// </summary> @@ -54,11 +54,16 @@ return logicIdList; } mainGateWay.GwResDataAction += action; - - var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2004 } }; - var jObjectdata1 = new JObject { { "LogicType", LogicType } }; - jObject.Add("Data", jObjectdata1); - mainGateWay?.Send("Logic/GetLogicList", jObject.ToString()); + try + { + var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2004 } }; + var jObjectdata1 = new JObject { { "LogicType", LogicType } }; + jObject.Add("Data", jObjectdata1); + mainGateWay?.Send("Logic/GetLogicList", jObject.ToString()); + } + catch(Exception e) { + var d = e.Message; + } //await System.Threading.Tasks.Task.Run(async () => //{ var dateTime = DateTime.Now; @@ -260,7 +265,7 @@ try { - + var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2000 } }; var selectMonthList = new JArray { }; foreach (var intvalue in logic.TimeAttribute.SelectMonDate) @@ -292,6 +297,7 @@ ["RemindTime"] = int.Parse(dictionary["RemindTime"]), ["EnDelay"] = int.Parse(dictionary["EnDelay"]), ["DelayTime"] = int.Parse(dictionary["DelayTime"]), + ["DoorLockOpenDelayTime"] = int.Parse(dictionary["DoorLockOpenDelayTime"]), }; if (dictionary["DateType"].ToString() == "0") { @@ -388,7 +394,7 @@ ["Type"] = int.Parse(dictionary["Type"]), ["IsValid"] = int.Parse(dictionary["IsValid"]), ["AtHome"] = int.Parse(dictionary["AtHome"]), - ["WhoSiteUId"] =dictionary["WhoSiteUId"], + ["WhoSiteUId"] = dictionary["WhoSiteUId"], }; conditions.Add(diliInfo); break; @@ -462,6 +468,16 @@ }; actions.Add(timeInfo); break; + case 8: + var lockInfo = new JObject + { + ["LinkType"] = int.Parse(dictionary["LinkType"].ToString()), + ["DeviceAddr"] = dictionary["DeviceAddr"].ToString(), + ["Epoint"] = int.Parse(dictionary["Epoint"].ToString()), + ["PassData"] =dictionary["PassData"].ToString(), + }; + actions.Add(lockInfo); + break; } } var accounts = new JArray(); @@ -480,6 +496,7 @@ ["Type"] = int.Parse(dictionary["Type"]), ["Account"] = dictionary["Account"], ["UserId"] = dictionary["UserId"], + ["AccountName"] = dictionary["AccountName"], }; accounts.Add(accounts1); @@ -503,6 +520,7 @@ } } + var data = new JObject{ { "LogicId",logic.LogicId}, { "IsEnable", logic.IsEnable} , @@ -510,6 +528,7 @@ { "Relationship",logic.Relationship} , { "LogicType",logic.LogicType} , { "LogicCustomPushText",logic.LogicCustomPushText} , + { "LogicIsCustomPushText",logic.LogicIsCustomPushText} , { "TimeAttribute", timeAttribute} , { "Conditions", conditions }, { "Actions", actions }, @@ -576,6 +595,7 @@ date.Add("LogicName", logic.LogicName); date.Add("Relationship", logic.Relationship); date.Add("LogicCustomPushText", logic.LogicCustomPushText); + date.Add("LogicIsCustomPushText", logic.LogicIsCustomPushText); mainGateWay?.Send("Logic/ReviseAttribute", jObject.ToString()); //await System.Threading.Tasks.Task.Run(async () => //{ @@ -623,7 +643,8 @@ logic.LogicName = Logicifon["LogicName"].ToString(); logic.LogicType = int.Parse(Logicifon["LogicType"].ToString()); logic.Relationship = int.Parse(Logicifon["Relationship"].ToString()); - logic.LogicCustomPushText =Logicifon["LogicCustomPushText"].ToString(); + logic.LogicCustomPushText = Logicifon["LogicCustomPushText"].ToString(); + logic.LogicIsCustomPushText = int.Parse(Logicifon["LogicIsCustomPushText"].ToString()); logic.TimeAttribute = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.TimeAttributeObj>(Logicifon["TimeAttribute"].ToString()); logic.Conditions = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Conditions"].ToString()); logic.Accounts = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Accounts"].ToString()); @@ -694,7 +715,7 @@ } catch { } var dateTime = DateTime.Now; - while ((DateTime.Now - dateTime).TotalMilliseconds < 8 * 1000) + while ((DateTime.Now - dateTime).TotalMilliseconds < 5* 1000) { await System.Threading.Tasks.Task.Delay(100); if (sum == listLogic.Count) @@ -710,44 +731,6 @@ return listLogic; }); } - // <summary> - /// 閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О - /// </summary> - /// <param name="btnregionname">Btnregionname.</param> - /// <param name="device">Device.</param> - public static void RoomNmae(Button btnregionname, CommonDevice device) - { - var room = new Common.Room(); - btnregionname.Text = room.GetRoomNameByDevice(device); - } - - public static List<Common.Room> GetRoomList(string floorId) - { - return Common.Room.Lists.FindAll((obj) => obj.FloorId == floorId); - //var list1 = new List<Common.Room>(); - /////鎵惧埌鏌愭ゼ灞傛埧闂村垪琛紱 - //var list = Common.Room.Lists.FindAll((obj) => obj.FloorId == floorId); - //for (int i = 0; i < list.Count; i++) - //{ - // if (str == "device") - // { - // if (list[i].DeviceUIList.Count != 0) - // { ///杩囨护鎺夋病鏈夎澶囩殑鎴块棿 - // list1.Add(list[i]); - // } - // } - // else - // { - // if (list[i].SceneUIList.Count != 0) - // { ///杩囨护鎺夋病鏈夊満鏅殑鎴块棿 - // list1.Add(list[i]); - // } - // } - //} - /////杩斿洖鎴块棿鍒楄〃锛� - //return list1; - } - /// <summary> /// 鑾峰彇鍦烘櫙淇℃伅鐨勬柟娉� @@ -773,7 +756,7 @@ sceneui = new SceneUI(); sceneui.Name = jObjectdata["Data"]["ScenesName"].ToString(); sceneui.Id = int.Parse(jObjectdata["Data"]["ScenesId"].ToString()); - + } }; var mainGateWay = ZbGateway.MainGateWay; @@ -792,7 +775,7 @@ while ((DateTime.Now - dateTime).TotalMilliseconds < 3 * 1000) { await System.Threading.Tasks.Task.Delay(100); - if (sceneui!=null) + if (sceneui != null) { break; } @@ -804,7 +787,7 @@ #endregion #region ----鑾峰彇闂ㄩ攣 - + /// <summary> /// 鑾峰彇鑷繁+鍏朵粬鎴愬憳淇℃伅 /// </summary> @@ -855,7 +838,13 @@ if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3) { var pra = new UserCenter.MemberListInfoPra(); - string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); + string result = ""; + if (AllUserIfon.Count != 0) + { + //鏈嶅姟杩斿洖鏉ユ病鏈夐棬閿佹垚鍛樹俊鎭紝娌℃湁蹇呰鍐嶅幓璇锋眰鎴愬憳鍒楄〃锛� + //鍘熷洜锛氳妭绾︽椂闂达紝浣撻獙鏁堟灉濂斤紱 + result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); + } var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result); for (int i = 0; i < listInfo.Count; i++) { @@ -946,7 +935,7 @@ { string s = null; var str = await WebClientAsync(0, CommonPage.RequestHttpsHost + "/App/GetHomePager");//涓嶅悓鍖哄煙鍩熷悕鍓嶇紑涓嶄竴鏍� - // var str = await WebClientAsync(0, "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetHomePager"); + var jObject = JObject.Parse(str); if (jObject == null || jObject["StateCode"].ToString() != "Success") { @@ -971,13 +960,11 @@ residential.IsOtherAccountCtrl = true; residential.doorlockmac = doorlockMac; residential.Url = CommonPage.RequestHttpsHost + "/App/GetSharedHomeApiControl"; - //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetSharedHomeApiControl"; s = await ReadUserDoorLock(residential); } else { residential.Url = CommonPage.RequestHttpsHost + "/DoorLock/GetDoorLockPager"; - //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/DoorLock/GetDoorLockPager"; residential.Token = Config.Instance.Token; residential.Id = Config.Instance.HomeId; residential.IsOtherAccountCtrl = false; @@ -1010,16 +997,7 @@ lockifon.doorlockmac = residential.doorlockmac; return await WebClientAsync(2, lockifon.Url, lockifon); } - - //鎵撳嵃NameValueCollection()鏄剧ず绱㈠紩, 閿�,鍊� - public static void PrintKeysAndValues2(NameValueCollection myCol) - { - for (int i = 0; i < myCol.Count; i++) - { - //鎵撳嵃鏄剧ず绱㈠紩, 閿�,鍊� - Console.WriteLine("[{0}]{1,-10} {2}", i, myCol.GetKey(i), myCol.Get(i)); - } - } + public class Residential { /// <summary> @@ -1128,6 +1106,33 @@ public static UserCenter.MemberInfoRes UserMemberInfoRes = null; #endregion + /// <summary> + /// 鑷繁鐢ㄧ殑鍙戦�佺殑鏂规硶 + /// </summary> + /// <param name="tag">鏍囪鏄偅鏉″懡浠�</param> + /// <param name="logic">閫昏緫瀵硅薄</param> + public static void Zj(bool tag, Common.Logic logic) + { + new System.Threading.Thread(() => + { + if (logic.LogicId != 0) + { + if (tag) + { + Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } + else + { + Data("鍒犻櫎", "/App/DelHomeLogicConfig", "POST"); + } + ///鍙敼鎺ㄩ�佸唴瀹癸紱 + LogicControlSwitch(logic); + } + + }) + { IsBackground = true }.Start(); + } + #region 璇锋眰鏈嶅姟鍣ㄦ柟娉�--- /// <summary> /// 璇锋眰鏁版嵁鐨勫皝瑁呮柟娉� @@ -1137,9 +1142,9 @@ /// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param> /// <param name="obj">瀛樺偍鍙戦�佹暟鎹殑瀵硅薄</param> /// <returns></returns> - public static async System.Threading.Tasks.Task<string>Data(string command, string url, string method, object obj = null) + public static async System.Threading.Tasks.Task<string> Data(string command, string url, string method, object obj = null) { - var getUrl =""; + var getUrl = ""; var jObject = new JObject(); if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1) { @@ -1184,7 +1189,7 @@ /// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param> /// <param name="second">瓒呮椂鏃堕棿</param> /// <returns></returns> - public static async System.Threading.Tasks.Task<string>HttpWebRequest(string getUrl, string str, string method,int second= 3) + public static async System.Threading.Tasks.Task<string> HttpWebRequest(string getUrl, string str, string method, int second = 3) { HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //鍒涘缓璇锋眰 request.Method = method; //璇锋眰鏂瑰紡涓篜OST/GET @@ -1237,7 +1242,6 @@ postValues.Add("LoginAccessToken", Config.Instance.Token); postValues.Add("MainAccountId", residential.MainUserDistributedMark); postValues.Add("SharedHid", residential.Id); - } break; case 2: @@ -1293,5 +1297,22 @@ return System.Text.Encoding.UTF8.GetString(varByte); } #endregion + + /// <summary> + /// 鍒ゆ柇瀛楀吀鏄惁瀛樺湪鐨勬柟娉� + /// </summary> + /// <param name="deviceConditionsInfo"></param> + /// <param name="Key"></param> + /// <param name="Value"></param> + public static void dictionary(Dictionary<string, string> deviceConditionsInfo, string Key, string Value) + { + if (deviceConditionsInfo.ContainsKey(Key)) + { + deviceConditionsInfo.Remove(Key); + } + deviceConditionsInfo.Add(Key, Value); + } + + } } -- Gitblit v1.8.0