private void GetData() { CDatabase db = null; try { db = new CDatabase("act_beast"); if (Act20211030ResultAdo.p_act_20211030_unite_winning_detail(out DateTime dateflag, db) != null) { return; } LogMessage(dateflag.ToString("MM-dd") + "结果抓取"); List <Act20211030ResultInfo> infos = fc3d_Capture(); if (!infos.Exists(n => n.dateflag == dateflag)) { return; } Act20211030ResultInfo info = infos.Where(n => n.dateflag == dateflag).First(); string msg = ""; if (info.result >= 0) { LogMessage("今日结果抓取成功:" + info.result); if (!Act20211030ResultAdo.p_act_20211030_unite_winning_insert(dateflag, info.result, out msg, db)) { LogMessage("更新开奖结果失败" + msg); } else { LogMessage(msg + "-结果为:" + info.result); } } else { LogMessage("今日结果抓取失败"); } } catch (Exception ex) { CLog.WriteLog(ex.Message + ex.StackTrace); LogMessage(ex.Message); } finally { db.close(); } }
private List <Act20211030ResultInfo> fc3d_Capture() { string url = "http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=3d&issueCount=30&issueStart=&issueEnd=&dayStart=&dayEnd="; string data = string.Empty; List <Act20211030ResultInfo> list = new List <Act20211030ResultInfo>(); try { data = CUtils.ReadPage(url, "", 10000); } catch (Exception ex) { LogMessage("获取fc3d彩票网数据出错:" + ex.Message + ex.StackTrace); CLog.WriteLog("获取fc3d彩票网数据出错:" + ex.Message + ex.StackTrace); return(list); } try { fc3dlottery result = CUtils.DeserialiseFromJson <fc3dlottery>(data); if (result == null || result.result == null) { return(list); } foreach (var item in result.result) { Act20211030ResultInfo info = new Act20211030ResultInfo(); info.dateflag = CTools.ToDateTime(item.date.Substring(0, 10)); info.result = CTools.ToInt(item.red.Substring(0, 1)); list.Add(info); } return(list.OrderByDescending(p => p.dateflag).ToList()); } catch (Exception ex) { CLog.WriteLog("获取OG311X5开奖网数据出错#2:" + data + ex.Message + ex.StackTrace); return(list); } }
/// <summary> /// 获取当天开奖结果 /// </summary> /// <param name="db"></param> /// <returns></returns> public static Act20211030ResultInfo p_act_20211030_unite_winning_detail(out DateTime dateflag, CDatabase db) { List <SqlParameter> parms = new List <SqlParameter>(); SqlParameter pDateflag = new SqlParameter("@dateflag", SqlDbType.DateTime); pDateflag.Direction = ParameterDirection.Output; parms.Add(pDateflag); db.execute_procedure("p_act_20211030_unite_winning_detail", parms); dateflag = (pDateflag.Value == System.DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(pDateflag.Value); if (db.num_rows <= 0) { return(null); } Act20211030ResultInfo c = new Act20211030ResultInfo(); c.rid = (db.rows[0]["rid"] == System.DBNull.Value) ? 0 : Convert.ToInt32(db.rows[0]["rid"].ToString()); c.result = (db.rows[0]["result"] == System.DBNull.Value) ? 0 : Convert.ToInt32(db.rows[0]["result"].ToString()); c.dateflag = (db.rows[0]["dateflag"] == System.DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(db.rows[0]["dateflag"].ToString()); return(c); }