Beispiel #1
0
        public IHttpActionResult AliPaySign(int OrderID)
        {
            WebApi_BLL.T_Product_Orders   bll   = new WebApi_BLL.T_Product_Orders();
            WebApi_Model.T_Product_Orders order = bll.GetModel(OrderID);

            if (order == null)
            {
                return(Ok(ReturnJsonResult.GetJsonResult(-1, "Error", "找不到订单")));
            }
            else if (order.Status != 0)
            {
                return(Ok(ReturnJsonResult.GetJsonResult(-1, "Error", "找不到需要支付的订单")));
            }
            else
            {
                Dictionary <string, string> parameters = new Dictionary <string, string>();
                parameters.Add("app_id", ConfigurationManager.AppSettings["app_id"].ToString());
                parameters.Add("biz_content", "{\"timeout_express\":\"30m\",\"seller_id\":\"" + ConfigurationManager.AppSettings["seller_id"].ToString() + "\",\"product_code\":\"QUICK_MSECURITY_PAY\",\"total_amount\":\"" + order.TotalAmount + "\",\"subject\":\"商品支付" + order.OrderID + "\",\"body\":\"支付\",\"out_trade_no\":\"" + order.OrderNum + "\"}");
                parameters.Add("charset", "utf-8");
                parameters.Add("format", "json");
                parameters.Add("method", "alipay.trade.app.pay");
                parameters.Add("notify_url", ConfigurationManager.AppSettings["notify_url"].ToString());
                parameters.Add("sign_type", "RSA");
                parameters.Add("timestamp", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
                parameters.Add("version", "1.0");

                string strSignContent = AlipaySignature.GetSignContent(parameters);
                string strSign        = AlipaySignature.RSASign(parameters, System.Web.Hosting.HostingEnvironment.MapPath("~/Content/Key/rsa_private_key.pem"), "", "RSA");

                //parameters.Add("sign", strSign);

                string strRet = Decode(parameters) + "&sign=" + HttpUtility.UrlEncode(strSign);
                //string str = strSignContent + "&sign=" + strSign;
                return(Ok(ReturnJsonResult.GetJsonResult(1, "OK", strRet)));
            }
        }
Beispiel #2
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public WebApi_Model.T_Product_Orders GetModel(int OrderID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 OrderID,OrderNum,OrderDateTime,UID,Status,AddressID,ProductQty,TotalAmount,PayTime,SendTime,TakeTime,AfterSaleTime,TranCode,TranType,PayMethod,Out_Trade_No from T_Product_Orders ");
            strSql.Append(" where OrderID=@OrderID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@OrderID", SqlDbType.Int, 4)
            };
            parameters[0].Value = OrderID;

            WebApi_Model.T_Product_Orders model = new WebApi_Model.T_Product_Orders();
            DataSet ds = DBHelper.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Beispiel #3
0
 /// <summary>
 /// 得到一个对象实体
 /// </summary>
 public WebApi_Model.T_Product_Orders DataRowToModel(DataRow row)
 {
     WebApi_Model.T_Product_Orders model = new WebApi_Model.T_Product_Orders();
     if (row != null)
     {
         if (row["OrderID"] != null && row["OrderID"].ToString() != "")
         {
             model.OrderID = int.Parse(row["OrderID"].ToString());
         }
         if (row["OrderNum"] != null)
         {
             model.OrderNum = row["OrderNum"].ToString();
         }
         if (row["OrderDateTime"] != null && row["OrderDateTime"].ToString() != "")
         {
             model.OrderDateTime = DateTime.Parse(row["OrderDateTime"].ToString());
         }
         if (row["UID"] != null && row["UID"].ToString() != "")
         {
             model.UID = int.Parse(row["UID"].ToString());
         }
         if (row["Status"] != null && row["Status"].ToString() != "")
         {
             model.Status = int.Parse(row["Status"].ToString());
         }
         if (row["AddressID"] != null && row["AddressID"].ToString() != "")
         {
             model.AddressID = int.Parse(row["AddressID"].ToString());
         }
         if (row["ProductQty"] != null && row["ProductQty"].ToString() != "")
         {
             model.ProductQty = int.Parse(row["ProductQty"].ToString());
         }
         if (row["TotalAmount"] != null && row["TotalAmount"].ToString() != "")
         {
             model.TotalAmount = decimal.Parse(row["TotalAmount"].ToString());
         }
         if (row["PayTime"] != null && row["PayTime"].ToString() != "")
         {
             model.PayTime = DateTime.Parse(row["PayTime"].ToString());
         }
         if (row["SendTime"] != null && row["SendTime"].ToString() != "")
         {
             model.SendTime = DateTime.Parse(row["SendTime"].ToString());
         }
         if (row["TakeTime"] != null && row["TakeTime"].ToString() != "")
         {
             model.TakeTime = DateTime.Parse(row["TakeTime"].ToString());
         }
         if (row["AfterSaleTime"] != null && row["AfterSaleTime"].ToString() != "")
         {
             model.AfterSaleTime = DateTime.Parse(row["AfterSaleTime"].ToString());
         }
         if (row["TranCode"] != null)
         {
             model.TranCode = row["TranCode"].ToString();
         }
         if (row["TranType"] != null)
         {
             model.TranType = row["TranType"].ToString();
         }
         if (row["PayMethod"] != null)
         {
             model.PayMethod = row["PayMethod"].ToString();
         }
         if (row["Out_Trade_No"] != null)
         {
             model.Out_Trade_No = row["Out_Trade_No"].ToString();
         }
     }
     return(model);
 }
Beispiel #4
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(WebApi_Model.T_Product_Orders model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into T_Product_Orders(");
            strSql.Append("OrderNum,OrderDateTime,UID,Status,AddressID,ProductQty,TotalAmount,PayTime,SendTime,TakeTime,AfterSaleTime,TranCode,TranType,PayMethod,Out_Trade_No)");
            strSql.Append(" values (");
            strSql.Append("@OrderNum,@OrderDateTime,@UID,@Status,@AddressID,@ProductQty,@TotalAmount,@PayTime,@SendTime,@TakeTime,@AfterSaleTime,@TranCode,@TranType,@PayMethod,@Out_Trade_No)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@OrderNum",      SqlDbType.NVarChar,  16),
                new SqlParameter("@OrderDateTime", SqlDbType.DateTime),
                new SqlParameter("@UID",           SqlDbType.Int,        4),
                new SqlParameter("@Status",        SqlDbType.Int,        4),
                new SqlParameter("@AddressID",     SqlDbType.Int,        4),
                new SqlParameter("@ProductQty",    SqlDbType.Int,        4),
                new SqlParameter("@TotalAmount",   SqlDbType.Decimal,    9),
                new SqlParameter("@PayTime",       SqlDbType.DateTime),
                new SqlParameter("@SendTime",      SqlDbType.DateTime),
                new SqlParameter("@TakeTime",      SqlDbType.DateTime),
                new SqlParameter("@AfterSaleTime", SqlDbType.DateTime),
                new SqlParameter("@TranCode",      SqlDbType.NVarChar,  25),
                new SqlParameter("@TranType",      SqlDbType.NVarChar,  25),
                new SqlParameter("@PayMethod",     SqlDbType.NVarChar,  50),
                new SqlParameter("@Out_Trade_No",  SqlDbType.NVarChar, 50)
            };
            parameters[0].Value  = model.OrderNum;
            parameters[1].Value  = model.OrderDateTime;
            parameters[2].Value  = model.UID;
            parameters[3].Value  = model.Status;
            parameters[4].Value  = model.AddressID;
            parameters[5].Value  = model.ProductQty;
            parameters[6].Value  = model.TotalAmount;
            parameters[7].Value  = model.PayTime;
            parameters[8].Value  = model.SendTime;
            parameters[9].Value  = model.TakeTime;
            parameters[10].Value = model.AfterSaleTime;
            parameters[11].Value = model.TranCode;
            parameters[12].Value = model.TranType;
            parameters[13].Value = model.PayMethod;
            parameters[14].Value = model.Out_Trade_No;

            object obj = DBHelper.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                WebApi_DAL.T_Product_OrderDetails dal = new T_Product_OrderDetails();
                List <int> list = new List <int>();
                try
                {
                    for (int i = 0; i < model.OrderDetails.Count; i++)
                    {
                        //T_product
                        model.OrderDetails[i].OrderID = Convert.ToInt32(obj);
                        int Key = dal.Add(model.OrderDetails[i]);
                        list.Add(Key);
                    }
                }
                catch (Exception ex)
                {
                    Delete(Convert.ToInt32(obj));
                    foreach (int j in list)
                    {
                        dal.Delete(j);
                    }
                    throw ex;
                }

                return(Convert.ToInt32(obj));
            }
        }
Beispiel #5
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(WebApi_Model.T_Product_Orders model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update T_Product_Orders set ");
            strSql.Append("OrderNum=@OrderNum,");
            strSql.Append("OrderDateTime=@OrderDateTime,");
            strSql.Append("UID=@UID,");
            strSql.Append("Status=@Status,");
            strSql.Append("AddressID=@AddressID,");
            strSql.Append("ProductQty=@ProductQty,");
            strSql.Append("TotalAmount=@TotalAmount,");
            strSql.Append("PayTime=@PayTime,");
            strSql.Append("SendTime=@SendTime,");
            strSql.Append("TakeTime=@TakeTime,");
            strSql.Append("AfterSaleTime=@AfterSaleTime,");
            strSql.Append("TranCode=@TranCode,");
            strSql.Append("TranType=@TranType,");
            strSql.Append("PayMethod=@PayMethod,");
            strSql.Append("Out_Trade_No=@Out_Trade_No");
            strSql.Append(" where OrderID=@OrderID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@OrderNum",      SqlDbType.NVarChar,  16),
                new SqlParameter("@OrderDateTime", SqlDbType.DateTime),
                new SqlParameter("@UID",           SqlDbType.Int,        4),
                new SqlParameter("@Status",        SqlDbType.Int,        4),
                new SqlParameter("@AddressID",     SqlDbType.Int,        4),
                new SqlParameter("@ProductQty",    SqlDbType.Int,        4),
                new SqlParameter("@TotalAmount",   SqlDbType.Decimal,    9),
                new SqlParameter("@PayTime",       SqlDbType.DateTime),
                new SqlParameter("@SendTime",      SqlDbType.DateTime),
                new SqlParameter("@TakeTime",      SqlDbType.DateTime),
                new SqlParameter("@AfterSaleTime", SqlDbType.DateTime),
                new SqlParameter("@TranCode",      SqlDbType.NVarChar,  25),
                new SqlParameter("@TranType",      SqlDbType.NVarChar,  25),
                new SqlParameter("@PayMethod",     SqlDbType.NVarChar,  50),
                new SqlParameter("@Out_Trade_No",  SqlDbType.NVarChar,  50),
                new SqlParameter("@OrderID",       SqlDbType.Int, 4)
            };
            parameters[0].Value  = model.OrderNum;
            parameters[1].Value  = model.OrderDateTime;
            parameters[2].Value  = model.UID;
            parameters[3].Value  = model.Status;
            parameters[4].Value  = model.AddressID;
            parameters[5].Value  = model.ProductQty;
            parameters[6].Value  = model.TotalAmount;
            parameters[7].Value  = model.PayTime;
            parameters[8].Value  = model.SendTime;
            parameters[9].Value  = model.TakeTime;
            parameters[10].Value = model.AfterSaleTime;
            parameters[11].Value = model.TranCode;
            parameters[12].Value = model.TranType;
            parameters[13].Value = model.PayMethod;
            parameters[14].Value = model.Out_Trade_No;
            parameters[15].Value = model.OrderID;

            int rows = DBHelper.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }