using System; using System.Collections.Generic; using System.Linq; using System.Text; using MC.ORM; using CP.Common; using MySql.Data.MySqlClient; namespace CP.Model { #region model /// /// 陕西快乐10分 /// [TableName("fcshanxkl10f"), PrimaryKey("id")] public class Fcshanxkl10fInfo : Basekl10fInfo { } #endregion #region 数据库操作 /// /// 陕西快乐10分 /// public class Fcshanxkl10fData : DataConnect { private static readonly object _lock = new object(); /// /// 添加数据 /// /// /// public static int Add(Fcshanxkl10fInfo model) { if (model == null && model.id <= 0) return 0; List kjh = new List() { model.n1,model.n2,model.n3,model.n4,model.n5,model.n6,model.n7,model.n8}; model.opencode = $"{model.n1},{model.n2},{model.n3},{model.n4},{model.n5},{model.n6},{model.n7},{model.n8}"; model.hz = kjh.Sum(); model.kd = kjh.Max() - kjh.Min(); model.addtime = DateTime.Now; lock (_lock) { using (Database db = new Database(mysql, MySqlClientFactory.Instance)) { if (db.Exists($"where qi={model.qi}")) return 0; int ret = TypeConverter.ObjectToInt(db.Insert(model)); try { //更新api DoHttpHelp.UpdateWebApi(GPEnum.fcshanxkl10f.ToString()); } catch (Exception) { } return ret; } } } /// /// 最新一期 /// /// public static Fcshanxkl10fInfo GetFcshanxkl10fNewInfo() { string sql = string.Format("where n1>-1 order by qi desc limit 1 "); using (Database db = new Database(mysql, MySqlClientFactory.Instance)) { return db.SingleOrDefault(sql); } } /// /// 最近N期的数据列表 /// /// public static List GetList(int limit = 2000) { string sql = $"order by qi desc limit {limit}"; using (Database db = new Database(mysql, MySqlClientFactory.Instance)) { var list = db.Fetch(sql).OrderBy(n => n.qi).ToList(); var outlist = new List(); if (list != null && list.Count > 0) { var size = list.Count; for (int i = 0; i < size; i++) { Basekl10fInfo info = list[i]; info.rank = i + 1; outlist.Add(info); } } return outlist; } } public static Fcshanxkl10fInfo GetNewQiTop1(int dateint) { string sql = string.Empty; if (dateint == 0) { sql = string.Format("order by qi desc limit 1"); } else { string _qistr = dateint.ToString() + "00"; sql = string.Format("where qi<{0} order by qi desc limit 1", _qistr); } using (Database db = new Database(mysql, MySqlClientFactory.Instance)) { return db.SingleOrDefault(sql); } } /// /// 返回指定条件的最新期数,dateint=0,返回所有数据中的最新一条,即无附加条件的最新。 /// 用于组合今天,昨天,前天的查询条件。 /// /// /// public static string GetNewQiTop1Qi(int dateint) { int qi = TypeConverter.ObjectToInt(GetNewQiTop1(dateint).qi, 0); return qi.ToString(); } /// /// 某一天的 /// /// /// /// public static List GetOneDayKjList(DateTime sqi, DateTime eqi) { string sql = string.Format("where date BETWEEN '{0}' AND '{1}'", sqi, eqi); using (Database db = new Database(mysql, MySqlClientFactory.Instance)) { List list = db.Fetch(sql); var outlist = new List(); if (list != null && list.Count > 0) { var size = list.Count; for (int i = 0; i < size; i++) { Basekl10fInfo info = list[i]; info.rank = i + 1; outlist.Add(info); } } return outlist; } } } #endregion }