From 38a11bcfaf3cf703e38201c9c6cd6631354ea243 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 30 十一月 2021 09:55:09 +0800
Subject: [PATCH] Siri功能完成
---
HDL_ON/Entity/Function/SecurityAlarm.cs | 200 +++++++++++++++++++++----------------------------
1 files changed, 86 insertions(+), 114 deletions(-)
diff --git a/HDL_ON/Entity/Function/SecurityAlarm.cs b/HDL_ON/Entity/Function/SecurityAlarm.cs
index 4eda460..a460369 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) + " ";
}
@@ -533,12 +480,18 @@
/// </summary>
public List<SecurityOutputStatus> status = new List<SecurityOutputStatus>();
+
/// <summary>
/// 鍔犲叆杈撳叆鏉′欢
/// 鏈湴鍒ゆ柇浣跨敤
/// </summary>
+ //[Newtonsoft.Json.JsonIgnore]
+ //public bool addCondition = false;
+
[Newtonsoft.Json.JsonIgnore]
- public bool addCondition = false;
+ public string name = "";
+ [Newtonsoft.Json.JsonIgnore]
+ public string RoomName = "";
[Newtonsoft.Json.JsonIgnore]
Function _function = null;
@@ -589,7 +542,7 @@
}
}else if(target_type == "1")
{
-
+ text = Language.StringByID(StringId.Open);
}
return text;
@@ -613,7 +566,7 @@
/// <summary>
/// 鏄惁寮�鍚�氱煡
/// </summary>
- public bool enable;
+ public bool enable = true;
/// <summary>
/// 閫氱煡鍐呭
/// </summary>
@@ -636,4 +589,23 @@
/// </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