From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001 From: chenqiyang <1406175257@qq.com> Date: 星期三, 22 六月 2022 11:22:18 +0800 Subject: [PATCH] 修改引用路径 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs | 263 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 157 insertions(+), 106 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs index 449c8e2..8d233fd 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs @@ -15,9 +15,19 @@ /// </summary> public static Action<bool> LogicAction = null; /// <summary> + /// 鏇存柊褰撳墠闂ㄩ攣娑夊強鐨勭姸鎬併�愪富瑕佺敤浜庨棬閿佹搷浣滃父寮�妯″紡鐨勫洖璋冦�� + /// </summary> + public static Action<string, bool> UpdateCurrentDoorlockAction = null; + /// <summary> /// 缃戝叧锛堥棬閿侊級鎵�鍦ㄧ殑鏃堕棿 /// </summary> public static DateTime DoorlockZoneTime = DateTime.Now; + /// <summary> + /// 鎵�鏈夐棬閿佷腑鐨勫父寮�妯″紡鍊糩鐢ㄤ簬鎺ㄩ�佹煡璇紝鎻愮ず闂ㄩ攣澶辨晥锛� + /// keys:闂ㄩ攣mac+epoint value:鏄惁甯稿紑妯″紡 + /// ture:甯稿紑锛� false:鍏抽棴 + /// </summary> + public static Dictionary<string, bool?> DoorLockNormallyMode = new Dictionary<string, bool?> { }; /// <summary> /// 甯稿紑妯″紡鎵ц鏃堕棿 /// </summary> @@ -138,7 +148,7 @@ var listDevice = new List<CommonDevice> { }; listDevice.Add(doorLock); var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); - if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) + if (devTemp.ConcreteType != DeviceConcreteType.IntelligentLocks_H06C) { return true; } @@ -151,10 +161,13 @@ public static void NormallyOpenModeValue(ZigBee.Device.DoorLock doorLock, bool value) { doorLock.IsDoorLockNormallyMode = value; - - if (LogicAction != null) + if (DoorLockCommonInfo.DoorLockNormallyMode.ContainsKey(doorLock.DeviceAddr + doorLock.DeviceEpoint)) { - LogicAction(value); + DoorLockCommonInfo.DoorLockNormallyMode[doorLock.DeviceAddr + doorLock.DeviceEpoint] = value; + } + else + { + DoorLockCommonInfo.DoorLockNormallyMode.Add(doorLock.DeviceAddr + doorLock.DeviceEpoint, value); } } @@ -163,9 +176,10 @@ /// </summary> /// <param name="doorLock">褰撳墠闂ㄩ攣</param> /// <param name="doorLockMessType">瀵艰嚧闂ㄩ攣澶辨晥鐨勬搷浣滅被鍨�</param> - /// <param name="haveLogic">缃戝叧涓槸鍚﹀瓨鍦ㄩ�昏緫甯稿紑妯″紡</param> + /// <param name="haveLogic">缃戝叧涓槸鍚﹀瓨鍦ㄩ�昏緫甯稿紑妯″紡</param> /// <param name="action">鍥炶皟澶勭悊鏇存柊鍐呭</param> - public static async void NomallyOpenModeInvalidDialog(ZigBee.Device.DoorLock doorLock, DoorLockMessType doorLockMessType, bool haveLogic, Action<bool> action = null) + /// <param name="type">1:纭甯稿紑妯″紡宸茬粡寮�鍚紱0:甯稿紑妯″紡澶辨晥鎻愮ず</param> + public static async void NomallyOpenModeInvalidDialog(ZigBee.Device.DoorLock doorLock, DoorLockMessType doorLockMessType, bool haveLogic, Action<bool> action = null, int type = 0) { //甯稿紑妯″紡鍙兘涓讳汉鎿嶄綔 if (UserCenterResourse.UserInfo.AuthorityNo != 1) @@ -196,10 +210,14 @@ { //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); + if (LogicAction != null) + { + LogicAction(false); + } if (haveLogic) { //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); + var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock); } } else @@ -218,12 +236,6 @@ //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑� Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - if (haveLogic) - { - //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); - } - //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥� var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) @@ -237,6 +249,10 @@ }); action?.Invoke(doorLock.IsDoorLockNormallyMode); action = null; + if (LogicAction != null) + { + LogicAction(false); + } return; } if (result.defaultControlResponseData.status != 0) @@ -248,20 +264,27 @@ NormallyOpenModeValue(doorLock, false); CommonPage.Loading.Hide(); }); + action?.Invoke(doorLock.IsDoorLockNormallyMode); action = null; + if (LogicAction != null) + { + LogicAction(false); + } return; } else { - //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 - var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); Application.RunOnMainThread(() => { string msg0 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeSuccess); ShowTipMsg(msg0); NormallyOpenModeValue(doorLock, true); CommonPage.Loading.Hide(); + if (LogicAction != null) + { + LogicAction(true); + } }); } } @@ -279,10 +302,14 @@ if (doorLockMessType == DoorLockMessType.DeviceReport || doorLockMessType == DoorLockMessType.ServicePush) { NormallyOpenModeValue(doorLock, false); + if (LogicAction != null) + { + LogicAction(false); + } if (haveLogic) { //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); + var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock); } } else @@ -299,6 +326,10 @@ }); action?.Invoke(doorLock.IsDoorLockNormallyMode); action = null; + if (LogicAction != null) + { + LogicAction(false); + } return; } if (result.defaultControlResponseData.status != 0) @@ -311,6 +342,10 @@ }); action?.Invoke(doorLock.IsDoorLockNormallyMode); action = null; + if (LogicAction != null) + { + LogicAction(false); + } return; } else @@ -323,7 +358,7 @@ if (haveLogic) { //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); + var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock); } Application.RunOnMainThread(() => { @@ -331,6 +366,10 @@ ShowTipMsg(msg2); CommonPage.Loading.Hide(); }); + if (LogicAction != null) + { + LogicAction(false); + } } } action?.Invoke(doorLock.IsDoorLockNormallyMode); @@ -486,7 +525,7 @@ var listDevice = new List<CommonDevice> { }; listDevice.Add(doorLock); var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); - if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) + if (devTemp.ConcreteType != DeviceConcreteType.IntelligentLocks_H06C) { return true; } @@ -568,26 +607,28 @@ var SubAccounListTemp = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark(); var SubAccounListDictionary = new Dictionary<string, Shared.Phone.UserCenter.MemberInfoRes> { }; - foreach (var member in SubAccounListTemp) - { - //鍒ゆ柇涓�涓处鎴风粦瀹氫簡閭鐨勬儏鍐� - if (SubAccounListDictionary.ContainsKey(member.DistributedMark) == true - || member.Account == UserCenterResourse.UserInfo.Phone - || member.Account == UserCenterResourse.UserInfo.Email) - { - //濡傛灉鏄畠鑷繁鐨勮瘽锛屼笉鏄剧ず,璐︽埛鍜岀粦瀹氱殑閭鍙樉绀哄叾涓箣涓� - continue; + if (SubAccounListTemp != null) + { + foreach (var member in SubAccounListTemp) + { + //鍒ゆ柇涓�涓处鎴风粦瀹氫簡閭鐨勬儏鍐� + if (SubAccounListDictionary.ContainsKey(member.DistributedMark) == true + || member.Account == UserCenterResourse.UserInfo.Phone + || member.Account == UserCenterResourse.UserInfo.Email) + { + //濡傛灉鏄畠鑷繁鐨勮瘽锛屼笉鏄剧ず,璐︽埛鍜岀粦瀹氱殑閭鍙樉绀哄叾涓箣涓� + continue; + } + //鍘绘帀瀛愯处鎴蜂腑鏅�氭垚鍛橈紝鐣欎笅鎷ユ湁绠$悊鍛樻潈闄愮殑鎴愬憳 + //锛堝洜涓哄垎閰嶈处鎴风粰鏅�氭垚鍛橈紝鏅�氭垚鍛樺湪app涓笉鑳借繘鍏ヨ澶囩鐞嗛偅閲岋紝鎵�浠ユ病鍙戞煡鐪嬩富浜哄垎閰嶅璐︽埛锛� + if (member.AccountType != 1) + { + continue; + } + + SubAccounListDictionary.Add(member.DistributedMark, member); } - //鍘绘帀瀛愯处鎴蜂腑鏅�氭垚鍛橈紝鐣欎笅鎷ユ湁绠$悊鍛樻潈闄愮殑鎴愬憳 - //锛堝洜涓哄垎閰嶈处鎴风粰鏅�氭垚鍛橈紝鏅�氭垚鍛樺湪app涓笉鑳借繘鍏ヨ澶囩鐞嗛偅閲岋紝鎵�浠ユ病鍙戞煡鐪嬩富浜哄垎閰嶅璐︽埛锛� - if (member.AccountType != 1) - { - continue; - } - - SubAccounListDictionary.Add(member.DistributedMark, member); } - foreach (var addMemberID in SubAccounListDictionary.Keys) { SubAccounList.Add(SubAccounListDictionary[addMemberID]); @@ -1012,81 +1053,81 @@ /// <summary> /// 鑾峰彇浜戠瀛樺偍鐨勯棬閿佹垚鍛樹俊鎭� /// </summary> - public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj, int curPage) - { - return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => - { - // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 - var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - localDoorLockObj.IsOtherAccountCtrl = true; - } - localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark; - { - localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - if (doorLock.DeviceAddr != null) - { - localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { }; - pageSetting.Page = curPage; - localDoorLockObj.pageSetting = pageSetting; - var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); - if (getDoorLockInfoList != null) - { - foreach (var curDoorLockUser in getDoorLockInfoList.PageData) - { - var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - if (curDoorLockUser.DoorLockLocalUserId != null) - { - doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); - doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; - doorLockObj.UserName = curDoorLockUser.UserIdRemarks; - } - doorLockObj.PrimaryId = curDoorLockUser.Id; - doorLockObj.EntryTime = curDoorLockUser.EntryTime; - doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; - if (doorLock.localDoorLockAccountList.ContainsKey(curDoorLockUser.CloudAccountId) == false) - { - doorLock.localDoorLockAccountList.Add(doorLockObj.ConnectedAccount, doorLockObj); - } - else - { - doorLock.localDoorLockAccountList[curDoorLockUser.DoorLockLocalUserId] = doorLockObj; - } - } - } - return doorLock.localDoorLockUserList; - })); - } + //public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj, int curPage) + //{ + // return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => + // { + // // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 + // var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; + // if (UserCenterResourse.UserInfo.AuthorityNo != 1) + // { + // localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + // localDoorLockObj.IsOtherAccountCtrl = true; + // } + // localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark; + // { + // localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + // } + // if (doorLock.DeviceAddr != null) + // { + // localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + // } + // var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { }; + // pageSetting.Page = curPage; + // localDoorLockObj.pageSetting = pageSetting; + // var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); + // if (getDoorLockInfoList != null) + // { + // foreach (var curDoorLockUser in getDoorLockInfoList.PageData) + // { + // var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + // if (curDoorLockUser.DoorLockLocalUserId != null) + // { + // doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); + // doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; + // doorLockObj.UserName = curDoorLockUser.UserIdRemarks; + // } + // doorLockObj.PrimaryId = curDoorLockUser.Id; + // doorLockObj.EntryTime = curDoorLockUser.EntryTime; + // doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; + // if (doorLock.localDoorLockAccountList.ContainsKey(curDoorLockUser.CloudAccountId) == false) + // { + // doorLock.localDoorLockAccountList.Add(doorLockObj.ConnectedAccount, doorLockObj); + // } + // else + // { + // doorLock.localDoorLockAccountList[curDoorLockUser.DoorLockLocalUserId] = doorLockObj; + // } + // } + // } + // return doorLock.localDoorLockUserList; + // })); + //} /// <summary> /// 鑾峰彇鏈湴鍖归厤鎴愬憳鐨勯棬閿佺敤鎴蜂俊鎭垪琛� /// </summary> - public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetMatchDoorlockAccountList(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj) - { - return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => - { - var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>(); - foreach (var curUserId in doorLock.localDoorLockAccountList.Keys) - { - var curDoorLockUser = doorLock.localDoorLockAccountList[curUserId]; + //public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetMatchDoorlockAccountList(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj) + //{ + // return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => + // { + // var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>(); + // foreach (var curUserId in doorLock.localDoorLockAccountList.Keys) + // { + // var curDoorLockUser = doorLock.localDoorLockAccountList[curUserId]; - if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) - { - continue; - } - else - { - curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); - } - } - return curAccountDoorLockUserList; - })); - } + // if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) + // { + // continue; + // } + // else + // { + // curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); + // } + // } + // return curAccountDoorLockUserList; + // })); + //} /// <summary> /// 鐢熸垚6浣嶄复鏃跺瘑鐮� @@ -1099,6 +1140,16 @@ return password; } + //// <summary> + /// 鍙栧緱鏌愭湀鐨勬渶鍚庝竴澶� + /// </summary> + /// <param name="datetime">瑕佸彇寰楁湀浠芥渶鍚庝竴澶╃殑鏃堕棿</param> + /// <returns></returns> + public static DateTime LastDayOfMonth(DateTime datetime) + { + return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1); + } + /// <summary> /// 灏哢NIX鏃堕棿鎴宠浆鎹㈡垚绯荤粺鏃堕棿(绮剧‘鍒扮) /// <returns></returns> -- Gitblit v1.8.0