From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 28 二月 2020 15:25:13 +0800
Subject: [PATCH] 2020.2.28

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs |  171 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 96 insertions(+), 75 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
index e5b8bcd..23e7d57 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
@@ -56,18 +56,7 @@
         /// 瀹夐槻鏁版嵁缂撳瓨
         /// </summary>
         private Dictionary<int, SafeguardZoneInfo> dicAllZoneInfo = new Dictionary<int, SafeguardZoneInfo>();
-        /// <summary>
-        /// 瀹夐槻涓婃姤淇℃伅
-        /// </summary>
-        public List<SafeguardAlarmInfo> listAlarmInfo = new List<SafeguardAlarmInfo>();
-        /// <summary>
-        /// 涓婁竴娆″畨闃蹭笂鎶ヤ俊鎭繚瀛樼殑鏂囦欢鍚嶅瓧(鑰冭檻鍒扮敤鎴锋湁鍙兘24鐐圭殑鏃跺�欙紝涓嶉��鍑篈PP)
-        /// </summary>
-        private string oldDeviceAlarmFile = string.Empty;
-        /// <summary>
-        /// 閿�
-        /// </summary>
-        private object objLock = new object();
+
         #endregion
 
         #region 鈻� 鍒锋柊瀹夐槻___________________________
@@ -188,7 +177,7 @@
             try
             {
                 var jObject = new Newtonsoft.Json.Linq.JObject() { { "Cluster_ID", 0 }, { "Command", 4036 } };
-                await mainGateway.Send("Security/GetSecurityInfo", jObject.ToString());
+                mainGateway.Send("Security/GetSecurityInfo", jObject.ToString());
             }
             catch { }
 
@@ -1419,6 +1408,13 @@
             {
                 return GarrisonMode.None;
             }
+            //鍒ゆ柇鏈夋病鏈夊叾浠栭�昏緫鍘讳慨鏀逛簡甯冮槻妯″紡
+            //鎵�浠ュ啀娆¤幏鍙栨ā寮�
+            var safetyMode = await this.GetSafetyMode();
+            if (safetyMode != null)
+            {
+                return GarrisonMode.None;
+            }
 
             //鍙傛暟 
             var Pra = new Safeguard.EnableModeData();
@@ -1504,10 +1500,6 @@
                 this.ShowErrorMsg(msg);
                 return GarrisonMode.RemoveGarrison;
             }
-
-            //淇濆瓨甯冮槻鎿嶄綔淇℃伅鍒版湰鍦�
-            HdlAlarmsLogic.Current.SaveSafeguardAlarmInfo(garrison);
-
             return garrison;
         }
 
@@ -1608,13 +1600,6 @@
                 this.ShowErrorMsg(msg);
                 return -1;
             }
-
-            if (garrison == GarrisonMode.RemoveGarrison)
-            {
-                //淇濆瓨甯冮槻鎿嶄綔淇℃伅鍒版湰鍦�
-                HdlAlarmsLogic.Current.SaveSafeguardAlarmInfo(garrison);
-            }
-
             return 1;
         }
 
@@ -1640,22 +1625,13 @@
         /// </summary>
         public async Task<string> ShowInputUserPasswordForm()
         {
-            //鑾峰彇褰撳墠姝e湪婵�娲荤殑鐢婚潰
-            var form = UserCenterLogic.GetNowActionForm();
-            if (form == null)
-            {
-                //杩欑鎯呭喌搴旇涓嶅瓨鍦�
-                this.ShowErrorMsg("ERROR:Not Found The ActionForm!");
-                return null;
-            }
-
-            DialogInputFrameControl Dialogform = null;
+            NumberPswInputDialogForm Dialogform = null;
 
             bool isShowingProgressBar = false;
             string ProgressBarText = string.Empty;
 
             string pasword = null;
-            Application.RunOnMainThread(() =>
+            HdlThreadLogic.Current.RunMain(() =>
             {
                 isShowingProgressBar = CommonPage.Loading.Visible;
                 ProgressBarText = CommonPage.Loading.Text;
@@ -1665,21 +1641,12 @@
                     CommonPage.Loading.Hide();
                 }
 
-                Dialogform = new DialogInputFrameControl(form, DialogFrameMode.OnlyPassword);
-                //鐢ㄦ埛瀵嗙爜
-                Dialogform.SetTitleText(Language.StringByID(R.MyInternationalizationString.uSafetyPassword));
-                //璁剧疆鎻愮ず淇℃伅:璇疯緭鍏ョ敤鎴峰瘑鐮�
-                Dialogform.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword));
+                Dialogform = new NumberPswInputDialogForm();
+                Dialogform.AddForm(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword), 4);
                 //纭鎸夐挳
-                Dialogform.ComfirmClickEvent += ((textValue) =>
+                Dialogform.FinishInputEvent += ((textValue) =>
                 {
-                    if (textValue == string.Empty)
-                    {
-                        this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword));
-                        return;
-                    }
-                    Dialogform.CloseDialog();
-
+                    Dialogform.CloseForm();
                     //鐢ㄦ埛瀵嗙爜
                     pasword = textValue;
                     //鍔犲瘑瀵嗙爜
@@ -1874,36 +1841,66 @@
         /// <summary>
         /// 璁剧疆鑳佽揩鐨勮仈绯讳汉鏂瑰紡
         /// </summary>
-        /// <param name="dicPhone">keys:鑱旂郴鏂瑰紡 values:鍦板尯鐮�</param>
+        /// <param name="listPhone">鍦板尯鐮�-鑱旂郴鏂瑰紡</param>
+        /// <param name="listNote">鑱旂郴浜哄娉�</param>
+        /// <param name="addPhone">鏄惁鏄柊寤鸿仈绯讳汉,false鐨勬椂鍊�,鍙敼澶囨敞</param>
         /// <returns></returns>
-        public async Task<bool> SetCoercePhoneNumber(Dictionary<string, string> dicPhone)
+        public async Task<bool> SetCoercePhoneNumber(List<string> listPhone, List<string> listNote, bool addPhone = true)
         {
-            var Pra = new Safeguard.SetCoercePhoneNumberData();
-            var Actonobj = new Safeguard.PushTargetActionObj();
-            Actonobj.Type = 2;
-            Pra.Actions.Add(Actonobj);
-            Pra.LoginToken = this.GetLoginToken();
-
-            foreach (string phoneNum in dicPhone.Keys)
+            if (addPhone == true)
             {
-                var phoneInfo = new Safeguard.PushTargetInfo();
-                Actonobj.PushTarget.Add(phoneInfo);
-                //鐢佃瘽鍙风爜
-                phoneInfo.PushNumber = dicPhone[phoneNum] + "-" + phoneNum;
-            }
+                var Pra = new Safeguard.SetCoercePhoneNumberData();
+                var Actonobj = new Safeguard.PushTargetActionObj();
+                Actonobj.Type = 2;
+                Pra.Actions.Add(Actonobj);
+                Pra.LoginToken = this.GetLoginToken();
 
-            var result = await Safeguard.SetCoercePhoneNumberAsync(Pra);
-            if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0)
+                for (int i = 0; i < listPhone.Count; i++)
+                {
+                    var phoneInfo = new Safeguard.PushTargetInfo();
+                    Actonobj.PushTarget.Add(phoneInfo);
+                    //鐢佃瘽鍙风爜
+                    phoneInfo.PushNumber = listPhone[i];
+                }
+                var result = await Safeguard.SetCoercePhoneNumberAsync(Pra);
+                if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0)
+                {
+                    //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail);
+                    //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+            }
+            for (int i = 0; i < listNote.Count; i++)
             {
-                //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触
-                string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail);
-                //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
-                msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
-
-                this.ShowErrorMsg(msg);
-                return false;
+                var result = await Safeguard.SetCoercePhoneNumberNoteAsync(listPhone[i], listNote[i]);
+                if (result == null)
+                {
+                    //淇敼澶囨敞淇℃伅澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail);
+                    //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+                if (result.Result == -2)
+                {
+                    //閿欒:缃戝叧瀵硅薄涓㈠け
+                    string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg);
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+                if (result.Result != 0)
+                {
+                    //淇敼澶囨敞淇℃伅澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail);
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
             }
-
             return true;
         }
 
@@ -1939,6 +1936,29 @@
             }
 
             return true;
+        }
+
+        /// <summary>
+        /// 缁欒仈绯诲彿鐮佹坊鍔犲娉ㄧ殑淇℃伅
+        /// </summary>
+        private class AddPushNumberNoteInfo
+        {
+            /// <summary>
+            /// 鍥哄畾253
+            /// </summary>
+            public int ActionType = 253;
+            /// <summary>
+            /// LoginToken
+            /// </summary>
+            public string LoginToken = string.Empty;
+            /// <summary>
+            /// 鍦板尯鐮�-鑱旂郴鏂瑰紡
+            /// </summary>
+            public string PushNumber = string.Empty;
+            /// <summary>
+            /// 鑱旂郴浜哄彿鐮佸娉紝鏈�澶�63byte
+            /// </summary>
+            public string PushNumberNote = string.Empty;
         }
 
         #endregion
@@ -2063,7 +2083,7 @@
                 var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 4033 } };
                 var data = new Newtonsoft.Json.Linq.JObject { { "HomeId", Common.Config.Instance.HomeId }, { "Password", password } };
                 jObject.Add("Data", data);
-                await realWay.Send("Security/AdminSetNewPassword", jObject.ToString());
+                realWay.Send("Security/AdminSetNewPassword", jObject.ToString());
             }
             catch
             {
@@ -2201,10 +2221,11 @@
         /// 鑾峰彇鐧婚檰鑰呯殑Token(濂藉儚绠$悊鍛樼櫥闄嗙殑鏃跺��,闇�瑕佸彉鏇碩oken,鎵�浠ユ殏涓斿畾涔変竴涓嚱鏁板嚭鏉�)
         /// </summary>
         /// <returns></returns>
-        private string GetLoginToken()
+        public string GetLoginToken()
         {
             //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
-            return UserCenterLogic.GetConnectMainToken();
+            //return UserCenterLogic.GetConnectMainToken();
+            return Config.Instance.Token;
         }
 
         #endregion

--
Gitblit v1.8.0