From edf7c324bea0556a3df9096dd41d668a9d41bf51 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 13 五月 2020 15:58:29 +0800
Subject: [PATCH] 改版是门锁新功能需要给测试部的版本

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
old mode 100644
new mode 100755
index 4c2b01e..0e0fbce
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
@@ -546,7 +546,7 @@
                     {
                         HdlThreadLogic.Current.RunThread(async () =>
                         {
-                            //娓╁眳鍩庣殑瑕佺綉鍏充腑鏄惁鏈夐�昏緫瀛樺湪
+                            //娓╁眳鍩庣殑瑕佺綉鍏充腑鏄惁鏈夐�昏緫瀛樺湪 
                             //鍙傛暟:2-甯稿紑鑷姩鍖�;3-澶辨晥鏃堕棿鑷姩鍖�
                             var result = await Shared.Phone.Device.Logic.SkipView.Exist(2);
                             HdlThreadLogic.Current.RunMain(() =>
@@ -571,7 +571,7 @@
         /// 璁惧鍦ㄧ嚎鐘舵�佹洿鏂板弽棣�
         /// </summary>
         /// <param name="receiveData"></param>
-        private void DeviceOnlineChangePush(JObject receiveData)
+        private void DeviceOnlineChangePush (JObject receiveData)
         {
             if (this.dicDeviceEvent.Count == 0)
             {
@@ -582,13 +582,18 @@
             tempDevice.IsOnline = Convert.ToInt32(receiveData["Data"]["IsOnline"].ToString());
 
             //澶勭悊缃戝叧涓婃姤鐨勬暟鎹�,鐒跺悗鍙樻洿鏈湴缂撳瓨
-            var locadevice = Common.LocalDevice.Current.GetDevice(tempDevice.DeviceAddr, tempDevice.DeviceEpoint);
-            if (locadevice != null)
+            var locadevice = Common.LocalDevice.Current.GetDevicesByMac(tempDevice.DeviceAddr);
+            for (int i = 0; i < locadevice.Count; i++)
             {
-                locadevice.IsOnline = tempDevice.IsOnline;
+                bool onlineChanged = locadevice[i].IsOnline != tempDevice.IsOnline;
+                locadevice[i].IsOnline = tempDevice.IsOnline;
                 //璁板綍鍥炲鏃堕棿
-                locadevice.LastDateTime = DateTime.Now;
-                locadevice.ReSave();
+                locadevice[i].LastDateTime = DateTime.Now;
+                if (onlineChanged == true)
+                {
+                    //鍦ㄧ嚎鐘舵�佸彉鏇翠簡,鎵嶄繚瀛�
+                    locadevice[i].ReSave();
+                }
             }
 
             this.DeviceReportPush(tempDevice, ReceiveComandDiv.A璁惧鍦ㄧ嚎涓婃姤);

--
Gitblit v1.8.0