From 24dce73df68f96c4e7ae4ef82658d5fc89f31e0b Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期一, 23 八月 2021 09:58:33 +0800 Subject: [PATCH] 1 --- HDL_ON/DAL/DriverLayer/Control.cs | 70 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 insertions(+), 2 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs index 7cbe4d6..e3d0166 100644 --- a/HDL_ON/DAL/DriverLayer/Control.cs +++ b/HDL_ON/DAL/DriverLayer/Control.cs @@ -26,7 +26,6 @@ public class Control { - static Control _control; public static Control Ins { @@ -323,6 +322,15 @@ } } } + /// <summary> + /// 瀹夐槻鎺у埗 + /// </summary> + public void ControlArm() + { + DAL.Server.HttpServerRequest httpServer = new DAL.Server.HttpServerRequest(); + //var pack = httpServer.GetSecurityAlarmLogList + } + /// <summary> /// 鍙戦�佸懡浠� @@ -614,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> @@ -705,8 +747,9 @@ //} receiveObj.BodyDataString = res[1]; - if (receiveObj.Topic == CommunicationTopic.SearchLoaclGatewayReply) + if (receiveObj.Topic == CommunicationTopic.SearchLoaclGatewayReply || receiveObj.Topic == CommunicationTopic.GatewayBroadcast) { + var bodyJObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(res[1]); if (bodyJObj == null) { @@ -736,6 +779,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 { @@ -922,6 +986,8 @@ EnvironmentalPage.LoadEvent_UpdataStatus(localFunction); break; case SPK.SensorEnvironment: + case SPK.SensorEnvironment2: + case SPK.SensorEnvironment3: if (localFunction.GetAttributes().Contains(FunctionAttributeKey.Temperature)) { HomePage.LoadEvent_RefreshEnvirIndoorTemp(); -- Gitblit v1.8.0