/// <summary>
        /// 删除节点
        /// </summary>
        /// <param name="tid"></param>
        /// <returns></returns>
        public async Task <string> DelServiceNodeAsync(long tid)
        {
            var node = await this.Entitys.Nodes.FindByBkAsync(tid);

            var result = this.DB.Delete(node) > 0;

            if (result)
            {
                if (node.Type.Equals((int)NodeTypeEnum.Consul))
                {
                    //N:innovationwork.cloudbag.v1.cloudbagrestfulapi|A:[http://192.168.1.2:8088/]
                    //注销服务
                    var service = ConsulClient.GetService(node.ServiceFullName,
                                                          "N:{0}|A:[{1}]".Args(node.ServiceFullName, node.Url));
                    if (service != null)
                    {
                        ConsulClient.UnregisterService(service.ServiceID);
                    }
                }
                else
                {
                    SignalRUtil.PushServerToGroup(node.ServiceFullName, GetServerNodeList(node.ServiceFullName));
                }
                return(string.Empty);
            }
            return(Tip.DeleteError);
        }
        /// <summary>
        /// 添加或修改节点
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <string> ModifyServiceNodeAsync(Node model)
        {
            if (model == null || string.IsNullOrEmpty(model.ServiceFullName))
            {
                return(Tip.BadRequest);
            }

            if (model.Tid > 0)
            {
                var entity = await this.Entitys.Nodes.FirstOrDefaultAsync(r => r.Url.Equals(model.Url) && !r.Tid.Equals(model.Tid));

                if (entity != null)
                {
                    return(Tip.IsExist);
                }
                model.DataChangeLastTime = DateTime.Now;
                //修改
                var update = this.DB.Update(model) > 0;
                if (!update)
                {
                    return(Tip.UpdateError);
                }
            }
            else
            {
                var entity = await this.Entitys.Nodes.FirstOrDefaultAsync(r => r.Url.Equals(model.Url));

                if (entity != null)
                {
                    return(Tip.IsExist);
                }
                model.Type = (int)NodeTypeEnum.SelfRegister;
                var result = this.DB.Insert(model);
                if (result < 1)
                {
                    return(Tip.InsertError);
                }
            }
            SignalRUtil.PushServerToGroup(model.ServiceFullName, GetServerNodeList(model.ServiceFullName));
            return(string.Empty);
        }