From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 15 十二月 2021 09:01:53 +0800 Subject: [PATCH] 更新 --- HDL_ON/Entity/Function/SecurityAlarm.cs | 323 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 191 insertions(+), 132 deletions(-) diff --git a/HDL_ON/Entity/Function/SecurityAlarm.cs b/HDL_ON/Entity/Function/SecurityAlarm.cs index 4eda460..ea29373 100644 --- a/HDL_ON/Entity/Function/SecurityAlarm.cs +++ b/HDL_ON/Entity/Function/SecurityAlarm.cs @@ -7,107 +7,15 @@ namespace HDL_ON.Entity { /// <summary> - /// 瀹夐槻涓績 + /// /// </summary> - public class SecurityCenter - { - static SecurityCenter _center; - - public static SecurityCenter Security - { - get - { - if(_center == null) - { - _center = new SecurityCenter(); - } - return _center; - } - } - - SecurityAlarm _securityAlarm; - /// <summary> - /// 褰撳墠甯冮槻妯″紡 - /// </summary> - public SecurityAlarm CurrentDefenseMode - { - get - { - return _securityAlarm; - } - set - { - _securityAlarm = value; - UI.HomePage.LoadEvent_RefreshSecurityStatus(); - } - } - - HttpServerRequest httpServerRequest = new HttpServerRequest(); - - - - List<SecurityAlarm> _securityAlarmList; - /// <summary> - /// 闃插尯鍒楄〃 - /// </summary> - public List<SecurityAlarm> securityAlarmList - { - get - { - if(_securityAlarmList == null) - { - _securityAlarmList = GetSecurityAlarmList(); - } - return _securityAlarmList; - } - } - - - /// <summary> - /// 璇诲彇浜戠瀹夐槻鍒楄〃 - /// </summary> - /// <returns></returns> - public List<SecurityAlarm> GetSecurityAlarmList() - { - var pack = httpServerRequest.GetSecurityList(); - if(pack.Code == StateCode.SUCCESS) - { - var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SecurityAlarm>>(pack.Data.ToString()); - if(revData!= null) - { - _securityAlarmList = revData; - return revData; - } - } - return new List<SecurityAlarm>(); - } - - /// <summary> - /// 鐘舵�� enable甯冮槻銆乨isable鎾掗槻 - /// </summary> - public string status - { - get - { - string result = "disable"; - foreach(var s in securityAlarmList) - { - if(s.status == "enable") - { - result = "enable"; - break; - } - } - return result; - } - } - - - } - - public class SecurityAlarm { + public SecurityAlarm() + { + + } + /// <summary> /// 瀹夐槻浜戠id /// </summary> @@ -123,11 +31,17 @@ /// <summary> /// 瀹夐槻寤舵椂 /// </summary> - public string delay; + public string delay ="0"; /// <summary> - /// 鐘舵�� enable甯冮槻銆乨isable鎾掗槻 + /// 鐘舵�� + /// 甯冮槻:enable + /// 鎾掗槻:disable /// </summary> public string status = "disable"; + /// <summary> + /// 鎶ヨ鐘舵�� + /// </summary> + public bool alarm = false; /// <summary> /// 绫诲瀷 /// "all"--鍏ㄥ畢甯冮槻锛� @@ -176,6 +90,17 @@ var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); FileUtlis.Files.WriteFileByBytes(savePath, ssd); } + /// <summary> + /// 鍒锋柊鏈湴鏁版嵁 + /// </summary> + /// <returns></returns> + public SecurityAlarm RefeshData() + { + var dataBytes = FileUtlis.Files.ReadFile(savePath); + var dataString = System.Text.Encoding.UTF8.GetString(dataBytes); + var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString); + return temp; + } /// <summary> /// 淇濆瓨瀹夐槻淇℃伅 @@ -183,6 +108,22 @@ public string SaveInfo() { HttpServerRequest hsr = new HttpServerRequest(); + if (string.IsNullOrEmpty(this.noticeConfig.noticeContent)) + { + this.noticeConfig.noticeContent = Language.StringByID(StringId.SecurityAlarmTipString).Replace("{0}", name); + } + if (this.noticeConfig.enable) + { + if (this.pushConfigs.Count == 0) + { + pushConfigs.Add(new SecurityPushConfig() + { + pushMethod = "APP", + pushTarget = new List<string>() { UserInfo.Current.ID } + }); + } + } + if (string.IsNullOrEmpty(sid)) { NewSid(); @@ -190,7 +131,8 @@ if (pack.Code == StateCode.SUCCESS) { SaveFile(); - }else + } + else { sid = ""; } @@ -246,9 +188,9 @@ int maxId = 1; - for (int i = 0; i < SecurityCenter.Security.securityAlarmList.Count; i++) + for (int i = 0; i < FunctionList.List.securities.Count; i++) { - string s = SecurityCenter.Security.securityAlarmList[i].sid.Substring(20, 4); + string s = FunctionList.List.securities[i].sid.Substring(20, 4); int iThisSceneId = Convert.ToInt16(s, 16); if (iThisSceneId > maxId) maxId = iThisSceneId; @@ -342,8 +284,13 @@ /// 鍔犲叆杈撳叆鏉′欢 /// 鏈湴鍒ゆ柇浣跨敤 /// </summary> - [Newtonsoft.Json.JsonIgnore] - public bool addCondition = false; + //[Newtonsoft.Json.JsonIgnore] + //public bool addCondition = false; + + /// <summary> + /// 鍒ゆ柇鏉′欢 + /// </summary> + public string comparator = "="; [Newtonsoft.Json.JsonIgnore] Function _function = null; @@ -432,11 +379,11 @@ case SPK.SensorSmoke: foreach (var con in condition) { - if (con.value == "true") + if (con.value == "true" || con.value == "alarm") { text += Language.StringByID(StringId.InAlarm) + " "; } - else if (con.value == "false") + else if (con.value == "false" || con.value == "normal") { text += Language.StringByID(StringId.Normal) + " "; } @@ -458,11 +405,11 @@ case SPK.SensorWater: foreach (var con in condition) { - if (con.value == "true") + if (con.value == "true" || con.value == "alarm") { text += Language.StringByID(StringId.WaterLeakage) + " "; } - else if (con.value == "false") + else if (con.value == "false" || con.value == "normal") { text += Language.StringByID(StringId.Normal) + " "; } @@ -471,11 +418,11 @@ case SPK.SensorDoorWindow: foreach (var con in condition) { - if (con.value == "true") + if (con.value == "true" || con.value == "open") { text += Language.StringByID(StringId.Open) + " "; } - else if (con.value == "false") + else if (con.value == "false" || con.value == "close") { text += Language.StringByID(StringId.Close) + " "; } @@ -523,7 +470,7 @@ /// 1:鍦烘櫙 /// 2:鑷姩鍖� /// </summary> - public string target_type ="0"; + public string target_type = "0"; /// <summary> /// 杈撳嚭鐩爣鐨剆id /// </summary> @@ -534,25 +481,107 @@ public List<SecurityOutputStatus> status = new List<SecurityOutputStatus>(); /// <summary> - /// 鍔犲叆杈撳叆鏉′欢 - /// 鏈湴鍒ゆ柇浣跨敤 + /// 鏈湴涓嶅瓨鍦ㄦ暟鎹紙鏁版嵁鍙兘琚垹浜嗭級 /// </summary> - [Newtonsoft.Json.JsonIgnore] - public bool addCondition = false; - - [Newtonsoft.Json.JsonIgnore] - Function _function = null; - /// <summary> - /// 瀵瑰簲鐨勫姛鑳藉璞� - /// </summary> - /// <returns></returns> - public Function GetFunction() + public bool NoLocalData () { - if (_function == null) + var function = FunctionList.List.GetLightList().Find((obj) => obj.sid == sid); + if (function != null) { - _function = FunctionList.List.Functions.Find((obj) => obj.sid == sid); + return true; } - return _function; + else + { + var scene = FunctionList.List.scenes.Find((obj) => obj.sid == sid); + if (scene != null) + { + return true; + } + } + return false; + } + + + string _name; + [Newtonsoft.Json.JsonIgnore] + public string name + { + get + { + if (string.IsNullOrEmpty(_name)) + { + + var function = FunctionList.List.GetLightList().Find((obj) => obj.sid == sid); + if (function != null) + { + _name = function.name; + } + else + { + var scene = FunctionList.List.scenes.Find((obj) => obj.sid == sid); + if (scene != null) + { + _name = scene.name; + } + } + } + return _name; + } + set + { + _name = value; + } + } + + + + string _roomName; + [Newtonsoft.Json.JsonIgnore] + public string RoomName + { + get + { + if (string.IsNullOrEmpty(_roomName)) + { + + var function = FunctionList.List.GetLightList().Find((obj) => obj.sid == sid); + if (function != null) + { + _roomName = function.GetRoomListName(); + } + else + { + var scene = FunctionList.List.scenes.Find((obj) => obj.sid == sid); + if (scene != null) + { + _roomName = scene.GetRoomListName(); + } + } + } + return _roomName; + } + set + { + _roomName = value; + } + } + + string _spk; + [Newtonsoft.Json.JsonIgnore] + public string spk + { + get + { + if (string.IsNullOrEmpty(_spk)) + { + var function = FunctionList.List.GetLightList().Find((obj) => obj.sid == sid); + if (function != null) + { + _spk = function.spk; + } + } + return _spk; + } } @@ -565,7 +594,7 @@ string text = ""; if (target_type == "0") { - switch (GetFunction().spk) + switch (spk) { case SPK.LightDimming: case SPK.LightCCT: @@ -573,7 +602,18 @@ case SPK.LightSwitch: foreach (var state in status) { - if (state.key == FunctionAttributeKey.Brightness) + if(state.key == FunctionAttributeKey.OnOff) + { + if (state.value == "off") + { + text = Language.StringByID(StringId.Close); + } + else + { + text = Language.StringByID(StringId.Open); + } + } + else if (state.key == FunctionAttributeKey.Brightness) { if (state.value == "0") { @@ -589,7 +629,7 @@ } }else if(target_type == "1") { - + text = Language.StringByID(StringId.Open); } return text; @@ -613,7 +653,7 @@ /// <summary> /// 鏄惁寮�鍚�氱煡 /// </summary> - public bool enable; + public bool enable = true; /// <summary> /// 閫氱煡鍐呭 /// </summary> @@ -630,10 +670,29 @@ /// APP:app push /// SMS:鐭俊 /// </summary> - public string pushMethod; + public string pushMethod = "APP"; /// <summary> /// 鎺ㄩ�佺洰鏍� /// </summary> public List<string> pushTarget = new List<string>(); } + + + /// <summary> + /// A鍗忚鎺у埗鏁版嵁鐨勫璞� + /// </summary> + public class SecurityStatusObj + { + public List<SecurityStatusData> objects = new List<SecurityStatusData>(); + + public string time_stamp = ""; + public string id = ""; + } + + public class SecurityStatusData + { + public string sid; + public string status ="disable" ; + public bool alarm = false; + } } -- Gitblit v1.8.0