using CP.Common;
using MC.ORM;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CP.Model
{
///
/// 上海天天彩选4
///
[TableName("fcshttc4"), PrimaryKey("id")]
public class Fcshttc4
{
#region
///
/// 开奖信息自动编号
///
public int id { get; set; }
///
/// 期数
///
public int qi { get; set; }
///
/// 开奖号第1位
///
public int n1 { get; set; }
///
/// 开奖号第2位
///
public int n2 { get; set; }
///
/// 开奖号第3位
///
public int n3 { get; set; }
///
/// 开奖号第4位
///
public int n4 { get; set; }
///
/// 和值
///
public int hz { get; set; }
///
/// 跨度
///
public int kd { get; set; }
///
/// 星期
///
public int week { get; set; }
///
/// 开奖日期
///
public DateTime date { get; set; }
///
/// 在列表中的排名..
/// 用于遗漏计算.
///
[Ignore]
public int rank { get; set; }
///
/// 一等奖注数
///
public string zj1 { get; set; }
///
/// 一等奖金额
///
public string jo1 { get; set; }
///
/// 二等奖注数
///
public string zj2 { get; set; }
///
/// 二等奖金额
///
public string jo2 { get; set; }
///
/// 三等奖注数
///
public string zj3 { get; set; }
///
/// 三等奖金额
///
public string jo3 { get; set; }
///
/// 开奖详情json
///
public string winbonus { set; get; }
///
/// 添加开奖日期
///
public DateTime addtime { get; set; }
///
/// 投注金额
///
public string tzmoney { get; set; }
///
/// 奖池
///
public string nextmoney { get; set; }
///
///是否复查
///
public int ischeck { get; set; }
///
/// 号码
///
public string opencode { get; set; }
#endregion
}
#region 走势图上的遗漏模型
///
/// 福彩上海天天彩选4出号走势图上的遗漏模型
///
public class fcshttcx4NumMissInfo
{
///
/// 名称
///
public string name { get; set; }
///
/// 万位
///
public int[] ww { get; set; }
///
/// 千位
///
public int[] qw { get; set; }
///
/// 百位
///
public int[] bw { get; set; }
///
/// 十位
///
public int[] sw { get; set; }
///
/// 个位
///
public int[] gw { get; set; }
}
///
/// 和值走势图上的遗漏
///
public class fcshttcx4hzMissInfo
{
///
/// 名称
///
public string name { get; set; }
///
/// 和值
///
public int[] hz { get; set; }
///
/// 和尾
///
public int[] hw { get; set; }
///
/// 奇偶
///
public int[] jo { get; set; }
///
/// 大小
///
public int[] dx { get; set; }
///
/// 012路
///
public int[] _012 { get; set; }
///
/// 和值奇偶
///
public int[] hzjo { get; set; }
///
/// 和值大小
///
public int[] hzdx { get; set; }
///
/// 和值012路
///
public int[] hz012 { get; set; }
}
#endregion
///
/// 上海天天彩选4
///
public class Fcshttc4Data : DataConnect
{
///
/// 所有的数据
///
///
public static List GetFcshttcx4List()
{
List list = new List();
string sql = string.Format("order by qi asc");
DataConnect dc = new DataConnect();
list = dc.db.Fetch(sql);
if (list != null && list.Count > 0)
{
for (int i = 0; i < list.Count; i++)
{
list[i].rank = i + 1;
}
}
return list;
}
///
/// 根据期数获取某期开奖信息
///
///
///
public static Fcshttc4 GetQi(int qi)
{
string sql = string.Empty;
if (qi == 0)
sql = string.Format("order by qi desc limit 1");
else
sql = string.Format("where qi={0} limit 1", qi);
using (Database db = new Database(mysql, MySqlClientFactory.Instance))
{
Fcshttc4 info = db.SingleOrDefault(sql);
return info;
}
}
#region 开奖号抓取相关数据层方法
private static readonly object _lock = new object();
public static void Add(Fcshttc4 info)
{
if (info == null)
return;
if (info.qi <= 0)
return;
info.opencode = $"{info.n1},{info.n2},{info.n3},{info.n4}";
//和值
info.hz = info.n1 + info.n2 + info.n3 + info.n4;
//星期
info.week = Utils.GetIntWeek(info.date.DayOfWeek.ToString());
//AC值
//string[] kjhstr = { info.n1.ToString(), info.n2.ToString(), info.n3.ToString(), info.n4.ToString() };
//info.ac = ToolUtils.GetAC(kjhstr);
int[] arr = { info.n1, info.n2, info.n3, info.n4 };
info.kd = arr.Max() - arr.Min();
lock (_lock)
{
using (Database db = new Database(mysql, MySqlClientFactory.Instance))
{
if (db.Exists($"where qi={info.qi}"))
return;
db.Insert(info);
try
{
//更新api
DoHttpHelp.UpdateWebApi(DFEnum.fcshttc4.ToString());
}
catch (Exception) { }
}
}
}
public static void Update(Fcshttc4 model)
{
if (model == null)
return;
using (Database db = new Database(mysql, MySqlClientFactory.Instance))
{
var entity = db.SingleOrDefault(model.id);
db.Update(entity);
}
}
public static Fcshttc4 GetLastOne()
{
using (Database db = new Database(mysql, MySqlClientFactory.Instance))
{
var entity = db.SingleOrDefault($"order by qi desc limit 1");
return entity ?? new Fcshttc4();
}
}
///
/// 开奖list
///
///
public static List GetList(int n = 30, bool isall = false)
{
string sql = $"where n1 > -1 order by qi desc limit {n}";
if (isall)
{
sql = $"where n1 > -1 order by qi desc";
}
using (Database db = new Database(mysql, MySqlClientFactory.Instance))
{
return db.Fetch(sql);
}
}
#endregion
}
}