private Result GetTag(HttpContext context)
        {
            int         id  = Convert.ToInt32(context.Request["id"]);
            LinkTagInfo obj = LinkTagLog_DataAccess.Instance.GetTag(id);

            return(Result.GetSuccessedResult(obj, true));
        }
 private void UpdateCache(LinkTagInfo obj)
 {
     if (!string.IsNullOrEmpty(obj.LinkUrl) && !string.IsNullOrEmpty(url91comIPs))
     {
         try
         {
             string url = string.Format(@"http://url.felinkapps.com/{0}?pid={1}&mt={2}&url={3}&update_cache=1",
                                        obj.LinkTag, obj.SoftID, obj.Platform, System.Web.HttpUtility.UrlEncode(obj.LinkUrl));
             string[] ips = url91comIPs.Split(',');
             foreach (string ip in ips)
             {
                 if (string.IsNullOrEmpty(ip))
                 {
                     continue;
                 }
                 net91com.Core.Web.WebHelper.GetPage(url, proxy: ip);
                 LogHelper.WriteDebug(string.Format("更新缓存:IP={0},{1}", ip, obj.LinkUrl));
             }
         }
         catch (Exception ex)
         {
             LogHelper.WriteException("更新url缓存异常,url91comIPs=" + url91comIPs, ex);
         }
     }
 }
        private Result EditTag(HttpContext context)
        {
            string      value = context.Request["obj"];
            LinkTagInfo obj   = JsonConvert.DeserializeObject <LinkTagInfo>(value);

            obj.AppStoreUrlEncode();
            bool result = false;

            if (obj.ID == 0)
            {
                result = LinkTagLog_DataAccess.Instance.AddTag(obj);
            }
            else
            {
                result = LinkTagLog_DataAccess.Instance.UpdateTag(obj);
            }
            if (result)
            {
                // 刷新缓存
                UpdateCache(obj);
                return(Result.GetSuccessedResult(null, true));
            }
            else
            {
                return(Result.GetFailedResult("保存失败!"));
            }
        }
        public bool AddTag(LinkTagInfo obj)
        {
            string cmdText = @"
 insert into Cfg_LinkTags
  (SoftID,Platform,Tag,TagID,LinkName,Url,CID,Updatetime,LinkType,ChannelId)
 select ?softid,?platform,?tag,0,?name,?url,?cid,now(),?type,?ChannelId
 from dual
 where not exists(select 1 from Cfg_LinkTags where Tag=?tag);
 select last_insert_id();";

            MySqlParameter[] para = new MySqlParameter[]
            {
                new MySqlParameter("?softid", obj.SoftID),
                new MySqlParameter("?platform", obj.Platform),
                new MySqlParameter("?tag", obj.LinkTag),
                new MySqlParameter("?name", obj.LinkName),
                new MySqlParameter("?url", obj.LinkUrl),
                new MySqlParameter("?cid", obj.CID),
                new MySqlParameter("?type", obj.LinkType),
                new MySqlParameter("?ChannelId", obj.ChannelId)
            };
            int id = Convert.ToInt32(MySqlHelper.ExecuteScalar(MySQLConnectionString, cmdText, para));


            return(id > 0);
        }
        public List <LinkTagInfo> GetTagInfoList(int softId, int platform, int cid)
        {
            string cmdText = @"
 select id,tag,linkname,linktype,url,Updatetime,ChannelId
 from Cfg_LinkTags
 where SoftID=?softid and Platform=?platform and CID=?cid";

            MySqlParameter[] param = new MySqlParameter[] {
                new MySqlParameter("?softid", softId),
                new MySqlParameter("?platform", platform),
                new MySqlParameter("?cid", cid)
            };
            List <LinkTagInfo> list = new List <LinkTagInfo>();

            using (IDataReader dataReader = MySqlHelper.ExecuteReader(MySQLConnectionString, cmdText, param))
            {
                while (dataReader.Read())
                {
                    LinkTagInfo obj = new LinkTagInfo(dataReader);
                    obj.AppStoreUrlDecode();
                    list.Add(obj);
                }
            }
            return(list);
        }
        public LinkTagInfo GetTag(int id)
        {
            LinkTagInfo obj     = null;
            string      cmdText = @"
                     select SoftID,Platform,Tag,LinkName,Url,CID,Updatetime,LinkType,channelId
                     from Cfg_LinkTags
                     where id=" + id;

            using (IDataReader dataReader = MySqlHelper.ExecuteReader(MySQLConnectionString, cmdText))
            {
                if (dataReader.Read())
                {
                    obj = new LinkTagInfo(dataReader);
                    obj.AppStoreUrlDecode();
                }
            }
            return(obj);
        }
        public bool UpdateTag(LinkTagInfo obj)
        {
            string cmdText = @"
                             update Cfg_LinkTags set
                              LinkName=?name,
                              Url=?url,
                              CID=?cid,
                              LinkType=?type,
                              Updatetime=now(),
                              ChannelId=?channelid
                             where id=?id";
            var    para    = new MySqlParameter[]
            {
                new MySqlParameter("?id", obj.ID),
                new MySqlParameter("?name", obj.LinkName),
                new MySqlParameter("?url", obj.LinkUrl),
                new MySqlParameter("?cid", obj.CID),
                new MySqlParameter("?type", obj.LinkType),
                new MySqlParameter("?channelid", obj.ChannelId)
            };
            int cc = Convert.ToInt32(MySqlHelper.ExecuteNonQuery(MySQLConnectionString, cmdText, para));

            return(cc > 0);
        }