From 4dce704aaf8587cf3f91cf88f2208315a03c4cbb Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 08 四月 2020 13:54:58 +0800
Subject: [PATCH] 先上传一个版本

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
index fd81325..9b7d7bf 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
@@ -145,7 +145,7 @@
                 //闂ㄩ攣涓婃姤
                 else if (topic == gatewayId + "/Alarms/SendAlarmInform")
                 {
-                    this.DoorLockDeviceReportPush(null);
+                    this.DoorLockDeviceReportPush(JObject.Parse(msgData));
                 }
                 //閫氳繃澶栭儴鏂瑰紡甯冮槻鎾ら槻鎴愬姛鏃舵姤鍛�
                 else if (topic == gatewayId + "/Security/EnOrWithdrawSucceedReport")
@@ -484,9 +484,25 @@
         /// <param name="receiveData"></param>
         private void DoorLockDeviceReportPush(JObject receiveData)
         {
-            //淇濆瓨闂ㄩ攣淇℃伅鍒版湰鍦�
-            //HdlAlarmsLogic.Current.SaveDoorLockAlarmInfo(receiveData);
-
+            //鍙湁寰愭鐨勯棬閿佺晫闈㈡病鏈夋墦寮�鐨勬儏鍐典笅,鎵嶄細澶勭悊杩欎釜涓滆タ
+            if (ControlCommonResourse.IsDoorLockPageOpen == false)
+            {
+                var device = Common.LocalDevice.Current.GetDevice(receiveData.Value<string>("DeviceAddr"), receiveData.Value<int>("Epoint"));
+                if ((device is ZigBee.Device.DoorLock) == false)
+                {
+                    //瀹冧笉鏄棬閿�
+                    return;
+                }
+                var info = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockAlarmsResult>(receiveData["Data"].ToString());
+                if (info.Clusterid == 257)
+                {
+                    //甯稿紑妯″紡寮�鍚�
+                    if (info.AlarmCode == 216)
+                    {
+                        DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device, DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush, null);
+                    }
+                }
+            }
             //鏄剧ず鏈夋柊娑堟伅鐨勭壒鏁�
             this.ShowHadNewMessageAppeal();
         }

--
Gitblit v1.8.0