protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { int index = Convert.ToInt32(e.CommandArgument); MojoCube.Web.Order.List order = new MojoCube.Web.Order.List(); order.GetData(int.Parse(((Label)GridView1.Rows[index].FindControl("lblID")).Text)); //取消订单 if (e.CommandName == "_cancel") { order.StatusID = 4; order.CancelDate = DateTime.Now.ToString(); } //确认收货 if (e.CommandName == "_complete") { order.StatusID = 3; order.EndDate = DateTime.Now.ToString(); } //标记删除 if (e.CommandName == "_delete") { order.IsDeleted = true; } order.UpdateData(order.pk_Order); Response.Redirect(MojoCube.Web.Site.Cache.GetUrlExtension("Order", MojoCube.Api.UI.Language.GetLanguage())); }
protected void btnSubmit_Click(object sender, EventArgs e) { MojoCube.Web.Order.List order = new MojoCube.Web.Order.List(); order.GetData(int.Parse(ViewState["pk_Order"].ToString())); order.IsComment = true; order.UpdateData(order.pk_Order); if (GridView1.Rows.Count > 0) { MojoCube.Web.Member.List member = new MojoCube.Web.Member.List(); member.GetData(int.Parse(Session["Member_UserID"].ToString())); MojoCube.Web.Comment.List list = new MojoCube.Web.Comment.List(); for (int i = 0; i < GridView1.Rows.Count; i++) { if (((TextBox)GridView1.Rows[i].FindControl("txtComment")).Text.Trim() != "") { list.Title = ((Label)GridView1.Rows[i].FindControl("lblTitle")).Text; list.Subtitle = string.Empty; list.Description = ((TextBox)GridView1.Rows[i].FindControl("txtComment")).Text.Trim(); list.Feedback = string.Empty; list.Visual = string.Empty; list.Author = member.LastName + member.FirstName; list.Email = member.Email; list.Phone = member.Phone1; list.Address = member.Address; list.Website = string.Empty; list.IPAddress = MojoCube.Web.IP.Get(); list.Browser = MojoCube.Web.String.GetBrowserInfo(); list.Issue = true; list.IsComment = false; list.IsRecommend = false; list.IsRead = false; list.ReadDate = DateTime.Now.ToString(); list.Clicks = 0; list.fk_ID = int.Parse(((Label)GridView1.Rows[i].FindControl("lblfkID")).Text); list.SortID = 0; list.TypeID = 1; list.StatusID = 0; list.Score = int.Parse(((DropDownList)GridView1.Rows[i].FindControl("ddlScore")).SelectedValue); list.ScoreIn = list.Score; list.CreateDate = DateTime.Now.ToString(); list.CreateUserID = member.pk_Member; list.ModifyDate = DateTime.Now.ToString(); list.ModifyUserID = 0; list.Language = MojoCube.Api.UI.Language.GetLanguage(); list.InsertData(); } } } Response.Redirect(MojoCube.Web.Site.Cache.GetUrlExtension("OrderDetail", MojoCube.Api.UI.Language.GetLanguage()) + "?id=" + MojoCube.Api.Text.Security.EncryptString(ViewState["pk_Order"].ToString())); }
//删除 protected void lnbDelete_Click(object sender, EventArgs e) { MojoCube.Web.Order.List order = new MojoCube.Web.Order.List(); for (int i = 0; i < GridView1.Rows.Count; i++) { if (((CheckBox)GridView1.Rows[i].FindControl("cbSelect")).Checked) { order.GetData(int.Parse(((Label)GridView1.Rows[i].FindControl("lblID")).Text)); order.IsDeleted = true; order.UpdateData(order.pk_Order); } } Response.Redirect(MojoCube.Web.Site.Cache.GetUrlExtension("Order", MojoCube.Api.UI.Language.GetLanguage())); }
protected void btnSave_Click(object sender, EventArgs e) { if (txtAmount.Text.Trim() == "") { AlertDiv.InnerHtml = MojoCube.Web.String.ShowAlert("danger", "请填写金额"); return; } MojoCube.Web.Order.List list = new MojoCube.Web.Order.List(); //修改 if (ViewState["pk_Order"] != null) { list.GetData(int.Parse(ViewState["pk_Order"].ToString())); if (list.StatusID != int.Parse(ddlStatus.SelectedValue)) { string dateString = "<span style=\"font-size:8pt; color:#999; margin-left:3px;\">[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "]</span>"; list.StatusID = int.Parse(ddlStatus.SelectedValue); list.Comments += Session["FullName"].ToString() + dateString + ":将状态改为【" + ddlStatus.SelectedItem.Text + "】\n"; } if (list.ShipperCode != ddlExpress.SelectedValue) { list.ShipperCode = ddlExpress.SelectedValue; list.ShipmentDate = DateTime.Now.ToString(); list.LogisticCode = txtLogisticCode.Text.Trim(); } if (list.StatusID == 3) { list.EndDate = DateTime.Now.ToString(); } if (list.StatusID == 4) { list.CancelDate = DateTime.Now.ToString(); } list.Amount = MojoCube.Web.String.ToDecimal(txtAmount.Text.Trim()); list.OrderNumber = txtNumber.Text.Trim(); list.Note = txtNote.Text.Trim(); list.UpdateData(list.pk_Order); } AlertDiv.InnerHtml = MojoCube.Web.String.ShowAlert("success", "数据保存成功"); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string data = string.Empty; try { //接收并读取POST过来的XML文件流 StreamReader reader = new StreamReader(Request.InputStream); String xmlData = reader.ReadToEnd(); data = xmlData; } catch { } MojoCube.Web.Order.List order = new MojoCube.Web.Order.List(); order.GetData(GetWxKeyValue(data, "out_trade_no")); if (order.pk_Order > 0) { ViewState["AppID"] = GetWxKeyValue(data, "appid"); string responseTxt = GetWxKeyValue(data, "return_code"); if (!IsAllow()) { return; } if (!MojoCube.Web.Sql.IsExist("Order_Log", "fk_Order", order.pk_Order, "TransStatus='" + responseTxt + "'")) { bool isSuccess = false; if (responseTxt == "SUCCESS") { isSuccess = true; } MojoCube.Web.Order.Log log = new MojoCube.Web.Order.Log(); log.Number = MojoCube.Api.Text.Function.DateTimeString(true); log.OrderNumber = order.OrderNumber; log.fk_Order = order.pk_Order; log.fk_Member = order.fk_Member; log.TypeID = 0; log.StatusID = 0; log.Title = string.Empty; log.Description = order.Description; log.Amount = order.Amount; log.AppID = ViewState["AppID"].ToString(); log.TransStatus = responseTxt; if (isSuccess) { log.TransName = "支付成功"; log.ResponseMsg = "交易成功"; } else { log.TransName = "支付失败"; log.ResponseMsg = "交易失败"; } log.ChannelType = "微信支付"; log.ResponseCode = responseTxt; log.OrderStartTime = GetWxKeyValue(data, "time_end"); log.OrderAmt = GetWxKeyValue(data, "total_fee"); log.OrderTimeOut = "0"; log.OrderType = "普通消费"; log.DeviceType = GetWxKeyValue(data, "trade_type"); log.ResponseTime = log.OrderStartTime; log.CurrencyType = GetWxKeyValue(data, "fee_type"); log.Result = data; log.CreateDate = DateTime.Now.ToString(); log.InsertData(); //支付成功 if (isSuccess) { //修改订单状态 order.StatusID = 1; order.fk_Payment = 3; order.PaymentDate = DateTime.Now.ToString(); order.UpdateData(order.pk_Order); //通知微信已收到通知 Response.Write(CreateMsg()); } } } } }
protected void btnOrder_Click(object sender, EventArgs e) { if (txtContactName.Text == "" || txtAddress.Text == "" || txtContactPhone.Text == "") { MojoCube.Api.UI.Script.ScriptMessage(this, "请填写完整收货信息"); return; } #region 获取邮件信息 //获取发送邮件账号 MojoCube.Web.Mail.Account account = new MojoCube.Web.Mail.Account(); account.GetDataTypeID(2); //获取邮件模板 MojoCube.Web.Mail.Template template = new MojoCube.Web.Mail.Template(); template.GetDataAccountID(account.pk_Account); string mailbody = template.Description; string templateInfo = string.Empty; //获取替代方法 MojoCube.Web.ReplaceText replace = new MojoCube.Web.ReplaceText(); string repeatText = replace.GetRepeat("<tr class=\"repeat\">", "</tr>", template.Description); #endregion #region 加入订单列表 MojoCube.Web.Order.List list = new MojoCube.Web.Order.List(); list.fk_Member = int.Parse(Session["Member_UserID"].ToString()); list.fk_Express = 0; list.OrderNumber = MojoCube.Api.Text.Function.DateTimeString(true); list.TrackingNumber = string.Empty; list.CustomerName = txtContactName.Text.Trim(); list.CustomerSex = 0; list.CustomerPhone1 = txtContactPhone.Text.Trim(); list.CustomerPhone2 = string.Empty; list.CustomerQQ = string.Empty; list.CustomerEmail = ViewState["Email"].ToString(); list.CustomerZip = string.Empty; list.CustomerAddress = txtAddress.Text.Trim(); list.Description = string.Empty; list.Remark = txtRemark.Text.Trim(); list.Note = string.Empty; list.TypeID = 0; list.Freight = 0; list.Premium = 0; list.Amount = (decimal)ViewState["Total"]; list.Currency = 0; list.CreateDate = DateTime.Now.ToString(); list.EndDate = DateTime.Now.ToString(); list.fk_Payment = 0; list.PaymentDate = DateTime.Now.ToString(); list.ShipmentDate = DateTime.Now.ToString(); list.ShipperCode = string.Empty; list.LogisticCode = string.Empty; list.LogisticInfo = string.Empty; list.LastCheck = DateTime.Now.ToString(); list.CancelDate = DateTime.Now.ToString(); list.IsPublic = false; list.IsAssess = false; list.IsComment = false; list.Comments = string.Empty; list.StatusID = 0; list.IsDeleted = false; int orderId = list.InsertData(); #endregion #region 加入订单产品 MojoCube.Web.Order.Item item = new MojoCube.Web.Order.Item(); item.fk_Order = orderId; string productList = string.Empty; for (int i = 0; i < GridView1.Rows.Count; i++) { item.fk_ID = int.Parse(((Label)GridView1.Rows[i].FindControl("lblfkID")).Text); item.fk_Price = 0; item.TypeID = 0; item.Title = ((Label)GridView1.Rows[i].FindControl("lblProductName")).Text; item.ImagePath = ((Label)GridView1.Rows[i].FindControl("lblImagePath")).Text; item.PageName = ((Label)GridView1.Rows[i].FindControl("lblPageName")).Text; item.Price = decimal.Parse(((Label)GridView1.Rows[i].FindControl("lblPrice")).Text); item.Amount = decimal.Parse(((Label)GridView1.Rows[i].FindControl("lblAmount")).Text); item.Currency = 0; item.Qty = int.Parse(((TextBox)GridView1.Rows[i].FindControl("txtQty")).Text.Trim()); item.Remark = string.Empty; item.StatusID = 0; item.CreateDate = DateTime.Now.ToString(); item.InsertData(); //邮件替换内容 replace.ProductName = ((Label)GridView1.Rows[i].FindControl("lblProductName")).Text; replace.Price = ((Label)GridView1.Rows[i].FindControl("lblPrice")).Text; replace.Qty = ((TextBox)GridView1.Rows[i].FindControl("txtQty")).Text.Trim(); replace.Amount = ((Label)GridView1.Rows[i].FindControl("lblAmount")).Text; templateInfo += replace.Replace(repeatText); //产品名称组合 productList += ((Label)GridView1.Rows[i].FindControl("lblProductName")).Text + "×" + item.Qty.ToString() + ","; } if (productList.Length > 1) { productList = productList.Substring(0, productList.Length - 1); list.Description = productList; list.UpdateData(orderId); } #endregion #region 发送通知信息 mailbody = mailbody.Replace(repeatText, templateInfo); replace.TrueName = list.CustomerName; replace.Total = ViewState["Total"].ToString(); mailbody = replace.Replace(mailbody); MojoCube.Web.Mail.Receive receive = new MojoCube.Web.Mail.Receive(); string mailList = receive.GetEmailList(account.pk_Account); if (account.SmtpPort == 25) { MojoCube.Api.Mail.Thread mail = new MojoCube.Api.Mail.Thread(); mail.From = account.LoginName; mail.DisplayName = account.DisplayName; //给买家发送邮件 mail.To = list.CustomerEmail; //CC给系统需要通知的人员 if (mailList != "") { mail.CC = mailList; } mail.Subject = template.Subject; mail.Body = mailbody; mail.SmtpHost = account.SmtpHost; mail.Port = account.SmtpPort; mail.EnableSsl = false; mail.UserName = account.LoginName; mail.Password = MojoCube.Api.Text.Security.DecryptString(account.Password); mail.Send(); } else { MojoCube.Api.Mail.WebMail mail = new MojoCube.Api.Mail.WebMail(); mail.From = account.LoginName; mail.DisplayName = account.DisplayName; //给买家发送邮件 mail.To = list.CustomerEmail; //CC给系统需要通知的人员 if (mailList != "") { mail.CC = mailList; } mail.Subject = template.Subject; mail.Body = mailbody; mail.SmtpHost = account.SmtpHost; mail.Port = account.SmtpPort; mail.EnableSsl = true; mail.UserName = account.LoginName; mail.Password = MojoCube.Api.Text.Security.DecryptString(account.Password); mail.Send(); } //发送短信通知 //MojoCube.Web.SMS.Function.Send(0, 1, orderId); #endregion #region 单成功重置 MojoCube.Web.Sql.SqlQuery("update Member_Cart set StatusID=1 where fk_Member=" + Session["Member_UserID"].ToString() + " and StatusID=0 and pk_Cart in (" + Session["CartToOrder"].ToString() + ")"); Session.Remove("CartToOrder"); #endregion Response.Redirect(MojoCube.Web.Site.Cache.GetUrlExtension("Pay", MojoCube.Api.UI.Language.GetLanguage()) + "?id=" + MojoCube.Api.Text.Security.EncryptString(orderId.ToString())); }
protected void Page_Load(object sender, EventArgs e) { ///当不知道https的时候,请使用http //string alipayNotifyURL = "https://www.alipay.com/cooperate/gateway.do?"; string alipayNotifyURL = "http://notify.alipay.com/trade/notify_query.do?"; MojoCube.Web.Payment.List payment = new MojoCube.Web.Payment.List(); payment.GetDataByType(0); string partner = payment.PartnerID; //partner string key = payment.KeyCode; //安全校验码 //alipayNotifyURL = alipayNotifyURL + "service=notify_verify" + "&partner=" + partner + "¬ify_id=" + Request.QueryString["notify_id"]; alipayNotifyURL = alipayNotifyURL + "partner=" + partner + "¬ify_id=" + Request.QueryString["notify_id"]; string responseTxt = Get_Http(alipayNotifyURL, 120000); //********************************************************************************************* int i; NameValueCollection coll; //Load Form variables into NameValueCollection variable. coll = Request.QueryString; // Get names of all forms into a string array. String[] requestarr = coll.AllKeys; //进行排序; string[] Sortedstr = BubbleSort(requestarr); //构造待md5摘要字符串; StringBuilder prestr = new StringBuilder(); for (i = 0; i < Sortedstr.Length; i++) { if (Sortedstr[i] != "sign" && Sortedstr[i] != "sign_type") { if (i == Sortedstr.Length - 1) { prestr.Append(Sortedstr[i] + "=" + Request.QueryString[Sortedstr[i]]); } else { prestr.Append(Sortedstr[i] + "=" + Request.QueryString[Sortedstr[i]] + "&"); } } } prestr.Append(key); string mysign = GetMD5(prestr.ToString()); //生成MD5摘要 string sign = Request.Form["sign"]; //签名 string business = Request.Form["seller_email"].ToString(); //收款方帐号ok string item_name = Request.Form["subject"].ToString(); //商品名ok string ordersn = Request.Form["out_trade_no"].ToString(); //订单号ok string username = Request.Form["receive_name"].ToString(); string ppPrice = Request.Form["price"].ToString(); //金额ok MojoCube.Web.Order.List order = new MojoCube.Web.Order.List(); order.GetData(ordersn); if (order.pk_Order > 0) { if (mysign != sign) { return; } if (!MojoCube.Web.Sql.IsExist("Order_Log", "fk_Order", order.pk_Order, "TransStatus='" + responseTxt + "'")) { bool isSuccess = false; if (responseTxt == "true") { isSuccess = true; } MojoCube.Web.Order.Log log = new MojoCube.Web.Order.Log(); log.Number = MojoCube.Api.Text.Function.DateTimeString(true); log.OrderNumber = order.OrderNumber; log.fk_Order = order.pk_Order; log.fk_Member = order.fk_Member; log.TypeID = 0; log.StatusID = 0; log.Title = string.Empty; log.Description = order.Description; log.Amount = order.Amount; log.AppID = string.Empty; log.TransStatus = responseTxt; if (isSuccess) { log.TransName = "支付成功"; log.ResponseMsg = "交易成功"; } else { log.TransName = "支付失败"; log.ResponseMsg = "交易失败"; } log.ChannelType = "支付宝"; log.ResponseCode = responseTxt; log.OrderStartTime = DateTime.Now.ToString("yyyyMMddHHmmss"); log.OrderAmt = ppPrice; log.OrderTimeOut = "0"; log.OrderType = "普通消费"; log.DeviceType = "Web"; log.ResponseTime = log.OrderStartTime; log.CurrencyType = "RMB"; log.Result = sign + "|" + business + "|" + item_name + "|" + ordersn + "|" + username + "|" + ppPrice; log.CreateDate = DateTime.Now.ToString(); log.InsertData(); //支付成功 if (isSuccess) { //修改订单状态 order.StatusID = 1; order.fk_Payment = 1; order.PaymentDate = DateTime.Now.ToString(); order.UpdateData(order.pk_Order); Response.Write("支付成功!"); //返回给支付宝消息,成功 Response.Write("<br>------------------" + Request.Form["body"]); } else { Response.Write("支付失败,请与商家联系!"); Response.Write("<br>------------------" + Request.Form["body"]); } } } }
protected void Page_Load(object sender, EventArgs e) { MojoCube.Web.Payment.List payment = new MojoCube.Web.Payment.List(); payment.GetDataByType(1); string strUrl = payment.Gateway; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl); // Set values for the request back req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; byte[] param = Request.BinaryRead(HttpContext.Current.Request.ContentLength); string strRequest = Encoding.ASCII.GetString(param); strRequest += "&cmd=_notify-validate"; req.ContentLength = strRequest.Length; //for proxy //WebProxy proxy = new WebProxy(new Uri("http://url:port#")); //req.Proxy = proxy; //Send the request to PayPal and get the response StreamWriter streamOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); streamOut.Write(strRequest); streamOut.Close(); StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream()); string responseTxt = streamIn.ReadToEnd(); streamIn.Close(); string business = GetString("business"); //收款方帐号ok string item_name = GetString("item_name"); //商品名ok string ordersn = GetString("item_number"); //订单号ok string username = GetString("username"); string txnid = GetString("txn_id").ToString(); //ok string ppStatus = GetString("payment_status").ToString(); //状态 ok//成功返回:Completed string ppDate = GetString("payment_date").ToString(); //paypal服务器支付时间ok string ppPrice = GetString("mc_gross").ToString(); //金额ok MojoCube.Web.Order.List order = new MojoCube.Web.Order.List(); order.GetData(ordersn); if (order.pk_Order > 0) { if (responseTxt != "VERIFIED") { return; } if (!MojoCube.Web.Sql.IsExist("Order_Log", "fk_Order", order.pk_Order, "TransStatus='" + ppStatus + "'")) { bool isSuccess = false; if (ppStatus == "Completed") { isSuccess = true; } MojoCube.Web.Order.Log log = new MojoCube.Web.Order.Log(); log.Number = MojoCube.Api.Text.Function.DateTimeString(true); log.OrderNumber = order.OrderNumber; log.fk_Order = order.pk_Order; log.fk_Member = order.fk_Member; log.TypeID = 0; log.StatusID = 0; log.Title = string.Empty; log.Description = order.Description; log.Amount = order.Amount; log.AppID = string.Empty; log.TransStatus = ppStatus; if (isSuccess) { log.TransName = "支付成功"; log.ResponseMsg = "交易成功"; } else { log.TransName = "支付失败"; log.ResponseMsg = "交易失败"; } log.ChannelType = "Paypal"; log.ResponseCode = responseTxt; log.OrderStartTime = ppDate; log.OrderAmt = ppPrice; log.OrderTimeOut = "0"; log.OrderType = "普通消费"; log.DeviceType = "Web"; log.ResponseTime = log.OrderStartTime; log.CurrencyType = "RMB"; log.Result = business + "|" + item_name + "|" + ordersn + "|" + username + "|" + txnid + "|" + ppStatus + "|" + ppDate + "|" + ppPrice; log.CreateDate = DateTime.Now.ToString(); log.InsertData(); //支付成功 if (isSuccess) { //修改订单状态 order.StatusID = 1; order.fk_Payment = 2; order.PaymentDate = DateTime.Now.ToString(); order.UpdateData(order.pk_Order); } } } }