Example #1
0
        public static tbl_cp_trone_rateItem QueryBySpTroneId(Shotgun.Database.IBaseDataClass2 dBase, int spTroneId, int cpId)
        {
            var m = _cache.FindFirstData(e => e.sp_trone_id == spTroneId && e.cp_id == cpId);

            if (m != null)
            {
                return(m);
            }

            var q = GetQueries(dBase);

            q.Filter.AndFilters.Add(Fields.cp_id, cpId);
            q.Filter.AndFilters.Add(Fields.sp_trone_id, spTroneId);
            m = q.GetRowByFilters();
            if (m != null)
            {
                _cache.InsertItem(m);
            }
            else
            {
                _cache.InsertItem(m = new tbl_cp_trone_rateItem()
                {
                    cp_id = cpId, sp_trone_id = spTroneId
                });
            }
            return(m);
        }
        /// <summary>
        /// 从缓存中获取日月限制
        /// </summary>
        /// <param name="spTroneId"></param>
        /// <param name="cpId"></param>
        /// <param name="date"></param>
        /// <returns></returns>
        public static tbl_day_month_limitItem GetOrCreateItem(IBaseDataClass2 dBase, int spTroneId, int cpId, DateTime date)
        {
            var m = cache.FindFirstData(e => e.sp_trone_id == spTroneId && e.cp_id == cpId && e.fee_date.Date == date.Date);

            if (m != null)
            {
                return(m);
            }

            var l = GetQueries(dBase);

            l.Filter.AndFilters.Add(Fields.sp_trone_id, spTroneId);
            l.Filter.AndFilters.Add(Fields.cp_id, cpId);
            l.Filter.AndFilters.Add(Fields.fee_date, date.Date);
            m = l.GetRowByFilters();
            if (m != null)
            {
                cache.InsertItem(m);
                return(m);
            }

            m             = new tbl_day_month_limitItem();
            m.fee_date    = date.Date;
            m.cp_id       = cpId;
            m.sp_trone_id = spTroneId;

            return(m);
        }
Example #3
0
        /// <summary>
        /// 根据主键查找指定的行,返回指定字段
        /// </summary>
        /// <param name="dBase"></param>
        /// <param name="id">主键值</param>
        /// <param name="fields">返回字段</param>
        /// <returns></returns>
        public static tbl_troneItem GetRowById(Shotgun.Database.IBaseDataClass2 dBase, int id, string[] fields)
        {
            tbl_troneItem m = null;

            lock (cache.SyncRoot)
            {
                m = cache.GetDataByIdx(id);
                if (m != null)
                {
                    return(m);
                }
            }

            var q = GetQueries(dBase);

            m = q.GetRowById(id);
            cache.InsertItem(m);
            return(m);
        }
        public static tbl_sp_api_urlItem QueryById(Shotgun.Database.IBaseDataClass2 dBase, int id)
        {
            var m = cache.GetDataByIdx(id);

            if (m != null)
            {
                return(m);
            }

            var q = GetQueries(dBase);

            m = q.GetRowById(id);

            if (m == null)
            {
                return(null);
            }
            cache.InsertItem(m);
            return(m);
        }
Example #5
0
        /// <summary>
        /// 根据主键查找指定的行,返回指定字段
        /// </summary>
        /// <param name="dBase"></param>
        /// <param name="id">主键值</param>
        /// <param name="fields">返回字段</param>
        /// <returns></returns>
        public static tbl_sp_troneItem GetRowById(Shotgun.Database.IBaseDataClass2 dBase, int id, string[] fields)
        {
            var m = _cache.GetDataByIdx(id);

            if (m != null)
            {
                return(m);
            }

            var q = GetQueries(dBase);

            //q.Fields = fields;
            q.Filter.AndFilters.Add(identifyField, id);
            m = q.GetRowByFilters();
            if (m != null)
            {
                _cache.InsertItem(m);
            }

            return(m);
        }
Example #6
0
        public static IEnumerable <tbl_trone_orderItem> QueryByTroneIdWithCache(Shotgun.Database.IBaseDataClass2 dBase, int troneId)
        {
            IEnumerable <tbl_trone_orderItem> lst = null;
            var t = cache.GetCacheData(true);

            if (t != null)
            {
                lock (cache.SyncRoot)
                {
                    lst = from item in t where !item.disable && item.trone_id == troneId select item;
                    return(lst.ToArray());
                }
            }

#if DEBUG
            if (isWinform)
            {
                Console.WriteLine("QueryByTroneIdWithCache from database:troneId {0} ", troneId);
            }
            else
#endif
            Shotgun.Library.SimpleLogRecord.WriteLog("Cache2Sql", string.Format("QueryByTroneIdWithCache from database:troneId {0} ", troneId));

            var l = LightDataModel.tbl_trone_orderItem.GetQueries(dBase);
            l.Filter.AndFilters.Add(LightDataModel.tbl_trone_orderItem.Fields.trone_id, troneId);
            l.Filter.AndFilters.Add(LightDataModel.tbl_trone_orderItem.Fields.disable, 0);
            l.PageSize = int.MaxValue;
            lst        = l.GetDataList();
            if (lst == null || lst.Count() == 0)
            {
                return(lst);
            }
            foreach (var m in lst)
            {
                cache.InsertItem(m);
            }
            return(lst);
        }
Example #7
0
        public static tbl_cp_push_urlItem GetRowByIdWithCache(Shotgun.Database.IBaseDataClass2 dBase, int id)
        {
            var m = cache.GetDataByIdx(id);

            if (m != null)
            {
                return(m);
            }
            m = GetRowById(dBase, id, null);
            if (m != null)
            {
                cache.InsertItem(m);
            }
            return(m);
        }
        public static tbl_trone_paycodeItem QueryPayCodeByTroneId(Shotgun.Database.IBaseDataClass2 dBase, int troneId)
        {
            var data = cache.FindFirstData(e => e.trone_id == troneId);

            if (data != null)
            {
                return(data);
            }

            var q = GetQueries(dBase);

            q.Filter.AndFilters.Add(Fields.trone_id, troneId);
            data = q.GetRowByFilters();
            if (data != null)
            {
                cache.InsertItem(data);
            }
            return(data);
        }
Example #9
0
        private void DoRequest(string[] cmd)
        {
            //paycode*#imsi#imei#ip#iccid#package
            var sb = new StringBuilder();

            sb.AppendFormat("phone={0}", _mo.mobile);
            int i = 0;

            if (cmd[i].Length > 7)
            {
                sb.AppendFormat("&feecode={0}", cmd[i++].Substring(1, 6));
            }
            else
            {
                sb.AppendFormat("&feecode={0}", cmd[i++].Substring(1));
            }

            if (cmd.Length > i)
            {
                sb.AppendFormat("&imsi={0}", cmd[i++]);
            }
            if (cmd.Length > i)
            {
                sb.AppendFormat("&imei={0}", cmd[i++]);
            }
            if (cmd.Length > i)
            {
                sb.AppendFormat("&clientip={0}", cmd[i++]);
            }
            if (cmd.Length > i)
            {
                sb.AppendFormat("&iccid={0}", cmd[i++]);
            }
            if (cmd.Length > i)
            {
                sb.AppendFormat("&package={0}", Server.UrlEncode(cmd[i++]));
            }
            if (cmd[0].Length > 7)
            {
                sb.AppendFormat("&cpparams={0}", Server.UrlEncode(cmd[0].Substring(7)));
            }

            string url;

            if (!cmd[0].Contains("100344"))
            {
                url = "http://pool.spcode.cn/getcmd.ashx?" + sb.ToString().Replace("feecode", "poolid");
            }
            else
            {
                url = "http://api.spcode.cn/wuxian.jsp?" + sb.ToString();
            }

            Shotgun.Library.SimpleLogRecord.WriteLog("sms2web", url);
            string html = null;

            try
            {
                html = n8wan.Public.Library.DownloadHTML(url, null, null, null);
            }
            catch (System.Net.WebException)
            {
                return;
            }
            if (string.IsNullOrEmpty(html))
            {
                return;
            }

            var jtk = JToken.Parse(html);

            var jObj = jtk["status"];

            if (jObj == null || jObj.Value <int>() != 1011)
            {
                return;
            }
            jObj = jtk["orderNum"];
            var orderNum = jObj.Value <string>();
            var m        = new NoSqlModel.Sms2WebModel();

            m.mobile   = _mo.mobile;
            m.orderNum = orderNum;
            cache.InsertItem(m);
        }