From 5986f63b75bd81c6cef262c670e9251c038cbf5d Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期二, 17 十二月 2019 17:21:07 +0800 Subject: [PATCH] 合并一个版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 70 +++++++++++++++++++++++----------- 1 files changed, 47 insertions(+), 23 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index ea5c735..023fb10 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs @@ -178,10 +178,18 @@ /// <returns></returns> private ZbGateway GetGatewayFromFile(string file) { - byte[] filebyte = Global.ReadFileByHomeId(file); - string strvalue = System.Text.Encoding.UTF8.GetString(filebyte); - var gateway = JsonConvert.DeserializeObject<ZbGateway>(strvalue); - return gateway; + try + { + byte[] filebyte = Global.ReadFileByHomeId(file); + string strvalue = System.Text.Encoding.UTF8.GetString(filebyte); + var gateway = JsonConvert.DeserializeObject<ZbGateway>(strvalue); + return gateway; + } + catch (Exception ex) + { + HdlLogLogic.Current.WriteLog(ex); + return null; + } } #endregion @@ -212,11 +220,13 @@ } return false; } - if (result != 1) + if (result == -1) { return false; } - return true; + //璁剧疆缃戝叧鐨勭粡绾害 + bool falge = this.SetGatewaySite(zbGateway, Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude); + return falge; } /// <summary> @@ -424,6 +434,12 @@ this.ShowTipMsg(msg); return -1; } + //璁剧疆缃戝叧鐨勭粡绾害 + bool falge = this.SetGatewaySite(zbGateway, Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude); + if (falge == false) + { + return -1; + } //璁剧疆浣忓畢ID鍒扮綉鍏� bool flage2 = await this.SetHomeIdToGateway(zbGateway, Common.Config.Instance.HomeId); @@ -461,7 +477,7 @@ btnMsg.TextID = R.MyInternationalizationString.uGatewayDataIsChangingPleaseWhait; }); } - await System.Threading.Tasks.Task.Delay(8000); + await Task.Delay(8000); //鑾峰彇缃戝叧鐨勪俊鎭� var result = await zbGateway.GetZbGwInfoAsync(); @@ -473,15 +489,7 @@ return -1; } - if (result == null) - { - //鑾峰彇缃戝叧淇℃伅澶辫触 - string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayInfoFail); - this.ShowTipMsg(msg); - return -1; - } - - if (result.getGwData == null) + if (result == null || result.getGwData == null) { //鑾峰彇缃戝叧淇℃伅澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayInfoFail); @@ -701,15 +709,15 @@ bool result = await this.SetHomeIdToGateway(realWay, string.Empty); if (result == false) { - //缃戝叧瑙g粦澶辫触 + //缃戝叧瑙g粦澶辫触 涓嶇悊瀹�,鍥犱负缃戝叧鍙互鎸夋寜閿己鍒舵悳绱㈠緱鍒� string msg = Language.StringByID(R.MyInternationalizationString.uGatewayUnBindFail); - this.ShowErrorMsg(msg); - return false; + //this.ShowErrorMsg(msg); + //return false; } } //鍒犻櫎浜戠鐨勭綉鍏� - await Phone.UserCenter.HdlGatewayLogic.Current.DeleteDataBaseGateway(zbGatewayID); + await this.DeleteDataBaseGateway(zbGatewayID); //鍒犻櫎缃戝叧鏂囦欢 this.DeleteGatewayFile(zbGatewayID); @@ -1840,7 +1848,15 @@ return; } var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 85 } }; - realWay.Send("GwLinuxLocate_Respon", jObject.ToString()); + if (this.IsGatewayExist(zbGateway) == true) + { + realWay.Send("GwLinuxLocate_Respon", jObject.ToString()); + } + else + { + //濡傛灉杩欎釜缃戝叧杩樻病鏈夌粦瀹氱殑璇濓紝鍒欏己鍒朵娇鐢ㄦ湰鍦拌繛鎺� + realWay.SendLocation("GwLinuxLocate_Respon", System.Text.Encoding.UTF8.GetBytes(jObject.ToString())); + } } #endregion @@ -2213,7 +2229,15 @@ var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 2013 } }; var data = new Newtonsoft.Json.Linq.JObject { { "Longitude", intLongitude }, { "Latitude", intLatitude } }; jObject.Add("Data", data); - realWay.Send("Logic/SetSite", jObject.ToString()); + if (this.IsGatewayExist(gateway) == true) + { + realWay.Send("Logic/SetSite", jObject.ToString()); + } + else + { + //濡傛灉杩欎釜缃戝叧杩樻病鏈夌粦瀹氱殑璇濓紝鍒欏己鍒朵娇鐢ㄦ湰鍦拌繛鎺� + realWay.SendLocation("Logic/SetSite", System.Text.Encoding.UTF8.GetBytes(jObject.ToString())); + } int TimeOut = 0; while (result == -1 && TimeOut < 30) @@ -2253,7 +2277,7 @@ //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - List<string> listNotShowError = new List<string>() { "NoExist", "NoBind", "NoRecord" }; + List<string> listNotShowError = new List<string>() { "NoExist", "NoBind", "NoRecord", "NotSetAgain" }; bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/ReleaseGatewayToHome", true, Pra, listNotShowError); if (result == false) -- Gitblit v1.8.0