using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using CP.Cache; using CP.Common; using CP.Model; namespace CP.Business { public class Fchljp62 { /// <summary> /// 缓存 /// </summary> static WMCache cache = WMCache.GetCacheService(); /// <summary> /// cache中所有的61开奖信息 /// </summary> /// <returns></returns> public static List<Fchljp62Info> GetFchljp62List() { string key = string.Format(CacheKeys.FCHLJP62_DATALIST); List<Fchljp62Info> list = cache.GetObject<List<Fchljp62Info>>(key) as List<Fchljp62Info>; if (list == null) { list = Fchljp62Data.GetFchljp62List(); cache.AddObject(key, list, (int)CacheTime.Data); } return list; } /// <summary> /// 取出开奖数据中最后一期的开奖数据 /// </summary> /// <returns></returns> public static Fchljp62Info GetEndFchljp62Info(ref List<Fchljp62Info> list) { Fchljp62Info info = new Fchljp62Info(); if (list != null && list.Count > 0) return list[list.Count - 1]; return info; } /// <summary> /// 数据筛选 /// </summary> /// <param name="pagesize"></param> /// <param name="year"></param> /// <param name="sqi"></param> /// <param name="eqi"></param> /// <param name="week"></param> /// <param name="ds"></param> /// <returns></returns> public static List<Fchljp62Info> GetFchljp62List(ref List<Fchljp62Info> list, int pagesize, int year, int sqi, int eqi, int week = 0, int ds = 0) { List<Fchljp62Info> rlist = new List<Fchljp62Info>(); int size = list.Count; if (pagesize > 0) { for (int i = (size - pagesize); i < size; i++) { rlist.Add(list[i]); } return rlist; } if (year > 0) { rlist.Clear(); for (int i = 0; i < size; i++) { if (TypeConverter.StrToInt(list[i].qi.ToString().Substring(0, 4), 0) == year) rlist.Add(list[i]); } return rlist; } if (week > 0) { rlist.Clear(); List<Fchljp62Info> temp = new List<Fchljp62Info>(); for (int i = 0; i < size; i++) { if (list[i].week == week) temp.Add(list[i]); } for (int i = (temp.Count - 120); i < temp.Count; i++) { rlist.Add(temp[i]); } return rlist; } if (ds > 0) { rlist.Clear(); List<Fchljp62Info> temp = new List<Fchljp62Info>(); for (int i = 0; i < size; i++) { if (ds == 1) { if (list[i].qi % 2 != 0) temp.Add(list[i]); } else if (ds == 2) { if (list[i].qi % 2 == 0) temp.Add(list[i]); } } for (int i = (temp.Count - 120); i < temp.Count; i++) { rlist.Add(temp[i]); } return rlist; } if (sqi > 0 && eqi > 0) { rlist.Clear(); int srank = GetFchljp62Info(ref list,sqi).rank; int erank = GetFchljp62Info(ref list,eqi).rank; if (erank != 0 && srank != 0 && erank > srank) { for (int i = srank - 1; i < erank && i < size; i++) { rlist.Add(list[i]); } } return rlist; } if (pagesize == 0 && year == 0 && sqi == 0 && eqi == 0 && week == 0 && ds == 0) return list; return rlist; } /// <summary> /// 遗漏上用到的黑龙江6+1数据.. /// </summary> /// <param name="eqi"></param> /// <returns></returns> public static List<Fchljp62Info> GetMissFchljp62List(ref List<Fchljp62Info> list, int eqi) { List<Fchljp62Info> rlist = new List<Fchljp62Info>(); if (eqi > 0) { int size = list.Count; int erank = GetFchljp62Info(ref list,eqi).rank; if (erank > 0) { for (int i = 0; i < erank && i < size; i++) { rlist.Add(list[i]); } } else { for (int i = 0; i < size; i++) { rlist.Add(list[i]); } } } else { rlist = list; } return rlist; } /// <summary> /// 根据期数获取上一期的数据... /// </summary> /// <param name="qi"></param> /// <returns></returns> public static Fchljp62Info GetFchljp62Info(ref List<Fchljp62Info> list, int qi) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = 0; i < size; i++) { if (list[i].qi == qi) { info = list[i]; break; } } return info; } /// <summary> /// 根据排名取上一期的数据 /// </summary> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastQiFchljp62Info(ref List<Fchljp62Info> list, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (list[i].rank == rank - 1) { info = list[i]; return info; } } return info; } /// <summary> /// 根据排名取下一期的数据 /// </summary> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetNextQiFchljp62Info(ref List<Fchljp62Info> list, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 1; i < list.Count; i++) { if (list[i].rank == rank + 1) { info = list[i]; return info; } } return info; } #region 条件查询上一次出来时的数据 /// <summary> /// 某个位号码上一次的数据.. /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <param name="type"></param> /// <returns></returns> public static Fchljp62Info GetLastFchljp62Info(ref List<Fchljp62Info> list, int val, int rank, int type) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (type == 0 && list[i].n1 == val) { info = list[i]; return info; } if (type == 1 && list[i].n2 == val) { info = list[i]; return info; } if (type == 2 && list[i].n3 == val) { info = list[i]; return info; } if (type == 3 && list[i].n4 == val) { info = list[i]; return info; } if (type == 4 && list[i].n5 == val) { info = list[i]; return info; } if (type == 5 && list[i].n6 == val) { info = list[i]; return info; } if (type == 6 && list[i].n7 == val) { info = list[i]; return info; } List<int> kjh = new List<int>() { list[i].n1, list[i].n2, list[i].n3, list[i].n4, list[i].n5, list[i].n6, list[i].n7 }; //组选分布时 if (type == 7 && kjh.Contains(val)) { info = list[i]; return info; } } return info; } /// <summary> /// 上一次和值奇偶形态的数据 /// val==0偶 /// val=1奇 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHzJoFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { //偶 if (val == 0 && list[i].hz % 2 == 0) { info = list[i]; return info; } //奇 if (val == 1 && list[i].hz % 2 != 0) { info = list[i]; return info; } } return info; } /// <summary> /// 上一次和值大小的数据 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHzDxFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (ZstUtils.GetQxcHzDx(list[i].hz) == val) return list[i]; } return info; } /// <summary> /// 上一次和尾的数据 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHwFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (ZstUtils.GetHw(list[i].hz) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 和尾大小 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHwDxFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { int hw = ZstUtils.GetHw(list[i].hz); if (ZstUtils.GetDx(hw) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 和尾奇偶 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHwJoFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { int hw = ZstUtils.GetHw(list[i].hz); if (ZstUtils.GetJo(hw) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 和尾质合 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHwZhFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { int hw = ZstUtils.GetHw(list[i].hz); if (ZstUtils.GetZh(hw) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 和值质合 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHzZhFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (ZstUtils.GetZh(list[i].hz) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 上一次和尾012路的情况 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHw012Fchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { int hw = ZstUtils.GetHw(list[i].hz); if (ZstUtils.Get012(hw) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 上一次和值012路的情况 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHz012Fchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (ZstUtils.Get012(list[i].hz) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 上一次跨度=n的数据 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastKdFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (list[i].kd == val) { info = list[i]; return info; } } return info; } /// <summary> /// 跨度大小 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastKdDxFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (ZstUtils.GetDx(list[i].kd) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 跨度奇偶 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastKdJoFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (ZstUtils.GetJo(list[i].kd) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 跨度质合 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastKdZhFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (ZstUtils.GetZh(list[i].kd) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 上一次跨度012路的情况 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastKd012Fchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (ZstUtils.Get012(list[i].kd) == val) { info = list[i]; return info; } } return info; } /// <summary> /// 上一次跨度振幅的数据 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastKdZfFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (i > 0) { if (Math.Abs(list[i].kd - list[i - 1].kd) == val) { info = list[i]; return info; } } } return info; } /// <summary> /// 上一次和值的数据 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHzFchljp62Info(ref List<Fchljp62Info> list, int val, int rank) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (val < 21 && list[i].hz < 21) { info = list[i]; return info; } if (val > 38 && list[i].hz > 38) { info = list[i]; return info; } if (list[i].hz == val) { info = list[i]; return info; } } return info; } /// <summary> /// 上一次某位号码重号的数据 /// </summary> /// <returns></returns> public static Fchljp62Info GetLastNChFchljp62Info(ref List<Fchljp62Info> list, int rank, int type) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (type == 0) { if (i > 0) { if ((list[i].n1 - list[i - 1].n1) == 0) return list[i]; } } if (type == 1) { if (i > 0) { if ((list[i].n2 - list[i - 1].n2) == 0) return list[i]; } } if (type == 2) { if (i > 0) { if ((list[i].n3 - list[i - 1].n3) == 0) return list[i]; } } if (type == 3) { if (i > 0) { if ((list[i].n4 - list[i - 1].n4) == 0) return list[i]; } } if (type == 4) { if (i > 0) { if ((list[i].n5 - list[i - 1].n5) == 0) return list[i]; } } if (type == 5) { if (i > 0) { if ((list[i].n6 - list[i - 1].n6) == 0) return list[i]; } } if (type == 6) { if (i > 0) { if ((list[i].n7 - list[i - 1].n7) == 0) return list[i]; } } } return info; } /// <summary> /// 非重号的数据 /// </summary> /// <param name="rank"></param> /// <param name="type"></param> /// <returns></returns> public static Fchljp62Info GetLastNNotChFchljp62Info(ref List<Fchljp62Info> list, int rank, int type) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (type == 0) { if (i > 0) { if ((list[i].n1 - list[i - 1].n1) != 0) return list[i]; } } if (type == 1) { if (i > 0) { if ((list[i].n2 - list[i - 1].n2) != 0) return list[i]; } } if (type == 2) { if (i > 0) { if ((list[i].n3 - list[i - 1].n3) != 0) return list[i]; } } if (type == 3) { if (i > 0) { if ((list[i].n4 - list[i - 1].n4) != 0) return list[i]; } } if (type == 4) { if (i > 0) { if ((list[i].n5 - list[i - 1].n5) != 0) return list[i]; } } if (type == 5) { if (i > 0) { if ((list[i].n6 - list[i - 1].n6) != 0) return list[i]; } } if (type == 6) { if (i > 0) { if ((list[i].n7 - list[i - 1].n7) != 0) return list[i]; } } } return info; } #region 上一次某个号码的大小情况 /// <summary> /// 上一次某个号码大小的情况 /// </summary> /// <param name="dx"></param> /// <param name="rank"></param> /// <param name="site"></param> /// <returns></returns> public static Fchljp62Info GetLastNdxInfo(ref List<Fchljp62Info> list, int dx, int rank, int site) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (site == 0) { if (ZstUtils.GetDx(list[i].n1) == dx) { info = list[i]; return info; } } if (site == 1) { if (ZstUtils.GetDx(list[i].n2) == dx) { info = list[i]; return info; } } if (site == 2) { if (ZstUtils.GetDx(list[i].n3) == dx) { info = list[i]; return info; } } if (site == 3) { if (ZstUtils.GetDx(list[i].n4) == dx) { info = list[i]; return info; } } if (site == 5) { if (ZstUtils.GetDx(list[i].n6) == dx) { info = list[i]; return info; } } if (site == 6) { if (ZstUtils.GetDx(list[i].n7) == dx) { info = list[i]; return info; } } } return info; } #endregion #region 奇偶形态的上一次数据 /// <summary> /// 开奖号某位上的上一次奇偶数据.. /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <param name="site"></param> /// <returns></returns> public static Fchljp62Info GetLastNjoInfo(ref List<Fchljp62Info> list, int jo, int rank, int site) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (site == 0) { if (ZstUtils.GetJo(list[i].n1) == jo) { info = list[i]; return info; } } if (site == 1) { if (ZstUtils.GetJo(list[i].n2) == jo) { info = list[i]; return info; } } if (site == 2) { if (ZstUtils.GetJo(list[i].n3) == jo) { info = list[i]; return info; } } if (site == 3) { if (ZstUtils.GetJo(list[i].n4) == jo) { info = list[i]; return info; } } if (site == 4) { if (ZstUtils.GetJo(list[i].n5) == jo) { info = list[i]; return info; } } if (site == 5) { if (ZstUtils.GetJo(list[i].n6) == jo) { info = list[i]; return info; } } if (site == 6) { if (ZstUtils.GetJo(list[i].n7) == jo) { info = list[i]; return info; } } } return info; } #endregion #region 质号形态的上一次数据 /// <summary> /// 开奖号某位上的上一次质合数据.. /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <param name="site"></param> /// <returns></returns> public static Fchljp62Info GetLastNzhInfo(ref List<Fchljp62Info> list, int jo, int rank, int site) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (site == 0) { if (ZstUtils.GetZh(list[i].n1) == jo) { info = list[i]; return info; } } if (site == 1) { if (ZstUtils.GetZh(list[i].n2) == jo) { info = list[i]; return info; } } if (site == 2) { if (ZstUtils.GetZh(list[i].n3) == jo) { info = list[i]; return info; } } if (site == 3) { if (ZstUtils.GetZh(list[i].n4) == jo) { info = list[i]; return info; } } if (site == 4) { if (ZstUtils.GetZh(list[i].n5) == jo) { info = list[i]; return info; } } if (site == 5) { if (ZstUtils.GetZh(list[i].n6) == jo) { info = list[i]; return info; } } if (site == 6) { if (ZstUtils.GetZh(list[i].n7) == jo) { info = list[i]; return info; } } } return info; } #endregion #region 012路形态的上一次数据 /// <summary> /// 开奖号某位上的上一次012路数据.. /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <param name="site"></param> /// <returns></returns> public static Fchljp62Info GetLastN012Info(ref List<Fchljp62Info> list, int jo, int rank, int site) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (site == 0) { if (ZstUtils.Get012(list[i].n1) == jo) { info = list[i]; return info; } } if (site == 1) { if (ZstUtils.Get012(list[i].n2) == jo) { info = list[i]; return info; } } if (site == 2) { if (ZstUtils.Get012(list[i].n3) == jo) { info = list[i]; return info; } } if (site == 3) { if (ZstUtils.Get012(list[i].n4) == jo) { info = list[i]; return info; } } if (site == 4) { if (ZstUtils.Get012(list[i].n5) == jo) { info = list[i]; return info; } } if (site == 5) { if (ZstUtils.Get012(list[i].n6) == jo) { info = list[i]; return info; } } if (site == 6) { if (ZstUtils.Get012(list[i].n7) == jo) { info = list[i]; return info; } } } return info; } #endregion #region 上一次某个号码振幅的数据 /// <summary> /// 上一次某个号码振幅的数据 /// </summary> /// <param name="zf"></param> /// <param name="rank"></param> /// <param name="type"></param> /// <returns></returns> public static Fchljp62Info GetLastNZfInfo(ref List<Fchljp62Info> list, int zf, int rank, int type) { Fchljp62Info info = new Fchljp62Info(); int size = list.Count; for (int i = rank - 2; i >= 0; i--) { if (i > 0) { if (type == 0) { if (Math.Abs(list[i].n1 - list[i - 1].n1) == zf) { info = list[i]; return info; } } if (type == 1) { if (Math.Abs(list[i].n2 - list[i - 1].n2) == zf) { info = list[i]; return info; } } if (type == 2) { if (Math.Abs(list[i].n3 - list[i - 1].n3) == zf) { info = list[i]; return info; } } if (type == 3) { if (Math.Abs(list[i].n4 - list[i - 1].n4) == zf) { info = list[i]; return info; } } if (type == 4) { if (Math.Abs(list[i].n5 - list[i - 1].n5) == zf) { info = list[i]; return info; } } if (type == 5) { if (Math.Abs(list[i].n6 - list[i - 1].n6) == zf) { info = list[i]; return info; } } if (type == 6) { if (Math.Abs(list[i].n7 - list[i - 1].n7) == zf) { info = list[i]; return info; } } } } return info; } #endregion #endregion #region 冷热号 /// <summary> /// 百十个位上的某个号码最近size期是否有出现过. /// 出现过为热,否则为冷号 /// </summary> /// <param name="val"></param> /// <param name="site"></param> /// <param name="size"></param> /// <returns></returns> public static bool GetFchljp62HmLrInfo(ref List<Fchljp62Info> list, int val, int type, int size, int rank) { Fchljp62Info info = new Fchljp62Info(); info = GetLastFchljp62Info(ref list,val, rank, type); if ((rank - info.rank) <= size) return true; return false; } /// <summary> /// 上一次某位号码是冷/热号的情况.. /// </summary> /// <param name="type"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetFchljp62LastHmHrInfo(ref List<Fchljp62Info> list, int type, int size, int rank, bool iscool) { Fchljp62Info info = new Fchljp62Info(); if (list != null && list.Count > 0) { for (int i = rank - 2; i >= 0; i--) { if (iscool) { if (type == 0) { if (!GetFchljp62HmLrInfo(ref list,list[i].n1, type, size, list[i].rank)) return list[i]; } if (type == 1) { if (!GetFchljp62HmLrInfo(ref list,list[i].n2, type, size, list[i].rank)) return list[i]; } if (type == 2) { if (!GetFchljp62HmLrInfo(ref list,list[i].n3, type, size, list[i].rank)) return list[i]; } if (type == 3) { if (!GetFchljp62HmLrInfo(ref list,list[i].n4, type, size, list[i].rank)) return list[i]; } if (type == 4) { if (!GetFchljp62HmLrInfo(ref list,list[i].n5, type, size, list[i].rank)) return list[i]; } if (type == 5) { if (!GetFchljp62HmLrInfo(ref list,list[i].n6, type, size, list[i].rank)) return list[i]; } if (type == 6) { if (!GetFchljp62HmLrInfo(ref list,list[i].n7, type, size, list[i].rank)) return list[i]; } } if (!iscool) { if (type == 0) { if (GetFchljp62HmLrInfo(ref list,list[i].n1, type, size, list[i].rank)) return list[i]; } if (type == 1) { if (GetFchljp62HmLrInfo(ref list,list[i].n2, type, size, list[i].rank)) return list[i]; } if (type == 2) { if (GetFchljp62HmLrInfo(ref list,list[i].n3, type, size, list[i].rank)) return list[i]; } if (type == 3) { if (GetFchljp62HmLrInfo(ref list,list[i].n4, type, size, list[i].rank)) return list[i]; } if (type == 4) { if (GetFchljp62HmLrInfo(ref list,list[i].n5, type, size, list[i].rank)) return list[i]; } if (type == 5) { if (GetFchljp62HmLrInfo(ref list,list[i].n6, type, size, list[i].rank)) return list[i]; } if (type == 6) { if (GetFchljp62HmLrInfo(ref list,list[i].n7, type, size, list[i].rank)) return list[i]; } } } } return info; } #endregion #region 最近n期形态=x的数据列表 /// <summary> /// 和尾 /// </summary> /// <returns></returns> public static List<Fchljp62Info> GetFcQlcListByHw(ref List<Fchljp62Info> list, int val) { List<Fchljp62Info> rlist = new List<Fchljp62Info>(); if (list != null && list.Count > 0) { int size = list.Count; for (int i = 0; i < size; i++) { if (ZstUtils.GetHw(list[i].hz) == val) rlist.Add(list[i]); } } return rlist; } /// <summary> /// 所有跨度.. /// </summary> /// <param name="val"></param> /// <returns></returns> public static List<Fchljp62Info> GetFcQlcListByKd(ref List<Fchljp62Info> list, int val) { List<Fchljp62Info> rlist = new List<Fchljp62Info>(); if (list != null && list.Count > 0) { int size = list.Count; for (int i = 0; i < size; i++) { if (list[i].kd == val) rlist.Add(list[i]); } } return rlist; } /// <summary> /// 所有基本号中包括val的数据 /// </summary> /// <param name="red"></param> /// <returns></returns> public static List<Fchljp62Info> GetFcQlcListByRed(ref List<Fchljp62Info> list, int red) { List<Fchljp62Info> rlist = new List<Fchljp62Info>(); if (list != null && list.Count > 0) { int size = list.Count; for (int i = 0; i < size; i++) { List<int> kjh = new List<int>() { list[i].n1, list[i].n2, list[i].n3, list[i].n4, list[i].n5, list[i].n6, list[i].n7 }; if (kjh.Contains(red)) rlist.Add(list[i]); } } return rlist; } #endregion #region 开奖公告相关方法 /// <summary> /// 大乐透最近30期开奖数据,完整开奖信息,有缓存 /// </summary> /// <returns></returns> public static List<Fchljp62LongInfo> GetFchljp62ListTop30() { string key = string.Format(CacheKeys.FCHLJP62_KJH_DATA); List<Fchljp62LongInfo> list = cache.GetObject<List<Fchljp62LongInfo>>(key) as List<Fchljp62LongInfo>; if (list == null) { list = Fchljp62Data.GetFchljp62Top30(); cache.AddObject(key, list, (int)CacheTime.Kjh); } return list; } /// <summary> /// 获取最新一期开奖信息,完整开奖信息,有缓存 /// </summary> /// <returns></returns> public static Fchljp62LongInfo GetFchljp62InfoTop1(ref List<Fchljp62LongInfo> list) { Fchljp62LongInfo info = new Fchljp62LongInfo(); if (list.Count > 0) { info = list[0]; } return info; } /// <summary> /// 根据期数返回某期完整开奖信息,无缓存 /// </summary> /// <param name="qi"></param> /// <returns></returns> public static Fchljp62LongInfo GetFchljp62InfoByqi(int qi) { return Fchljp62Data.GetFchljp62InfoByQi(qi); } /// <summary> /// 返回某年对应的期数列表,有缓存 /// </summary> /// <param name="year"></param> /// <returns></returns> public static List<int> GetFchljp62QiListByYear(int year) { string key = string.Format(CacheKeys.FCHLJP62_KJH_DATA + "/qilistbyyear/{0}", year); List<int> list = cache.GetObject<List<int>>(key) as List<int>; if (list == null) { list = Fchljp62Data.GetFchljp62QiListByYear(year); cache.AddObject(key, list, (int)CacheTime.System); } return list; } #endregion /// <summary> /// 上一次和值val的数据 /// </summary> /// <param name="val"></param> /// <param name="rank"></param> /// <returns></returns> public static Fchljp62Info GetLastHzFchljp62Info(ref List<Fchljp62Info> list, int shz, int ehz, int rank) { Fchljp62Info info = new Fchljp62Info(); if (list != null && list.Count > 0) { for (int i = rank - 2; i >= 0; i--) { if (list[i].hz >= shz && list[i].hz <= ehz) { info = list[i]; return info; } } } return info; } } }