From 3c8f41f50076a3b904705ef9f94d1a827ecd8c52 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 28 八月 2021 15:43:19 +0800
Subject: [PATCH] 2021-8-28-4
---
HDL_ON/DAL/DriverLayer/Control.cs | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 99c5b0e..e3d0166 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -622,6 +622,40 @@
}
/// <summary>
+ /// 瀹夐槻鎺у埗
+ /// </summary>
+ public void ControlSecurity(SecurityAlarm securityAlarm,string state)
+ {
+ if (!Ins.GatewayOnline_Local)//缃戝叧鏈湴涓嶅湪绾�
+ {
+ var pm = new DAL.Server.HttpServerRequest();
+ var result = pm.SetSecurityStatus(new List<SecurityState>() { new SecurityState() {
+ gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId,
+ sid = securityAlarm.sid, status = state, userSecurityId = securityAlarm.userSecurityId
+ } });
+ }
+ else
+ {
+ Dictionary<string, string> keys = new Dictionary<string, string>();
+ keys.Add("sid", securityAlarm.sid);
+ keys.Add("status", state);
+ keys.Add("alarm", securityAlarm.alarm.ToString());
+ var aLinkData = new AlinkReadFunctionStatusObj()
+ {
+ id = Ins.msg_id.ToString(),
+ objects = new List<Dictionary<string, string>>()
+ {
+ keys
+ },
+ time_stamp = Utlis.GetTimestamp()
+ };
+ var aLinkJson = Newtonsoft.Json.JsonConvert.SerializeObject(aLinkData);
+ var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlSeurity, aLinkJson);
+ new Control_Udp().SendLocalHdlLinkData(sendBytes, aLinkData.id);
+ }
+ }
+
+ /// <summary>
/// a鍗忚鎺у埗鍦烘櫙
/// </summary>
/// <param name="scene"></param>
@@ -746,6 +780,27 @@
//TODO 鏆傛椂涓嶄紶姝g‘鐨勬暟鎹笂鍘伙紝濡傛灉鍚庨潰瑕佷紭鍖栧墠闈㈣繖浜涗唬鐮�
UpdataFunctionStatus(receiveObj.BodyDataString, null);
}
+ else if (receiveObj.Topic == CommunicationTopic.ct.ControlSeurity +"_reply"
+ || receiveObj.Topic == CommunicationTopic.ct.ReadSecurityStatus + "_reply"
+ || receiveObj.Topic == CommunicationTopic.ct.SecurityStatusUp)
+ {
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityStatusObj>(receiveObj.BodyDataString);
+ if (temp != null)
+ {
+ Control_Udp.ReceiveRepeatManager(temp.id, null);
+ foreach (var updataSecurity in temp.objects)
+ {
+ var updataLocalSecurity = FunctionList.List.securities.Find((obj) => obj.sid == updataSecurity.sid);
+ if (updataLocalSecurity != null)
+ {
+ updataLocalSecurity.status = updataSecurity.status;
+ updataLocalSecurity.alarm = updataSecurity.alarm;
+ }
+ }
+ HomePage.LoadEvent_RefreshSecurityStatus();
+ ArmCenterPage.LoadEvent_RefreshSecurityStatus();
+ }
+ }
else
{
//涓�浜涚壒娈婄殑涓婚澶勭悊(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣�)
--
Gitblit v1.8.0