From 587c36e27131f2d028fcabc13b296a8de7470034 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 08 一月 2020 08:59:19 +0800
Subject: [PATCH] 2019.1.8
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs | 213 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 133 insertions(+), 80 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
index 49549c2..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 { }
@@ -969,13 +958,14 @@
/// <summary>
/// 淇敼鐢ㄦ埛瀵嗙爜(涓嶅瓨鍦ㄦ椂锛屽垯鏂板缓)
/// </summary>
- /// <param name="userId"></param>
- /// <param name="password"></param>
+ /// <param name="userId">鐢ㄦ埛ID</param>
+ /// <param name="password">瀵嗙爜</param>
+ /// <param name="passWordTips">瀵嗙爜鎻愮ず</param>
/// <returns></returns>
- public async Task<bool> ChangedUserPassword(int userId, string password)
+ public async Task<bool> ChangedUserPassword(int userId, string password, string passWordTips)
{
//鍒涘缓鏂扮敤鎴�
- var result = await Safeguard.SetUserPasswordAsync(userId, password, this.GetLoginToken());
+ var result = await Safeguard.SetUserPasswordAsync(userId, password, passWordTips, this.GetLoginToken());
if (result == null || result.setUserPasswordResponseData == null)
{
if (userId != 5)
@@ -1067,6 +1057,37 @@
}
}
return 0;
+ }
+
+ /// <summary>
+ /// 娣诲姞瀵嗙爜鐨勫娉�
+ /// </summary>
+ /// <param name="userId">鐢ㄦ埛ID</param>
+ /// <param name="password">缃戝叧璇撮渶瑕佸師鏉ョ殑瀵嗙爜,涔熶笉鐭ラ亾涓轰粈涔�</param>
+ /// <param name="passWordTips">瀵嗙爜澶囨敞</param>
+ /// <returns></returns>
+ public async Task<bool> AddPassWordTips(int userId, string password, string passWordTips)
+ {
+ var result = await Safeguard.SetPassWordTipsAsync(userId, password, passWordTips, this.GetLoginToken());
+ if (result == null || result.setUserPasswordResponseData == null)
+ {
+ //淇敼澶囨敞淇℃伅澶辫触
+ string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail);
+ //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+ msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+
+ this.ShowErrorMsg(msg);
+ return false;
+ }
+ if (result.setUserPasswordResponseData.Result != 0)
+ {
+ //淇敼澶囨敞淇℃伅澶辫触
+ string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail);
+
+ this.ShowErrorMsg(msg);
+ return false;
+ }
+ return true;
}
#endregion
@@ -1387,6 +1408,13 @@
{
return GarrisonMode.None;
}
+ //鍒ゆ柇鏈夋病鏈夊叾浠栭�昏緫鍘讳慨鏀逛簡甯冮槻妯″紡
+ //鎵�浠ュ啀娆¤幏鍙栨ā寮�
+ var safetyMode = await this.GetSafetyMode();
+ if (safetyMode != null)
+ {
+ return GarrisonMode.None;
+ }
//鍙傛暟
var Pra = new Safeguard.EnableModeData();
@@ -1472,10 +1500,6 @@
this.ShowErrorMsg(msg);
return GarrisonMode.RemoveGarrison;
}
-
- //淇濆瓨甯冮槻鎿嶄綔淇℃伅鍒版湰鍦�
- HdlAlarmsLogic.Current.SaveSafeguardAlarmInfo(garrison);
-
return garrison;
}
@@ -1576,13 +1600,6 @@
this.ShowErrorMsg(msg);
return -1;
}
-
- if (garrison == GarrisonMode.RemoveGarrison)
- {
- //淇濆瓨甯冮槻鎿嶄綔淇℃伅鍒版湰鍦�
- HdlAlarmsLogic.Current.SaveSafeguardAlarmInfo(garrison);
- }
-
return 1;
}
@@ -1608,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;
@@ -1633,21 +1641,12 @@
CommonPage.Loading.Hide();
}
- Dialogform = new DialogInputFrameControl(form, DialogFrameMode.OnlyPassword);
- //鐢ㄦ埛瀵嗙爜
- Dialogform.SetTitleText(Language.StringByID(R.MyInternationalizationString.uUserPassword));
- //璁剧疆鎻愮ず淇℃伅:璇疯緭鍏ョ敤鎴峰瘑鐮�
- 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;
//鍔犲瘑瀵嗙爜
@@ -1842,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;
}
@@ -1909,6 +1938,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
#region 鈻� 鎶ヨ鐩爣鐘舵�佺殑缈昏瘧鏂囨湰_____________
@@ -1920,7 +1972,7 @@
/// <returns></returns>
public string GetLightAlarmStatuText(List<Safeguard.TaskListInfo> listTaskInfo)
{
- if (listTaskInfo == null)
+ if (listTaskInfo == null || listTaskInfo.Count == 0)
{
//鏃犲姩浣�
return Language.StringByID(R.MyInternationalizationString.uNotAction);
@@ -2031,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
{
@@ -2169,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