From eb424d24e39bab4a245725f35deab3f234ea0f13 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 13 十二月 2019 10:48:50 +0800
Subject: [PATCH] 2019.12.13
---
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