From e90209beae6a4e822cecb18e6889f8bda23f630e Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 14 十二月 2020 11:16:06 +0800
Subject: [PATCH] 合并了晾衣架(非新云端)
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceDoorLockLogic.cs | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 226 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceDoorLockLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceDoorLockLogic.cs
new file mode 100644
index 0000000..e4c0d1f
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceDoorLockLogic.cs
@@ -0,0 +1,226 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+ /// <summary>
+ /// 闂ㄩ攣鍘嗗彶璁板綍鐨勯�昏緫
+ /// </summary>
+ public class HdlDeviceDoorLockLogic
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 闂ㄩ攣鍘嗗彶璁板綍鐨勯�昏緫
+ /// </summary>
+ private static HdlDeviceDoorLockLogic m_Current = null;
+ /// <summary>
+ /// 闂ㄩ攣鍘嗗彶璁板綍鐨勯�昏緫
+ /// </summary>
+ public static HdlDeviceDoorLockLogic Current
+ {
+ get
+ {
+ if (m_Current == null)
+ {
+ m_Current = new HdlDeviceDoorLockLogic();
+ }
+ return m_Current;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 娣诲姞鍘嗗彶璁板綍_______________________
+
+ /// <summary>
+ /// 娣诲姞鍘嗗彶璁板綍
+ /// </summary>
+ /// <param name="i_doorLock">闂ㄩ攣瀵硅薄</param>
+ /// <param name="OtherOpenLockMode">鍏朵粬寮�閿佹柟寮� 9001:甯稿紑鎵撳紑 9002:甯稿紑鍙栨秷 9003:甯稿紑鎸佺画 9004:甯稿紑鑷姩鍖栨墜鍔ㄥ彇娑�</param>
+ /// <param name="NormallyOpenContinuedTime">甯稿紑鎸佺画鏃堕棿(1~72灏忔椂 OtherOpenLockMode=9003鐨勬椂鍊欐湁鏁�)</param>
+ public void AddDoorHistoryLog(ZigBee.Device.DoorLock i_doorLock, int OtherOpenLockMode, string NormallyOpenContinuedTime)
+ {
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //鑾峰彇闂ㄩ攣鐨勪富閿甀D
+ var DoorLockId = this.GetDoorHistoryDoorLockId(i_doorLock);
+ if (string.IsNullOrEmpty(DoorLockId) == true)
+ {
+ //缃戠粶涓嶉��
+ return;
+ }
+
+ var pra = new AddDoorHistoryLogPra();
+ pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+ pra.DoorLockId = DoorLockId;
+ pra.OtherOpenLockMode = OtherOpenLockMode;
+ pra.NormallyOpenContinuedTime = NormallyOpenContinuedTime;
+
+ //涓嶆娴嬮敊璇爜
+ var listCheck = new List<string>() { "NotCheck" };
+ var result = UserCenterLogic.GetResultStatuByRequestHttps("DoorLock/AddDoorLockHistory", true, pra, listCheck);
+ if (result == false)
+ {
+ }
+ });
+ }
+
+ /// <summary>
+ /// 鑾峰彇娣诲姞闂ㄩ攣鍘嗗彶璁板綍鐨凞oorLockId
+ /// </summary>
+ /// <param name="i_doorLock">闂ㄩ攣瀵硅薄</param>
+ /// <returns></returns>
+ private string GetDoorHistoryDoorLockId(ZigBee.Device.DoorLock i_doorLock)
+ {
+ var pra = new GetDoorIdPra();
+ pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+ pra.DoorLockId = i_doorLock.DeviceAddr + "_" + i_doorLock.DeviceEpoint;
+ //涓嶆娴嬮敊璇爜
+ var listCheck = new List<string>() { "NotCheck" };
+ var result = UserCenterLogic.GetResponseDataByRequestHttps("DoorLock/GetDoorLockPager", true, pra, listCheck);
+ if (string.IsNullOrEmpty(result) == true) { return null; }
+
+ //濡傛灉宸茬粡鍒涘缓浜�,鍒欎笉鍐嶅垱寤�
+ var myData = Newtonsoft.Json.JsonConvert.DeserializeObject<GetListIdResult>(result);
+ if (myData.PageData.Count > 0)
+ {
+ return myData.PageData[0].Id;
+ }
+
+ //濡傛灉杩樻病鏈夊垱寤�,鍒欒櫄鎷熶竴涓壒娈婄殑涓滆タ鍑烘潵
+ var pra2 = new AddDoorPra();
+ pra2.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+ pra2.DoorLockId = i_doorLock.DeviceAddr + "_" + i_doorLock.DeviceEpoint;
+ var result2 = UserCenterLogic.GetResponseDataByRequestHttps("DoorLock/AddDoorLock", true, pra2, listCheck);
+ //浜戠鏄洿鎺ヨ繑鍥炲垱寤虹殑涓婚敭瀛楃涓�
+ return result2;
+ }
+
+ /// <summary>
+ /// 娣诲姞鍘嗗彶璁板綍鐨勫弬鏁�
+ /// </summary>
+ private class AddDoorHistoryLogPra : IfacePraCommon
+ {
+ /// <summary>
+ /// RequestVersion
+ /// </summary>
+ public string RequestVersion = Common.CommonPage.RequestVersion;
+ /// <summary>
+ /// LoginAccessToken
+ /// </summary>
+ public string LoginAccessToken = string.Empty;
+ /// <summary>
+ /// ZigbeeHomeId
+ /// </summary>
+ public string HomeId = Common.Config.Instance.Home.Id;
+ /// <summary>
+ /// 闂ㄩ攣浜戠涓婚敭(鍦�(鑾峰彇鏌愪釜浣忓畢闂ㄩ攣鍒嗛〉)鎺ュ彛鍝嶅簲涓殑Id鍊�)
+ /// </summary>
+ public string DoorLockId = string.Empty;
+ /// <summary>
+ /// 鍏朵粬寮�閿佹柟寮� 9001:甯稿紑鎵撳紑 9002:甯稿紑鍙栨秷 9003:甯稿紑鎸佺画
+ /// </summary>
+ public int OtherOpenLockMode = -1;
+ /// <summary>
+ /// 甯稿紑鎸佺画鏃堕棿(1~72灏忔椂 OtherOpenLockMode=9003鐨勬椂鍊欐湁鏁�)
+ /// </summary>
+ public string NormallyOpenContinuedTime = string.Empty;
+ /// <summary>
+ /// 寮�閿佹椂闂�(鍘嗗彶璁板綍鐨勬椂闂碏rom-To妫�绱㈢殑瀵硅薄)
+ /// </summary>
+ public string UnlockTime = DateTime.UtcNow.ToString();
+ }
+
+ /// <summary>
+ /// 鑾峰彇娣诲姞闂ㄩ攣鍘嗗彶璁板綍鐨凞oorLockId鐨勫弬鏁�
+ /// </summary>
+ private class GetDoorIdPra : IfacePraCommon
+ {
+ /// <summary>
+ /// RequestVersion
+ /// </summary>
+ public string RequestVersion = Common.CommonPage.RequestVersion;
+ /// <summary>
+ /// LoginAccessToken
+ /// </summary>
+ public string LoginAccessToken = string.Empty;
+ /// <summary>
+ /// ZigbeeHomeId
+ /// </summary>
+ public string HomeId = Common.Config.Instance.Home.Id;
+ /// <summary>
+ /// 濉獹UID
+ /// </summary>
+ public string CloudAccountId = Common.Config.Instance.Guid;
+ /// <summary>
+ /// 杩欎釜鏄棬閿佺殑 Mac_绔偣
+ /// </summary>
+ public string DoorLockId = string.Empty;
+ /// <summary>
+ /// 寮�閿佹柟寮�:鍥哄畾9000
+ /// </summary>
+ public int OpenLockMode = 9000;
+ }
+
+ /// <summary>
+ /// 娣诲姞闂ㄩ攣鐨勫弬鏁�
+ /// </summary>
+ private class AddDoorPra : IfacePraCommon
+ {
+ /// <summary>
+ /// RequestVersion
+ /// </summary>
+ public string RequestVersion = Common.CommonPage.RequestVersion;
+ /// <summary>
+ /// LoginAccessToken
+ /// </summary>
+ public string LoginAccessToken = string.Empty;
+ /// <summary>
+ /// ZigbeeHomeId
+ /// </summary>
+ public string HomeId = Common.Config.Instance.Home.Id;
+ /// <summary>
+ /// 濉獹UID
+ /// </summary>
+ public string CloudAccountId = Common.Config.Instance.Guid;
+ /// <summary>
+ /// 杩欎釜鏄棬閿佺殑 Mac_绔偣
+ /// </summary>
+ public string DoorLockId = string.Empty;
+ /// <summary>
+ /// 鍏朵粬寮�閿佹柟寮� 鍥哄畾9000
+ /// </summary>
+ public int OpenLockMode = 9000;
+ /// <summary>
+ /// 褰曞叆鏃堕棿
+ /// </summary>
+ public string EntryTime = DateTime.Now.ToString();
+ }
+
+ /// <summary>
+ /// 鎺ユ敹浜戠ID鐨勭粨鏋�
+ /// </summary>
+ private class GetListIdResult
+ {
+ /// <summary>
+ /// 浜戠杩斿洖鐨勪富閿甀D
+ /// </summary>
+ public List<GetIdResult> PageData = new List<GetIdResult>();
+ }
+
+ /// <summary>
+ /// 鎺ユ敹浜戠ID鐨勭粨鏋�
+ /// </summary>
+ private class GetIdResult
+ {
+ /// <summary>
+ /// 浜戠杩斿洖鐨勪富閿甀D
+ /// </summary>
+ public string Id = string.Empty;
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0