From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期五, 18 九月 2020 13:58:19 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs | 169 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 128 insertions(+), 41 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs index 23e7d57..1758563 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs +++ b/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); @@ -231,10 +233,13 @@ zoneInfo.ZoneId = allData.ZoneId; zoneInfo.ZoneName = allData.ZoneName; + //淇℃伅鎺ㄩ�� + zoneInfo.InformationPush = allData.IsDisablePushMessage; + //澶勭悊璁惧 foreach (var data2 in allData.DeviceList) { - string mainKey = data2.MacAddr + data2.Epoint; + string mainKey = LocalDevice.Current.GetDeviceMainKeys(data2.MacAddr, data2.Epoint); //浼犳劅鍣ㄨ澶囦俊鎭� var Deviceinfo = new Safeguard.ZoneDeviceListData(); Deviceinfo.IsBypass = data2.IsBypass; @@ -286,16 +291,13 @@ zoneInfo.dicAlarmDevice.Clear(); zoneInfo.dicScenes.Clear(); - //淇℃伅鎺ㄩ�� - zoneInfo.InformationPush = resData.IsDisablePushMessage; - foreach (var data in resData.Actions) { //璁惧 if (data.Type == 0) { //鏈湴鏄惁鏈夎繖涓澶� - string mainKey = data.DeviceAddr + data.Epoint; + string mainKey = LocalDevice.Current.GetDeviceMainKeys(data.DeviceAddr, data.Epoint); //鎶ヨ淇℃伅 zoneInfo.dicAlarmDevice[mainKey] = data; CommonDevice device = LocalDevice.Current.GetDevice(mainKey); @@ -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); @@ -559,7 +561,7 @@ //涓�鎵硅澶囬噷闈紝鎴愬姛娣诲姞鐨� if (data.Status == 0) { - listSuccess.Add(data.MacAddr + data.Epoint); + listSuccess.Add(LocalDevice.Current.GetDeviceMainKeys(data.MacAddr, data.Epoint)); } else if (data.Status == 1) { @@ -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) @@ -745,7 +747,7 @@ { if (data.Status == 0) { - listKeys.Add(data.MacAddr + data.Epoint); + listKeys.Add(LocalDevice.Current.GetDeviceMainKeys(data.MacAddr, data.Epoint)); } } @@ -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; @@ -1963,14 +1956,14 @@ #endregion - #region 鈻� 鎶ヨ鐩爣鐘舵�佺殑缈昏瘧鏂囨湰_____________ + #region 鈻� 鎵ц鐩爣鐘舵�佺殑缈昏瘧鏂囨湰_____________ /// <summary> - /// 鑾峰彇鐏厜绫诲瀷鐨勬姤璀︾洰鏍囩殑鐘舵�佹枃鏈� + /// 鑾峰彇鎵ц鐩爣鐨勭姸鎬佹枃鏈� /// </summary> /// <param name="listTaskInfo">鍔ㄤ綔瀵硅薄,鍙互涓虹┖</param> /// <returns></returns> - public string GetLightAlarmStatuText(List<Safeguard.TaskListInfo> listTaskInfo) + public string GetAdjustTargetStatuText(List<Safeguard.TaskListInfo> listTaskInfo) { if (listTaskInfo == null || listTaskInfo.Count == 0) { @@ -1979,13 +1972,22 @@ } //瑕佽�冭檻瀹冪殑鎺掑垪椤哄簭(鍙互鎸夐渶姹傚彉鏇寸紪鍙�) Dictionary<int, string> dicSort = new Dictionary<int, string>(); + //鏈�澶х紪鍙� + int MaxNo = 4; //寮�鍏崇殑浣嶇疆缂栧彿 int ControlNo = 0; //鐧惧垎姣旂殑浣嶇疆缂栧彿 int persentNo = 1; + //绌鸿皟娓╁害鐨勪綅缃紪鍙� + int temparetureNo = 2; + //绌鸿皟妯″紡鐨勪綅缃紪鍙� + int modelNo = 3; + //绌鸿皟椋庨�熺殑浣嶇疆缂栧彿 + int windNo = 4; foreach (var info in listTaskInfo) { + #region 鈻� 寮�鍏虫帶鍒禵___ //寮�鍏虫帶鍒� if (info.TaskType == 1) { @@ -2000,11 +2002,25 @@ dicSort[ControlNo] = Language.StringByID(R.MyInternationalizationString.uSimpleClose); } } + #endregion + + #region 鈻� 浜害璋冭妭____ //浜害璋冭妭 else if (info.TaskType == 3) { - dicSort[persentNo] = info.Data1 + "%"; + if (info.Data1 == 0) + { + //鍏� + dicSort[persentNo] = Language.StringByID(R.MyInternationalizationString.uSimpleClose); + } + else + { + dicSort[persentNo] = $"{(int)(info.Data1 * 1.0 / 254 * 100)}%"; + } } + #endregion + + #region 鈻� 绐楀笜璁惧____ //绐楀笜璁惧(瀹冪殑寮�鍏冲拰寮�鍏虫帶鍒舵槸鍙嶈繃鏉ョ殑) else if (info.TaskType == 6) { @@ -2024,13 +2040,84 @@ dicSort[persentNo] = info.Data2 + "%"; } } + #endregion + + #region 鈻� 绌鸿皟璁惧____ + //绌鸿皟璁惧 + else if (info.TaskType == 5) + { + if (info.Data1 == 3) + { + if (info.Data2 == 0) + { + return Language.StringByID(R.MyInternationalizationString.uSimpleClose); + } + else if (info.Data2 == 1) + { + //鑷姩 + dicSort[modelNo] = Language.StringByID(R.MyInternationalizationString.Mode_Auto); + } + else if (info.Data2 == 3) + { + //鍒跺喎 + dicSort[modelNo] = Language.StringByID(R.MyInternationalizationString.Mode_Cool); + } + else if (info.Data2 == 4) + { + //鍒剁儹 + dicSort[modelNo] = Language.StringByID(R.MyInternationalizationString.Mode_Heat); + } + else if (info.Data2 == 7) + { + //閫侀 + dicSort[modelNo] = Language.StringByID(R.MyInternationalizationString.Mode_FanOnly); + } + else if (info.Data2 == 8) + { + //闄ゆ箍 + dicSort[modelNo] = Language.StringByID(R.MyInternationalizationString.Mode_Dry); + } + } + else if (info.Data1 == 4 || info.Data1 == 5|| info.Data1 == 7) + { + //娓╁害 + dicSort[temparetureNo] = $"{ info.Data2 / 100}鈩�"; + } + else if (info.Data1 == 6) + { + if (info.Data2 == 1) + { + //浣庨 + dicSort[windNo] = Language.StringByID(R.MyInternationalizationString.Fan_Low); + } + else if (info.Data2 == 2) + { + //涓 + dicSort[windNo] = Language.StringByID(R.MyInternationalizationString.Fan_Middle); + } + else if (info.Data2 == 3) + { + //楂橀 + dicSort[windNo] = Language.StringByID(R.MyInternationalizationString.Fan_Height); + } + } + } + #endregion + } + //濡傛灉寮�鍏冲拰鐧惧垎姣斾竴璧峰瓨鍦ㄧ殑璇�,鍒欎笉鏄剧ず寮�鍏虫枃瀛� + if (dicSort.ContainsKey(ControlNo) == true && dicSort.ContainsKey(persentNo) == true) + { + dicSort.Remove(ControlNo); } //鎷兼帴鏂囨湰 string txtvalue = string.Empty; - for (int i = 0; i < dicSort.Count; i++) + for (int i = 0; i <= MaxNo; i++) { - txtvalue += dicSort[i] + " "; + if (dicSort.ContainsKey(i) == true) + { + txtvalue += dicSort[i] + " "; + } } return txtvalue.Trim(); @@ -2060,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 @@ -2246,7 +2333,7 @@ /// </summary> public string ZoneName; /// <summary> - /// 淇℃伅鎺ㄩ�� 0:鎺ㄩ�� 1:涓嶆帹閫� (鍙湁闃插尯ID:1,2,3鎵嶄細鏈夈��4,5鐨勯兘褰掍负3,鍥犱负瀹冩槸浠ラ槻鍖烘ā寮廔D(ActionType)涓哄崟浣嶇殑) + /// 淇℃伅鎺ㄩ�� 0:鎺ㄩ�� 1:涓嶆帹閫� /// </summary> public int InformationPush = 1; /// <summary> -- Gitblit v1.8.0