黄学彪
2020-09-18 c7df85937f73fb347ee0b19e9c052d2d00a6df6c
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
@@ -77,7 +77,7 @@
                this.ShowTipMsg(msg);
                return false;
            }
            var mainWayId = HdlGatewayLogic.Current.GetGatewayId(mainGateway);
            var mainWayId = mainGateway.GwId;
            //主题数固定5+3+1
            int topicCount = 9;
@@ -104,7 +104,7 @@
                {
                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
                    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.Safeguard.ErrorResponData>(jobject["Data"].ToString());
                    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                    if (temp != null)
                    {
                        string msg = HdlCheckLogic.Current.CheckCommonErrorCode(temp.Error);
@@ -184,9 +184,11 @@
            var dateTime = DateTime.Now;
            while ((DateTime.Now - dateTime).TotalMilliseconds < 3000)
            {
                if (topicCount <= 0 || error == true)
                //if (error == true) { break; }
                if (topicCount <= 0)
                {
                    //9次主题全部接收完成
                    await Task.Delay(1000);
                    break;
                }
                await Task.Delay(50);
@@ -230,6 +232,9 @@
            SafeguardZoneInfo zoneInfo = this.dicAllZoneInfo[allData.ZoneId];
            zoneInfo.ZoneId = allData.ZoneId;
            zoneInfo.ZoneName = allData.ZoneName;
            //信息推送
            zoneInfo.InformationPush = allData.IsDisablePushMessage;
            //处理设备
            foreach (var data2 in allData.DeviceList)
@@ -285,9 +290,6 @@
            zoneInfo.dicAlarmDevice.Clear();
            zoneInfo.dicScenes.Clear();
            //信息推送
            zoneInfo.InformationPush = resData.IsDisablePushMessage;
            foreach (var data in resData.Actions)
            {
@@ -455,7 +457,7 @@
            foreach (var device in listdevice)
            {
                int MomentStatus = 1;
                int TriggerZoneStatus = 1;
                int TriggerZoneStatus = 3;
                //获取安防传感器的瞬间状态设定值
                this.GetSafeguardSensorMomentStatus(device, ref MomentStatus, ref TriggerZoneStatus);
@@ -594,43 +596,43 @@
            if (device.IasDeviceType == 13)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //烟雾传感器
            else if (device.IasDeviceType == 40)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //水侵传感器
            else if (device.IasDeviceType == 42)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //燃气传感器
            else if (device.IasDeviceType == 43)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //紧急按钮
            else if (device.IasDeviceType == 44)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //钥匙扣
            else if (device.IasDeviceType == 277)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //门窗传感器
            else if (device.IasDeviceType == 21 || device.IasDeviceType == 22)
            {
                MomentStatus = 0;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //如果是虚拟设备,则这个东西永恒为0
            if (device.DriveCode > 0)
@@ -1154,10 +1156,10 @@
                    }
                    else if (data.Type == "1")
                    {
                        var scene = Common.SceneRoomUI.AllSceneRoomUIList.Find((obj) => obj.sceneUI.Id == data.ScenesId);
                        var scene = HdlSceneLogic.Current.GetSceneUIBySceneId(data.ScenesId);
                        if (scene != null)
                        {
                            string msg = scene.sceneUI.Name + "\r\n";
                            string msg = scene.Name + "\r\n";
                            //目标场景不存在
                            msg += Language.StringByID(R.MyInternationalizationString.uTargetSceneIsNotExsit);
                            this.ShowTipMsg(msg);
@@ -1366,7 +1368,7 @@
            if (this.UserPassword == null)
            {
                var data = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardUserPassword);
                var data = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.SafeguardUserPassword);
                if (data != null)
                {
                    this.UserPassword = System.Text.Encoding.UTF8.GetString(data);
@@ -1384,7 +1386,7 @@
                if (result != GarrisonMode.None && result != GarrisonMode.RemoveGarrison)
                {
                    //保存加密的密码到本地
                    Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardUserPassword, System.Text.Encoding.UTF8.GetBytes(this.UserPassword));
                    HdlFileLogic.Current.SaveTextToFile(DirNameResourse.SafeguardUserPassword, this.UserPassword);
                }
                return result;
            }
@@ -1473,7 +1475,7 @@
                    if (result2 != GarrisonMode.None && result2 != GarrisonMode.RemoveGarrison)
                    {
                        //保存加密密码到本地
                        Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardUserPassword, System.Text.Encoding.UTF8.GetBytes(this.UserPassword));
                        HdlFileLogic.Current.SaveTextToFile(DirNameResourse.SafeguardUserPassword, this.UserPassword);
                    }
                    return result2;
                }
@@ -1588,7 +1590,7 @@
                    if (result2 != -1)
                    {
                        //保存到加密密码本地
                        Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardUserPassword, System.Text.Encoding.UTF8.GetBytes(this.UserPassword));
                        HdlFileLogic.Current.SaveTextToFile(DirNameResourse.SafeguardUserPassword, this.UserPassword);
                    }
                    return result2;
                }
@@ -1708,11 +1710,6 @@
            {
                return false;
            }
            if (zoneId > 3)
            {
                zoneId = 3;
            }
            //状态变更
            var result = await Safeguard.DisablePushMessageAsync(zoneId, statu);
            if (result == null || result.disablePushMessageResponseData == null || result.disablePushMessageResponseData.Result == 1)
@@ -1742,10 +1739,6 @@
        /// <returns>0:推送  1:不推送</returns>
        public int GetGarrisonInformationPushStatu(int zoneId)
        {
            if (zoneId > 3)
            {
                zoneId = 3;
            }
            if (this.dicAllZoneInfo.ContainsKey(zoneId) == false)
            {
                return 1;
@@ -2085,7 +2078,7 @@
                            dicSort[modelNo] = Language.StringByID(R.MyInternationalizationString.Mode_Dry);
                        }
                    }
                    else if (info.Data1 == 4 || info.Data1 == 5)
                    else if (info.Data1 == 4 || info.Data1 == 5|| info.Data1 == 7)
                    {
                        //温度
                        dicSort[temparetureNo] = $"{ info.Data2 / 100}℃";
@@ -2154,7 +2147,7 @@
            bool success = false;
            //超时时间
            int TimeOut = 0;
            string checkTopic = HdlGatewayLogic.Current.GetGatewayId(realWay) + "/Security/AdminSetNewPassword_Respon";
            string checkTopic = realWay.GwId + "/Security/AdminSetNewPassword_Respon";
            Action<string, string> getResultAction = (topic, message) =>
            {
                try
@@ -2340,7 +2333,7 @@
            /// </summary>
            public string ZoneName;
            /// <summary>
            /// 信息推送 0:推送  1:不推送 (只有防区ID:1,2,3才会有。4,5的都归为3,因为它是以防区模式ID(ActionType)为单位的)
            /// 信息推送 0:推送  1:不推送
            /// </summary>
            public int InformationPush = 1;
            /// <summary>