Exemplo n.º 1
0
        public JsonResult SaveOrder(Model.TD_Donation_Order order)
        {
            order.PayType = Constants.PayType.WeiXin;
            var member = MemberData.GetMember();

            order.MemberID     = member.MemberID;
            order.OpenID       = member.OpenID;
            order.HeaderImage  = member.HeaderImage;
            order.NickName     = member.NickName;
            order.DonationType = (int)Constants.DonationType.RXYS1;
            order.DonationID   = Constants.DonationID.RXYS1;
            order.OrgID        = int.Parse(DESEncrypt.Decrypt(ViewBag.EnOrgID));
            int result = orderBLL.Save(order);

            if (result > 0)
            {
                string url = string.Empty;
                if (order.PayType == Constants.PayType.WeiXin)
                {
                    url = "/WeiXinPay/PayForDonation?oid=" + ViewBag.EnOrgID + "&orderid=" + order.OrderID + "&url=" + HttpUtility.UrlEncode("/Donation/RXYS1/Index?oid=" + ViewBag.EnOrgID);
                }
                return(GetSucceedResult(new
                {
                    url = url
                }, ""));
            }
            else
            {
                return(GetErrorResult("保存失败,请稍候再试"));
            }
        }
Exemplo n.º 2
0
        public int Save(Model.TD_Donation_Order order)
        {
            string tranID = MySqlHelperUtil.BeginTran();

            try
            {
                string orderID = GetOrderID();
                order.OrderID   = orderID;
                order.PayNo     = orderID;
                order.IsPay     = "0";
                order.OrderTime = DateTime.Now;
                decimal result = dal.Add(order, tranID);
                if (result == 0)
                {
                    MySqlHelperUtil.RollbackTran(tranID);
                    return(0);
                }
                MySqlHelperUtil.CommitTran(tranID);
                return(1);
            }
            catch (Exception ex)
            {
                MySqlHelperUtil.RollbackTran(tranID);
                return(0);
            }
        }
Exemplo n.º 3
0
 private Model.TD_WeiXin_Member GetCurrentMember(Model.TD_Donation_Order model, IList <Model.TD_WeiXin_Member> members)
 {
     foreach (var member in members)
     {
         if (member.MemberID == model.MemberID)
         {
             return(member);
         }
     }
     return(null);
 }
Exemplo n.º 4
0
        public int PayOrder(Model.TD_Donation_Order model, string tranID)
        {
            string sql = "UPDATE TD_Donation_Order SET PayTime=@PayTime,IsPay=@IsPay WHERE OrderID=@OrderID";

            MySqlParameter[] parameters =
            {
                new MySqlParameter("@PayTime", model.PayTime),
                new MySqlParameter("@IsPay",   model.IsPay),
                new MySqlParameter("@OrderID", model.OrderID)
            };
            return(MySqlHelperUtil.ExecuteNonQuery(tranID, sql, parameters));
        }
Exemplo n.º 5
0
        public int SyncDonation(Model.TD_Order_WeiXinPay model, string orderID)
        {
            Model.TD_Donation_Order order = donationOrderBLL.GetModel(orderID);
            if (order == null)
            {
                return(0);
            }
            if (order.IsPay == "1")
            {
                return(0);
            }
            DateTime now = DateTime.Now;

            order.PayTime = now;
            order.IsPay   = "1";

            string tranID = MySqlHelperUtil.BeginTran();

            try
            {
                decimal result = dal.Sync(model, tranID);
                if (result == 0)
                {
                    MySqlHelperUtil.RollbackTran(tranID);
                    return(0);
                }
                result = donationOrderBLL.PayOrder(order, tranID);
                if (result == 0)
                {
                    MySqlHelperUtil.RollbackTran(tranID);
                    return(0);
                }
                MySqlHelperUtil.CommitTran(tranID);
                return(1);
            }
            catch
            {
                MySqlHelperUtil.RollbackTran(tranID);
                return(0);
            }
        }
Exemplo n.º 6
0
        public ActionResult PayForDonation(string orderid, string url)
        {
            var member = MemberData.GetMember();
            var now    = DateTime.Now;

            if (string.IsNullOrEmpty(orderid))
            {
                return(GotoErrorResult("未找到该订单"));
            }
            Model.TD_Donation_Order model = donationOrderBLL.GetModel(orderid);
            if (model == null)
            {
                return(GotoErrorResult("未找到该订单"));
            }
            if (model.IsPay == "0")
            {
                bool exists = weiXinPayBLL.OrderIsPay(model.OrderID, 1);
                if (exists)
                {
                    return(GotoErrorResult("订单已微信支付,请联系平台"));
                }
                string     ip   = Request.UserHostAddress;
                WeiXinPort port = new WeiXinPort();
                try
                {
                    port.InitSignature(HttpContext.Request.Url.AbsoluteUri);
                    string domain = Request.Url.Scheme + "://" + Request.Url.Authority;
                    port.InitPaySignature(model.OrderID.ToString(), model.Fee.Value, member.OpenID, domain, ip);
                    if (!string.IsNullOrEmpty(port.ErrorMessage))
                    {
                        return(GotoErrorResult(port.ErrorMessage));
                    }
                    Model.TD_Order_WeiXinPay weiXinPay = new Model.TD_Order_WeiXinPay();
                    weiXinPay.OrderID   = model.OrderID.ToString();
                    weiXinPay.Timestamp = port.Timestamp;
                    weiXinPay.NonceStr  = port.NonceStr;
                    weiXinPay.Package   = port.Package;
                    weiXinPay.Status    = 0;
                    weiXinPay.PayTime   = now;
                    weiXinPayBLL.Add(weiXinPay);
                    ViewBag.ThirdPortConfig = new ThirdSharedInfo()
                    {
                        AppID        = port.AppID,
                        NonceStr     = port.NonceStr,
                        Timestamp    = port.Timestamp,
                        Package      = port.Package,
                        SignType     = port.SignType,
                        Signature    = port.Signature,
                        PaySignature = port.PaySignature
                    };
                }
                catch
                { }
                ViewBag.BackURL = HttpUtility.UrlEncode(url);
                return(View(model));
            }
            else
            {
                return(GotoErrorResult("订单状态有误"));
            }
        }
Exemplo n.º 7
0
 public int PayOrder(Model.TD_Donation_Order model, string tranID)
 {
     return(dal.PayOrder(model, tranID));
 }