示例#1
0
    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()));
    }
示例#2
0
    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()));
    }
示例#3
0
    //删除
    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()));
    }
示例#4
0
    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", "数据保存成功");
    }
示例#5
0
    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 + "&notify_id=" + Request.QueryString["notify_id"];
        alipayNotifyURL = alipayNotifyURL + "partner=" + partner + "&notify_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"]);
                }
            }
        }
    }
示例#8
0
    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);
                }
            }
        }
    }