protected void btnGO_Click(object sender, System.EventArgs e) { tbWinNumber.Text = tbWinNumber.Text.Trim(); if (!new SLS.Lottery()[int.Parse(ddlLottery.SelectedValue)].AnalyseWinNumber(tbWinNumber.Text)) { Shove._Web.JavaScript.Alert(this.Page, "中奖号码格式不正确!"); return; } DAL.Tables.T_Isuses T_Isuses = new DAL.Tables.T_Isuses(); T_Isuses.WinLotteryNumber.Value = tbWinNumber.Text; T_Isuses.IsOpened.Value = 1; if (T_Isuses.Update("[ID] = " + Shove._Web.Utility.FilteSqlInfusion(ddlIsuse.SelectedValue)) < 0) { PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试", this.GetType().FullName); return; } Shove._Web.JavaScript.Alert(this.Page, "中奖号码填写成功。"); BindDataForIsuse(); }
protected void btnGO_Click(object sender, System.EventArgs e) { tbWinNumber.Text = tbWinNumber.Text.Trim(); if (!new SLS.Lottery()[int.Parse(ddlLottery.SelectedValue)].AnalyseWinNumber(tbWinNumber.Text)) { Shove._Web.JavaScript.Alert(this.Page, "中奖号码格式不正确!"); return; } DAL.Tables.T_Isuses T_Isuses = new DAL.Tables.T_Isuses(); T_Isuses.WinLotteryNumber.Value = tbWinNumber.Text; if (T_Isuses.Update("[ID] = " + Shove._Web.Utility.FilteSqlInfusion(ddlIsuse.SelectedValue)) < 0) { PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试", "Admin_InputWinNumber"); return; } Shove._Web.Cache.ClearCache(DataCache.IsusesInfo + ddlLottery.SelectedValue); Shove._Web.JavaScript.Alert(this.Page, "中奖号码填写成功。"); }
//福彩3D private void GetLotteryOpenNumberForFC3D(int LotteryID) { DAL.Tables.T_Isuses t_Isuses = new DAL.Tables.T_Isuses(); DataSet ds = new DataSet(); try { ds.ReadXml(FC3D_Open_URL); } catch { new Log("SystemGetLotteryOpenNumber").Write("福彩3D获取开奖号码页面异常"); return; } if ((ds == null) || (ds.Tables.Count < 1) || (ds.Tables[0].Rows.Count < 1)) { new Log("SystemGetLotteryOpenNumber").Write("福彩3D获取开奖号码页面异常"); return; } foreach (DataRow dr in ds.Tables[0].Rows) { //期数 string t_IsuseName = dr["expect"].ToString(); //开奖号码 string t_winLotteryNumber = dr["opencode"].ToString().Replace(",", ""); if (t_Isuses.GetCount(conn, "LotteryID = " + LotteryID.ToString() + " and [Name] = '" + t_IsuseName + "' and isnull(WinLotteryNumber, '') = '' and year(StartTime) = YEAR(GETDATE())") < 1) { continue; } try { t_Isuses.WinLotteryNumber.Value = t_winLotteryNumber; t_Isuses.Update(conn, "LotteryID = " + LotteryID.ToString() + " and [Name] = '" + t_IsuseName + "' and isnull(WinLotteryNumber, '') = '' and year(StartTime) = YEAR(GETDATE())"); if (GP_Open_RulFC3D == "1") { //开奖 DrawingLottery(LotteryID, t_IsuseName, t_winLotteryNumber); } } catch (Exception e) { new Log("SystemGetLotteryOpenNumber").Write("福彩3D获取开奖号码异常:" + e.Message); } } }
//江西时时彩 private void GetLotteryOpenNumberForJXSSC(int LotteryID) { DAL.Tables.T_Isuses t_Isuses = new DAL.Tables.T_Isuses(); DataSet ds = new DataSet(); try { ds.ReadXml(JXSSC_Open_URL); } catch { new Log("SystemGetLotteryOpenNumber").Write("江西时时彩获取开奖号码页面异常"); return; } if ((ds == null) || (ds.Tables.Count < 1) || (ds.Tables[0].Rows.Count < 1)) { new Log("SystemGetLotteryOpenNumber").Write("江西时时彩获取开奖号码页面异常"); return; } int i = 0; foreach (DataRow dr in ds.Tables[0].Rows) { //期数 string t_IsuseName = dr["expect"].ToString().Substring(4); //开奖号码 string t_winLotteryNumber = dr["opencode"].ToString().Replace(",", ""); if (t_Isuses.GetCount(conn, "LotteryID = " + LotteryID.ToString() + " and [Name] = '" + t_IsuseName + "' and isnull(WinLotteryNumber, '') = '' and year(StartTime) = YEAR(GETDATE())") < 1) { continue; } try { t_Isuses.WinLotteryNumber.Value = t_winLotteryNumber; t_Isuses.Update(conn, "LotteryID = " + LotteryID.ToString() + " and [Name] = '" + t_IsuseName + "' and isnull(WinLotteryNumber, '') = '' and year(StartTime) = YEAR(GETDATE())"); if (GP_Open_RulSYYDJ == "1") { //开奖 DrawingLottery(LotteryID, t_IsuseName, t_winLotteryNumber); } } catch (Exception e) { new Log("SystemGetLotteryOpenNumber").Write("江西时时彩获取开奖号码异常:" + e.Message); } if (i == 0) { DateTime EndTime = Shove._Convert.StrToDateTime(dr["opentime"].ToString(), DateTime.Now.ToString()); int Result = 0; string ReturnDescption = ""; DAL.Procedures.P_IsuseUpdate(conn, LotteryID, t_IsuseName, 1, EndTime.AddMinutes(-10), EndTime, DateTime.Now, t_winLotteryNumber, ref Result, ref ReturnDescption); } i++; } }
// 接收开奖通知 private void IsuseOpenNotice(string Transmessage) { System.Xml.XmlDocument XmlDoc = new XmlDocument(); System.Xml.XmlNodeList nodes = null; System.Xml.XmlNodeList nodesBonusItem = null; System.Xml.XmlNodeList nodesIssue = null; try { XmlDoc.Load(new StringReader(Transmessage)); nodes = XmlDoc.GetElementsByTagName("*"); nodesBonusItem = XmlDoc.GetElementsByTagName("bonusItem"); nodesIssue = XmlDoc.GetElementsByTagName("issue"); } catch { } if (nodes == null) { return; } string BonusNumber = ""; for (int j = 0; j < nodes.Count; j++) { if (!(nodes[j].Name.ToUpper() == "BODY" && nodes[j].FirstChild.Name.ToUpper() == "BONUSNOTIFY")) { continue; } BonusNumber = nodes[j].FirstChild.Attributes["bonusNumber"].InnerText; } if (nodesIssue == null) { this.Response.End(); return; } string MessageID = nodes[0].Attributes["id"].Value; string number = nodesIssue[0].Attributes["number"].Value; string LotteryName = nodesIssue[0].Attributes["gameName"].Value; int LotteryID = GetLotteryID(LotteryName); string WinNumber = GetWinNumber(LotteryID, BonusNumber); DataTable dtIsuse = new DAL.Tables.T_Isuses().Open("", " [Name] = '" + Shove._Web.Utility.FilteSqlInfusion(number) + "' and LotteryID = " + LotteryID.ToString() + " and IsOpened = 0 and LotteryID in (select id from T_Lotteries where PrintOutType = 104)", ""); if ((dtIsuse == null) || (dtIsuse.Rows.Count < 1)) { this.Response.End(); return; } string IsuseID = dtIsuse.Rows[0]["ID"].ToString(); DAL.Tables.T_Isuses T_Isuses = new DAL.Tables.T_Isuses(); T_Isuses.WinLotteryNumber.Value = WinNumber; T_Isuses.OpenOperatorID.Value = 1; T_Isuses.Update(" ID = " + IsuseID); int ReturnValue = 0; string ReturnDescription = ""; DataTable dtWinTypesSSL = new DAL.Tables.T_WinTypes().Open("", " LotteryID =" + LotteryID.ToString(), ""); if ((dtWinTypesSSL != null) && dtWinTypesSSL.Rows.Count > 0) { double[] WinMoneyList = new double[dtWinTypesSSL.Rows.Count * 2]; double DefaultMoney = 0; double DefaultMoneyNoWithTax = 0; for (int i = 0; i < dtWinTypesSSL.Rows.Count; i++) { DefaultMoney = Shove._Convert.StrToDouble(dtWinTypesSSL.Rows[i]["DefaultMoney"].ToString(), 0); DefaultMoneyNoWithTax = Shove._Convert.StrToDouble(dtWinTypesSSL.Rows[i]["DefaultMoneyNoWithTax"].ToString(), 0); WinMoneyList[i * 2] = DefaultMoney == 0 ? 1 : DefaultMoneyNoWithTax; WinMoneyList[i * 2 + 1] = DefaultMoneyNoWithTax == 0 ? 1 : DefaultMoneyNoWithTax; } DataTable dtSchemesWithTaskDetails = new DAL.Tables.T_Schemes().Open("", "IsuseID = " + IsuseID + " and WinMoney = 0 and Buyed = 1 and isnull(Identifiers, '') = ''", ""); string LotteryNumber = ""; SLS.Lottery.LotteryBase lb = new SLS.Lottery()[LotteryID]; string Description = ""; double WinMoneyNoWithTax = 0; for (int i = 0; i < dtSchemesWithTaskDetails.Rows.Count; i++) { LotteryNumber = dtSchemesWithTaskDetails.Rows[i]["LotteryNumber"].ToString(); Description = ""; WinMoneyNoWithTax = 0; double WinMoney = lb.ComputeWin(LotteryNumber, WinNumber.Trim(), ref Description, ref WinMoneyNoWithTax, int.Parse(dtSchemesWithTaskDetails.Rows[i]["PlayTypeID"].ToString()), WinMoneyList); if (WinMoney > 0) { Shove.Database.MSSQL.ExecuteNonQuery("update T_Schemes set PreWinMoney = @p1, PreWinMoneyNoWithTax = @p2, WinMoney = @p3, WinMoneyNoWithTax = @p4, WinDescription = @p5 where [ID] = " + dtSchemesWithTaskDetails.Rows[i]["ID"].ToString(), new Shove.Database.MSSQL.Parameter("p1", SqlDbType.Money, 0, ParameterDirection.Input, WinMoney * Shove._Convert.StrToInt(dtSchemesWithTaskDetails.Rows[i]["Multiple"].ToString(), 1)), new Shove.Database.MSSQL.Parameter("p2", SqlDbType.Money, 0, ParameterDirection.Input, WinMoneyNoWithTax * Shove._Convert.StrToInt(dtSchemesWithTaskDetails.Rows[i]["Multiple"].ToString(), 1)), new Shove.Database.MSSQL.Parameter("p3", SqlDbType.Money, 0, ParameterDirection.Input, WinMoney * Shove._Convert.StrToInt(dtSchemesWithTaskDetails.Rows[i]["Multiple"].ToString(), 1)), new Shove.Database.MSSQL.Parameter("p4", SqlDbType.Money, 0, ParameterDirection.Input, WinMoneyNoWithTax * Shove._Convert.StrToInt(dtSchemesWithTaskDetails.Rows[i]["Multiple"].ToString(), 1)), new Shove.Database.MSSQL.Parameter("p5", SqlDbType.VarChar, 0, ParameterDirection.Input, Description)); continue; } } } string BonusXML = "<Schemes>"; string AgentBonusXML = "<Schemes>"; if ((nodesBonusItem != null) && (nodesBonusItem.Count > 0)) { string bonusItemXML = Transmessage.Substring(Transmessage.IndexOf("<bonusNotify"), Transmessage.LastIndexOf("</body>") - Transmessage.IndexOf("<bonusNotify")); DataSet dsXML = new DataSet(); try { dsXML.ReadXml(new StringReader(bonusItemXML)); } catch (Exception e) { new Log("ElectronTicket\\HPSD").Write("电子票开奖,第 " + number + " 期解析开奖数据错误:" + e.Message); this.Response.End(); return; } if ((dsXML == null) || (dsXML.Tables.Count < 3)) { new Log("ElectronTicket\\HPSD").Write("电子票开奖,第 " + number + " 期开奖数据格式不符合要求。"); this.Response.End(); return; } DataTable dtTickets = dsXML.Tables[2]; DataTable dtSchemes = MSSQL.Select("SELECT SchemeID, 0 AS AgentID, SchemesMultiple as Multiple, Identifiers FROM V_SchemesSendToCenter WHERE (IsuseID = " + IsuseID + ")"); if (dtSchemes == null) { new Log("ElectronTicket\\HPSD").Write("电子票开奖,第 " + number + " 期,读取本地方案错误。"); this.Response.End(); return; } try { var query1 = from NewDtTickets in dtTickets.AsEnumerable() join NewdtScheme in dtSchemes.AsEnumerable() on NewDtTickets.Field <string>("ticketID") equals NewdtScheme.Field <string>("Identifiers") select new { ID = NewdtScheme.Field <long>("SchemeID"), AgentID = 0, //NewdtScheme.Field<long>("AgentID"), Multiple = NewdtScheme.Field <int>("Multiple"), Bonus = Shove._Convert.StrToDouble(NewDtTickets.Field <string>("money"), 0), BonusLevel = NewDtTickets.Field <string>("bonusLevel"), }; var query2 = from NewDt in query1.AsQueryable() group NewDt by new { NewDt.ID, NewDt.BonusLevel, NewDt.AgentID, NewDt.Multiple } into gg select new { ID = gg.Key.ID, AgentID = gg.Key.AgentID, Multiple = gg.Key.Multiple, Bonus = gg.Sum(NewDt => NewDt.Bonus), BonusLevel = GetWinDescription(LotteryID, gg.Key.BonusLevel) }; var query3 = from NewDt in query2.AsQueryable() group NewDt by new { NewDt.ID, NewDt.Multiple, NewDt.AgentID } into t_dtSchemes select new { SchemeID = t_dtSchemes.Key.ID, AgentID = t_dtSchemes.Key.AgentID, Multiple = t_dtSchemes.Key.Multiple, Bonus = t_dtSchemes.Sum(NewDt => NewDt.Bonus), BonusLevel = "中奖金额:" + t_dtSchemes.Sum(NewDt => NewDt.Bonus).ToString() + ((t_dtSchemes.Key.Multiple != 1) ? "(" + t_dtSchemes.Key.Multiple.ToString() + "倍)" : "") }; foreach (var Scheme in query3) { if (Scheme.AgentID == 0) { BonusXML += "<Scheme SchemeID=\"" + Scheme.SchemeID.ToString() + "\" WinMoney=\"" + Scheme.Bonus.ToString() + "\" WinDescription=\"" + Scheme.BonusLevel + "\" />"; } else { AgentBonusXML += "<Scheme SchemeID=\"" + Scheme.SchemeID.ToString() + "\" WinMoney=\"" + Scheme.Bonus.ToString() + "\" WinDescription=\"" + Scheme.BonusLevel + "\" />"; } } } catch (Exception e) { new Log("ElectronTicket\\HPSD").Write("电子票开奖,第 " + number + " 期详细中奖数据解析错误:" + e.Message); this.Response.End(); return; } } BonusXML += "</Schemes>"; AgentBonusXML += "</Schemes>"; dtIsuse = new DAL.Tables.T_Isuses().Open("", "[ID] = " + IsuseID + " and IsOpened = 0", ""); if ((dtIsuse == null) || (dtIsuse.Rows.Count < 1)) { this.Response.End(); return; } DataSet ds = null; int Times = 0; int Result = -1; while ((Result < 0) && (Times < 5)) { ReturnValue = 0; ReturnDescription = ""; Result = DAL.Procedures.P_ElectronTicketWin(ref ds, Shove._Convert.StrToLong(IsuseID, 0), BonusXML, AgentBonusXML, ref ReturnValue, ref ReturnDescription); if (Result < 0) { new Log("ElectronTicket\\HPSD").Write("电子票第 " + (Times + 1).ToString() + " 次派奖出现错误(IsuseOpenNotice) 期号为: " + number + ",彩种为: " + LotteryID.ToString()); Times++; if (Times < 5) { System.Threading.Thread.Sleep(10000); } continue; } } if (ReturnValue < 0) { new Log("ElectronTicket\\HPSD").Write("电子票派奖出现错误(IsuseOpenNotice) 期号为: " + number + ",彩种为: " + LotteryID.ToString() + ",错误:" + ReturnDescription); this.Response.End(); return; } DataTable dtWinTypes = new DAL.Tables.T_WinTypes().Open("", " LotteryID =" + LotteryID.ToString(), ""); if ((dtWinTypes != null) && dtWinTypes.Rows.Count > 0) { double[] WinMoneyList = new double[dtWinTypes.Rows.Count * 2]; double DefaultMoney = 0; double DefaultMoneyNoWithTax = 0; for (int i = 0; i < dtWinTypes.Rows.Count; i++) { DefaultMoney = Shove._Convert.StrToDouble(dtWinTypes.Rows[i]["DefaultMoney"].ToString(), 0); DefaultMoneyNoWithTax = Shove._Convert.StrToDouble(dtWinTypes.Rows[i]["DefaultMoneyNoWithTax"].ToString(), 0); WinMoneyList[i * 2] = DefaultMoney == 0 ? 1 : DefaultMoneyNoWithTax; WinMoneyList[i * 2 + 1] = DefaultMoneyNoWithTax == 0 ? 1 : DefaultMoneyNoWithTax; } DataTable dtSchemesWithTaskDetails = new DAL.Views.V_Schemes().Open("LotteryNumber, PlayTypeID, SiteID, ID, Multiple", " IsuseID = " + IsuseID + " and WinMoney = 0 and Buyed = 0", ""); string LotteryNumber = ""; SLS.Lottery.LotteryBase lb = new SLS.Lottery()[LotteryID]; string Description = ""; double WinMoneyNoWithTax = 0; for (int i = 0; i < dtSchemesWithTaskDetails.Rows.Count; i++) { LotteryNumber = dtSchemesWithTaskDetails.Rows[i]["LotteryNumber"].ToString(); Description = ""; WinMoneyNoWithTax = 0; double WinMoney = lb.ComputeWin(LotteryNumber, WinNumber.Trim(), ref Description, ref WinMoneyNoWithTax, int.Parse(dtSchemesWithTaskDetails.Rows[i]["PlayTypeID"].ToString()), WinMoneyList); if (WinMoney > 0) { if (DAL.Procedures.P_ChaseTaskStopWhenWin(Shove._Convert.StrToLong(dtSchemesWithTaskDetails.Rows[i]["SiteID"].ToString(), 0), Shove._Convert.StrToLong(dtSchemesWithTaskDetails.Rows[i]["ID"].ToString(), 0), WinMoney, ref ReturnValue, ref ReturnDescription) < 0) { new Log("ElectronTicket\\HPSD").Write("执行电子票--判断是否停止追号的时候出现错误"); } continue; } } } PF.SendWinNotification(ds); MessageID = nodes[0].Attributes["id"].Value; ReNotice(MessageID, "508"); }
//江西十一选五 private void GetLotteryOpenNumberForJX11X5(int LotteryID) { DAL.Tables.T_Isuses t_Isuses = new DAL.Tables.T_Isuses(); DataSet ds = new DataSet(); try { ds.ReadXml(JX11X5_Open_URL); } catch { new Log("SystemGetLotteryOpenNumber").Write("江西11选5获取开奖号码页面异常"); return; } if ((ds == null) || (ds.Tables.Count < 1) || (ds.Tables[0].Rows.Count < 1)) { new Log("SystemGetLotteryOpenNumber").Write("江西11选5获取开奖号码页面异常"); return; } foreach (DataRow dr in ds.Tables[0].Rows) { //期数 string t_IsuseName = dr["expect"].ToString(); //开奖号码 string t_winLotteryNumber = dr["opencode"].ToString().Replace(","," "); if (t_Isuses.GetCount(conn, "LotteryID = " + LotteryID.ToString() + " and [Name] = '" + t_IsuseName + "' and isnull(WinLotteryNumber, '') = '' and year(StartTime) = YEAR(GETDATE())") < 1) { continue; } try { t_Isuses.WinLotteryNumber.Value = t_winLotteryNumber; t_Isuses.Update(conn, "LotteryID = " + LotteryID.ToString() + " and [Name] = '" + t_IsuseName + "' and isnull(WinLotteryNumber, '') = '' and year(StartTime) = YEAR(GETDATE())"); if (GP_Open_RulJX11X5 == "1") { //开奖 DrawingLottery(LotteryID, t_IsuseName, t_winLotteryNumber); } } catch (Exception e) { new Log("SystemGetLotteryOpenNumber").Write("江西11选5获取开奖号码异常:" + e.Message); } } }
// 查询奖期状态 private void QueryIsuseState() { // 查询的几组条件说明: // 1 有效期内未开奖、未开启的 // 2 已截止未开奖的 DataTable dt = new DAL.Views.V_Isuses().Open(ConnectionString, "[ID], LotteryID, [Name]", "((isOpened = 0 and (Getdate() between StartTime and EndTime) and State = 0) or (isOpened = 0 and Getdate() > EndTime and State < 5)) and PrintOutType = 102", "EndTime"); if (dt == null) { msg.Send("期号状态查询错误(QueryIsuseState)。"); log.Write("期号状态查询错误(QueryIsuseState)。"); return; } if (dt.Rows.Count < 1) { return; } for (int i = 0; i < dt.Rows.Count; i++) { if (i % 100 == 0) { System.Threading.Thread.Sleep(1000); } #region 查询奖期 string LotteryName = GetLotteryName(Shove._Convert.StrToInt(dt.Rows[i]["LotteryID"].ToString(), 0)); string IsuseName = dt.Rows[i]["Name"].ToString(); DateTime Now = DateTime.Now; string MessageID = ElectronTicket_HPSH_UserName + Now.ToString("yyyyMMdd") + Now.ToString("HHmmss") + (i % 100).ToString().PadLeft(2, '0'); string Body = "<body><issueQuery><issue gameName=\"" + LotteryName + "\" number=\"" + IsuseName + "\"/></issueQuery></body>"; string TimeStamp = Now.ToString("yyyyMMdd") + Now.ToString("HHmmss"); string Message = "<?xml version=\"1.0\" encoding=\"GBK\"?>"; Message += "<message version=\"1.0\" id=\"" + MessageID + "\">"; Message += "<header>"; Message += "<messengerID>" + ElectronTicket_HPSH_UserName + "</messengerID>"; Message += "<timestamp>" + TimeStamp + "</timestamp>"; Message += "<transactionType>102</transactionType>"; Message += "<digest>" + Shove._Security.Encrypt.MD5(MessageID + TimeStamp + ElectronTicket_HPSH_UserPassword + Body, "gb2312") + "</digest>"; Message += "</header>"; Message += Body; Message += "</message>"; WriteElectronTicketLog(true, "102", "transType=102&transMessage=" + Message); string ReceiveString = ""; try { ReceiveString = PublicFunction.Post(ElectronTicket_HPSH_Getway, "transType=102&transMessage=" + Message, TimeoutSeconds); } catch { continue; } if (ReceiveString.Length <= 10) { continue; } string[] t_strs = ReceiveString.Split('&'); if ((t_strs == null) || (t_strs.Length < 2)) { continue; } string TransType = t_strs[0]; string TransMessage = t_strs[1]; TransType = TransType.Substring(10); TransMessage = TransMessage.Substring(13); WriteElectronTicketLog(false, TransType, ReceiveString); #endregion #region 处理结果 System.Xml.XmlDocument XmlDoc = new XmlDocument(); System.Xml.XmlNodeList nodes = null; System.Xml.XmlNodeList nodesIssue = null; try { XmlDoc.Load(new StringReader(TransMessage)); nodes = XmlDoc.GetElementsByTagName("response"); nodesIssue = XmlDoc.GetElementsByTagName("issue"); } catch { continue; } if (nodes == null) { continue; } if (nodes[0].Attributes["code"].Value != "0000") { continue; } if (nodesIssue == null) { continue; } DAL.Tables.T_Isuses t_Isuses = new DAL.Tables.T_Isuses(); for (int j = 0; j < nodesIssue.Count; j++) { LotteryName = nodesIssue[j].Attributes["gameName"].Value; IsuseName = nodesIssue[j].Attributes["number"].Value; string Status = nodesIssue[j].Attributes["status"].Value; int LotteryID = GetLotteryID(LotteryName); string WinNumber = ""; try { WinNumber = GetWinNumber(LotteryID, nodesIssue[j].Attributes["bonusCode"].Value); } catch { } if ((LotteryID < 0) || (String.IsNullOrEmpty(IsuseName))) { continue; } DataTable dtIsuse = t_Isuses.Open(ConnectionString, "ID, State, WinLotteryNumber", "LotteryID = " + LotteryID.ToString() + " and [Name] = '" + IsuseName + "'", ""); if ((dtIsuse == null) || (dtIsuse.Rows.Count < 1)) { continue; } bool isHasUpdate = false; if (dtIsuse.Rows[0]["State"].ToString() != Status) { t_Isuses.State.Value = Status; t_Isuses.StateUpdateTime.Value = DateTime.Now; isHasUpdate = true; } if (!String.IsNullOrEmpty(WinNumber) && (dtIsuse.Rows[0]["WinLotteryNumber"].ToString() != WinNumber)) { t_Isuses.WinLotteryNumber.Value = WinNumber; isHasUpdate = true; if (LotteryID == SLS.Lottery.SHSSL.ID) { DataTable dtWinTypes = new DAL.Tables.T_WinTypes().Open(ConnectionString, "", "LotteryID =" + LotteryID.ToString(), ""); double[] WinMoneyList = new double[dtWinTypes.Rows.Count * 2]; for (int k = 0; k < dtWinTypes.Rows.Count; k++) { WinMoneyList[k * 2] = Shove._Convert.StrToDouble(dtWinTypes.Rows[k]["DefaultMoney"].ToString(), 1); WinMoneyList[k * 2 + 1] = Shove._Convert.StrToDouble(dtWinTypes.Rows[k]["DefaultMoneyNoWithTax"].ToString(), 1); } DataTable dtChaseTaskDetails = new DAL.Tables.T_ChaseTaskDetails().Open(ConnectionString, "", "IsuseID=" + dtIsuse.Rows[0]["ID"].ToString() + " and SchemeID IS NOT NULL", ""); for (int k = 0; k < dtChaseTaskDetails.Rows.Count; k++) { string LotteryNumber = dtChaseTaskDetails.Rows[k]["LotteryNumber"].ToString(); string Description = ""; double WinMoneyNoWithTax = 0; double WinMoney = new SLS.Lottery()[LotteryID].ComputeWin(LotteryNumber, WinNumber, ref Description, ref WinMoneyNoWithTax, int.Parse(dtChaseTaskDetails.Rows[k]["PlayTypeID"].ToString()), WinMoneyList); if (WinMoney < 1) { continue; } int ReturnValue = 0; string ReturnDescprtion = ""; if (DAL.Procedures.P_ChaseTaskStopWhenWin(ConnectionString, Shove._Convert.StrToLong(dtChaseTaskDetails.Rows[k]["SiteID"].ToString(), 1), Shove._Convert.StrToLong(dtChaseTaskDetails.Rows[k]["SchemeID"].ToString(), 0), WinMoney, ref ReturnValue, ref ReturnDescprtion) < 0) { msg.Send("电子票撤销追号错误_P_ChaseTaskStopWhenWin。"); log.Write("电子票撤销追号错误_P_ChaseTaskStopWhenWin。"); } } } } if (isHasUpdate) { t_Isuses.Update(ConnectionString, "LotteryID = " + LotteryID.ToString() + " and [Name] = '" + IsuseName + "'"); } } #endregion } }
private void GetSprize(string IsuseID, string Transmessage) { System.Xml.XmlDocument XmlDoc = new XmlDocument(); XmlDoc.Load(new StringReader(Transmessage)); System.Xml.XmlNodeList nodes = XmlDoc.GetElementsByTagName("*"); System.Xml.XmlNodeList nodesBonusItem = XmlDoc.GetElementsByTagName("bonusItem"); System.Xml.XmlNodeList nodesIssue = XmlDoc.GetElementsByTagName("issue"); string code = ""; if (nodes == null) { return; } string BonusNumber = ""; for (int j = 0; j < nodes.Count; j++) { if (nodes[j].Name.ToUpper() == "RESPONSE") { code = nodes[j].Attributes["code"].Value; } if (nodes[j].Name.ToUpper() != "BONUSQUERYRESULT") { continue; } BonusNumber = nodes[j].Attributes["bonusNumber"].InnerText; } if (code != "0000") { return; } if (nodesIssue == null) { return; } string number = nodesIssue[0].Attributes["number"].Value; string LotteryName = nodesIssue[0].Attributes["gameName"].Value; int LotteryID = GetLotteryID(LotteryName); string WinNumber = GetWinNumber(LotteryID, BonusNumber); DataTable dtIsuse = new DAL.Tables.T_Isuses().Open(ConnectionString, "", "[ID] = " + IsuseID + " and [Name] = '" + number + "' and LotteryID = " + LotteryID.ToString() + " and IsOpened = 0", ""); if ((dtIsuse == null) || (dtIsuse.Rows.Count < 1)) { return; } DAL.Tables.T_Isuses T_Isuses = new DAL.Tables.T_Isuses(); T_Isuses.WinLotteryNumber.Value = WinNumber; T_Isuses.OpenOperatorID.Value = 1; T_Isuses.Update(ConnectionString, "[ID] = " + IsuseID + " and [Name] = '" + number + "' and LotteryID = " + LotteryID.ToString()); DataTable dtWinTypesSSL = new DAL.Tables.T_WinTypes().Open(ConnectionString, "", " LotteryID =" + LotteryID.ToString(), ""); if ((dtWinTypesSSL != null) && dtWinTypesSSL.Rows.Count > 0) { double[] WinMoneyListSSL = new double[dtWinTypesSSL.Rows.Count * 2]; double DefaultMoneySSL = 0; double DefaultMoneyNoWithTaxSSL = 0; for (int i = 0; i < dtWinTypesSSL.Rows.Count; i++) { DefaultMoneySSL = Shove._Convert.StrToDouble(dtWinTypesSSL.Rows[i]["DefaultMoney"].ToString(), 0); DefaultMoneyNoWithTaxSSL = Shove._Convert.StrToDouble(dtWinTypesSSL.Rows[i]["DefaultMoneyNoWithTax"].ToString(), 0); WinMoneyListSSL[i * 2] = DefaultMoneySSL == 0 ? 1 : DefaultMoneyNoWithTaxSSL; WinMoneyListSSL[i * 2 + 1] = DefaultMoneyNoWithTaxSSL == 0 ? 1 : DefaultMoneyNoWithTaxSSL; } DataTable t_dtSchemes = new DAL.Tables.T_Schemes().Open(ConnectionString, "", "IsuseID = " + IsuseID + " and WinMoney = 0 and Buyed =1 and isnull(Identifiers, '') = ''", ""); string t_LotteryNumber = ""; SLS.Lottery.LotteryBase t_lb = new SLS.Lottery()[LotteryID]; string t_Description = ""; double t_WinMoneyNoWithTax = 0; for (int i = 0; i < t_dtSchemes.Rows.Count; i++) { t_LotteryNumber = t_dtSchemes.Rows[i]["LotteryNumber"].ToString(); t_Description = ""; t_WinMoneyNoWithTax = 0; double WinMoney = t_lb.ComputeWin(t_LotteryNumber, WinNumber.Trim(), ref t_Description, ref t_WinMoneyNoWithTax, int.Parse(t_dtSchemes.Rows[i]["PlayTypeID"].ToString()), WinMoneyListSSL); if (WinMoney > 0) { Shove.Database.MSSQL.ExecuteNonQuery(ConnectionString, "update T_Schemes set PreWinMoney = @p1, PreWinMoneyNoWithTax = @p2, WinMoney = @p3, WinMoneyNoWithTax = @p4, WinDescription = @p5 where [ID] = " + t_dtSchemes.Rows[i]["ID"].ToString(), new Shove.Database.MSSQL.Parameter("p1", SqlDbType.Money, 0, ParameterDirection.Input, WinMoney * Shove._Convert.StrToInt(t_dtSchemes.Rows[i]["Multiple"].ToString(), 1)), new Shove.Database.MSSQL.Parameter("p2", SqlDbType.Money, 0, ParameterDirection.Input, t_WinMoneyNoWithTax * Shove._Convert.StrToInt(t_dtSchemes.Rows[i]["Multiple"].ToString(), 1)), new Shove.Database.MSSQL.Parameter("p3", SqlDbType.Money, 0, ParameterDirection.Input, WinMoney * Shove._Convert.StrToInt(t_dtSchemes.Rows[i]["Multiple"].ToString(), 1)), new Shove.Database.MSSQL.Parameter("p4", SqlDbType.Money, 0, ParameterDirection.Input, t_WinMoneyNoWithTax * Shove._Convert.StrToInt(t_dtSchemes.Rows[i]["Multiple"].ToString(), 1)), new Shove.Database.MSSQL.Parameter("p5", SqlDbType.VarChar, 0, ParameterDirection.Input, t_Description)); continue; } } } string BonusXML = "<Schemes>"; if ((nodesBonusItem != null) && (nodesBonusItem.Count > 0)) { string bonusItemXML = Transmessage.Substring(Transmessage.IndexOf("<bonusQueryResult"), Transmessage.LastIndexOf("</response>") - Transmessage.IndexOf("<bonusQueryResult")); DataSet dsXML = new DataSet(); try { dsXML.ReadXml(new StringReader(bonusItemXML)); } catch (Exception e) { new Log("ElectronTicket\\HPSH").Write("电子票开奖,第 " + number + " 期解析开奖数据错误:" + e.Message); return; } if ((dsXML == null) || (dsXML.Tables.Count < 3)) { new Log("ElectronTicket\\HPSH").Write("电子票开奖,第 " + number + " 期开奖数据格式不符合要求。"); return; } DataTable dtTickets = dsXML.Tables[2]; DataTable dtSchemes = MSSQL.Select(ConnectionString, "SELECT SchemeID, 0 AS AgentID, SchemesMultiple as Multiple, Identifiers FROM V_SchemesSendToCenter WHERE (IsuseID = " + IsuseID + ")"); if (dtSchemes == null) { new Log("ElectronTicket\\HPSH").Write("电子票开奖,第 " + number + " 期,读取本地方案错误。"); return; } try { var query1 = from NewDtTickets in dtTickets.AsEnumerable() join NewdtScheme in dtSchemes.AsEnumerable() on NewDtTickets.Field<string>("ticketID") equals NewdtScheme.Field<string>("Identifiers") select new { ID = NewdtScheme.Field<long>("SchemeID"), AgentID = NewdtScheme.Field<long>("AgentID"), Multiple = NewdtScheme.Field<int>("Multiple"), Bonus = Shove._Convert.StrToDouble(NewDtTickets.Field<string>("money"), 0), BonusLevel = NewDtTickets.Field<string>("bonusLevel"), Size = Shove._Convert.StrToInt(NewDtTickets.Field<string>("size"), 1) }; var query2 = from NewDt in query1.AsQueryable() group NewDt by new { NewDt.ID, NewDt.BonusLevel, NewDt.AgentID, NewDt.Multiple } into gg select new { ID = gg.Key.ID, AgentID = gg.Key.AgentID, Multiple = gg.Key.Multiple, Bonus = gg.Sum(NewDt => NewDt.Bonus), BonusLevel = GetSchemeWinDescription(gg.Key.BonusLevel, LotteryID, (gg.Sum(NewDt => NewDt.Size) / gg.Key.Multiple)) }; var query3 = from NewDt in query2.AsQueryable() group NewDt by new { NewDt.ID, NewDt.Multiple, NewDt.AgentID } into t_dtSchemes select new { SchemeID = t_dtSchemes.Key.ID, AgentID = t_dtSchemes.Key.AgentID, Multiple = t_dtSchemes.Key.Multiple, Bonus = t_dtSchemes.Sum(NewDt => NewDt.Bonus), BonusLevel = t_dtSchemes.Merge(NewDt => NewDt.BonusLevel) + ((t_dtSchemes.Key.Multiple != 1) ? "(" + t_dtSchemes.Key.Multiple.ToString() + "倍)" : "") }; foreach (var Scheme in query3) { BonusXML += "<Scheme SchemeID=\"" + Scheme.SchemeID.ToString() + "\" WinMoney=\"" + Scheme.Bonus.ToString() + "\" WinDescription=\"" + Scheme.BonusLevel + "\" />"; } } catch (Exception e) { new Log("ElectronTicket\\HPSH").Write("电子票开奖,第 " + number + " 期详细中奖数据解析错误:" + e.Message); return; } } BonusXML += "</Schemes>"; dtIsuse = new DAL.Tables.T_Isuses().Open(ConnectionString, "", "[ID] = " + IsuseID + " and IsOpened = 0", ""); if ((dtIsuse == null) || (dtIsuse.Rows.Count < 1)) { return; } int ReturnValue = 0; string ReturnDescription = ""; DataSet ds = null; int Times = 0; int Result = -1; while ((Result < 0) && (Times < 5)) { ReturnValue = 0; ReturnDescription = ""; Result = DAL.Procedures.P_ElectronTicketWin(ConnectionString, ref ds, Shove._Convert.StrToLong(IsuseID, 0), BonusXML, ref ReturnValue, ref ReturnDescription); if (Result < 0) { new Log("ElectronTicket\\HPSH").Write("电子票第 " + (Times + 1).ToString() + " 次派奖出现错误(IsuseOpenNotice) 期号为: " + number + ",彩种为: " + LotteryID.ToString()); Times++; if (Times < 5) { System.Threading.Thread.Sleep(10000); } continue; } } if (ReturnValue < 0) { log.Write(ReturnDescription); return; } //PublicFunction.SendWinNotification(ds); DataTable dtWinTypes = new DAL.Tables.T_WinTypes().Open(ConnectionString, "", " LotteryID =" + LotteryID.ToString(), ""); if ((dtWinTypes == null) || dtWinTypes.Rows.Count < 1) { msg.Send("执行电子票--获取彩种: " + LotteryID.ToString() + ",奖金等级时出现错误!"); log.Write("执行电子票--获取彩种: " + LotteryID.ToString() + ",奖金等级时出现错误!"); return; } double[] WinMoneyList = new double[dtWinTypes.Rows.Count * 2]; double DefaultMoney = 0; double DefaultMoneyNoWithTax = 0; for (int i = 0; i < dtWinTypes.Rows.Count; i++) { DefaultMoney = Shove._Convert.StrToDouble(dtWinTypes.Rows[i]["DefaultMoney"].ToString(), 0); DefaultMoneyNoWithTax = Shove._Convert.StrToDouble(dtWinTypes.Rows[i]["DefaultMoneyNoWithTax"].ToString(), 0); WinMoneyList[i * 2] = DefaultMoney == 0 ? 1 : DefaultMoneyNoWithTax; WinMoneyList[i * 2 + 1] = DefaultMoneyNoWithTax == 0 ? 1 : DefaultMoneyNoWithTax; } DataTable dtSchemesWithTaskDetails = new DAL.Views.V_Schemes().Open(ConnectionString, "", " IsuseName = '" + number + "' and LotteryID = " + LotteryID.ToString() + " and WinMoney = 0 and Buyed = 0 and ID in ( select ID from V_ChaseTaskDetails where IsuseName = '" + number + "' and LotteryID = " + LotteryID.ToString() + ")", ""); string LotteryNumber = ""; SLS.Lottery.LotteryBase lb = new SLS.Lottery()[LotteryID]; string Description = ""; double WinMoneyNoWithTax = 0; for (int i = 0; i < dtSchemesWithTaskDetails.Rows.Count; i++) { LotteryNumber = dtSchemesWithTaskDetails.Rows[i]["LotteryNumber"].ToString(); Description = ""; WinMoneyNoWithTax = 0; double WinMoney = lb.ComputeWin(LotteryNumber, WinNumber.Trim(), ref Description, ref WinMoneyNoWithTax, int.Parse(dtSchemesWithTaskDetails.Rows[i]["PlayTypeID"].ToString()), WinMoneyList); if (WinMoney > 0) { if (DAL.Procedures.P_ChaseTaskStopWhenWin(ConnectionString, Shove._Convert.StrToLong(dtSchemesWithTaskDetails.Rows[i]["SiteID"].ToString(), 0), Shove._Convert.StrToLong(dtSchemesWithTaskDetails.Rows[i]["ID"].ToString(), 0), WinMoney, ref ReturnValue, ref ReturnDescription) < 0) { msg.Send("执行电子票--判断是否停止追号的时候出现错误"); log.Write("执行电子票--判断是否停止追号的时候出现错误"); continue; } } } }
//向大赢家出票接口发送票 发送类型110(发送开奖号码请求) private void Send() { DataTable SiteLoID = new DAL.Tables.T_Lotteries().Open("[ID]", "[ID] in (2,3,5,6,9,13,15,28,29,39,61,63,64,65,70,74,75)", "[Order]"); ElectronTicket_BLL ElectronTicket_BLL = new ElectronTicket_BLL(); for (int i = 0; i < SiteLoID.Rows.Count; i++) { DataTable dt = GetIsusesInfo(SiteLoID.Rows[i]["ID"].ToString()); if (dt.Rows.Count > 0) { //上期期信息(未开奖) string LastIsuseName = null; string LastLotteryID = null; string wMsgID = null; try { LastIsuseName = dt.Rows[0]["Name"].ToString(); LastLotteryID = dt.Rows[0]["LotteryID"].ToString(); wMsgID = dt.Rows[0]["ID"].ToString();; } catch (Exception ex) { msg.Send(ex.Message); log.Write(ex.Message); continue; } //wAgent=3821&wAction=110&wMsgID=1238494210&wSign=b7c289e65e00f5fb834f338e6b753e44&wParam=LotID=11_LotIssue=2008001 //wAgent+wAction+wMsgID+wParam+代理商密钥 string wParamStr = ""; string wSignStr = ""; try { wParamStr = "LotID=" + ElectronTicket_BLL.GetLotteryID(LastLotteryID) + "_LotIssue=" + ElectronTicket_BLL.GetIsuse(Convert.ToInt32(LastLotteryID), LastIsuseName) + ""; } catch (Exception ex) { msg.Send(ex.Message); log.Write(ex.Message); continue; } try { wSignStr = Shove._Security.Encrypt.MD5(ElectronTicket_Agent_UserNumber + "110" + wMsgID + wParamStr + ElectronTicket_Agent_Key + "", "gb2312"); } catch (Exception ex) { msg.Send(ex.Message); log.Write(ex.Message); continue; } string ReceiveString = ""; try { //log.Write(ElectronTicket_Getway + "wAgent=" + ElectronTicket_Agent_UserNumber + "&wAction=110&wMsgID=" + wMsgID + "&wSign=" + wSignStr + "&wParam=" + wParamStr); System.Threading.Thread.Sleep(500); ReceiveString = PublicFunction.Post(ElectronTicket_Getway, "wAgent=" + ElectronTicket_Agent_UserNumber + "&wAction=110&wMsgID=" + wMsgID + "&wSign=" + wSignStr + "&wParam=" + wParamStr + "", TimeoutSeconds); } catch { msg.Send("获取开奖号-110 发送失败"); log.Write("获取开奖号-110 发送失败"); continue; } // log.Write(ReceiveString); System.Threading.Thread.Sleep(500); string code = ElectronTicket_BLL.GetXMLCode(ReceiveString, "xCode"); if (code == "0") { string xValue = ElectronTicket_BLL.GetXMLCode(ReceiveString, "xValue"); string IsuseID = ElectronTicket_BLL.GetXMLCode(ReceiveString, "xMsgID"); var arrInfo = xValue.Split('_'); DAL.Tables.T_Isuses T_Isuses = new DAL.Tables.T_Isuses(); T_Isuses.WinLotteryNumber.Value = arrInfo[1]; if (T_Isuses.Update("[ID] = " + IsuseID) < 0) { msg.Send("自动录入开奖号码失败 彩种ID:" + IsuseID); log.Write("自动录入开奖号码失败 彩种ID:" + IsuseID); continue; } } } continue; } }
//对开奖号码通知进行处理 private void ReceiveWinNumberNotice(string TransMessage) { string elements = TransMessage.Substring(TransMessage.IndexOf("<body"), TransMessage.LastIndexOf("</body>") - TransMessage.IndexOf("<body")) + "</body>"; DataSet ds = new DataSet(); ds.ReadXml(new StringReader(elements)); if (ds == null) { return; } if (ds.Tables.Count == 0) { return; } if (ds.Tables.Count < 1) { return; } DataTable dtLottery = ds.Tables[0]; DataTable dtIssue = ds.Tables[1]; DAL.Tables.T_Isuses t_Isuses = new DAL.Tables.T_Isuses(); string number = dtLottery.Rows[0]["issue"].ToString(); string LotteryName = dtLottery.Rows[0]["lotteryId"].ToString(); string BonusNumber = dtIssue.Rows[0]["baseCode"].ToString() + " " + dtIssue.Rows[0]["specialCode"].ToString(); int LotteryID = GetLotteryID(LotteryName); string WinNumber = GetWinNumber(LotteryID, BonusNumber); string Body = ""; DataTable dtIsuse = new DAL.Tables.T_Isuses().Open("", "[Name] = '" + number + "' and LotteryID = " + LotteryID.ToString() + " and IsOpened = 0", ""); if ((dtIsuse == null) || (dtIsuse.Rows.Count < 1)) { Body = "<body><result>0</result></body>"; ReNotice("1202", Body); return; } long IsuseID = Shove._Convert.StrToLong(dtIsuse.Rows[0]["ID"].ToString(), 0); DAL.Tables.T_Isuses T_Isuses = new DAL.Tables.T_Isuses(); T_Isuses.WinLotteryNumber.Value = WinNumber; T_Isuses.OpenOperatorID.Value = 1; T_Isuses.Update("[ID] = " + IsuseID + " and [Name] = '" + number + "' and LotteryID = " + LotteryID.ToString()); DAL.Tables.T_IsuseInfo t_IsuseInfo = new DAL.Tables.T_IsuseInfo(); t_IsuseInfo.TotalSaleMoney.Value = Shove._Convert.StrToDouble(dtLottery.Rows[0]["totalSaleMoney"].ToString(), -1); t_IsuseInfo.PoolOut.Value = Shove._Convert.StrToDouble(dtLottery.Rows[0]["poolOut"].ToString(), -1); t_IsuseInfo.TotalAwardMoney.Value = Shove._Convert.StrToDouble(dtLottery.Rows[0]["totalAwardMoney"].ToString(), -1); t_IsuseInfo.TotalSaleMoneyLocal.Value = Shove._Convert.StrToDouble(dtLottery.Rows[0]["totalSaleMoneyLocal"].ToString(), -1); t_IsuseInfo.TotalAwardMoneyLocal.Value = Shove._Convert.StrToDouble(dtLottery.Rows[0]["totalAwardMoneyLocal"].ToString(), -1); t_IsuseInfo.IssueID.Value = IsuseID; if (new DAL.Tables.T_IsuseInfo().GetCount("IssueID=" + IsuseID.ToString()) < 1) { t_IsuseInfo.Insert(); } else { t_IsuseInfo.Update("IssueID=" + IsuseID.ToString()); } DataTable dtWinTypes = new DAL.Tables.T_WinTypes().Open("", " LotteryID =" + LotteryID.ToString(), ""); if ((dtWinTypes == null) || dtWinTypes.Rows.Count < 1) { //log.Write("执行电子票--获取彩种: " + LotteryID.ToString() + ",奖金等级时出现错误!"); Body = "<body><result>0</result></body>"; ReNotice("1202", Body); return; } double[] WinMoneyList = new double[dtWinTypes.Rows.Count * 2]; double DefaultMoney = 0; double DefaultMoneyNoWithTax = 0; for (int i = 0; i < dtWinTypes.Rows.Count; i++) { DefaultMoney = Shove._Convert.StrToDouble(dtWinTypes.Rows[i]["DefaultMoney"].ToString(), 0); DefaultMoneyNoWithTax = Shove._Convert.StrToDouble(dtWinTypes.Rows[i]["DefaultMoneyNoWithTax"].ToString(), 0); WinMoneyList[i * 2] = DefaultMoney == 0 ? 1 : DefaultMoneyNoWithTax; WinMoneyList[i * 2 + 1] = DefaultMoneyNoWithTax == 0 ? 1 : DefaultMoneyNoWithTax; } DataTable dtSchemesWithTaskDetails = new DAL.Views.V_Schemes().Open("", " IsuseName = '" + number + "' and LotteryID = " + LotteryID.ToString() + " and WinMoney = 0 and Buyed = 0 and ID in ( select ID from V_ChaseTaskDetails where IsuseName = '" + number + "' and LotteryID = " + LotteryID.ToString() + ")", ""); string LotteryNumber = ""; SLS.Lottery.LotteryBase lb = new SLS.Lottery()[LotteryID]; int ReturnValue = 0; string ReturnDescription = ""; string Description = ""; double WinMoneyNoWithTax = 0; for (int i = 0; i < dtSchemesWithTaskDetails.Rows.Count; i++) { LotteryNumber = dtSchemesWithTaskDetails.Rows[i]["LotteryNumber"].ToString(); Description = ""; WinMoneyNoWithTax = 0; double WinMoney = lb.ComputeWin(LotteryNumber, WinNumber.Trim(), ref Description, ref WinMoneyNoWithTax, int.Parse(dtSchemesWithTaskDetails.Rows[i]["PlayTypeID"].ToString()), WinMoneyList); if (WinMoney > 0) { if (DAL.Procedures.P_ChaseTaskStopWhenWin(Shove._Convert.StrToLong(dtSchemesWithTaskDetails.Rows[i]["SiteID"].ToString(), 0), Shove._Convert.StrToLong(dtSchemesWithTaskDetails.Rows[i]["ID"].ToString(), 0), WinMoney, ref ReturnValue, ref ReturnDescription) < 0) { //log.Write("执行电子票--判断是否停止追号的时候出现错误"); continue; } } } Body = "<body><result>0</result></body>"; ReNotice("1202", Body); }