xm
2020-07-31 ecba45c93391066bc30c7bd602c3a7683fbb99a7
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
@@ -178,11 +178,7 @@
                if (topic == gatewayID + "/" + "Scene/GetAllInfo_Respon")
                {
                    var sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneAllInfo>(jobject["Data"].ToString());
                    if (sceneGetAllInfo.ScenesSum != 0)
                    {
                        //如果网关里面没有场景的话,它也会推这个东西过来
                        listScene.Add(sceneGetAllInfo);
                    }
                    //更够接收得到场景
                    canReceve = true;
@@ -363,15 +359,12 @@
        /// <summary>
        /// 获取添加执行目标到场景的命令
        /// </summary>
        /// <param name="sceneId">场景id</param>
        /// <param name="listAdjustTarget">执行目标</param>
        /// <param name="dicChangedMac">交换mac key:listAdjustTarget当前的Mac value:转换的mac</param>
        /// <param name="sceneName">场景名称(特殊用途,请勿设置)</param>
        /// <param name="sceneId"></param>
        /// <param name="listAdjustTarget"></param>
        /// <returns></returns>
        public List<string> GetAddTargetToSceneCommand(int sceneId, List<Scene.DeviceListData> listAdjustTarget, Dictionary<string, string> dicChangedMac = null, string sceneName = null)
        public List<string> GetAddTargetToSceneCommand(int sceneId, List<Scene.DeviceListData> listAdjustTarget)
        {
            var listCommand = new List<string>();
            int index = 1;
            for (int i = 0; i < listAdjustTarget.Count; i++)
            {
                var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 820 } };
@@ -379,17 +372,6 @@
                //设备
                if (data.Type == 0)
                {
                    string deviceAddr = data.DeviceAddr;
                    if (dicChangedMac != null)
                    {
                        //如果不包含,则不作为处理对象
                        if (dicChangedMac.ContainsKey(deviceAddr) == false)
                        {
                            continue;
                        }
                        deviceAddr = dicChangedMac[deviceAddr];
                    }
                    var taskList = new Newtonsoft.Json.Linq.JArray { };
                    foreach (var taskInfo in data.TaskList)
                    {
@@ -397,38 +379,25 @@
                            { "Data1", taskInfo.Data1},{ "Data2",taskInfo.Data2}};
                        taskList.Add(tInfo);
                    }
                    var data2 = new Newtonsoft.Json.Linq.JObject {{ "ScenesId",sceneId},{ "Type", 0} ,{ "DeviceAddr",deviceAddr} ,
                         { "Epoint", data.Epoint} ,{ "TaskList", taskList },{ "DelayTime", 0} ,{ "MemberNumber",index}};
                    if (sceneName != null)
                    {
                        data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName));
                    }
                    var data2 = new Newtonsoft.Json.Linq.JObject {{ "ScenesId",sceneId},{ "Type", 0} ,{ "DeviceAddr",data.DeviceAddr} ,
                         { "Epoint", data.Epoint} ,{ "TaskList", taskList },{ "DelayTime", 0} ,{ "MemberNumber",i + 1}};
                    jObject.Add("Data", data2);
                }
                //场景
                else if (data.Type == 1)
                {
                    var data2 = new Newtonsoft.Json.Linq.JObject {{ "ScenesId",sceneId},{ "Type", 1} ,
                         { "ElseScenesId", data.ElseScenesId },{ "DelayTime", 0} ,{ "MemberNumber",index} };
                    if (sceneName != null)
                    {
                        data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName));
                    }
                         { "ElseScenesId", data.ElseScenesId },{ "DelayTime", 0} ,{ "MemberNumber",i + 1} };
                    jObject.Add("Data", data2);
                }
                //延时
                else
                {
                    var data2 = new Newtonsoft.Json.Linq.JObject {{ "Type", 2} ,{ "ScenesId",sceneId},
                         { "DelayTime", data.DelayTime} ,{ "MemberNumber",index}};
                    if (sceneName != null)
                    {
                        data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName));
                    }
                         { "DelayTime", data.DelayTime} ,{ "MemberNumber",i + 1}};
                    jObject.Add("Data", data2);
                }
                listCommand.Add(jObject.ToString());
                index++;
            }
            return listCommand;
        }