From 157be5220d9d81bce18e8248ef6ac056415405a1 Mon Sep 17 00:00:00 2001
From: Tong <1025782220@qq.com>
Date: 星期二, 31 八月 2021 09:29:45 +0800
Subject: [PATCH] 更新推送库
---
HDL_ON/DAL/DriverLayer/Control.cs | 73 ++++++++++++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 1 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 99c5b0e..dd35712 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -467,6 +467,7 @@
var actionObjs = new List<ApiAlinkControlActionObj>();
actionObjs.Add(apiControlData);
var pack = httpServer.ControlDevice(actionObjs);
+ MainPage.Log($"杩滅▼鎺у埗鍙嶉:{pack.message}");
}
}
@@ -622,6 +623,41 @@
}
/// <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
+ } });
+ MainPage.Log($"瀹夐槻鎺у埗缁撴灉:{result.Code}");
+ }
+ 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 +782,37 @@
//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)
+ {
+ try
+ {
+ MainPage.Log($"灞�鍩熺綉瀹夐槻淇℃伅: {receiveObj.Topic} : 鍐呭: {res[1]}");
+ var tt = "";
+ lock (tt) {
+ 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;
+ ArmCenterPage.LoadEvent_RefreshSecurityStatus(updataLocalSecurity);
+ }
+ }
+ HomePage.LoadEvent_RefreshSecurityStatus();
+ }
+ }
+ }
+ catch (Exception ex){
+ MainPage.Log($"瀹夐槻灞�鍩熺綉寮傚父锛歿ex.Message}");
+ }
+ }
else
{
//涓�浜涚壒娈婄殑涓婚澶勭悊(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣�)
@@ -800,7 +867,7 @@
return;
}
}
- MainPage.Log($"A鍗忚鏇存柊鐘舵��:{revString}");
+ //MainPage.Log($"A鍗忚鏇存柊鐘舵��:{revString}");
foreach (var attr in updateTemp.status)
{
localFunction.time_stamp = temp.time_stamp;
@@ -811,6 +878,9 @@
Function localObj = null;
switch (localFunction.spk)
{
+ case SPK.AirSwitch:
+ AirSwitchPage.UpdataState(localFunction);
+ break;
case SPK.ElectricEnergy:
EnergyMainPage.UpdataStatus(localFunction);
break;
@@ -959,6 +1029,7 @@
case SPK.ClothesHanger:
case SPK.AcIr:
case SPK.SenesorMegahealth:
+ case SPK.AirFreshStandard:
//璁惧鐘舵�佹帹閫�
//鐘舵�佹洿鏂�
Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
--
Gitblit v1.8.0