Beispiel #1
0
        /// <summary>
        /// 充值失败,金额返还
        /// </summary>
        public static string FailRecharge(PhoneRecharge pr)
        {
            using (SqlConnection conn = new SqlConnection(DBHelper.connString))
            {
                conn.Open();
                SqlTransaction tran = conn.BeginTransaction();
                try
                {
                    int count = 0;

                    //扣除会员账户金额
                    string sql = "update  memberinfo set  jackpot=jackpot+@ordertotalmoney where  number=@number";
                    count += DBHelper.ExecuteNonQuery(tran, sql, new SqlParameter[2] {
                        new SqlParameter("@ordertotalmoney", pr.AddMoney), new SqlParameter("@number", pr.Number)
                    }, CommandType.Text);

                    //获取账户余额
                    sql = "select isnull((jackpot-out-membership),0)  from memberinfo where number =@number";
                    decimal balanceMoney = Convert.ToDecimal(DBHelper.ExecuteScalar(tran, sql, new SqlParameter[1] {
                        new SqlParameter("@number", pr.Number)
                    }, CommandType.Text));

                    //插入对账单
                    sql    = @"insert into MemberAccount(number,happentime,happenmoney,BalanceMoney,direction,sftype, kmtype,remark) 
                            values (@number, @happentime, @happenmoney,@BalanceMoney,0,1,24, @number + '~008030~' + @phonenumber + '~008035~' + cast(@happenmoney as varchar)) ";
                    count += DBHelper.ExecuteNonQuery(tran, sql, new SqlParameter[5] {
                        new SqlParameter("@number", pr.Number),
                        new SqlParameter("@happentime", pr.AddTime),
                        new SqlParameter("@happenmoney", pr.AddMoney),
                        new SqlParameter("@BalanceMoney", balanceMoney),
                        new SqlParameter("@phonenumber", pr.PhoneNumber),
                    }, CommandType.Text);

                    //修改充值状态
                    sql    = "update PhoneRecharge set AddState=@AddState wehre RechargeID=@RechargeID";
                    count += DBHelper.ExecuteNonQuery(tran, sql, new SqlParameter[2] {
                        new SqlParameter("@AddState", pr.AddState), new SqlParameter("@RechargeID", pr.RechargeID)
                    }, CommandType.Text);

                    if (count > 2)
                    {
                        tran.Commit();
                        return("ok");
                    }
                    else
                    {
                        tran.Rollback();
                        return("fail");
                    }
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    string ee = ex.Message;
                    return("fail");
                }
            }
            return("fail");
        }
Beispiel #2
0
        /// <summary>
        /// 修改充值记录状态
        /// </summary>
        public static bool EditState(PhoneRecharge pr)
        {
            string sql = "update PhoneRecharge set AddState=@AddState where RechargeID=@RechargeID";

            return(DBHelper.ExecuteNonQuery(sql, new SqlParameter[2] {
                new SqlParameter("@AddState", pr.AddState), new SqlParameter("@RechargeID", pr.RechargeID)
            }, CommandType.Text) > 0);
        }
Beispiel #3
0
        /// <summary>
        /// 根据充值ID查询充值记录
        /// </summary>
        public static PhoneRecharge FindPhoneRechargeByID(string rechargeID)
        {
            PhoneRecharge pr = new PhoneRecharge();
            DataTable     dt = DBHelper.ExecuteDataTable("select * from PhoneRecharge where rechargeID=@rechargeID", new SqlParameter[1] {
                new SqlParameter("@rechargeID", rechargeID)
            }, CommandType.Text);

            pr.ID          = Convert.ToInt32(dt.Rows[0]["ID"]);
            pr.RechargeID  = dt.Rows[0]["RechargeID"].ToString();
            pr.Number      = dt.Rows[0]["Number"].ToString();
            pr.PhoneNumber = dt.Rows[0]["PhoneNumber"].ToString();
            pr.AddMoney    = Convert.ToDecimal(dt.Rows[0]["AddMoney"]);
            pr.AddState    = Convert.ToInt32(dt.Rows[0]["AddState"]);
            pr.AddTime     = Convert.ToDateTime(dt.Rows[0]["AddTime"]);
            pr.OperateIP   = dt.Rows[0]["OperateIP"].ToString();
            pr.OperaterNum = dt.Rows[0]["OperaterNum"].ToString();

            return(pr);
        }
Beispiel #4
0
    protected void sub_Click(object sender, EventArgs e)
    {
        if (String.IsNullOrEmpty(txtPhoneNumber.Text))
        {
            Page.ClientScript.RegisterStartupScript(GetType(), "", "<script language='javascript'>alert('" + GetTran("008029", "请输入手机号码!") + "')</script>");
            hid_fangzhi.Value = "0";
            return;
        }
        else if (!PhoneRechargeBLL.CheckPhoneNumber(txtPhoneNumber.Text))
        {
            Page.ClientScript.RegisterStartupScript(GetType(), "", "<script language='javascript'>alert('" + GetTran("006545", "手机号码格式错误") + "!')</script>");
            hid_fangzhi.Value = "0";
            return;
        }

        if (MemberInfoDAL.CheckState(Session["Member"].ToString()))
        {
            ClientScript.RegisterStartupScript(this.GetType(), "", "<script> alert('" + GetTran("007456", "会员账户已冻结,不能完成支付!") + "'); </script>");
            hid_fangzhi.Value = "0";
            return;
        }

        PhoneRecharge pr = new PhoneRecharge();

        pr.RechargeID  = new PhoneRechargeBLL().GetRechargeID();
        pr.Number      = Session["Member"].ToString();
        pr.AddMoney    = Convert.ToDecimal(ddlMoney.SelectedValue);
        pr.AddState    = 1;
        pr.PhoneNumber = txtPhoneNumber.Text;
        pr.AddTime     = DateTime.Now.ToUniversalTime();
        pr.OperateIP   = Request.UserHostAddress;
        pr.OperaterNum = Session["Member"].ToString();
        string result = PhoneRechargeBLL.AddRecharge(pr);

        if (String.Equals(result, "1"))
        {
            ClientScript.RegisterStartupScript(this.GetType(), "", "<script> alert('" + GetTran("007514", "支付失败,账户可用余额不足") + "!'); </script>");
            hid_fangzhi.Value = "0";
            return;
        }
        else if (String.Equals(result, "fail"))
        {
            ClientScript.RegisterStartupScript(this.GetType(), "", "<script> alert('" + GetTran("008031", "手机充值失败,请重新操作!") + "'); </script>");
            hid_fangzhi.Value = "0";
            return;
        }
        else if (String.Equals(result, "ok"))
        {
            string         url     = Request.Url.ToString().ToLower().Replace("/member/phonerecharge.aspx", "/phonerecharge/chongzhi.aspx");
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.Accept    = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/ag-plugin, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*";
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)";

            request.Method    = "post";
            request.KeepAlive = true;
            request.Headers.Add("Accept-Language", "zh-cn,zh;q=0.5");
            request.Headers.Add("Accept-Charset", "GB2312,utf-8;q=0.7,*;q=0.7");
            request.ContentType = "application/x-www-form-urlencoded";

            Encoding ec = Encoding.GetEncoding("gb2312");
            Byte[]   bt = ec.GetBytes("txtPhoneNumber=" + pr.PhoneNumber + "&ddlMoney=" + pr.AddMoney.ToString() + "&RechargeID=" + pr.RechargeID);
            request.ContentLength = bt.Length;

            Stream streamrequest = request.GetRequestStream();
            streamrequest.Write(bt, 0, bt.Length);

            ClientScript.RegisterStartupScript(this.GetType(), "", "<script> alert('" + GetTran("008032", "手机充值操作完成,请等候5~10分钟话费将会充值到您的手机!") + "'); </script>");
            Response.Redirect(Request.Url.ToString().ToLower().Replace("/phonerecharge.aspx", "/findrecharge.aspx"));
        }
    }
Beispiel #5
0
        /// <summary>
        /// 增加话费充值记录
        /// </summary>
        public static string AddRecharge(PhoneRecharge pr)
        {
            using (SqlConnection conn = new SqlConnection(DBHelper.connString))
            {
                conn.Open();
                SqlTransaction tran = conn.BeginTransaction();
                try
                {
                    int count = 0;
                    //验证账户余额
                    string  sql          = "select  isnull((jackpot-out-membership),0) from memberinfo where number =@number";
                    decimal balanceMoney = Convert.ToDecimal(DBHelper.ExecuteScalar(tran, sql, new SqlParameter[1] {
                        new SqlParameter("@number", pr.Number)
                    }, CommandType.Text));
                    if (balanceMoney < pr.AddMoney)
                    {
                        tran.Rollback();
                        return("1");//账户余额不足
                    }

                    //扣除会员账户金额
                    sql    = "update  memberinfo set  out=out+@ordertotalmoney where  number=@number";
                    count += DBHelper.ExecuteNonQuery(tran, sql, new SqlParameter[2] {
                        new SqlParameter("@ordertotalmoney", pr.AddMoney), new SqlParameter("@number", pr.Number)
                    }, CommandType.Text);

                    //插入对账单
                    sql    = @"insert into MemberAccount(number,happentime,happenmoney,BalanceMoney,direction,sftype, kmtype,remark) 
                            values (@number, @happentime, @happenmoney,@BalanceMoney,1,1,23, @number + '~008030~' + @phonenumber + '~008028~' + cast(@happenmoney as varchar)) ";
                    count += DBHelper.ExecuteNonQuery(tran, sql, new SqlParameter[5] {
                        new SqlParameter("@number", pr.Number),
                        new SqlParameter("@happentime", pr.AddTime),
                        new SqlParameter("@happenmoney", pr.AddMoney),
                        new SqlParameter("@BalanceMoney", (balanceMoney - pr.AddMoney)),
                        new SqlParameter("@phonenumber", pr.PhoneNumber),
                    }, CommandType.Text);

                    //插入充值记录
                    sql = "insert into PhoneRecharge(Number,PhoneNumber,AddMoney,AddState,AddTime,OperateIP,OperaterNum,RechargeID) values(@Number,@PhoneNumber,@AddMoney,@AddState,@AddTime,@OperateIP,@OperaterNum,@RechargeID) ";
                    SqlParameter[] paras = new SqlParameter[8];
                    paras[0] = new SqlParameter("@Number", pr.Number);
                    paras[1] = new SqlParameter("@PhoneNumber", pr.PhoneNumber);
                    paras[2] = new SqlParameter("@AddMoney", pr.AddMoney);
                    paras[3] = new SqlParameter("@AddState", pr.AddState);
                    paras[4] = new SqlParameter("@AddTime", pr.AddTime);
                    paras[5] = new SqlParameter("@OperateIP", pr.OperateIP);
                    paras[6] = new SqlParameter("@OperaterNum", pr.OperaterNum);
                    paras[7] = new SqlParameter("@RechargeID", pr.RechargeID);
                    count   += DBHelper.ExecuteNonQuery(tran, sql, paras, CommandType.Text);

                    if (count > 2)
                    {
                        tran.Commit();
                        return("ok");
                    }
                    else
                    {
                        tran.Rollback();
                        return("fail");
                    }
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    string ee = ex.Message;
                    return("fail");
                }
            }
            return("fail");
        }