コード例 #1
0
ファイル: HPSH.cs プロジェクト: ichari/ichari
        // 查询奖期状态
        private void GetLotteryIsuses()
        {
            // 查询的几组条件说明:
            //  1 有效期内未开奖、未开启的
            //  2 已截止未开奖的
            DataTable dt = new DAL.Tables.T_Lotteries().Open(ConnectionString, "[ID]", " PrintOutType = 102", "");

            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]["ID"].ToString(), 0));
                string IsuseName = "";
                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
            }
        }
コード例 #2
0
ファイル: Score.aspx.cs プロジェクト: object8421/ichari
    private void BindData(long UserID, int LotteryID)
    {
        string ReturnDescription = "";
        string IsShowWin         = "";
        Users  tu = new Users(_Site.ID);

        tu.ID = UserID;

        if (tu.GetUserInformationByID(ref ReturnDescription) != 0)
        {
            PF.GoError(ErrorNumber.Unknow, ReturnDescription, this.GetType().FullName);

            return;
        }

        labUserName.Text         = tu.Name;
        labUserRegisterTime.Text = tu.RegisterTime.ToString("yyyy-MM-dd HH:mm:ss");
        labUserType.Text         = "普通会员";
        dingZhi = "&FollowUserID=" + UserID + "&FollowUserName="******"\"";
        DataTable dt = null;

        if (Source == -1)
        {
            dt = new DAL.Tables.T_Lotteries().Open("[ID], [Name]", "[id] = " + LotteryID.ToString(), "");
        }
        else if (Source == 1)
        {
            dt = Shove.Database.MSSQL.Select("Select ID,Name from  T_Lotteries where ID=" + LotteryID.ToString());
        }
        else if (Source == 2)
        {
            dt = Shove.Database.MSSQL.Select("Select ID,Name from  T_Lotteries where ID=" + LotteryID.ToString());
        }
        else
        {
            dt = new DAL.Tables.T_Lotteries().Open("[ID], [Name]", "[id] = " + LotteryID.ToString(), "");
        }

        if (dt == null)
        {
            PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试", this.GetType().FullName);

            return;
        }
        if (cbShowWin.Checked)
        {
            IsShowWin = " where WinMoney>0";
        }
        string CacheKey = tu.ID + "_" + LotteryID.ToString() + "_Home_Web_Score_" + cbShowWin.Checked;

        dt = Shove._Web.Cache.GetCacheAsDataTable(CacheKey);
        if (dt == null || IsShow == true)
        {
            string sqlText = "select * from (";

            sqlText += GetSQL(UserID, LotteryID, "", ",source=1") + ") d  " + IsShowWin + "  order by TopMoney desc,id desc";
            dt       = Shove.Database.MSSQL.Select(sqlText);

            if (dt == null)
            {
                PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试", this.GetType().FullName);

                return;
            }
            Shove._Web.Cache.SetCache(CacheKey, dt, 300);
        }
        PF.DataGridBindData(g, dt, gPager);

        gPager.Visible = true;
    }
コード例 #3
0
ファイル: WinNumber.cs プロジェクト: r0o0o0o0ots/Shove
        //向大赢家出票接口发送票  发送类型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;
            }
        }
コード例 #4
0
    private void BindDataForLottery()
    {
        ddlLottery.Items.Clear();
        ddlLottery.Items.Add(new ListItem("全部彩种", "-1"));

        if (_Site.UseLotteryList == "")
        {
            PF.GoError(ErrorNumber.Unknow, "暂无玩法", this.GetType().FullName);

            return;
        }

        string    CacheKey    = "dtLotteriesUseLotteryList";
        DataTable dtLotteries = Shove._Web.Cache.GetCacheAsDataTable(CacheKey);

        if (dtLotteries == null)
        {
            dtLotteries = new DAL.Tables.T_Lotteries().Open("[ID], [Name], [Code]", "[ID] in(" + (_Site.UseLotteryList == "" ? "-1" : _Site.UseLotteryList) + ")", "[ID]");

            if (dtLotteries == null)
            {
                PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试", this.GetType().BaseType.FullName + "(-46)");

                return;
            }

            Shove._Web.Cache.SetCache(CacheKey, dtLotteries, 6000);
        }

        for (int i = 0; i < dtLotteries.Rows.Count; i++)
        {
            string LotteryID = dtLotteries.Rows[i]["ID"].ToString();

            //玩法信息缓存 6000 秒
            CacheKey = "dtVPlayTypes_" + LotteryID.ToString();
            DataTable dtPlayTypes = Shove._Web.Cache.GetCacheAsDataTable(CacheKey);

            if (dtPlayTypes == null)
            {
                dtPlayTypes = new DAL.Views.V_PlayTypes().Open("", "LotteryID = " + LotteryID.ToString(), "[ID]");

                if (dtPlayTypes == null || dtPlayTypes.Rows.Count < 1)
                {
                    PF.GoError(ErrorNumber.NoData, "数据库繁忙,请重试", this.GetType().FullName);

                    return;
                }

                Shove._Web.Cache.SetCache(CacheKey, dtPlayTypes, 6000);
            }
            if (arrLotteries.Contains(Shove._Convert.StrToInt(dtLotteries.Rows[i]["ID"].ToString(), 0)))
            {
                ddlLottery.Items.Add(new ListItem(dtPlayTypes.Rows[0]["LotteryName"].ToString(), dtPlayTypes.Rows[0]["LotteryID"].ToString()));
            }
        }

        if (ddlLottery.Items.Count > 0)
        {
            BindDataForPlayType(ddlLottery.Items[0].Value);
        }
    }
コード例 #5
0
    protected void g_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem)
        {
            DataRowView drv = (DataRowView)e.Item.DataItem;
            DataRow     dr  = drv.Row;

            //定制时间
            e.Item.Cells[0].Text = Shove._Convert.StrToDateTime(dr["DateTime"].ToString(), DateTime.Now.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
            //END

            //彩种
            string    CacheKey    = "dtLotteriesUseLotteryList";
            DataTable dtLotteries = Shove._Web.Cache.GetCacheAsDataTable(CacheKey);

            if (dtLotteries == null)
            {
                dtLotteries = new DAL.Tables.T_Lotteries().Open("[ID], [Name], [Code]", "[ID] in(" + (_Site.UseLotteryList == "" ? "-1" : _Site.UseLotteryList) + ")", "[ID]");

                if (dtLotteries == null)
                {
                    PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试", this.GetType().BaseType.FullName + "(-39)");

                    return;
                }

                Shove._Web.Cache.SetCache(CacheKey, dtLotteries, 6000);
            }

            if (dtLotteries == null)
            {
                PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试", this.GetType().BaseType.FullName + "(-49)");

                return;
            }

            if (dr["LotteryID"].ToString() == "-1")
            {
                e.Item.Cells[2].Text = "全部彩种";
            }
            else
            {
                e.Item.Cells[2].Text = dtLotteries.Select("ID = " + dr["LotteryID"].ToString())[0]["Name"].ToString();
            }
            //END

            //玩法
            //玩法信息缓存 6000 秒
            CacheKey = "dtPlayTypes";
            DataTable dtPlayTypes = Shove._Web.Cache.GetCacheAsDataTable(CacheKey);

            if (dtPlayTypes == null)
            {
                dtPlayTypes = new DAL.Tables.T_PlayTypes().Open("", "LotteryID in (" + (_Site.UseLotteryList == "" ? "-1" : _Site.UseLotteryList) + ")", "[ID]");

                if (dtPlayTypes == null || dtPlayTypes.Rows.Count < 1)
                {
                    PF.GoError(ErrorNumber.NoData, "数据库繁忙,请重试", this.GetType().FullName + "(-85)");

                    return;
                }

                Shove._Web.Cache.SetCache(CacheKey, dtPlayTypes, 6000);
            }

            if (dtPlayTypes == null)
            {
                PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试", this.GetType().BaseType.FullName + "(-95)");

                return;
            }

            if (dr["PlayTypeID"].ToString() == "-1")
            {
                e.Item.Cells[3].Text = "全部玩法";
            }
            else
            {
                e.Item.Cells[3].Text = dtPlayTypes.Select("ID = " + dr["PlayTypeID"].ToString())[0]["Name"].ToString();
            }
            //END

            //认购金额
            e.Item.Cells[4].Text = Shove._Convert.StrToDouble(dr["MoneyStart"].ToString(), 0).ToString("N") + "&nbsp;至&nbsp;" + Shove._Convert.StrToDouble(dr["MoneyEnd"].ToString(), 0).ToString("N") + " 元";
            //END

            e.Item.Cells[5].Text = dr["Type"].ToString() == "1" ? "用户定制" : "发起人指定";
        }
    }