黄学彪
2020-09-23 f9bbfe61af837ef92d0a57a7075597e99051159a
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
@@ -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);
                //保存到指定文件夹下
                HdlFileLogic.Current.SaveTextToFile(System.IO.Path.Combine(strDir, dataResult.ShareName), System.Text.Encoding.UTF8.GetString(dataResult.ShareDataBytes));
                HdlFileLogic.Current.SaveByteToFile(System.IO.Path.Combine(strDir, dataResult.ShareName), dataResult.ShareDataBytes);
                //设置进度值
                ProgressFormBar.Current.SetValue(i + 1, listMarkCount);
            }
@@ -343,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)
@@ -494,6 +503,15 @@
            {
                //性能优化:如果本地拥有这个文件的话,直接使用那个文件
                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;
@@ -574,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)
                    {