From 00ab3ddb140ba8bb88b5cf572b004a85e1da85e9 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 02 一月 2020 19:51:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into DEV_GXC

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs |  162 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 114 insertions(+), 48 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs
index cb7d026..d986516 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs
@@ -35,11 +35,6 @@
             }
         }
 
-        /// <summary>
-        /// Log澶囦唤鐨勫悕瀛�
-        /// </summary>
-        private string LogBackupName = "##Log##";
-
         #endregion
 
         #region 鈻� 鑾峰彇澶囦唤鍚嶅瓧鍒楄〃___________________
@@ -49,9 +44,9 @@
         /// </summary>
         /// <param name="ZigbeeBackupType">0:App鎵嬪姩澶囦唤 1: App 鑷姩澶囦唤 2锛氱綉鍏虫墜鍔ㄥ浠� 3:缃戝叧鑷姩澶囦唤</param>
         /// <param name="ZigbeeUniqueId">缃戝叧鐨勫敮涓�Id,鑾峰彇缃戝叧澶囦唤闇�瑕�</param>
-        /// <param name="getLogBackup">鏄惁鑾峰彇Log澶囦唤</param>
+        /// <param name="getOptionBackup">鏄惁鑾峰彇鍔熻兘澶囦唤</param>
         /// <returns></returns>
-        public async Task<List<BackupListNameInfo>> GetBackupListNameFromDB(int ZigbeeBackupType = 0, string ZigbeeUniqueId = null, bool getLogBackup = false)
+        public async Task<List<BackupListNameInfo>> GetBackupListNameFromDB(int ZigbeeBackupType = 0, string ZigbeeUniqueId = null, bool getOptionBackup = false)
         {
             //澶囦唤鍚嶅瓧寰堝皯鐨勫唴瀛橈紝鍙互鐩存帴涓�娆℃�у叏閮ㄥ彇瀹�
             var pra = new GetBackupListPra();
@@ -78,9 +73,9 @@
                 {
                     continue;
                 }
-                if (getLogBackup == false && data2.BackupName == LogBackupName)
+                if (getOptionBackup == false && data2.BackupName == DirNameResourse.OptionBackupName)
                 {
-                    //涓嶈幏鍙朙og澶囦唤
+                    //涓嶈幏鍙栧姛鑳藉浠�
                     continue;
                 }
                 list.Add(data2);
@@ -370,13 +365,6 @@
                 ProgressFormBar.Current.SetValue(i + 1 + listNormalFile.Count, listFileCount);
             }
 
-            //涓婁紶Log澶囦唤
-            if (upPath != UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.LogDirectory))
-            {
-                //閲岄潰鏈変釜鍥炶皟鑷韩鐨勬柟娉�,鎵�浠ヨ繖閲屽姞涓垽鏂�,涓嶇劧浼氭寰幆
-                await this.UpLoadLogBackup();
-            }
-
             //杩涘害鏉″叧闂�
             ProgressFormBar.Current.Close();
             //鍏佽鎸夌郴缁熺殑杩斿洖閿�
@@ -432,12 +420,9 @@
                 nvc.Add("ManualBackupType", ManualBackupType.ToString());
                 nvc.Add("IsOtherAccountCtrl", Common.Config.Instance.isAdministrator.ToString());
 
-                for (int i = 0; i < listPicFile.Count; i++)
-                {
-                    string base64 = GetBase64Text(fullName);
-                    nvc.Add("UploadSubFileLists[" + i + "].BackupFileName", fileName);
-                    nvc.Add("UploadSubFileLists[" + i + "].BackupFileContent", base64);
-                }
+                string base64 = GetBase64Text(fullName);
+                nvc.Add("UploadSubFileLists[0].BackupFileName", fileName);
+                nvc.Add("UploadSubFileLists[0].BackupFileContent", base64);
 
                 bool result = UpLoadBigBackupFileToDB("App/UploadHomeAppGatewaySubFiles", fullName, nvc);
                 if (result == false)
@@ -541,10 +526,10 @@
         #region 鈻� 涓婁紶Log澶囦唤________________________
 
         /// <summary>
-        /// 涓婁紶Log澶囦唤
+        /// 涓婁紶Log澶囦唤(闅愬尶鍔熻兘)
         /// </summary>
         /// <returns></returns>
-        private async Task<bool> UpLoadLogBackup()
+        public async Task<bool> UpLoadLogBackup()
         {
             string upPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.LogDirectory);
             if (HdlAutoBackupLogic.GetFileFromDirectory(upPath).Count == 0)
@@ -553,54 +538,135 @@
                 return true;
             }
 
+            ProgressFormBar.Current.Start();
+            ProgressFormBar.Current.SetMsg("姝e湪涓婁紶Log鏂囦欢");
+
+            //浠庝簯绔幏鍙栨暟鎹�
+            var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB(0, null, true);
+            if (pageData == null)
+            {
+                ProgressFormBar.Current.Close();
+                return false;
+            }
+            string backId = string.Empty;
+            for (int i = 0; i < pageData.Count; i++)
+            {
+                if (pageData[i].BackupName == DirNameResourse.OptionBackupName)
+                {
+                    //鑾峰彇鍔熻兘澶囦唤鐨処D
+                    backId = pageData[i].Id;
+                    break;
+                }
+            }
+            if (backId == string.Empty)
+            {
+                //鍒涘缓鏂扮殑澶囦唤
+                backId = await HdlBackupLogic.Current.CreatNewBackupNameToDB(DirNameResourse.OptionBackupName);
+                if (backId == null)
+                {
+                    ProgressFormBar.Current.Close();
+                    return false;
+                }
+            }
+            //涓婁紶Log鏂囦欢
+            bool result = await this.UpLoadBackupFileToDB(backId, 0, upPath, false);
+            if (result == true)
+            {
+                try
+                {
+                    var listAllFile = HdlAutoBackupLogic.GetFileFromDirectory(upPath);
+                    if (listAllFile.Count > 10)
+                    {
+                        listAllFile.Sort();
+                        while (listAllFile.Count >= 10)
+                        {
+                            System.IO.File.Delete(listAllFile[0]);
+                            listAllFile.RemoveAt(0);
+                        }
+                    }
+                }
+                catch { }
+            }
+            ProgressFormBar.Current.Close();
+
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                var contr = new ShowMsgControl(ShowMsgType.Tip, "Log涓婁紶鎴愬姛");
+                contr.Show();
+            });
+
+            return result;
+        }
+
+        #endregion
+
+        #region 鈻� 璇诲彇闅愬尶鍔熻兘閰嶇疆___________________
+
+        /// <summary>
+        /// 璇诲彇闅愬尶鍔熻兘閰嶇疆(涓嶈鍦ㄦ剰杩斿洖鍊�)
+        /// </summary>
+        /// <returns></returns>
+        public async Task<bool> LoadHideOption()
+        {
+            //鍏堝垵濮嬪寲
+            UserCenterResourse.HideOption = new HideOptionInfo();
+            if (UserCenterResourse.UserInfo.AuthorityNo != 1 && UserCenterResourse.UserInfo.AuthorityNo != 2)
+            {
+                return true;
+            }
+
             //鏃犺閿欒
             IMessageCommon.Current.IgnoreError = true;
             //浠庝簯绔幏鍙栨暟鎹�
-            var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB(0, null, true);
+            var pageData = await this.GetBackupListNameFromDB(0, null, true);
             if (pageData == null)
             {
                 //鎭㈠
                 IMessageCommon.Current.IgnoreError = false;
                 return false;
             }
+            string backId = string.Empty;
             for (int i = 0; i < pageData.Count; i++)
             {
-                if (pageData[i].BackupName == LogBackupName)
+                if (pageData[i].BackupName == DirNameResourse.OptionBackupName)
                 {
-                    //鍒犻櫎鎺夎繖涓浠�
-                    bool flage = await this.DeleteDbBackupData(pageData[i].Id);
-                    if (flage == false)
-                    {
-                        //鎭㈠
-                        IMessageCommon.Current.IgnoreError = false;
-                        return false;
-                    }
+                    //鑾峰彇鍔熻兘澶囦唤鐨処D
+                    backId = pageData[i].Id;
                     break;
                 }
             }
-            //鍒涘缓鏂扮殑澶囦唤
-            string backupClassId = await HdlBackupLogic.Current.CreatNewBackupNameToDB(LogBackupName);
-            if (backupClassId == null)
+            if (backId == string.Empty)
+            {
+                //娌℃湁鍔熻兘閰嶇疆
+                IMessageCommon.Current.IgnoreError = false;
+                return true;
+            }
+            //鑾峰彇杩欎釜澶囦唤涓嬮潰鏈夊灏戜釜鏂囦欢
+            List<string> listFile = await GetBackFileIDFromDB(backId, false, null);
+            if (listFile == null)
             {
                 //鎭㈠
                 IMessageCommon.Current.IgnoreError = false;
                 return false;
             }
-            //涓婁紶Log鏂囦欢
-            bool result = await this.UpLoadBackupFileToDB(backupClassId, 0, upPath, false);
-            if (result == true)
+
+            //妫�娴�
+            string checkKeys = UserCenterLogic.EncryptPassword(UserCenterResourse.FileEncryptKey, DirNameResourse.ShowOptionMenuFile + UserCenterResourse.UserInfo.Account);
+            if (listFile.Contains(checkKeys) == true)
             {
-                try
-                {
-                    //鍒犻櫎鏈湴鍏ㄩ儴Log
-                    Global.CreateEmptyDirectory(Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.LogDirectory), true);
-                }
-                catch { }
+                //鏄剧ず涓婚〉闅愯棌鑿滃崟(Debug鐢�)
+                UserCenterResourse.HideOption.CenterHideMenu = 1;
             }
+            checkKeys = UserCenterLogic.EncryptPassword(UserCenterResourse.FileEncryptKey, DirNameResourse.DetailedLogFile + UserCenterResourse.UserInfo.Account);
+            if (listFile.Contains(checkKeys) == true)
+            {
+                //鍑哄姏璇︾粏Log(Debug鐢�)
+                UserCenterResourse.HideOption.DetailedLog = 1;
+            }
+
             //鎭㈠
             IMessageCommon.Current.IgnoreError = false;
-
-            return result;
+            return true;
         }
 
         #endregion

--
Gitblit v1.8.0