using CP.Business; using System; using System.Collections.Generic; using System.Linq; using System.Web; using CP.Common; using System.Text; using CP.Model; namespace CP.Web { /// <summary> /// 开奖号型码类:开机号、试机号、开奖号 /// </summary> public enum OpenCodeType { /// <summary> /// 默认 /// </summary> Normal, /// <summary> /// 开机号 /// </summary> KaiJiHao, /// <summary> /// 试机号 /// </summary> ShiJiHao, /// <summary> /// 开奖号 /// </summary> KaiJiangHao } public class ZtUtil { public static string GetHotContent(int id) { var ztPage = ZtPageBll.GetById(id); return ztPage.Content; } public static string GetColumn(string lotteryCode) { var datas = ZtColumnBll.GetList(lotteryCode); var sp = new StringBuilder(); foreach (var item in datas) { sp.Append("<li>"); sp.AppendFormat("<div class=\"columnImg\"><img src=\"{0}\" /></div>", item.Logo); sp.Append("<div class=\"synopsis\">"); sp.AppendFormat("<h1><a href=\"/zt/{0}/\" target=\"_blank\">{1}</a></h1>", item.RewriteUrl, item.Name); sp.AppendFormat("<p>{0}</p>", Utils.GetSubString(Utils.RemoveHtml(item.About), 56, "")); sp.Append("</div>"); sp.Append("<div class=\"keyWord\">"); sp.AppendFormat("<p>{0}</p>", item.Words); sp.Append("</div>"); sp.Append("</li>"); } return sp.ToString(); } public static string GetHotColumn(string lotteryCode, int topSize) { var datas = ZtColumnBll.GetList(lotteryCode); if (datas == null || datas.Count ==0) return ""; datas = datas.OrderByDescending(item => item.Status).ToList(); datas = datas.Take(topSize).ToList(); var sp = new StringBuilder(); foreach (var item in datas) { sp.AppendFormat("<li class=\"spcaile {0}\"><a href=\"/zt/{1}/\" target=\"_blank\">{2}</a></li>", GetColumnTypeCss(item.TypeName), item.RewriteUrl, item.Name); } return sp.ToString(); } /// <summary> /// 专栏类型CSS样式 /// </summary> /// <param name="typeName"></param> /// <returns></returns> public static string GetColumnTypeCss(string typeName) { if (string.IsNullOrEmpty(typeName)) return ""; switch (typeName) { case "tool": return "tools"; case "tuku": return "tuku"; case "article": return "news"; case "rule": return "plays"; case "opencode": return "lotte"; } return ""; } /// <summary> /// 获取专题类型对应的名称 /// </summary> /// <param name="columnType"></param> /// <returns></returns> public static string GetColumnTypeName(string columnType) { if (string.IsNullOrEmpty(columnType)) return ""; switch (columnType) { case "tool": return "工具类"; case "tuku": return "图库图谜"; case "article": return "资讯预测"; case "rule": return "玩法技巧"; case "opencode": return "开奖类"; } return ""; } /// <summary> /// 自定义列表翻页方法 /// </summary> /// <param name="page">页码</param> /// <param name="pagesize">每页Size</param> /// <param name="recordCount">总条数</param> /// <param name="fomartUrl">fomartURL链接格式</param> /// <param name="showIndexCount">显示页码个数</param> /// <returns></returns> public static string ListPage(int pageIndex, int pageSize, int recordCount, string fomartUrl, int showIndexCount) { if (0 >= recordCount) return ""; var sp = new StringBuilder(); int pageCount = recordCount / pageSize; if (0 != recordCount % pageSize) pageCount++; if (recordCount < pageSize) pageCount = 1; int left = showIndexCount / 2; int right = showIndexCount - left; int startIndex = pageIndex - left; int endIndex = pageIndex + right - 1; if (0 >= startIndex) { startIndex = 1; endIndex = showIndexCount; } if (endIndex > pageCount) endIndex = pageCount; if (pageIndex > 1) { sp.AppendFormat("<a href=\"{0}\">第一页</a>", string.Format(fomartUrl, 1)); sp.AppendFormat("<a href=\"{0}\">上一页</a>", string.Format(fomartUrl, pageIndex > 1 ? pageIndex - 1 : 1)); } for (int i = startIndex; i <= endIndex; i++) { if (i == pageIndex) { sp.AppendFormat("<span>{0}</span>", i); } else { sp.AppendFormat("<a href=\"{0}\">{1}</a>", string.Format(fomartUrl, i), i); } } if (pageIndex < pageCount) { sp.AppendFormat("<a href=\"{0}\">下一页</a>", string.Format(fomartUrl, pageIndex + 1)); sp.AppendFormat("<a href=\"{0}\">最后一页</a>", string.Format(fomartUrl, pageCount)); } return sp.ToString(); } #region 专题相关 /// <summary> /// 专栏获取彩种相关开奖信息及开奖号码 /// </summary> /// <param name="lotteryCode">彩种编号</param> /// <returns></returns> public static string[] GetColumnOpenData(string lotteryCode) { string openDay = "", css = ""; var openInfo = new StringBuilder(); switch (lotteryCode) { case "ssq": css = "ssq"; openDay = "每周二、四、日<span>21:20</span>"; //var ssq = CB.Data.Caches.GetFCSSQInfo(0, OpenCodeType.KaiJiangHao); var ssq = FcssqData.GetFcssqInfoByQi(0); if (null != ssq) { openInfo.Append("<li class=\"belowL\">"); openInfo.Append("<ul class=\"up\" id=\"navigation\">"); openInfo.Append("<li class=\"caiz\">双色球</li>"); openInfo.AppendFormat("<li class=\"qihao\">第<span>{0}</span>期开奖结果</li>", ssq.qi.ToString()); openInfo.Append("<li class=\"ballbox\">"); openInfo.AppendFormat("<span class=\"ball red\">{0}</span><span class=\"ball red\">{1}</span><span class=\"ball red\">{2}</span><span class=\"ball red\">{3}</span>", ssq.n1.ToString("00"), ssq.n2.ToString("00"), ssq.n3.ToString("00"), ssq.n4.ToString("00")); openInfo.AppendFormat("<span class=\"ball red\">{0}</span><span class=\"ball red\">{1}</span><span class=\"ball blue\">{2}</span>", ssq.n5.ToString("00"), ssq.n6.ToString("00"), ssq.n7.ToString("00")); openInfo.Append("</li>"); openInfo.Append("</ul>"); openInfo.Append("</li>"); openInfo.AppendFormat("<li class=\"belowL\">开奖时间:{0} 兑奖截止:{1}</li>", ssq.date.ToString("yyyy年MM月dd日"), ssq.date.AddDays(60).ToString("yyyy年MM月dd日")); } break; case "3d": css = "fc3d"; openDay = "每日<span>20:30</span>"; //var fc3d = CB.Data.Caches.GetFC3DInfo(0, OpenCodeType.KaiJiangHao); var fc3d = FcsdData.GetFcsdInfoByQi(0); if (null != fc3d) { openInfo.Append("<li class=\"belowL\">"); openInfo.Append("<ul class=\"up\" id=\"navigation\">"); openInfo.Append("<li class=\"caiz\">福彩3D</li>"); openInfo.AppendFormat("<li class=\"qihao\">第<span>{0}</span>期开奖结果</li>", fc3d.qi.ToString()); openInfo.Append("<li class=\"ballbox\">"); openInfo.AppendFormat("<span class=\"ball red\">{0}</span><span class=\"ball red\">{1}</span><span class=\"ball red\">{2}</span>", fc3d.n1.ToString(), fc3d.n2.ToString(), fc3d.n3.ToString()); openInfo.Append("</li>"); openInfo.Append("</ul>"); openInfo.Append("</li>"); openInfo.AppendFormat("<li class=\"belowL\">开奖时间:{0} 兑奖截止:{1}</li>", fc3d.date.ToString("yyyy年MM月dd日"), fc3d.date.AddDays(60).ToString("yyyy年MM月dd日")); } break; case "dlt": css = "dlt"; openDay = "每周一、三、六<span>20:30</span>"; //var dlt = CB.Data.Caches.GetTCDLTInfo(0, OpenCodeType.KaiJiangHao); var dlt = TcdltData.GetTcdltInfoByQi(0); if (null != dlt) { openInfo.Append("<li class=\"belowL\">"); openInfo.Append("<ul class=\"up\" id=\"navigation\">"); openInfo.Append("<li class=\"caiz\">大乐透</li>"); openInfo.AppendFormat("<li class=\"qihao\">第<span>{0}</span>期开奖结果</li>", dlt.qi.ToString()); openInfo.Append("<li class=\"ballbox\">"); openInfo.AppendFormat("<span class=\"ball red\">{0}</span><span class=\"ball red\">{1}</span><span class=\"ball red\">{2}</span><span class=\"ball red\">{3}</span>", dlt.n1.ToString("00"), dlt.n2.ToString("00"), dlt.n3.ToString("00"), dlt.n4.ToString("00")); openInfo.AppendFormat("<span class=\"ball red\">{0}</span><span class=\"ball blue\">{1}</span><span class=\"ball blue\">{2}</span>", dlt.n5.ToString("00"), dlt.n6.ToString("00"), dlt.n7.ToString("00")); openInfo.Append("</li>"); openInfo.Append("</ul>"); openInfo.Append("</li>"); openInfo.AppendFormat("<li class=\"belowL\">开奖时间:{0} 兑奖截止:{1}</li>", dlt.date.ToString("yyyy年MM月dd日"), dlt.date.AddDays(60).ToString("yyyy年MM月dd日")); } break; case "p3": css = "p3"; openDay = "每日<span>20:30</span>"; //var p3 = CB.Data.Caches.GetTCP3Info(0, OpenCodeType.KaiJiangHao); var p3 = Tcp3Data.GetTcp3InfoByQi(0); if (null != p3) { openInfo.Append("<li class=\"belowL\">"); openInfo.Append("<ul class=\"up\" id=\"navigation\">"); openInfo.Append("<li class=\"caiz\">排列三</li>"); openInfo.AppendFormat("<li class=\"qihao\">第<span>{0}</span>期开奖结果</li>", p3.qi.ToString()); openInfo.Append("<li class=\"ballbox\">"); openInfo.AppendFormat("<span class=\"ball red\">{0}</span><span class=\"ball red\">{1}</span><span class=\"ball red\">{2}</span>", p3.n1.ToString(), p3.n2.ToString(), p3.n3.ToString()); openInfo.Append("</li>"); openInfo.Append("</ul>"); openInfo.Append("</li>"); openInfo.AppendFormat("<li class=\"belowL\">开奖时间:{0} 兑奖截止:{1}</li>", p3.date.ToString("yyyy年MM月dd日"), p3.date.AddDays(60).ToString("yyyy年MM月dd日")); } break; } return new string[] { css, openDay, openInfo.ToString() }; } /// <summary> /// 图库图片获取上一期号 限制P3/3D /// </summary> /// <param name="qi"></param> /// <param name="lottery"></param> /// <returns></returns> public static int GetUpTerm(int qi, string lottery) { int year = qi / 1000; int minQi = year * 1000 + 001; int lastQi = qi - 1; if (minQi > lastQi) { year = year - 1; int endQi = year * 1000 + 153; if (lottery.ToLower() == "3d" || lottery.ToLower() == "p3") { endQi = endQi + 205; if (2014 == year)//2014年少一期 { endQi = endQi - 1; } } if (0 == (year % 4)) { endQi = endQi + 1; } lastQi = endQi; } return lastQi; } /// <summary> /// 获取下一期号 /// </summary> /// <param name="qi"></param> /// <param name="lottery"></param> /// <returns></returns> public static int GetNextTerm(int qi, string lottery) { int year = qi / 1000; int endQi = year * 1000 + 153; if (lottery == "3d" || lottery == "p3") { endQi = endQi + 205; if (2014 == year)//2014年少一期 { endQi = endQi - 1; } } if (0 == (year % 4)) { endQi = endQi + 1; } if (qi < endQi) return qi + 1; return (year + 1) * 1000 + 1; } /// <summary> /// WAP端专题页子导航 /// </summary> /// <param name="lottery">专题所属彩种</param> /// <param name="localColumnId">当前专题ID</param> /// <returns></returns> public static string GetColumnNavForWap(string lottery) { var list = ZtColumnBll.GetList(lottery); if (null == list || 0 >= list.Count) return ""; var sp = new StringBuilder(); sp.Append("<ul>"); if (3 < list.Count) { for (int i = 0; i < 3; i++) { sp.AppendFormat("<li><a href=\"/zt/{0}/\">{1}</a></li>", list[i].RewriteUrl, list[i].Name); } sp.Append("</ul>"); sp.Append("<ul class=\"enlarge\" id=\"enlarge\" style=\"display:none;\">"); for (int i = 3; i < list.Count; i++) { sp.AppendFormat("<li><a href=\"/zt/{0}/\">{1}</a></li>", list[i].RewriteUrl, list[i].Name); } sp.Append("</ul>"); sp.Append("<div class=\"unfold\" onclick=\"unfold()\" id=\"unfold\"></div>"); } else { foreach (var item in list) { sp.AppendFormat("<li><a href=\"/zt/{0}/\">{1}</a></li>", item.RewriteUrl, item.Name); } sp.Append("</ul>"); } return sp.ToString(); } #endregion } /// <summary> /// 专栏配置 /// </summary> public class ColumnConfigInfo { /// <summary> /// 图库图片URL总路径 /// </summary> public string TukuFileUrl { get; set; } /// <summary> /// 图库WEB服务地址 /// </summary> public string TukuWebServiceUrl { get; set; } /// <summary> /// 图库域名 /// </summary> public string TukuDomain { get; set; } } }