From d6fb0646531172f23648441c224cdcccd721b894 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期一, 14 十二月 2020 09:59:01 +0800
Subject: [PATCH] 请合并代码,完成晾衣架最终功能。

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs |  115 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 58 insertions(+), 57 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
index 4b0826e..26a24b1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
@@ -62,7 +62,7 @@
 
             List<string> listFile = new List<string>();
             //鏂囦欢澶�
-            string strDir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory);
+            string strDir = DirNameResourse.DownLoadShardDirectory;
 
             //涓嶅厑璁告寜绯荤粺鐨勮繑鍥為敭
             Shared.Common.CommonPage.BackKeyCanClick = false;
@@ -81,10 +81,19 @@
                     return null;
                 }
                 var dataResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetShardInfoResult>(result);
+                //瀵瑰簲鏃х増鏈殑璁惧鏂囦欢 Device_OnoffOutput_abcdfrtgg_01
+                if (dataResult.ShareName.StartsWith("Device_") == true)
+                {
+                    var strArry = dataResult.ShareName.Split(new string[] { "_" }, StringSplitOptions.None);
+                    if (strArry.Length == 4)
+                    {
+                        dataResult.ShareName = strArry[0] + "_" + strArry[2] + "_" + strArry[3];
+                    }
+                }
                 //鏂囦欢鍚嶅瓧
                 listFile.Add(dataResult.ShareName);
                 //淇濆瓨鍒版寚瀹氭枃浠跺す涓�
-                Global.WriteFileToDirectoryByBytes(strDir, dataResult.ShareName, dataResult.ShareDataBytes);
+                HdlFileLogic.Current.SaveByteToFile(System.IO.Path.Combine(strDir, dataResult.ShareName), dataResult.ShareDataBytes);
                 //璁剧疆杩涘害鍊�
                 ProgressFormBar.Current.SetValue(i + 1, listMarkCount);
             }
@@ -103,13 +112,13 @@
         /// <returns></returns>
         public byte[] GetShardFileContent(string fileName)
         {
-            string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, fileName);
+            string fullName = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, fileName);
             if (System.IO.File.Exists(fullName) == false)
             {
                 return null;
             }
-            string path = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory);
-            var varByte = Global.ReadFileByDirectory(path, fileName);
+            string path = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, fileName);
+            var varByte = HdlFileLogic.Current.ReadFileByteContent(path);
             return varByte;
         }
 
@@ -119,10 +128,7 @@
         /// <returns></returns>
         public List<string> GetLocalAllShardFile()
         {
-            string path = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory);
-            var listFile = HdlAutoBackupLogic.GetFileFromDirectory(path);
-
-            return listFile;
+            return HdlFileLogic.Current.GetFileFromDirectory(DirNameResourse.DownLoadShardDirectory);
         }
 
         /// <summary>
@@ -132,7 +138,7 @@
         /// <returns></returns>
         public bool IsFileExists(string fileName)
         {
-            string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, fileName);
+            string fullName = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, fileName);
             if (System.IO.File.Exists(fullName) == false)
             {
                 return false;
@@ -154,9 +160,9 @@
             {
                 return;
             }
-            string oldName = UserCenterLogic.CombinePath(fileName);
-            string newName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, fileName);
-            System.IO.File.Copy(oldName, newName, true);
+            string oldName = System.IO.Path.Combine(Config.Instance.FullPath, fileName);
+            string newName = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, fileName);
+            HdlFileLogic.Current.CopyFile(oldName, newName);
         }
 
         /// <summary>
@@ -166,12 +172,9 @@
         public void AddShardFile(Common.Room room)
         {
             room.IsSharedRoom = true;
-            var data = Newtonsoft.Json.JsonConvert.SerializeObject(room);
-            var byteData = System.Text.Encoding.UTF8.GetBytes(data);
-
-            string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, room.FileName);
+            string fullName = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, room.FileName);
             //鍐欏叆鍐呭
-            Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData);
+            HdlFileLogic.Current.SaveFileContent(fullName, room);
         }
 
         /// <summary>
@@ -181,12 +184,9 @@
         public void AddShardFile(Common.SceneUI scene)
         {
             scene.IsSharedScene = true;
-            var data = Newtonsoft.Json.JsonConvert.SerializeObject(scene);
-            var byteData = System.Text.Encoding.UTF8.GetBytes(data);
-
-            string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, scene.FileName);
+            string fullName = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, scene.FileName);
             //鍐欏叆鍐呭
-            Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData);
+            HdlFileLogic.Current.SaveFileContent(fullName, scene);
         }
 
         /// <summary>
@@ -195,12 +195,9 @@
         /// <param name="dic">妤煎眰</param>
         public void AddShardFile(Dictionary<string, string> dic)
         {
-            var data = Newtonsoft.Json.JsonConvert.SerializeObject(dic);
-            var byteData = System.Text.Encoding.UTF8.GetBytes(data);
-
-            string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, DirNameResourse.ShardFloorFile);
+            string fullName = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, DirNameResourse.ShardFloorFile);
             //鍐欏叆鍐呭
-            Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData);
+            HdlFileLogic.Current.SaveFileContent(fullName, dic);
         }
 
         #endregion
@@ -213,11 +210,8 @@
         /// <param name="fileName">鎸囧畾鏂囦欢鍚嶅瓧</param>
         public void DeleteShardFile(string fileName)
         {
-            fileName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, fileName);
-            if (System.IO.File.Exists(fileName) == true)
-            {
-                System.IO.File.Delete(fileName);
-            }
+            fileName = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, fileName);
+            HdlFileLogic.Current.DeleteFile(fileName);
         }
 
         /// <summary>
@@ -227,8 +221,7 @@
         {
             this.dicShardDeviceFile.Clear();
             //鍒涘缓鏂囦欢澶�
-            string strDir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory);
-            Global.CreateEmptyDirectory(strDir, true);
+            HdlFileLogic.Current.CreateDirectory(DirNameResourse.DownLoadShardDirectory, true);
         }
 
         #endregion
@@ -300,15 +293,9 @@
                 //鐢熸垚鏂囦欢
                 foreach (string fileName in listDbFile)
                 {
-                    var oldPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, fileName);
+                    var oldPath = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, fileName);
                     var newPath = System.IO.Path.Combine(Config.Instance.FullPath, fileName);
-                    System.IO.File.Copy(oldPath, newPath, true);
-
-                    if (fileName.StartsWith("Room_") == true)
-                    {
-                        //鎴块棿鏂囦欢鐗规畩澶勭悊
-                        Config.Instance.Home.AddRoomId(fileName.Replace("Room_", string.Empty).Replace(".json", string.Empty));
-                    }
+                    HdlFileLogic.Current.CopyFile(oldPath, newPath);
                 }
                 //娓呯┖鍏变韩鏂囦欢澶�
                 this.ClearShardDirectory();
@@ -365,7 +352,7 @@
             //娓呯┖妤煎眰鏁版嵁
             Common.Config.Instance.Home.FloorDics.Clear();
             //鐒跺悗妫�娴嬫湰鍦扮殑鏂囦欢
-            var listLocalFile = Global.FileListByHomeId();
+            var listLocalFile = HdlFileLogic.Current.GetRootPathListFile();
             foreach (string fileName in listLocalFile)
             {
                 if (fileName == DirNameResourse.ShardFloorFile)
@@ -405,8 +392,6 @@
                     //鍒犻櫎鎺夎繖涓埧闂存枃浠�
                     Global.DeleteFilebyHomeId(fileName);
                     dicUpdateTime.Remove(fileName);
-
-                    Config.Instance.Home.RemoveRoomId(nowRoom.Id);
                 }
                 //妫�娴嬫湰鍦板満鏅枃浠�,鏄惁瀛樺湪宸茬粡鍙栨秷浜嗗叡浜簡鐨�
                 else if (fileName.StartsWith("Scene_") == true)
@@ -448,7 +433,7 @@
         private Dictionary<string, string> GetAllShardFileAgoUpdateTime()
         {
             var dicTime = new Dictionary<string, string>();
-            var data = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.ShardFileUpdateTimeFile);
+            var data = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.ShardFileUpdateTimeFile);
             if (data == null)
             {
                 //鐩爣鏂囦欢涓嶅瓨鍦�
@@ -464,9 +449,7 @@
         /// <param name="dicTime"></param>
         private void SaveAllShardFileAgoUpdateTime(Dictionary<string, string> dicTime)
         {
-            var data = Newtonsoft.Json.JsonConvert.SerializeObject(dicTime);
-            var byteData = System.Text.Encoding.UTF8.GetBytes(data);
-            Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.ShardFileUpdateTimeFile, byteData);
+            HdlFileLogic.Current.SaveFileContent(DirNameResourse.ShardFileUpdateTimeFile, dicTime);
         }
 
         #endregion
@@ -520,6 +503,15 @@
             {
                 //鎬ц兘浼樺寲锛氬鏋滄湰鍦版嫢鏈夎繖涓枃浠剁殑璇�,鐩存帴浣跨敤閭d釜鏂囦欢
                 string fileName = data.ShareName;
+                if (fileName.StartsWith("Device_") == true)
+                {
+                    string[] Arry = fileName.Split(new string[] { "_" }, StringSplitOptions.RemoveEmptyEntries);
+                    if (Arry.Length == 4)
+                    {
+                        //瀵瑰簲鏃ф暟鎹細Device_OnOffOutput_abcjdffdfj_01
+                        fileName = Arry[0] + "_" + Arry[2] + "_" + Arry[3];
+                    }
+                }
                 //璁板綍璧峰畠鐨勪富閿�
                 memberShardInfo.dicAllShardKeys[fileName] = data.DistributedMark;
 
@@ -600,11 +592,21 @@
                     else if (fileName.StartsWith("Device_") == true)
                     {
                         string[] Arry = fileName.Split(new string[] { "_" }, StringSplitOptions.RemoveEmptyEntries);
-                        string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(Arry[2], Convert.ToInt32(Arry[3]));
-                        this.dicShardDeviceFile[mainKeys] = fileName;
-
-                        //璁惧鏂囦欢
-                        dicDeviceFile[mainKeys] = fileName;
+                        if (Arry.Length == 4)
+                        {
+                            //瀵瑰簲鏃ф暟鎹細Device_OnOffOutput_abcjdffdfj_01
+                            string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(Arry[2], Convert.ToInt32(Arry[3]));
+                            this.dicShardDeviceFile[mainKeys] = Arry[0] + "_" + Arry[2] + "_" + Arry[3];
+                            //璁惧鏂囦欢
+                            dicDeviceFile[mainKeys] = this.dicShardDeviceFile[mainKeys];
+                        }
+                        else
+                        {
+                            string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(Arry[1], Convert.ToInt32(Arry[2]));
+                            this.dicShardDeviceFile[mainKeys] = fileName;
+                            //璁惧鏂囦欢
+                            dicDeviceFile[mainKeys] = fileName;
+                        }
                     }
                     else if (fileName.StartsWith("Scene_") == true)
                     {
@@ -1079,7 +1081,7 @@
         /// <returns></returns>
         private string UpLoadBigBackupFileToDB(MemberShardInfoData memberShardInfo, string fileName)
         {
-            string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadShardDirectory, fileName);
+            string fullName = System.IO.Path.Combine(DirNameResourse.DownLoadShardDirectory, fileName);
             if (System.IO.File.Exists(fullName) == false)
             {
                 return null;
@@ -1309,7 +1311,6 @@
                 }
                 listDeleteFile.Add(device.FilePath);
             }
-
             //鍐嶅紕鍦烘櫙
             foreach (var sceneUI in listSceneUI)
             {

--
Gitblit v1.8.0