黄学彪
2020-08-21 9cc8fd11b13813adbdd3c6c31554e5c0bebf4026
ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs
@@ -110,6 +110,13 @@
        {
            return 0;
        }
        /// <summary>
        /// 变更Mac缓存(在网关执行完成导入之后执行)
        /// </summary>
        public virtual void ChangedMacMemmory()
        {
        }
    }
    /// <summary>
@@ -394,7 +401,7 @@
        /// 绑定列表
        /// </summary>
        public List<ZigBee.Device.BindObj.BindListResponseObj> BindList = new List<ZigBee.Device.BindObj.BindListResponseObj>();
        /// <summary>
        /// 获取更改设备配置的命令字符
        /// </summary>
@@ -472,6 +479,40 @@
            //执行这个命令大约需要15秒
            return 15;
        }
        /// <summary>
        /// 变更绑定目标的Mac
        /// </summary>
        public override void ChangedMacMemmory()
        {
            //当前选择的模板对象
            var dicChangedMac = new Dictionary<string, string>();
            var dicNowSelect = TemplateCommonLogic.Current.modelData.dicDeviceTemplateSelect;
            foreach (var localMac in dicNowSelect.Keys)
            {
                dicChangedMac[dicNowSelect[localMac]] = localMac;
            }
            foreach (var data in BindList)
            {
                //设备
                if (data.BindType != 2)
                {
                    if (dicChangedMac.ContainsKey(data.BindMacAddr) == false)
                    {
                        //这个东西没有选择模板,则不执行
                        continue;
                    }
                    //替换mac
                    data.BindMacAddr = dicChangedMac[data.BindMacAddr];
                }
            }
            var localDevice = Common.LocalDevice.Current.GetDevice(this.DeviceMac, this.DeviceEpoint);
            if (localDevice != null)
            {
                //变更缓存
                TemplateCommonLogic.Current.SaveDeviceMemmoryData(localDevice);
            }
        }
    }
    #endregion