From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 30 十二月 2019 13:32:33 +0800 Subject: [PATCH] 2019-12-30-1 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 124 ++++++++++++++++++++++------------------ 1 files changed, 68 insertions(+), 56 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index e5d7071..ea5c735 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs @@ -117,10 +117,20 @@ { return; } + + List<string> listBackupGwId = new List<string>(); + var fileData = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.BackupGatewayIdFile); + if (fileData != null) + { + //鏂板锛氳櫧鐒舵鐜囦綆锛屼絾鏄‘瀹炲彂鐢熶簡銆傚鏋滄湁缃戠粶鏃讹紝App閲嶆柊缁戝畾璁板綍鐨勭綉鍏冲け璐ョ殑璇� + //涓嶅簲璇ュ垹闄ゅ畠 + listBackupGwId = JsonConvert.DeserializeObject<List<string>>(System.Text.Encoding.UTF8.GetString(fileData)); + } + List<string> listDelete = new List<string>(); foreach (var gatewayId in this.dicGateway.Keys) { - if (result.ContainsKey(gatewayId) == false) + if (result.ContainsKey(gatewayId) == false && listBackupGwId.Contains(gatewayId) == false) { //鏈湴瀛樺湪浜戠涓嶅瓨鍦ㄧ殑缃戝叧锛屽垯鍒犻櫎 listDelete.Add(gatewayId); @@ -707,7 +717,7 @@ //绉婚櫎 ZbGateway.GateWayList.RemoveAll((obj) => this.GetGatewayId(obj) == zbGatewayID); //鏂紑mqtt杩炴帴 - realWay.DisConnect("GD"); + realWay.DisConnectLocalMqttClient("GD"); return true; } @@ -1556,7 +1566,7 @@ //鏈�鍚庡啀鏂紑mqtt杩炴帴 for (int i = 0; i < list.Count; i++) { - list[i].DisConnect("G"); + list[i].DisConnectLocalMqttClient("G"); } list.Clear(); } @@ -1833,50 +1843,6 @@ realWay.Send("GwLinuxLocate_Respon", jObject.ToString()); } - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - /// <summary> - /// 寮瑰嚭缃戝叧涓嶅湪绾跨殑 - /// </summary> - private void ShowGatewayNotOnlineMsg() - { - Application.RunOnMainThread(() => - { - //缃戝叧杩炴帴澶辫触,璇风‘璁ょ綉缁� - string msg = Language.StringByID(R.MyInternationalizationString.uGatewayIsNotLinkAndCheckNetwork); - var control = new ShowMsgControl(ShowMsgType.Tip, msg); - control.Show(); - }); - } - - /// <summary> - /// 鏄剧ず閿欒淇℃伅绐楀彛 - /// </summary> - /// <param name="msg"></param> - private void ShowErrorMsg(string msg) - { - Application.RunOnMainThread(() => - { - var contr = new ShowMsgControl(ShowMsgType.Error, msg); - contr.Show(); - }); - } - - /// <summary> - /// 鏄剧ずTip淇℃伅绐楀彛 - /// </summary> - /// <param name="msg"></param> - private void ShowTipMsg(string msg) - { - Application.RunOnMainThread(() => - { - var contr = new ShowMsgControl(ShowMsgType.Tip, msg); - contr.Show(); - }); - } - #endregion #region 鈻� 缃戝叧鐩戣___________________________ @@ -2080,17 +2046,19 @@ { return; } - //鑾峰彇褰撳墠鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫佺殑鐣岄潰 - var listForm = new List<CommonFormBase>(); - listForm.AddRange(UserCenterResourse.listGatewayOnlinePushForm); - if (listForm.Count > 0) + //淇濆瓨褰撳墠婵�娲荤殑鐣岄潰ID + var listId = new List<string>(); + listId.AddRange(UserCenterResourse.listActionFormId); + for (int i = 0; i < listId.Count; i++) { - for (int i = 0; i < listChange.Count; i++) + if (UserCenterResourse.DicActionForm.ContainsKey(listId[i]) == false) { - foreach (var form in listForm) - { - form?.GatewayOnlinePush(listChange[i], listChangeStatu[i]); - } + continue; + } + //缃戝叧鍦ㄧ嚎鎺ㄩ�� + for (int j = 0; j < listChange.Count; j++) + { + UserCenterResourse.DicActionForm[listId[i]]?.GatewayOnlinePush(listChange[j], listChangeStatu[j]); } } } @@ -2644,5 +2612,49 @@ } #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 寮瑰嚭缃戝叧涓嶅湪绾跨殑 + /// </summary> + private void ShowGatewayNotOnlineMsg() + { + Application.RunOnMainThread(() => + { + //缃戝叧杩炴帴澶辫触,璇风‘璁ょ綉缁� + string msg = Language.StringByID(R.MyInternationalizationString.uGatewayIsNotLinkAndCheckNetwork); + var control = new ShowMsgControl(ShowMsgType.Tip, msg); + control.Show(); + }); + } + + /// <summary> + /// 鏄剧ず閿欒淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + private void ShowErrorMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Error, msg); + contr.Show(); + }); + } + + /// <summary> + /// 鏄剧ずTip淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + private void ShowTipMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, msg); + contr.Show(); + }); + } + + #endregion } } -- Gitblit v1.8.0