xm
2020-05-13 edf7c324bea0556a3df9096dd41d668a9d41bf51
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
old mode 100644 new mode 100755
@@ -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设备在线上报);