From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs | 508 +++++++++++++++++++++++++++++++------------------------ 1 files changed, 285 insertions(+), 223 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs index bb30fa1..cd61dfd 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs @@ -11,9 +11,23 @@ { #region 鏈湴鍙橀噺 /// <summary> + /// 鏇存柊鈥滈�昏緫甯稿紑鈥濈晫闈㈢殑鍥炶皟 + /// </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> @@ -106,7 +120,7 @@ bool? IsDoorLockNormallyMode = null; var result = await doorLock.ReadNormallyOpenModeFuncAsync(); //鍏遍�氶敊璇娴� - string error = HdlCheckLogic.Current.CheckCommonErrorCode(result); + string error = HdlCheckLogic.Current.CheckGatewayErrorCode(result); if (result == null || result.errorMessageBase != null || result.errorResponData != null) { @@ -128,12 +142,12 @@ /// 闂ㄩ攣鏄惁鏀寔甯稿紑[杩欓噷鏆傛椂鍙湁S-One闂ㄩ攣鏀寔锛孒06C涓嶆敮鎸�, 鍚庢湡閫氳繃鑳藉姏鍊兼敮鎸乚 /// </summary> /// <param name="doorLock:褰撳墠闂ㄩ攣"></param> - /// <returns></returns> + /// <returns>true:鏀寔甯稿紑锛沠alse锛� 涓嶆敮鎸佸父寮�</returns> public static bool CanNormallyOpen(ZigBee.Device.DoorLock doorLock) { var listDevice = new List<CommonDevice> { }; listDevice.Add(doorLock); - var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); + var devTemp = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice); if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) { return true; @@ -146,14 +160,14 @@ /// </summary> public static void NormallyOpenModeValue(ZigBee.Device.DoorLock doorLock, bool value) { - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + doorLock.IsDoorLockNormallyMode = value; + if (DoorLockCommonInfo.DoorLockNormallyMode.ContainsKey(doorLock.DeviceAddr + doorLock.DeviceEpoint)) { - doorLock.IsDoorLockNormallyMode[key] = value; + DoorLockCommonInfo.DoorLockNormallyMode[doorLock.DeviceAddr + doorLock.DeviceEpoint] = value; } else { - doorLock.IsDoorLockNormallyMode.Add(key, value); + DoorLockCommonInfo.DoorLockNormallyMode.Add(doorLock.DeviceAddr + doorLock.DeviceEpoint, value); } } @@ -162,12 +176,13 @@ /// </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 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) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { Application.RunOnMainThread(() => { @@ -195,13 +210,23 @@ { //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); + if (LogicAction != null) + { + LogicAction(false); + } + if (haveLogic) + { + //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 + var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock); + } } else { //淇濇寔甯稿紑 NormallyOpenModeValue(doorLock, true); } - action?.Invoke(); + action?.Invoke(doorLock.IsDoorLockNormallyMode); + action = null; }; alert.CancelClickEvent += async () => @@ -210,17 +235,6 @@ { //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑� Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 - //if (resTemp == 1) - //{ - // var restulTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); - // //if (restulTemp == 3) - // //{ - // // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2); - // // this.ShowTipMsg(msg0); - // // return; - // //} - //} //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥� var result = await doorLock.SetNormallyOpenModeFuncAsync(true); @@ -232,9 +246,13 @@ ShowTipMsg(msg0); NormallyOpenModeValue(doorLock, false); CommonPage.Loading.Hide(); - //new Tip() { MaxWidth = 150, Text = msg0, Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance); }); - action?.Invoke(); + action?.Invoke(doorLock.IsDoorLockNormallyMode); + action = null; + if (LogicAction != null) + { + LogicAction(false); + } return; } if (result.defaultControlResponseData.status != 0) @@ -245,22 +263,28 @@ ShowTipMsg(msg1); NormallyOpenModeValue(doorLock, false); CommonPage.Loading.Hide(); - //new Tip() { MaxWidth = 150, Text = msg1, Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance); }); - action?.Invoke(); + + 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(); - //new Tip() { MaxWidth = 150, Text = msg0, Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance); + if (LogicAction != null) + { + LogicAction(true); + } }); } } @@ -269,7 +293,8 @@ //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); } - action?.Invoke(); + action?.Invoke(doorLock.IsDoorLockNormallyMode); + action = null; }; alert.ConfirmClickEvent += async () => @@ -277,14 +302,14 @@ if (doorLockMessType == DoorLockMessType.DeviceReport || doorLockMessType == DoorLockMessType.ServicePush) { NormallyOpenModeValue(doorLock, false); + if (LogicAction != null) + { + LogicAction(false); + } if (haveLogic) { - var resTemp2 = await Shared.Phone.Device.Logic.SkipView.Exist(3); - //if (resTemp2 == 3) - //{ - // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); - // this.ShowTipMsg(msg0); - //} + //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 + var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock); } } else @@ -298,9 +323,13 @@ { ShowTipMsg(Language.StringByID(R.MyInternationalizationString.GwResponseOvertime)); CommonPage.Loading.Hide(); - //new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance); }); - action?.Invoke(); + action?.Invoke(doorLock.IsDoorLockNormallyMode); + action = null; + if (LogicAction != null) + { + LogicAction(false); + } return; } if (result.defaultControlResponseData.status != 0) @@ -310,9 +339,13 @@ string msg1 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeFailed); ShowTipMsg(msg1); CommonPage.Loading.Hide(); - //new Tip() { MaxWidth = 150, Text = msg1, Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance); }); - action?.Invoke(); + action?.Invoke(doorLock.IsDoorLockNormallyMode); + action = null; + if (LogicAction != null) + { + LogicAction(false); + } return; } else @@ -324,23 +357,8 @@ //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫 if (haveLogic) { - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.Exist(3); - //鍥犱负鐩墠鏈哄埗闂锛岄�昏緫缁忓父澶辫触锛屾墍浠ヤ笉鎻愮ず锛屽悗鏈熸満鍒惰鏀癸紝閲嶆柊鍋氫竴涓繖涓晫闈� - //if (resTemp1 == 3) - //{ - //Application.RunOnMainThread(() => - //{ - // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); - // ShowTipMsg(msg0); - //}); - //} - //else if (resTemp1 == 2) - //{ - //Application.RunOnMainThread(() => - //{ - // string msg0 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); - // ShowTipMsg(msg0); - //}); + //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 + var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock); } Application.RunOnMainThread(() => { @@ -348,9 +366,14 @@ ShowTipMsg(msg2); CommonPage.Loading.Hide(); }); + if (LogicAction != null) + { + LogicAction(false); + } } } - action?.Invoke(); + action?.Invoke(doorLock.IsDoorLockNormallyMode); + action = null; }; } @@ -381,6 +404,30 @@ } /// <summary> + /// 璁剧疆甯稿紑妯″紡 + /// </summary> + /// <param name="doorLock">褰撳墠闂ㄩ攣</param> + /// <param name="action">鍥炶皟澶勭悊鏇存柊鍐呭</param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<bool> SetNormallyOpenModeFuncAsync(ZigBee.Device.DoorLock doorLock) + { + //app璁剧疆鈥滃父寮�妯″紡鈥濆け璐� + var result = await doorLock.SetNormallyOpenModeFuncAsync(true); + if (result == null || result.defaultControlResponseData == null || result.defaultControlResponseData.status != 0) + { + return false; + } + + if (result.defaultControlResponseData.status == 0) + { + //app璁剧疆鈥滃父寮�妯″紡鈥濇垚鍔� + NormallyOpenModeValue(doorLock, false); + return true; + } + return false; + } + + /// <summary> /// 鍚姩甯稿紑妯″紡銆愬脊绐椼�� /// </summary> /// <param name="doorLock">褰撳墠闂ㄩ攣</param> @@ -388,7 +435,7 @@ public static async void NomallyOpenModeStartDialog(ZigBee.Device.DoorLock doorLock, Action action) { //甯稿紑妯″紡鍙兘涓讳汉鎿嶄綔ZigBee.Device.DoorLock doorLock - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { Application.RunOnMainThread(() => { @@ -406,6 +453,27 @@ alert.ConfirmClickEvent += async () => { + NomallyOpenModeInvalidTimeDialog(doorLock, action); + }; + } + + /// <summary> + /// 甯稿紑妯″紡澶辨晥鏃堕棿澶勭悊銆愬脊绐椼�� + /// </summary> + public static async void NomallyOpenModeInvalidTimeDialog(ZigBee.Device.DoorLock doorLock, Action action) + { + //澶辨晥璁剧疆 + string msgTimeInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime); + var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim); + var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim); + alertTimeInValidSetting.Show(); + + alertTimeInValidSetting.InvalidTimeAction += async (obj) => + { + //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛 + var temp = int.Parse(obj); + DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) @@ -436,43 +504,12 @@ action?.Invoke(); Application.RunOnMainThread(() => { - NomallyOpenModeInvalidTimeDialog(doorLock); CommonPage.Loading.Hide(); }); } - }; - } - /// <summary> - /// 甯稿紑妯″紡澶辨晥鏃堕棿澶勭悊銆愬脊绐椼�� - /// </summary> - public static async void NomallyOpenModeInvalidTimeDialog(ZigBee.Device.DoorLock doorLock) - { - //澶辨晥璁剧疆 - string msgTimeInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime); - var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim); - var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim); - alertTimeInValidSetting.Show(); - - alertTimeInValidSetting.InvalidTimeAction += async (obj) => - { - //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛 - var temp = int.Parse(obj); - DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; - //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 - var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - if (!res) - { - Application.RunOnMainThread(() => - { - //榛樿鍒涘缓甯稿紑妯″紡澶辫触 - string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim)); - alert.Show(); - //浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀� - NomallyOpenModeInvalidTimeDialog(doorLock); - }); - } + //娓╁眳鍩庢柟娉曪紵锛燂紵 + //姝ゅ鏄惁瑕佸垱寤哄父寮�妯″紡鐨勭壒娈婇�昏緫 }; } #endregion @@ -487,7 +524,7 @@ { var listDevice = new List<CommonDevice> { }; listDevice.Add(doorLock); - var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); + var devTemp = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice); if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) { return true; @@ -557,53 +594,56 @@ /// <summary> /// 鑾峰彇褰撳墠璐︽埛鍒楄〃锛堥棬閿佸彧瀵逛富浜哄拰鎷ユ湁绠$悊鍛樻潈闄愬鎴愬憳鐢級 /// </summary> - public static async System.Threading.Tasks.Task<List<Shared.Phone.UserCenter.MemberInfoRes>> LocalAccountList() + public static async System.Threading.Tasks.Task<List<MemberInfoRes>> LocalAccountList() { return await System.Threading.Tasks.Task.Run(async () => { - List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; - List<Shared.Phone.UserCenter.MemberInfoRes> SubAccounList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; + List<MemberInfoRes> localAccountList = new List<MemberInfoRes> { }; + List<MemberInfoRes> SubAccounList = new List<MemberInfoRes> { }; + //鈽嗐優銉笺偗鈽� //鍙湁涓讳汉鎵嶆湁鏉冮檺鑾峰彇鑷繁鐨勫瓙璐︽埛 - if (UserCenterResourse.UserInfo.AuthorityNo == 1) - { - var SubAccounListTemp = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark(); - var SubAccounListDictionary = new Dictionary<string, Shared.Phone.UserCenter.MemberInfoRes> { }; + //if (UserCenterResourse.ResidenceOption.AuthorityNo == 1) + //{ + // var SubAccounListTemp = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark(); + // var SubAccounListDictionary = new Dictionary<string, MemberInfoRes> { }; - 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; - } + // if (SubAccounListTemp != null) + // { + // foreach (var member in SubAccounListTemp) + // { + // //鍒ゆ柇涓�涓处鎴风粦瀹氫簡閭鐨勬儏鍐� + // if (SubAccounListDictionary.ContainsKey(member.DistributedMark) == true + // || member.Account == UserCenterResourse.UserInfo.UserPhone + // || member.Account == UserCenterResourse.UserInfo.UserEmail) + // { + // //濡傛灉鏄畠鑷繁鐨勮瘽锛屼笉鏄剧ず,璐︽埛鍜岀粦瀹氱殑閭鍙樉绀哄叾涓箣涓� + // continue; + // } + // //鍘绘帀瀛愯处鎴蜂腑鏅�氭垚鍛橈紝鐣欎笅鎷ユ湁绠$悊鍛樻潈闄愮殑鎴愬憳 + // //锛堝洜涓哄垎閰嶈处鎴风粰鏅�氭垚鍛橈紝鏅�氭垚鍛樺湪app涓笉鑳借繘鍏ヨ澶囩鐞嗛偅閲岋紝鎵�浠ユ病鍙戞煡鐪嬩富浜哄垎閰嶅璐︽埛锛� + // if (member.AccountType != 1) + // { + // continue; + // } - SubAccounListDictionary.Add(member.DistributedMark, member); - } + // SubAccounListDictionary.Add(member.DistributedMark, member); + // } + // } + // foreach (var addMemberID in SubAccounListDictionary.Keys) + // { + // SubAccounList.Add(SubAccounListDictionary[addMemberID]); + // } + //} - foreach (var addMemberID in SubAccounListDictionary.Keys) - { - SubAccounList.Add(SubAccounListDictionary[addMemberID]); - } - } - - // 娉ㄦ剰锛歋ubAccountDistributedMark杩欎釜鍊煎緢鏈夌敤,鈥滄坊鍔犻棬閿佲�濆埌浜戠淇℃伅涓紝CloudAccountId濡傛灉鏄瓙璐︽埛锛屽垯鏄疭ubAccountDistributedMark杩欎釜鍊煎緢鏈夌敤锛屽鏋滄槸绠$悊鍛樻垨鑰呬富浜哄垯鏄櫥褰曞埌G - var masterAccount = new Shared.Phone.UserCenter.MemberInfoRes(); - masterAccount.Account = Shared.Common.Config.Instance.Account; - masterAccount.AccountType = Shared.Common.Config.Instance.AccountType; - masterAccount.SubAccountDistributedMark = Shared.Common.Config.Instance.Guid; - masterAccount.UserName = UserCenterResourse.UserInfo.UserName; - localAccountList.Add(masterAccount); - localAccountList.AddRange(SubAccounList); + //// 娉ㄦ剰锛歋ubAccountDistributedMark杩欎釜鍊煎緢鏈夌敤,鈥滄坊鍔犻棬閿佲�濆埌浜戠淇℃伅涓紝CloudAccountId濡傛灉鏄瓙璐︽埛锛屽垯鏄疭ubAccountDistributedMark杩欎釜鍊煎緢鏈夌敤锛屽鏋滄槸绠$悊鍛樻垨鑰呬富浜哄垯鏄櫥褰曞埌G + //var masterAccount = new MemberInfoRes(); + //masterAccount.Account = Shared.Common.Config.Instance.Account; + //masterAccount.AccountType = Shared.Common.Config.Instance.AccountType; + //masterAccount.SubAccountDistributedMark = Shared.Common.Config.Instance.Guid; + //masterAccount.UserName = UserCenterResourse.UserInfo.NickName; + //localAccountList.Add(masterAccount); + //localAccountList.AddRange(SubAccounList); return localAccountList; }); } @@ -618,18 +658,19 @@ //1銆佽鍙栭棬閿佷俊鎭� var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync(); + //鈽嗐優銉笺偗鈽� //鏈湴闂ㄩ攣鍒楄〃澶勭悊 - foreach (var curAccountObj in doorLock.localAllAccountList) - { - if (getDoorLockInfo == null) - { - doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; - } - else - { - doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; - } - } + //foreach (var curAccountObj in doorLock.localAllAccountList) + //{ + // if (getDoorLockInfo == null) + // { + // doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; + // } + // else + // { + // doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; + // } + //} // 鐢ㄦ埛淇℃伅澶勭悊 if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null) { @@ -702,9 +743,9 @@ { //闂ㄩ攣涓病鏈夛紝浜戠鏈夌敤鎴稩D锛屽悗鍙板垹闄や簯绔繖浜汭D var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + //deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); deleteDoorLockData.IsOtherAccountCtrl = true; } if (doorLock.DeviceAddr != null) @@ -728,7 +769,7 @@ /// <summary> /// 鑾峰彇褰撳墠璐︽埛涓棬閿佷俊鎭� /// </summary> - public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLocklist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj) + public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLocklist(ZigBee.Device.DoorLock doorLock, MemberInfoRes curAccountObj) { return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => { @@ -737,11 +778,13 @@ var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync(); if (getDoorLockInfo == null) { - doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; + //鈽嗐優銉笺偗鈽� + //doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; } else { - doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; + //鈽嗐優銉笺偗鈽� + //doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null) { var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList; @@ -759,57 +802,58 @@ } } + //鈽嗐優銉笺偗鈽� // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 - var getDoorLockInfoAllList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllInfolist(doorLock, curAccountObj.SubAccountDistributedMark); - if (getDoorLockInfoAllList.Count != 0) - { - foreach (var getDoorLockInfoList in getDoorLockInfoAllList) - { - if (getDoorLockInfoList != null) - { - foreach (var curDoorLockUser in getDoorLockInfoList.PageData) - { - if (string.IsNullOrEmpty(curDoorLockUser.DoorLockLocalUserId)) - { - continue; - } - if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId))) - { - var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); - doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; - doorLockObj.PrimaryId = curDoorLockUser.Id; - doorLockObj.EntryTime = curDoorLockUser.EntryTime; - doorLockObj.UserName = curDoorLockUser.UserIdRemarks; - doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; - doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj; - } - else - { - if (curDoorLockUser.DoorLockLocalUserId != null) - { - //闂ㄩ攣涓病鏈夛紝浜戠鏈夌敤鎴稩D锛屽悗鍙板垹闄や簯绔繖浜汭D - var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - deleteDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId; - deleteDoorLockData.PrimaryId = curDoorLockUser.Id; - deleteDoorLockData.DelDoorLockDelType = 2; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - } - } - } - doorLock.ReSave(); - } - } - } + //var getDoorLockInfoAllList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllInfolist(doorLock, curAccountObj.SubAccountDistributedMark); + //if (getDoorLockInfoAllList.Count != 0) + //{ + // foreach (var getDoorLockInfoList in getDoorLockInfoAllList) + // { + // if (getDoorLockInfoList != null) + // { + // foreach (var curDoorLockUser in getDoorLockInfoList.PageData) + // { + // if (string.IsNullOrEmpty(curDoorLockUser.DoorLockLocalUserId)) + // { + // continue; + // } + // if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId))) + // { + // var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + // doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); + // doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; + // doorLockObj.PrimaryId = curDoorLockUser.Id; + // doorLockObj.EntryTime = curDoorLockUser.EntryTime; + // doorLockObj.UserName = curDoorLockUser.UserIdRemarks; + // doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; + // doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj; + // } + // else + // { + // if (curDoorLockUser.DoorLockLocalUserId != null) + // { + // //闂ㄩ攣涓病鏈夛紝浜戠鏈夌敤鎴稩D锛屽悗鍙板垹闄や簯绔繖浜汭D + // var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); + // if (UserCenterResourse.ResidenceOption.AuthorityNo != 1) + // { + // //deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + // deleteDoorLockData.IsOtherAccountCtrl = true; + // } + // if (doorLock.DeviceAddr != null) + // { + // deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + // } + // deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId; + // deleteDoorLockData.PrimaryId = curDoorLockUser.Id; + // deleteDoorLockData.DelDoorLockDelType = 2; + // var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + // } + // } + // } + // doorLock.ReSave(); + // } + // } + //} } return doorLock.localDoorLockUserList; })); @@ -826,9 +870,9 @@ // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + //localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); localDoorLockObj.IsOtherAccountCtrl = true; } @@ -938,9 +982,10 @@ // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + //鈽嗐優銉笺偗鈽� + //localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); localDoorLockObj.IsOtherAccountCtrl = true; } @@ -994,9 +1039,10 @@ // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + //鈽嗐優銉笺偗鈽� + //localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); localDoorLockObj.IsOtherAccountCtrl = true; } if (doorLock.DeviceAddr != null) @@ -1014,18 +1060,20 @@ /// <summary> /// 鑾峰彇浜戠瀛樺偍鐨勯棬閿佹垚鍛樹俊鎭� /// </summary> - public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj, int curPage) + public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, 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) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + ////鈽嗐優銉笺偗鈽� + //localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); localDoorLockObj.IsOtherAccountCtrl = true; } - localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark; + //鈽嗐優銉笺偗鈽� + //localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark; { localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; } @@ -1068,7 +1116,7 @@ /// <summary> /// 鑾峰彇鏈湴鍖归厤鎴愬憳鐨勯棬閿佺敤鎴蜂俊鎭垪琛� /// </summary> - public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetMatchDoorlockAccountList(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj) + public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetMatchDoorlockAccountList(ZigBee.Device.DoorLock doorLock, MemberInfoRes curAccountObj) { return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => { @@ -1077,14 +1125,15 @@ { var curDoorLockUser = doorLock.localDoorLockAccountList[curUserId]; - if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) - { - continue; - } - else - { - curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); - } + //鈽嗐優銉笺偗鈽� + //if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) + //{ + // continue; + //} + //else + //{ + // curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); + //} } return curAccountDoorLockUserList; })); @@ -1099,6 +1148,16 @@ string password = ""; password = new Random().Next(100000, 999999).ToString(); 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> @@ -1178,7 +1237,11 @@ { /// <summary> /// 鐢ㄦ埛id - /// <para>绠$悊鍛�10涓紝0~9锛�</para> ///<para>鏅�氱敤鎴�220涓紝10~234</para> ///<para>涓�娆℃�х敤鎴�10涓紝235~245</para> ///<para>涓存椂瀵嗙爜瀵嗙爜10涓紝245~255锛�</para> ///<para>鍏朵腑鎸囩汗100锛屽瘑鐮�100锛屽崱56</para> + /// <para>绠$悊鍛�10涓紝0~9锛�</para> + ///<para>鏅�氱敤鎴�220涓紝10~234</para> + ///<para>涓�娆℃�х敤鎴�10涓紝235~245</para> + ///<para>涓存椂瀵嗙爜瀵嗙爜10涓紝245~255锛�</para> + ///<para>鍏朵腑鎸囩汗100锛屽瘑鐮�100锛屽崱56</para> ///<para>闂ㄩ攣鏈湴褰曞叆鐨勫瘑鐮併�佹寚绾广�佹劅搴斿崱閮芥湁鍞竴瀵瑰簲鐨勭敤鎴稩d</para> /// </summary> public int UserID = -1; @@ -1202,9 +1265,9 @@ /// 闂ㄩ攣褰曞叆鐨勬椂 /// </summary> public DateTime EntryTime = System.DateTime.MinValue; - /// <summary> - /// PrimaryId 闂ㄩ攣浜戠涓� 閿�(闈炴洿鏂板瓧娈�,浠ヤ笅鍧囦负鏇存柊瀛楁) -->閿悕 : PrimaryId榛樿鍊�: null - /// </summary> + /// <summary> + /// PrimaryId 闂ㄩ攣浜戠涓� 閿�(闈炴洿鏂板瓧娈�,浠ヤ笅鍧囦负鏇存柊瀛楁) -->閿悕 : PrimaryId榛樿鍊�: null + /// </summary> public string PrimaryId = ""; } @@ -1237,7 +1300,6 @@ }); } - #endregion - + #endregion } } -- Gitblit v1.8.0