Exemple #1
0
        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            EmailContentInfo emailContent = new EmailContentInfo();

            emailContent.Key          = RequestHelper.GetQueryString <string>("Key");
            emailContent.IsSystem     = RequestHelper.GetQueryString <int>("IsSystem");
            emailContent.EmailTitle   = this.EmailTitle.Text;
            emailContent.EmailContent = this.EmailContent.Value;
            string alertMessage = ShopLanguage.ReadLanguage("AddOK");

            if (emailContent.Key == string.Empty)
            {
                emailContent.Key = Guid.NewGuid().ToString();
                base.CheckAdminPower("AddEmailContent", PowerCheckType.Single);
                EmailContentHelper.AddEmailContent(emailContent);
                AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("AddRecord"), ShopLanguage.ReadLanguage("EmailContent"), emailContent.Key);
            }
            else
            {
                base.CheckAdminPower("UpdateEmailContent", PowerCheckType.Single);
                EmailContentHelper.UpdateEmailContent(emailContent);
                AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("EmailContent"), emailContent.Key);
                alertMessage = ShopLanguage.ReadLanguage("UpdateOK");
            }
            AdminBasePage.Alert(alertMessage, RequestHelper.RawUrl);
        }
Exemple #2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!this.Page.IsPostBack)
     {
         string queryString = RequestHelper.GetQueryString <string>("Key");
         int    num         = RequestHelper.GetQueryString <int>("IsSystem");
         if (queryString != string.Empty)
         {
             base.CheckAdminPower("ReadEmailContent", PowerCheckType.Single);
             EmailContentInfo info = new EmailContentInfo();
             if (num == 0)
             {
                 info = EmailContentHelper.ReadCommonEmailContent(queryString);
             }
             else
             {
                 info = EmailContentHelper.ReadSystemEmailContent(queryString);
             }
             this.EmailTitle.Text    = info.EmailTitle;
             this.EmailContent.Value = info.EmailContent;
             if (info.Note != string.Empty)
             {
                 this.NotePlaceHolder.Visible = true;
                 this.Note.Text = info.Note;
             }
             else
             {
                 this.NotePlaceHolder.Visible = false;
             }
         }
     }
 }
Exemple #3
0
 /// <summary>
 /// 操作订单发送通知
 /// </summary>
 /// <param name="isSendNotice">是否发送通知</param>
 /// <param name="isSendEmail">是否发送邮件</param>
 /// <param name="isSendMessage">是否发送短信</param>
 /// <param name="key">操作名称</param>
 /// <param name="order">操作的订单</param>
 protected void SendOrderOperateMsg(int isSendNotice, int isSendEmail, int isSendMessage, string key, OrderInfo order)
 {
     if (isSendNotice == (int)BoolType.True && key != string.Empty)
     {
         if (isSendEmail == (int)BoolType.True)
         {//发邮件
             try
             {
                 EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent(key);
                 EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                 emailSendRecord.Title     = emailContent.EmailTitle;
                 emailSendRecord.Content   = emailContent.EmailContent.Replace("$UserName$", order.UserName).Replace("$OrderNumber$", order.OrderNumber).Replace("$PayName$", order.PayName).Replace("$ShippingName$", ShippingBLL.Read(order.ShippingId).Name).Replace("$ShippingNumber$", order.ShippingNumber).Replace("$ShippingDate$", order.ShippingDate.ToString("yyyy-MM-dd"));
                 emailSendRecord.IsSystem  = (int)BoolType.True;
                 emailSendRecord.EmailList = order.Email;
                 emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                 emailSendRecord.SendStatus             = (int)SendStatus.No;
                 emailSendRecord.AddDate  = RequestHelper.DateNow;
                 emailSendRecord.SendDate = RequestHelper.DateNow;
                 emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                 EmailSendRecordBLL.SendEmail(emailSendRecord);
                 //result = "通知邮件已发送。";
             }
             catch
             {
                 //result = "未发送通知邮件。";
             }
         }
         if (isSendMessage == (int)BoolType.True)
         {//发短信
          //result += "未发送通知短信。";
         }
     }
 }
        public int Create(string externalKey, string layoutHtml, Priority priority = Priority.Medium)
        {
            if (externalKey.Length > Guid.Empty.ToString().Length)
            {
                throw new ArgumentException(
                          "externalKey too long, should be max length of " + Guid.Empty.ToString().Length, "externalKey");
            }

            if (_triggeredSendDefinitionClient.DoesTriggeredSendDefinitionExist(externalKey))
            {
                throw new Exception(string.Format("A TriggeredSendDefinition with external key {0} already exsits",
                                                  externalKey));
            }

            var dataExtensionExternalKey = ExternalKeyGenerator.GenerateExternalKey("data-extension-" + externalKey);

            if (!_dataExtensionClient.DoesDataExtensionExist(dataExtensionExternalKey))
            {
                var dataExtensionTemplateObjectId =
                    _dataExtensionClient.RetrieveTriggeredSendDataExtensionTemplateObjectId();

                var dataExtensionFieldNames = new HashSet <string> {
                    "Subject", "Body", "Head"
                };
                var replacementFields = LayoutHtmlReplacementFieldNameParser.Parse(layoutHtml);
                foreach (var replacementField in replacementFields)
                {
                    dataExtensionFieldNames.Add(replacementField);
                }

                _dataExtensionClient.CreateDataExtension(dataExtensionTemplateObjectId,
                                                         dataExtensionExternalKey,
                                                         "triggeredsend-" + externalKey,
                                                         dataExtensionFieldNames);
            }

            var emailTempalteExternalKey = ExternalKeyGenerator.GenerateExternalKey("email-template" + externalKey);
            var emailTemplateId          = _emailTemplateClient.RetrieveEmailTemplateId(emailTempalteExternalKey);

            if (emailTemplateId == 0)
            {
                layoutHtml += EmailContentHelper.GetOpenTrackingTag() +
                              EmailContentHelper.GetCompanyPhysicalMailingAddressTags();
                emailTemplateId = _emailTemplateClient.CreateEmailTemplate(emailTempalteExternalKey,
                                                                           "template-" + externalKey, layoutHtml);
            }

            var emailId = _emailRequestClient.CreateEmailFromTemplate(emailTemplateId, "email-" + externalKey,
                                                                      "%%Subject%%", new KeyValuePair <string, string>("dynamicArea", "%%Body%%"));

            var deliveryProfileExternalKey = ExternalKeyGenerator.GenerateExternalKey("blank-delivery-profile");

            _deliveryProfileClient.TryCreateBlankDeliveryProfile(deliveryProfileExternalKey);
            var triggeredSendDefinition = _triggeredSendDefinitionClient.CreateTriggeredSendDefinition(externalKey,
                                                                                                       emailId, dataExtensionExternalKey, deliveryProfileExternalKey, externalKey, externalKey, priority.ToString());

            return(triggeredSendDefinition);
        }
        public int Create(string externalKey, string layoutHtml)
        {
            if (externalKey.Length > Guid.Empty.ToString().Length)
            {
                throw new ArgumentException("externalKey too long, should be max length of " + Guid.Empty.ToString().Length, "externalKey");
            }

            if (triggeredSendDefinitionClient.DoesTriggeredSendDefinitionExist(externalKey))
            {
                throw new Exception(string.Format("A TriggeredSendDefinition with external key {0} already exsits", externalKey));
            }

            var dataExtensionExternalKey = ExternalKeyGenerator.GenerateExternalKey("data-extension-" + externalKey);

            if (!dataExtensionClient.DoesDataExtensionExist(dataExtensionExternalKey))
            {
                var dataExtensionTemplateObjectId = dataExtensionClient.RetrieveTriggeredSendDataExtensionTemplateObjectId();

                var regex   = new Regex(@"(?<=%%)[^\s].*?[^\s]?(?=%%)");
                var matches = regex.Matches(layoutHtml);
                var dataExtensionFieldNames = new HashSet <string> {
                    "Subject", "Body", "Head"
                };

                for (var i = 0; i < matches.Count; i++)
                {
                    dataExtensionFieldNames.Add(matches[i].Value);
                }

                dataExtensionClient.CreateDataExtension(dataExtensionTemplateObjectId,
                                                        dataExtensionExternalKey,
                                                        "triggeredsend-" + externalKey,
                                                        dataExtensionFieldNames);
            }


            var emailTempalteExternalKey = ExternalKeyGenerator.GenerateExternalKey("email-template" + externalKey);
            var emailTemplateId          = emailTemplateClient.RetrieveEmailTemplateId(emailTempalteExternalKey);

            if (emailTemplateId == 0)
            {
                layoutHtml     += EmailContentHelper.GetOpenTrackingTag() + EmailContentHelper.GetCompanyPhysicalMailingAddressTags();
                emailTemplateId = emailTemplateClient.CreateEmailTemplate(emailTempalteExternalKey, "template-" + externalKey, layoutHtml);
            }

            var emailId = emailRequestClient.CreateEmailFromTemplate(emailTemplateId, "email-" + externalKey, "%%Subject%%", new KeyValuePair <string, string>("dynamicArea", "%%Body%%"));

            var deliveryProfileExternalKey = ExternalKeyGenerator.GenerateExternalKey("blank-delivery-profile");

            deliveryProfileClient.TryCreateBlankDeliveryProfile(deliveryProfileExternalKey);
            var triggeredSendDefinition = triggeredSendDefinitionClient.CreateTriggeredSendDefinition(externalKey, emailId, dataExtensionExternalKey, deliveryProfileExternalKey, externalKey, externalKey, "High");

            triggeredSendDefinitionClient.StartTriggeredSend(externalKey);
            return(triggeredSendDefinition);
        }
Exemple #6
0
 public int CreateTriggeredSendDefinitionWithEmailTemplate(string externalKey, string layoutHtmlAboveBodyTag, string layoutHtmlBelowBodyTag)
 {
     return(CreateWithTemplate(externalKey,
                               layoutHtmlAboveBodyTag +
                               "<body>" +
                               EmailContentHelper.GetContentAreaTag("dynamicArea") +
                               EmailContentHelper.GetOpenTrackingTag() +
                               EmailContentHelper.GetCompanyPhysicalMailingAddressTags() +
                               "</body>" +
                               layoutHtmlBelowBodyTag));
 }
Exemple #7
0
 public int Create(string externalKey)
 {
     return(CreateWithTemplate(externalKey,
                               "<html>" +
                               "<body>" +
                               EmailContentHelper.GetContentAreaTag("dynamicArea") +
                               EmailContentHelper.GetOpenTrackingTag() +
                               EmailContentHelper.GetCompanyPhysicalMailingAddressTags() +
                               "</body>" +
                               "</html>"));
 }
Exemple #8
0
        /// <summary>
        /// <para>Creates a Triggered Send Definition with an email template containing a content area. (and %%Subject%% replacement value)</para>
        /// <para>You can specify html layouts for above and below the body tags.</para>
        /// </summary>
        /// <param name="externalKey"></param>
        /// <param name="layoutHtmlAboveBodyTag"></param>
        /// <param name="layoutHtmlBelowBodyTag"></param>
        /// <param name="priority"></param>
        /// <returns></returns>
        public int CreateTriggeredSendDefinitionWithEmailTemplate(string externalKey, string layoutHtmlAboveBodyTag, string layoutHtmlBelowBodyTag, Priority priority = Priority.Medium)
        {
            var layoutHtml = layoutHtmlAboveBodyTag +
                             "<body>" +
                             EmailContentHelper.GetContentAreaTag("dynamicArea") +
                             "</body>" +
                             layoutHtmlBelowBodyTag;

            using (var creator = new TemplatedEmailCreator(_config))
            {
                return(creator.Create(externalKey, layoutHtml, priority));
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!this.Page.IsPostBack)
     {
         this.UserGrade.DataSource     = UserGradeBLL.ReadUserGradeCacheList();
         this.UserGrade.DataValueField = "ID";
         this.UserGrade.DataTextField  = "Name";
         this.UserGrade.DataBind();
         this.Key.DataSource     = EmailContentHelper.ReadCommonEmailContentList();
         this.Key.DataTextField  = "EmailTitle";
         this.Key.DataValueField = "Key";
         this.Key.DataBind();
     }
 }
Exemple #10
0
        public async Task <IHttpActionResult> PostOrder(OrderViewModel order)
        {
            Order dbOrder = new Order();

            dbOrder.Id         = Guid.NewGuid();
            dbOrder.CustomerId = order.OrderInfo.CustomerId;
            Decimal num1 = new Decimal();

            foreach (EBillAppTest.Models.Item obj in order.Items)
            {
                EBillAppTest.Models.Item item = obj;
                db.OrderItems.Add(new OrderItem()
                {
                    Id       = Guid.NewGuid(),
                    OrderId  = dbOrder.Id,
                    ItemId   = item.Id,
                    Quantity = new int?(item.Quantity)
                });
                var itemType = db.ItemTypes.SingleOrDefault(it => it.ItemId == item.Id && it.TypeId == (int)item.Type);
                if (itemType != null)
                {
                    num1 += itemType.Amount * (Decimal)item.Quantity;
                }
            }
            dbOrder.Amount      = num1;
            dbOrder.OrderNumber = "OD" + string.Format("{0:d9}", (object)(DateTime.Now.Ticks / 10L % 1000000000L));
            db.Orders.Add(dbOrder);
            try
            {
                int num2 = await db.SaveChangesAsync();
            }
            catch (DbUpdateException ex)
            {
                if (OrderExists(dbOrder.Id))
                {
                    return(Conflict());
                }
                throw;
            }
            var    customer = db.Customers.SingleOrDefault(cust => cust.Id == dbOrder.CustomerId);
            string email    = customer.Email;
            string from     = "*****@*****.**";
            await EmailHelper.SendEmailAsync(EmailContentHelper.GenerateContent(TableBuilder.BuildTable(order), dbOrder.OrderNumber, dbOrder.Amount, customer.FirstName + " " + customer.LastName), from, email, dbOrder.OrderNumber);

            return(Ok(new
            {
                status = "success"
            }));
        }
Exemple #11
0
        /// <summary>
        /// <para>Creates a Triggered Send Definition with an email template containing a content area and replacement value %Subject%.</para>
        /// <para>Use this if you want to edit the email markup in the ET UI.  </para>
        /// </summary>
        /// <param name="externalKey"></param>
        /// <param name="priority"></param>
        /// <returns></returns>
        public int Create(string externalKey, Priority priority = Priority.Medium)
        {
            var layoutHtml = "<html>" +
                             "<body>" +
                             EmailContentHelper.GetContentAreaTag("dynamicArea") +
                             EmailContentHelper.GetOpenTrackingTag() +
                             EmailContentHelper.GetCompanyPhysicalMailingAddressTags() +
                             "</body>" +
                             "</html>";

            using (var creator = new TemplatedEmailCreator(_config))
            {
                return(creator.Create(externalKey, layoutHtml, priority));
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!this.Page.IsPostBack)
     {
         base.CheckAdminPower("ReadEmailContent", PowerCheckType.Single);
         this.isSystem = RequestHelper.GetQueryString <int>("IsSystem");
         if ((this.isSystem == -2147483648) || (this.isSystem == 0))
         {
             this.isSystem = 0;
             base.BindControl(EmailContentHelper.ReadCommonEmailContentList(), this.RecordList);
         }
         else
         {
             base.BindControl(EmailContentHelper.ReadSystemEmailContentList(), this.RecordList);
         }
     }
 }
        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            base.CheckAdminPower("AddEmailSendRecord", PowerCheckType.Single);
            EmailContentInfo    info            = EmailContentHelper.ReadCommonEmailContent(this.Key.Text);
            EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();

            emailSendRecord.Title                  = info.EmailTitle;
            emailSendRecord.Content                = info.EmailContent;
            emailSendRecord.IsSystem               = 0;
            emailSendRecord.EmailList              = this.ReadUserEmail(ControlHelper.GetCheckBoxListValue(this.UserGrade));
            emailSendRecord.OpenEmailList          = string.Empty;
            emailSendRecord.IsStatisticsOpendEmail = Convert.ToInt32(this.IsStatisticsOpendEmail.Text);
            emailSendRecord.Note       = this.Note.Text;
            emailSendRecord.SendStatus = 1;
            emailSendRecord.AddDate    = RequestHelper.DateNow;
            emailSendRecord.SendDate   = RequestHelper.DateNow;
            string alertMessage = ShopLanguage.ReadLanguage("AddOK");
            int    id           = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);

            AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("AddRecord"), ShopLanguage.ReadLanguage("EmailSendRecord"), id);
            AdminBasePage.Alert(alertMessage, RequestHelper.RawUrl);
        }
Exemple #14
0
        private int Create(string externalKey, string layoutHtml)
        {
            var isTemplated = !string.IsNullOrWhiteSpace(layoutHtml);

            if (externalKey.Length > Guid.Empty.ToString().Length)
            {
                throw new ArgumentException("externalKey too long, should be max length of " + Guid.Empty.ToString().Length, "externalKey");
            }

            if (_triggeredSendDefinitionClient.DoesTriggeredSendDefinitionExist(externalKey))
            {
                throw new Exception(string.Format("A TriggeredSendDefinition with external key {0} already exsits", externalKey));
            }

            var dataExtensionExternalKey = ExternalKeyGenerator.GenerateExternalKey("data-extension-" + externalKey);

            if (!_dataExtensionClient.DoesDataExtensionExist(dataExtensionExternalKey))
            {
                var dataExtensionTemplateObjectId = _dataExtensionClient.RetrieveTriggeredSendDataExtensionTemplateObjectId();
                var dataExtensionFieldNames       = new HashSet <string> {
                    "Subject", "Body"
                };
                if (!isTemplated)
                {
                    dataExtensionFieldNames.Add("Head");
                }

                _dataExtensionClient.CreateDataExtension(dataExtensionTemplateObjectId,
                                                         dataExtensionExternalKey,
                                                         "triggeredsend-" + externalKey,
                                                         dataExtensionFieldNames);
            }


            int emailId;
            var emailName        = "email-" + externalKey;
            var emailExternalKey = ExternalKeyGenerator.GenerateExternalKey("email-" + externalKey);

            if (isTemplated)
            {
                var emailTempalteExternalKey = ExternalKeyGenerator.GenerateExternalKey("email-template" + externalKey);
                var emailTemplateId          = _emailTemplateClient.RetrieveEmailTemplateId(emailTempalteExternalKey);
                if (emailTemplateId == 0)
                {
                    emailTemplateId = _emailTemplateClient.CreateEmailTemplate(emailTempalteExternalKey,
                                                                               "template-" + externalKey,
                                                                               layoutHtml);
                }

                emailId = _emailRequestClient.CreateEmailFromTemplate(emailTemplateId,
                                                                      emailName,
                                                                      "%%Subject%%",
                                                                      new KeyValuePair <string, string>("dynamicArea", "%%Body%%"));
            }
            else
            {
                emailId = _emailRequestClient.CreateEmail(emailExternalKey, emailName, "%%Subject%%",
                                                          "<html>" +
                                                          "<head>%%Head%%</head>" +
                                                          "%%Body%%" +
                                                          EmailContentHelper.GetOpenTrackingTag() +
                                                          EmailContentHelper.GetCompanyPhysicalMailingAddressTags() +
                                                          "</html>");
            }


            var deliveryProfileExternalKey = ExternalKeyGenerator.GenerateExternalKey("blank-delivery-profile");

            _deliveryProfileClient.TryCreateBlankDeliveryProfile(deliveryProfileExternalKey);

            return(_triggeredSendDefinitionClient.CreateTriggeredSendDefinition(externalKey,
                                                                                emailId,
                                                                                dataExtensionExternalKey,
                                                                                deliveryProfileExternalKey,
                                                                                externalKey,
                                                                                externalKey));
        }
Exemple #15
0
        /// <summary>
        /// 提交数据
        /// </summary>
        protected override void PostBack()
        {
            string userName      = StringHelper.SearchSafe(StringHelper.AddSafe(RequestHelper.GetForm <string>("UserName")));
            string email         = StringHelper.SearchSafe(StringHelper.AddSafe(RequestHelper.GetForm <string>("Email")));
            string userPassword1 = RequestHelper.GetForm <string>("UserPassword1");
            string userPassword2 = RequestHelper.GetForm <string>("UserPassword2");
            string safeCode      = RequestHelper.GetForm <string>("SafeCode");

            //检查用户名
            if (userName == string.Empty)
            {
                errorMessage = "用户名不能为空";
            }
            if (errorMessage == string.Empty)
            {
                string forbiddinName = ShopConfig.ReadConfigInfo().ForbiddenName;
                if (forbiddinName != string.Empty)
                {
                    foreach (string TempName in forbiddinName.Split('|'))
                    {
                        if (userName.IndexOf(TempName.Trim()) != -1)
                        {
                            errorMessage = "用户名含有非法字符";
                            break;
                        }
                    }
                }
            }
            if (errorMessage == string.Empty)
            {
                if (!UserBLL.UniqueUser(userName))
                {
                    errorMessage = "用户名已经被占用";
                }
            }
            if (errorMessage == string.Empty)
            {
                Regex rg = new Regex("^([a-zA-Z0-9_\u4E00-\u9FA5])+$");
                if (!rg.IsMatch(userName))
                {
                    errorMessage = "用户名只能包含字母、数字、下划线、中文";
                }
            }
            //检查密码
            if (errorMessage == string.Empty)
            {
                if (userPassword1 == string.Empty || userPassword2 == string.Empty)
                {
                    errorMessage = "密码不能为空";
                }
            }
            if (errorMessage == string.Empty)
            {
                if (userPassword1 != userPassword2)
                {
                    errorMessage = "两次密码不一致";
                }
            }
            //检查验证码
            if (errorMessage == string.Empty)
            {
                if (safeCode.ToLower() != Cookies.Common.CheckCode.ToLower())
                {
                    errorMessage = "验证码错误";
                }
            }
            //注册用户
            if (errorMessage == string.Empty)
            {
                UserInfo user = new UserInfo();
                user.UserName      = userName;
                user.UserPassword  = StringHelper.Password(userPassword1, (PasswordType)ShopConfig.ReadConfigInfo().PasswordType);
                user.Email         = email;
                user.RegisterIP    = ClientHelper.IP;
                user.RegisterDate  = RequestHelper.DateNow;
                user.LastLoginIP   = ClientHelper.IP;
                user.LastLoginDate = RequestHelper.DateNow;
                user.FindDate      = RequestHelper.DateNow;
                if (ShopConfig.ReadConfigInfo().RegisterCheck == 1)
                {
                    user.Status = (int)UserStatus.Normal;
                }
                else
                {
                    user.Status = (int)UserStatus.NoCheck;
                }
                int userID = UserBLL.Add(user);
                if (ShopConfig.ReadConfigInfo().RegisterCheck == 1)
                {
                    //无须验证,直接登录
                    HttpCookie cookie = new HttpCookie(ShopConfig.ReadConfigInfo().UserCookies);
                    cookie["User"]     = StringHelper.Encode(userName, ShopConfig.ReadConfigInfo().SecureKey);
                    cookie["Password"] = StringHelper.Encode(userPassword1, ShopConfig.ReadConfigInfo().SecureKey);
                    cookie["Key"]      = StringHelper.Encode(ClientHelper.Agent, ShopConfig.ReadConfigInfo().SecureKey);
                    HttpContext.Current.Response.Cookies.Add(cookie);

                    user = UserBLL.Read(userID);
                    UserBLL.UserLoginInit(user);
                    ResponseHelper.Redirect("/Mobile/Index.html");
                }
                else if (ShopConfig.ReadConfigInfo().RegisterCheck == 2)
                {
                    //邮件验证
                    string              url             = "http://" + Request.ServerVariables["HTTP_HOST"] + "/User/ActiveUser.html?CheckCode=" + StringHelper.Encode(userID + "|" + email + "|" + userName, ShopConfig.ReadConfigInfo().SecureKey);
                    EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent("Register");
                    EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                    emailSendRecord.Title     = emailContent.EmailTitle;
                    emailSendRecord.Content   = emailContent.EmailContent.Replace("$UserName$", user.UserName).Replace("$Url$", url);
                    emailSendRecord.IsSystem  = (int)BoolType.True;
                    emailSendRecord.EmailList = email;
                    emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                    emailSendRecord.SendStatus             = (int)SendStatus.No;
                    emailSendRecord.AddDate  = RequestHelper.DateNow;
                    emailSendRecord.SendDate = RequestHelper.DateNow;
                    emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                    EmailSendRecordBLL.SendEmail(emailSendRecord);
                    result = "恭喜您,注册成功,请登录邮箱激活!<a href=\"http://mail." + email.Substring(email.IndexOf("@") + 1) + "\"  target=\"_blank\">马上激活</a>";
                }
                else
                {
                    //人工审核
                    result = "恭喜您,注册成功,请等待我们的审核!";
                }
                ResponseHelper.Redirect("/Mobile/Register.html?Result=" + Server.UrlEncode(result));
            }
            else
            {
                ResponseHelper.Redirect("/Mobile/Register.html?ErrorMessage=" + Server.UrlEncode(errorMessage));
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Log.Info(this.GetType().ToString(), "page load");

            if (Page.IsPostBack)
            {
                return;
            }

            /*******************请求参数验证 start*****************************************************************/
            int orderRefundId = RequestHelper.GetQueryString <int>("order_refund_id");
            var orderRefund   = OrderRefundBLL.Read(orderRefundId);

            if (orderRefund.Id < 1)
            {
                Response.Write("<p style=\"margin-left:130px\">无效的退款服务工单</p>");
                Response.End();
            }

            decimal refundMoney = orderRefund.RefundMoney;

            if (refundMoney <= 0)
            {
                Response.Write("<p style=\"margin-left:130px\">无效的退款金额,退款金额必须大于0</p>");
                Response.End();
            }

            if (orderRefund.Status == (int)OrderRefundStatus.HasReturn)
            {
                Response.Write("<p style=\"margin-left:130px\">无效的退款请求,该服务工单已处理退款</p>");
                Response.End();
            }
            if (orderRefund.Status != (int)OrderRefundStatus.Returning)
            {
                Response.Write("<p style=\"margin-left:130px\">无效的退款请求,请等待管理员审核</p>");
                Response.End();
            }

            var order = OrderBLL.Read(orderRefund.OrderId);

            if (order.Id < 1)
            {
                Response.Write("<p style=\"margin-left:130px\">无效的订单</p>");
                Response.End();
            }

            string tradeNo = order.WxPayTradeNo;

            if (string.IsNullOrEmpty(tradeNo))
            {
                Response.Write("<p style=\"margin-left:130px\">无效的微信支付交易号</p>");
                Response.End();
            }

            decimal totalMoney = order.ProductMoney - order.FavorableMoney + order.ShippingMoney + order.OtherMoney - order.Balance - order.CouponMoney - order.PointMoney;

            if (refundMoney > totalMoney)
            {
                Response.Write("<p style=\"margin-left:130px\">退款金额不能超过订单金额</p>");
                Response.End();
            }

            //商户退款单号
            //商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔
            string batch_no = orderRefund.BatchNo;

            if (string.IsNullOrEmpty(batch_no))
            {
                batch_no = DateTime.Now.ToString("yyyyMMddhhmmssfff");

                //记录退款批次号存入订单退款表
                OrderRefundBLL.UpdateBatchNo(orderRefundId, batch_no);
            }

            /*******************请求参数验证 end*****************************************************************/


            //订单总金额
            string total_fee = Convert.ToInt32(totalMoney * 100).ToString();
            //退款金额
            string refund_fee = Convert.ToInt32(refundMoney * 100).ToString();

            //申请退款

            /***
             * 申请退款完整业务流程逻辑
             * @param transaction_id 微信订单号(优先使用)
             * @param out_trade_no 商户订单号
             * @param out_refund_no 商户退款单号
             * @param total_fee 订单总金额
             * @param refund_fee 退款金额
             * @return 退款结果(xml格式)
             */
            string result = "";

            try
            {
                result = RefundBusiness.Run(tradeNo, "", batch_no, total_fee, refund_fee);

                //退款成功
                bool   isSuccess = true;
                string msg       = "";
                //退款到余额
                if (orderRefund.RefundBalance > 0)
                {
                    //在这里写自己的逻辑
                }

                if (isSuccess)
                {
                    orderRefund.Remark = "退款完成";
                    #region 发送订单退款成功通知
                    int       isSendNotice  = ShopConfig.ReadConfigInfo().RefundOrder;
                    int       isSendEmail   = ShopConfig.ReadConfigInfo().RefundOrderEmail;
                    int       isSendMessage = ShopConfig.ReadConfigInfo().RefundOrderMsg;
                    string    key           = "RefundOrder";
                    OrderInfo order         = OrderBLL.Read(orderRefund.OrderId);
                    if (isSendNotice == (int)BoolType.True && key != string.Empty)
                    {
                        if (isSendEmail == (int)BoolType.True)
                        {//发邮件
                            try
                            {
                                EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent(key);
                                EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                                emailSendRecord.Title     = emailContent.EmailTitle;
                                emailSendRecord.Content   = emailContent.EmailContent.Replace("$UserName$", order.UserName).Replace("$OrderNumber$", order.OrderNumber).Replace("$PayName$", order.PayName).Replace("$ShippingName$", ShippingBLL.Read(order.ShippingId).Name).Replace("$ShippingNumber$", order.ShippingNumber).Replace("$ShippingDate$", order.ShippingDate.ToString("yyyy-MM-dd"));
                                emailSendRecord.IsSystem  = (int)BoolType.True;
                                emailSendRecord.EmailList = order.Email;
                                emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                                emailSendRecord.SendStatus             = (int)SendStatus.No;
                                emailSendRecord.AddDate  = RequestHelper.DateNow;
                                emailSendRecord.SendDate = RequestHelper.DateNow;
                                emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                                EmailSendRecordBLL.SendEmail(emailSendRecord);
                                //result = "通知邮件已发送。";
                            }
                            catch
                            {
                                //result = "未发送通知邮件。";
                            }
                        }
                        if (isSendMessage == (int)BoolType.True)
                        {//发短信
                         //result += "未发送通知短信。";
                        }
                    }
                    #endregion
                }
                else
                {
                    orderRefund.Remark = orderRefund.RefundPayKey + " 已退款完成,余额退款失败,失败信息:" + msg + ",请线下处理。";
                }

                orderRefund.Status   = (int)OrderRefundStatus.HasReturn;
                orderRefund.TmRefund = DateTime.Now;
                OrderRefundBLL.Update(orderRefund);

                OrderRefundActionBLL.Add(new OrderRefundActionInfo
                {
                    OrderRefundId = orderRefund.Id,
                    Status        = isSuccess ? 1 : 0,
                    Tm            = DateTime.Now,
                    UserType      = 2,
                    UserId        = 0,
                    UserName      = "******",
                    Remark        = orderRefund.Remark
                });

                Response.Redirect("/Admin/OrderRefundAdd.aspx?Id=" + orderRefundId);
            }
            catch
            {
                Response.Write("<p style=\"margin-left:130px\">退款遇到问题</p>");
            }

            //Response.Write(result);
        }
Exemple #17
0
        /// <summary>
        /// 提交数据
        /// </summary>
        protected void Post()
        {
            string   userName   = StringHelper.SearchSafe(Server.UrlDecode(RequestHelper.GetForm <string>("UserName")));
            string   email      = StringHelper.SearchSafe(HttpUtility.HtmlDecode(RequestHelper.GetForm <string>("Email")));
            string   safeCode   = StringHelper.AddSafe(HttpUtility.HtmlDecode(RequestHelper.GetForm <string>("SafeCode")));
            int      checkType  = RequestHelper.GetForm <int>("checkType");
            string   mobile     = StringHelper.AddSafe(HttpUtility.HtmlDecode(RequestHelper.GetForm <string>("Mobile")));
            string   mobileCode = StringHelper.AddSafe(HttpUtility.HtmlDecode(RequestHelper.GetForm <string>("phoneVer")));
            UserInfo user       = new UserInfo();

            //检查用户名
            if (userName == string.Empty)
            {
                errorMessage = "账户名不能为空";
            }
            if (errorMessage == string.Empty)
            {
                user = UserBLL.Read(userName);
                if (user.Id <= 0)
                {
                    errorMessage = "账户不存在";
                }
            }
            //检查验证码
            if (errorMessage == string.Empty)
            {
                if (safeCode.ToLower() != Cookies.Common.CheckCode.ToLower())
                {
                    errorMessage = "验证码错误";
                }
            }
            switch (checkType)
            {
            case 1:    //邮箱验证
                //检查Email
                if (errorMessage == string.Empty)
                {
                    if (email == string.Empty)
                    {
                        errorMessage = "Email不能为空";
                    }
                }
                if (errorMessage == string.Empty)
                {
                    if (UserBLL.CheckEmail(email))
                    {
                        errorMessage = "不存在该Email";
                    }
                }
                //检查用户和Email是否匹配
                if (errorMessage == string.Empty)
                {
                    if (user.Email != email)
                    {
                        errorMessage = "账户名和Email不匹配";
                    }
                }
                //记录找回密码信息
                if (errorMessage == string.Empty)
                {
                    string tempSafeCode = Guid.NewGuid().ToString();
                    UserBLL.ChangeUserSafeCode(user.Id, tempSafeCode, RequestHelper.DateNow);
                    string              url             = "http://" + Request.ServerVariables["HTTP_HOST"] + "/mobile/User/ResetPassword.html?CheckCode=" + StringHelper.Encode(user.Id + "|" + email + "|" + userName + "|" + user.Mobile + "|" + tempSafeCode, ShopConfig.ReadConfigInfo().SecureKey);
                    EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent("FindPassword");
                    EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                    emailSendRecord.Title     = emailContent.EmailTitle;
                    emailSendRecord.Content   = emailContent.EmailContent.Replace("$Url$", url);
                    emailSendRecord.IsSystem  = (int)BoolType.True;
                    emailSendRecord.EmailList = email;
                    emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                    emailSendRecord.SendStatus             = (int)SendStatus.No;
                    emailSendRecord.AddDate  = RequestHelper.DateNow;
                    emailSendRecord.SendDate = RequestHelper.DateNow;
                    emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                    EmailSendRecordBLL.SendEmail(emailSendRecord);
                    result = "您的申请已提交,请登录邮箱重设你的密码!<a href=\"http://mail." + email.Substring(email.IndexOf("@") + 1) + "\"  target=\"_blank\">马上登录</a>";
                    Response.Clear();
                    Response.Write("ok|/mobile/User/FindPassword.html?Result=" + Server.UrlEncode(result));
                    Response.End();
                    //ResponseHelper.Redirect("/User/FindPassword.aspx?Result=" + Server.UrlEncode(result));
                }
                else
                {
                    Response.Clear();
                    Response.Write("error|" + errorMessage);
                    Response.End();
                    //ResponseHelper.Redirect("/User/FindPassword.aspx?ErrorMessage=" + Server.UrlEncode(errorMessage));
                }
                break;

            case 0:    //手机验证
                //检查Mobile
                if (string.IsNullOrEmpty(errorMessage) && string.IsNullOrEmpty(mobile))
                {
                    errorMessage = "请填写手机号";
                }
                //检查手机号是否匹配
                if (string.IsNullOrEmpty(errorMessage) && !string.Equals(user.Mobile, mobile))
                {
                    errorMessage = "请填写正确有效的手机号";
                }
                //检查校验码
                if (string.IsNullOrEmpty(errorMessage) && string.IsNullOrEmpty(mobileCode))
                {
                    errorMessage = "请填写短信校验码";
                }
                //手机短信校验码
                if (CookiesHelper.ReadCookie("MobileCode" + StringHelper.AddSafe(mobile)) == null)
                {
                    errorMessage = "校验码失效,请重新获取";
                }
                else
                {
                    string cookieMobileCode = CookiesHelper.ReadCookie("MobileCode" + StringHelper.AddSafe(mobile)).Value.ToString();
                    if (cookieMobileCode.ToLower() != mobileCode.ToLower())
                    {
                        errorMessage = "校验码错误";
                    }
                    else
                    {
                        CookiesHelper.DeleteCookie("MobileCode" + StringHelper.AddSafe(mobile));
                    }
                }
                //找回密码
                if (errorMessage == string.Empty)
                {
                    string tempSafeCode = Guid.NewGuid().ToString();
                    UserBLL.ChangeUserSafeCode(user.Id, tempSafeCode, RequestHelper.DateNow);
                    string url = "http://" + Request.ServerVariables["HTTP_HOST"] + "/mobile/User/ResetPassword.html?CheckCode=" + StringHelper.Encode(user.Id + "|" + user.Email + "|" + userName + "|" + mobile + "|" + tempSafeCode, ShopConfig.ReadConfigInfo().SecureKey);

                    Response.Clear();
                    Response.Write("ok|" + url);
                    Response.End();
                    //ResponseHelper.Redirect("/User/FindPassword.aspx?Result=" + Server.UrlEncode(result));
                }
                else
                {
                    Response.Clear();
                    Response.Write("error|" + errorMessage);
                    Response.End();
                    //ResponseHelper.Redirect("/User/FindPassword.aspx?ErrorMessage=" + Server.UrlEncode(errorMessage));
                }
                break;
            }
        }
Exemple #18
0
        /// <summary>
        /// 提交数据
        /// </summary>
        protected void PostBack()
        {
            string userName      = StringHelper.SearchSafe(StringHelper.AddSafe(RequestHelper.GetForm <string>("UserName")));
            string email         = StringHelper.SearchSafe(StringHelper.AddSafe(RequestHelper.GetForm <string>("Email")));
            string userPassword1 = RequestHelper.GetForm <string>("UserPassword1");
            string userPassword2 = RequestHelper.GetForm <string>("UserPassword2");
            string Mobile        = StringHelper.SearchSafe(StringHelper.AddSafe(RequestHelper.GetForm <string>("Phone")));
            string commendUser   = StringHelper.SearchSafe(StringHelper.AddSafe(RequestHelper.GetForm <string>("CommendUser")));
            string phoneCode     = RequestHelper.GetForm <string>("phoneVer");
            string safeCode      = RequestHelper.GetForm <string>("SafeCode");

            //检查用户名
            if (userName == string.Empty)
            {
                errorMessage = "用户名不能为空";
            }
            if (errorMessage == string.Empty)
            {
                string forbiddinName = ShopConfig.ReadConfigInfo().ForbiddenName;
                if (forbiddinName != string.Empty)
                {
                    foreach (string TempName in forbiddinName.Split('|'))
                    {
                        if (userName.IndexOf(TempName.Trim()) != -1)
                        {
                            errorMessage = "用户名含有非法字符";
                            break;
                        }
                    }
                }
            }
            if (errorMessage == string.Empty)
            {
                if (!UserBLL.UniqueUser(userName))
                {
                    errorMessage = "用户名已经被注册";
                }
            }

            //if (errorMessage == string.Empty)
            //{
            //    Regex rg = new Regex("^([a-zA-Z0-9_\u4E00-\u9FA5])+$");
            //    if (!rg.IsMatch(userName))
            //    {
            //        errorMessage = "用户名只能包含字母、数字、下划线、中文";
            //    }
            //}
            //检查密码
            if (errorMessage == string.Empty)
            {
                if (userPassword1 == string.Empty || userPassword2 == string.Empty)
                {
                    errorMessage = "密码不能为空";
                }
            }
            if (errorMessage == string.Empty)
            {
                if (userPassword1 != userPassword2)
                {
                    errorMessage = "两次密码不一致";
                }
            }
            #region 检查手机 邮箱 验证码
            if (ShopConfig.ReadConfigInfo().RegisterCheck == 1)
            {    //短信验证
                if (errorMessage == string.Empty)
                {
                    if (!ShopCommon.CheckMobile(Mobile))
                    {
                        errorMessage = "手机号码错误";
                    }
                }
                if (errorMessage == string.Empty)
                {
                    if (!UserBLL.CheckMobile(Mobile, 0))
                    {
                        errorMessage = "手机号码已经被注册";
                    }
                }

                //手机短信验证码
                if (errorMessage == string.Empty)
                {
                    if (CookiesHelper.ReadCookie("MobileCode" + StringHelper.AddSafe(Mobile)) == null)
                    {
                        errorMessage = "校验码失效,请重新获取";
                    }
                    else
                    {
                        string mobileCode = CookiesHelper.ReadCookie("MobileCode" + StringHelper.AddSafe(Mobile)).Value.ToString();
                        if (phoneCode.ToLower() != mobileCode.ToLower())
                        {
                            errorMessage = "校验码错误";
                        }
                        else
                        {    //验证通过后即清除校验码Cookies
                            CookiesHelper.DeleteCookie("MobileCode" + StringHelper.AddSafe(Mobile));
                        }
                    }
                }
            }
            else
            {    //邮件认证
                if (errorMessage == string.Empty)
                {
                    if (!UserBLL.CheckEmail(email))
                    {
                        errorMessage = "Email已被注册";
                    }
                }
                if (errorMessage == string.Empty)
                {
                    //普通验证码
                    if (safeCode.ToLower() != Cookies.Common.CheckCode.ToLower())
                    {
                        errorMessage = "验证码错误";
                    }
                }
            }

            #endregion
            string[] urlArr = Request.RawUrl.Split('/');

            //注册用户
            if (errorMessage == string.Empty)
            {
                UserInfo user = new UserInfo();
                user.UserName      = userName;
                user.UserPassword  = StringHelper.Password(userPassword1, (PasswordType)ShopConfig.ReadConfigInfo().PasswordType);
                user.Email         = email;
                user.Mobile        = Mobile;
                user.RegisterIP    = ClientHelper.IP;
                user.RegisterDate  = RequestHelper.DateNow;
                user.LastLoginIP   = ClientHelper.IP;
                user.LastLoginDate = RequestHelper.DateNow;
                user.FindDate      = RequestHelper.DateNow;
                user.Sex           = (int)SexType.Secret;
                if (ShopConfig.ReadConfigInfo().RegisterCheck == 1)
                {//短信验证,用户状态为已验证,可直接登录
                    user.Status = (int)UserStatus.Normal;
                }
                else
                {//邮件验证,用户状态为未验证,需登录邮件手动激活后再登录
                    user.Status = (int)UserStatus.NoCheck;
                }
                #region 纪录推荐用户
                //if (commendUser != string.Empty)
                //{
                //    UserInfo comUser = UserBLL.ReadUserByUserName(commendUser);
                //    if (comUser.ID > 0)
                //    {
                //        user.CommendUserID = comUser.ID;
                //    }
                //}
                //user.HasRepayed = 0;
                #endregion
                int userID = UserBLL.Add(user);


                if (ShopConfig.ReadConfigInfo().RegisterCheck == 1)
                {
                    //短信验证,直接登录
                    HttpCookie cookie = new HttpCookie(ShopConfig.ReadConfigInfo().UserCookies);
                    cookie["User"]     = StringHelper.Encode(userName, ShopConfig.ReadConfigInfo().SecureKey);
                    cookie["Password"] = StringHelper.Encode(userPassword1, ShopConfig.ReadConfigInfo().SecureKey);
                    cookie["Key"]      = StringHelper.Encode(ClientHelper.Agent, ShopConfig.ReadConfigInfo().SecureKey);
                    HttpContext.Current.Response.Cookies.Add(cookie);

                    user = UserBLL.ReadUserMore(userID);
                    UserBLL.UserLoginInit(user);
                    //UserBLL.(user);
                    if (urlArr[urlArr.Length - 2].ToLower() == "mobile")
                    {
                        // ResponseHelper.Redirect("/Mobile/Index.aspx");
                        Response.Write("ok|/Mobile/Index.html");
                        Response.End();
                    }
                    else
                    {
                        //  ResponseHelper.Redirect("/User/Index.aspx");
                        Response.Write("ok|/User/Index.html");
                        Response.End();
                    }
                }
                else if (ShopConfig.ReadConfigInfo().RegisterCheck == 2)
                {
                    try
                    {
                        //邮件验证,发送验证邮件
                        string              url             = "http://" + Request.ServerVariables["HTTP_HOST"] + "/User/ActiveUser.aspx?CheckCode=" + StringHelper.Encode(userID + "|" + email + "|" + userName, ShopConfig.ReadConfigInfo().SecureKey);
                        EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent("Register");
                        EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                        emailSendRecord.Title     = emailContent.EmailTitle;
                        emailSendRecord.Content   = emailContent.EmailContent.Replace("$UserName$", user.UserName).Replace("$Url$", url);
                        emailSendRecord.IsSystem  = (int)BoolType.True;
                        emailSendRecord.EmailList = email;
                        emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                        emailSendRecord.SendStatus             = (int)SendStatus.No;
                        emailSendRecord.AddDate  = RequestHelper.DateNow;
                        emailSendRecord.SendDate = RequestHelper.DateNow;
                        emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                        EmailSendRecordBLL.SendEmail(emailSendRecord);
                        result = "恭喜您,注册成功,请登录邮箱激活!<a href=\"http://mail." + email.Substring(email.IndexOf("@") + 1) + "\"  target=\"_blank\">马上激活</a>";
                        Response.Write("ok|" + result);
                    }
                    catch (Exception ex)
                    {
                        Response.Write("error|激活邮件发送失败,请联系网站客服");
                    }
                    finally {
                        Response.End();
                    }
                }
                else
                {
                    //人工审核
                    result = "恭喜您,注册成功,请等待我们的审核!";
                    Response.Write("ok|" + result);
                    Response.End();
                }

                if (urlArr[urlArr.Length - 2].ToLower() == "mobile")
                {
                    ResponseHelper.Redirect("/Mobile/Register.aspx?Result=" + Server.UrlEncode(result));
                }
                else
                {
                    ResponseHelper.Redirect("/User/Register.aspx?Result=" + Server.UrlEncode(result));
                }
            }
            else
            {
                Response.Write("error|" + errorMessage);
                Response.End();
                //if (urlArr[urlArr.Length - 2].ToLower() == "mobile")
                //{
                //    ResponseHelper.Redirect("/Mobile/Register.aspx?ErrorMessage=" + Server.UrlEncode(errorMessage));
                //}
                //else
                //{
                //    ResponseHelper.Redirect("/User/Register.aspx?ErrorMessage=" + Server.UrlEncode(errorMessage));
                //}
            }
        }
Exemple #19
0
        protected override void PostBack()
        {
            string userName = StringHelper.SearchSafe(StringHelper.AddSafe(RequestHelper.GetForm <string>("UserName")));
            string str2     = StringHelper.SearchSafe(StringHelper.AddSafe(RequestHelper.GetForm <string>("Email")));
            string form     = RequestHelper.GetForm <string>("UserPassword1");
            string str4     = RequestHelper.GetForm <string>("UserPassword2");
            string str5     = RequestHelper.GetForm <string>("SafeCode");

            if (userName == string.Empty)
            {
                this.errorMessage = "用户名不能为空";
            }
            if (this.errorMessage == string.Empty)
            {
                string forbiddenName = ShopConfig.ReadConfigInfo().ForbiddenName;
                if (forbiddenName != string.Empty)
                {
                    foreach (string str7 in forbiddenName.Split(new char[] { '|' }))
                    {
                        if (userName.IndexOf(str7.Trim()) != -1)
                        {
                            this.errorMessage = "用户名含有非法字符";
                            break;
                        }
                    }
                }
            }
            if ((this.errorMessage == string.Empty) && (UserBLL.CheckUserName(userName) > 0))
            {
                this.errorMessage = "用户名已经被占用";
            }
            if (this.errorMessage == string.Empty)
            {
                Regex regex = new Regex("^([a-zA-Z0-9_一-龥])+$");
                if (!regex.IsMatch(userName))
                {
                    this.errorMessage = "用户名只能包含字母、数字、下划线、中文";
                }
            }
            if ((this.errorMessage == string.Empty) && ((form == string.Empty) || (str4 == string.Empty)))
            {
                this.errorMessage = "密码不能为空";
            }
            if ((this.errorMessage == string.Empty) && (form != str4))
            {
                this.errorMessage = "两次密码不一致";
            }
            if ((this.errorMessage == string.Empty) && (str5.ToLower() != Cookies.Common.checkcode.ToLower()))
            {
                this.errorMessage = "验证码错误";
            }
            if (this.errorMessage == string.Empty)
            {
                UserInfo user = new UserInfo();
                user.UserName      = userName;
                user.UserPassword  = StringHelper.Password(form, (PasswordType)ShopConfig.ReadConfigInfo().PasswordType);
                user.Email         = str2;
                user.RegisterIP    = ClientHelper.IP;
                user.RegisterDate  = RequestHelper.DateNow;
                user.PostStartDate = RequestHelper.DateNow;
                user.LastLoginIP   = ClientHelper.IP;
                user.LastLoginDate = RequestHelper.DateNow;
                user.FindDate      = RequestHelper.DateNow;
                if (ShopConfig.ReadConfigInfo().RegisterCheck == 1)
                {
                    user.Status = 2;
                }
                else
                {
                    user.Status = 1;
                }
                int id = UserBLL.AddUser(user);
                if (ShopConfig.ReadConfigInfo().RegisterCheck == 1)
                {
                    HttpCookie cookie = new HttpCookie(ShopConfig.ReadConfigInfo().UserCookies);
                    cookie["User"]     = StringHelper.Encode(userName, ShopConfig.ReadConfigInfo().SecureKey);
                    cookie["Password"] = StringHelper.Encode(form, ShopConfig.ReadConfigInfo().SecureKey);
                    cookie["Key"]      = StringHelper.Encode(ClientHelper.Agent, ShopConfig.ReadConfigInfo().SecureKey);
                    HttpContext.Current.Response.Cookies.Add(cookie);
                    user = UserBLL.ReadUserMore(id);
                    UserBLL.UserLoginInit(user);
                    UserBLL.UpdateUserLogin(user.ID, RequestHelper.DateNow, ClientHelper.IP);
                    ResponseHelper.Redirect("/User/Index.aspx");
                }
                else if (ShopConfig.ReadConfigInfo().RegisterCheck == 2)
                {
                    string              newValue        = "http://" + base.Request.ServerVariables["HTTP_HOST"] + "/User/ActiveUser.aspx?CheckCode=" + StringHelper.Encode(string.Concat(new object[] { id, "|", str2, "|", userName }), ShopConfig.ReadConfigInfo().SecureKey);
                    EmailContentInfo    info2           = EmailContentHelper.ReadSystemEmailContent("Register");
                    EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                    emailSendRecord.Title     = info2.EmailTitle;
                    emailSendRecord.Content   = info2.EmailContent.Replace("$UserName$", user.UserName).Replace("$Url$", newValue);
                    emailSendRecord.IsSystem  = 1;
                    emailSendRecord.EmailList = str2;
                    emailSendRecord.IsStatisticsOpendEmail = 0;
                    emailSendRecord.SendStatus             = 1;
                    emailSendRecord.AddDate  = RequestHelper.DateNow;
                    emailSendRecord.SendDate = RequestHelper.DateNow;
                    emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                    EmailSendRecordBLL.SendEmail(emailSendRecord);
                    this.result = "恭喜您,注册成功,请登录邮箱激活!<a href=\"http://mail." + str2.Substring(str2.IndexOf("@") + 1) + "\"  target=\"_blank\">马上激活</a>";
                }
                else
                {
                    this.result = "恭喜您,注册成功,请等待我们的审核!";
                }
                ResponseHelper.Redirect("/User/Register.aspx?Result=" + base.Server.UrlEncode(this.result));
            }
            else
            {
                ResponseHelper.Redirect("/User/Register.aspx?ErrorMessage=" + base.Server.UrlEncode(this.errorMessage));
            }
        }
Exemple #20
0
        /// <summary>
        /// 提交数据
        /// </summary>
        protected override void PostBack()
        {
            string userName = StringHelper.SearchSafe(RequestHelper.GetForm <string>("UserName"));
            string email    = StringHelper.SearchSafe(RequestHelper.GetForm <string>("Email"));
            string safeCode = RequestHelper.GetForm <string>("SafeCode");
            int    userID   = 0;

            //检查用户名
            if (userName == string.Empty)
            {
                errorMessage = "用户名不能为空";
            }
            if (errorMessage == string.Empty)
            {
                userID = UserBLL.Read(userName).Id;
                if (userID == 0)
                {
                    errorMessage = "不存在该用户名";
                }
            }
            //检查Email
            if (errorMessage == string.Empty)
            {
                if (email == string.Empty)
                {
                    errorMessage = "Email不能为空";
                }
            }
            if (errorMessage == string.Empty)
            {
                if (UserBLL.CheckEmail(email))
                {
                    errorMessage = "不存在该Email";
                }
            }
            //检查验证码
            if (errorMessage == string.Empty)
            {
                if (safeCode.ToLower() != Cookies.Common.CheckCode.ToLower())
                {
                    errorMessage = "验证码错误";
                }
            }
            //检查用户和Email是否匹配
            if (errorMessage == string.Empty)
            {
                UserInfo user = UserBLL.Read(userID);
                if (user.Email != email)
                {
                    errorMessage = "用户名和Email不匹配";
                }
            }
            //记录找回密码信息
            if (errorMessage == string.Empty)
            {
                string tempSafeCode = Guid.NewGuid().ToString();
                UserBLL.ChangeUserSafeCode(userID, tempSafeCode, RequestHelper.DateNow);
                string              url             = "http://" + Request.ServerVariables["HTTP_HOST"] + "/User/ResetPassword.aspx?CheckCode=" + StringHelper.Encode(userID + "|" + email + "|" + userName + "|" + tempSafeCode, ShopConfig.ReadConfigInfo().SecureKey);
                EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent("FindPassword");
                EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                emailSendRecord.Title     = emailContent.EmailTitle;
                emailSendRecord.Content   = emailContent.EmailContent.Replace("$Url$", url);
                emailSendRecord.IsSystem  = (int)BoolType.True;
                emailSendRecord.EmailList = email;
                emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                emailSendRecord.SendStatus             = (int)SendStatus.No;
                emailSendRecord.AddDate  = RequestHelper.DateNow;
                emailSendRecord.SendDate = RequestHelper.DateNow;
                emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                EmailSendRecordBLL.SendEmail(emailSendRecord);
                result = "您的申请已提交,请登录邮箱重设你的密码!<a href=\"http://mail." + email.Substring(email.IndexOf("@") + 1) + "\"  target=\"_blank\">马上登录</a>";
                ResponseHelper.Redirect("/User/FindPassword.aspx?Result=" + Server.UrlEncode(result));
            }
            else
            {
                ResponseHelper.Redirect("/User/FindPassword.aspx?ErrorMessage=" + Server.UrlEncode(errorMessage));
            }
        }
        /// <summary>
        /// 订单操作时候,发送通知(Email,Message)的操作
        /// </summary>
        protected string OrderOperateSendEmail(OrderInfo order, OrderOperate orderOperate)
        {
            string result        = string.Empty;
            string key           = string.Empty;
            int    isSendNotice  = (int)BoolType.False;
            int    isSendEmail   = (int)BoolType.False;
            int    isSendMessage = (int)BoolType.False;

            switch (orderOperate)
            {
            case OrderOperate.Pay:
                isSendNotice  = ShopConfig.ReadConfigInfo().PayOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().PayOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().PayOrderMsg;
                key           = "PayOrder";
                break;

            case OrderOperate.Cancle:
                isSendNotice  = ShopConfig.ReadConfigInfo().CancleOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().CancleOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().CancleOrderMsg;
                key           = "CancleOrder";
                break;

            case OrderOperate.Check:
                isSendNotice  = ShopConfig.ReadConfigInfo().CheckOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().CheckOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().CheckOrderMsg;
                key           = "CheckOrder";
                break;

            case OrderOperate.Send:
                isSendNotice  = ShopConfig.ReadConfigInfo().SendOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().SendOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().SendOrderMsg;
                key           = "SendOrder";
                break;

            case OrderOperate.Received:
                isSendNotice  = ShopConfig.ReadConfigInfo().ReceivedOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().ReceivedOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().ReceivedOrderMsg;
                key           = "ReceivedOrder";
                break;

            case OrderOperate.Change:
                isSendNotice  = ShopConfig.ReadConfigInfo().ChangeOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().ChangeOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().ChangeOrderMsg;
                key           = "ChangeOrder";
                break;

            case OrderOperate.Return:
                isSendNotice  = ShopConfig.ReadConfigInfo().ReturnOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().ReturnOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().ReturnOrderMsg;
                key           = "ReturnOrder";
                break;

            case OrderOperate.Back:
                isSendNotice  = ShopConfig.ReadConfigInfo().BackOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().BackOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().BackOrderMsg;
                key           = "BackOrder";
                break;

            case OrderOperate.Refund:
                isSendNotice  = ShopConfig.ReadConfigInfo().RefundOrder;
                isSendEmail   = ShopConfig.ReadConfigInfo().RefundOrderEmail;
                isSendMessage = ShopConfig.ReadConfigInfo().RefundOrderMsg;
                key           = "RefundOrder";
                break;

            default:
                break;
            }
            if (isSendNotice == (int)BoolType.True && key != string.Empty)
            {
                if (isSendEmail == (int)BoolType.True)
                {//发邮件
                    try
                    {
                        EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent(key);
                        EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                        emailSendRecord.Title     = emailContent.EmailTitle;
                        emailSendRecord.Content   = emailContent.EmailContent.Replace("$UserName$", order.UserName).Replace("$OrderNumber$", order.OrderNumber).Replace("$PayName$", order.PayName).Replace("$ShippingName$", ShippingBLL.Read(order.ShippingId).Name).Replace("$ShippingNumber$", order.ShippingNumber).Replace("$ShippingDate$", order.ShippingDate.ToString("yyyy-MM-dd"));
                        emailSendRecord.IsSystem  = (int)BoolType.True;
                        emailSendRecord.EmailList = order.Email;
                        emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                        emailSendRecord.SendStatus             = (int)SendStatus.No;
                        emailSendRecord.AddDate  = RequestHelper.DateNow;
                        emailSendRecord.SendDate = RequestHelper.DateNow;
                        emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                        EmailSendRecordBLL.SendEmail(emailSendRecord);
                        result = "通知邮件已发送。";
                    }
                    catch {
                        result = "未发送通知邮件。";
                    }
                }
                if (isSendMessage == (int)BoolType.True)
                {//发短信
                    result += "未发送通知短信。";
                }
            }
            return(result);
        }
Exemple #22
0
        /// <summary>
        /// 退款到账户余额及各支付渠道
        /// </summary>
        /// <param name="orderRefund"></param>
        public static void RefundToAnyPay(OrderRefundInfo orderRefund)
        {
            if (orderRefund.Status != (int)OrderRefundStatus.Returning)
            {
                return;
            }

            if (RefundOnline)
            {
                if (PayPlugins.ReadPayPlugins(orderRefund.RefundPayKey).IsOnline == 1 && (OrderBLL.Read(orderRefund.OrderId).AliPayTradeNo.Trim() != string.Empty || OrderBLL.Read(orderRefund.OrderId).WxPayTradeNo.Trim() != string.Empty))//只有在线付款才走线上流程,并且存在支付交易号(支付宝微信任意一个)
                {
                    //退款到各支付渠道
                    //如需退余额,将在第三方支付退款成功后操作
                    //这样做的好处在于保障了余额能够被准确退还。不会出现退了余额,但支付宝或微信因为人为或意外的原因没退成功的情况。
                    if (orderRefund.RefundMoney > 0)
                    {
                        //HttpContext.Current.Response.Redirect(string.Format("/Plugins/Pay/{0}/Refund.aspx?order_refund_id={1}", orderRefund.RefundPayKey, orderRefund.Id));
                        HttpContext.Current.Response.Redirect(string.Format("/Plugins/Pay/{0}/Refund.aspx?order_refund_id={1}&returnurl={2}", orderRefund.RefundPayKey, orderRefund.Id, RefundRedirectUrl));
                    }
                    else
                    {
                        //只需退款到余额
                        //在这里写自己的逻辑
                        if (orderRefund.RefundBalance > 0)
                        {
                            //HttpContext.Current.Response.Redirect(string.Format("/Admin/OrderRefundToBalance.aspx?order_refund_id={0}", orderRefund.Id));
                            HttpContext.Current.Response.Redirect(string.Format("/Admin/OrderRefundToBalance.aspx?order_refund_id={0}&returnurl={1}", orderRefund.Id, RefundRedirectUrl));
                        }
                    }
                }
                else//线下退款则直接更改状态,所以线下退款只能管理员自己审核。
                {
                    orderRefund.Remark   = "退款完成";
                    orderRefund.Status   = (int)OrderRefundStatus.HasReturn;
                    orderRefund.TmRefund = DateTime.Now;
                    OrderRefundBLL.Update(orderRefund);

                    OrderRefundActionBLL.Add(new OrderRefundActionInfo
                    {
                        OrderRefundId = orderRefund.Id,
                        Status        = 1,
                        Tm            = DateTime.Now,
                        UserType      = 2,
                        UserId        = Cookies.Admin.GetAdminID(false),
                        UserName      = Cookies.Admin.GetAdminName(false),
                        Remark        = orderRefund.Remark
                    });
                    #region 发送订单退款成功通知
                    int       isSendNotice  = ShopConfig.ReadConfigInfo().RefundOrder;
                    int       isSendEmail   = ShopConfig.ReadConfigInfo().RefundOrderEmail;
                    int       isSendMessage = ShopConfig.ReadConfigInfo().RefundOrderMsg;
                    string    key           = "RefundOrder";
                    OrderInfo order         = OrderBLL.Read(orderRefund.OrderId);
                    if (isSendNotice == (int)BoolType.True && key != string.Empty)
                    {
                        if (isSendEmail == (int)BoolType.True)
                        {//发邮件
                            try
                            {
                                EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent(key);
                                EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                                emailSendRecord.Title     = emailContent.EmailTitle;
                                emailSendRecord.Content   = emailContent.EmailContent.Replace("$UserName$", order.UserName).Replace("$OrderNumber$", order.OrderNumber).Replace("$PayName$", order.PayName).Replace("$ShippingName$", ShippingBLL.Read(order.ShippingId).Name).Replace("$ShippingNumber$", order.ShippingNumber).Replace("$ShippingDate$", order.ShippingDate.ToString("yyyy-MM-dd"));
                                emailSendRecord.IsSystem  = (int)BoolType.True;
                                emailSendRecord.EmailList = order.Email;
                                emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                                emailSendRecord.SendStatus             = (int)SendStatus.No;
                                emailSendRecord.AddDate  = RequestHelper.DateNow;
                                emailSendRecord.SendDate = RequestHelper.DateNow;
                                emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                                EmailSendRecordBLL.SendEmail(emailSendRecord);
                                //result = "通知邮件已发送。";
                            }
                            catch
                            {
                                //result = "未发送通知邮件。";
                            }
                        }
                        if (isSendMessage == (int)BoolType.True)
                        {//发短信
                         //result += "未发送通知短信。";
                        }
                    }
                    #endregion
                    if (string.IsNullOrEmpty(RefundRedirectUrl))
                    {
                        HttpContext.Current.Response.Redirect(string.Format("/Admin/OrderRefundAdd.aspx?id={0}", orderRefund.Id));
                    }
                    else
                    {
                        HttpContext.Current.Response.Redirect(RefundRedirectUrl);
                    }
                }
            }
            else
            {
                //处理订单、商品的退款状态,线下退款
                //在这里写自己的逻辑
                HttpContext.Current.Response.Redirect(string.Format("/Admin/OrderRefundToBalance.aspx?order_refund_id={0}&returnurl={1}", orderRefund.Id, RefundRedirectUrl));
            }
        }
        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            string loginName  = StringHelper.SearchSafe(AdminName.Text);
            string loginEmial = StringHelper.SearchSafe(Email.Text);
            var    admin      = AdminBLL.Read(loginName);

            //如果账号不存在
            if (admin.Id <= 0)
            {
                ScriptHelper.AlertFront("账号不存在");
            }
            //如果账号不存在
            if (!string.Equals(admin.Email, loginEmial, StringComparison.OrdinalIgnoreCase))
            {
                ScriptHelper.AlertFront("账号、邮箱不匹配");
            }

            if (admin.Id > 0 && string.Equals(admin.Email, loginEmial, StringComparison.OrdinalIgnoreCase))
            {
                #region 滑块验证码
                GeetestLib geetest = new GeetestLib("b46d1900d0a894591916ea94ea91bd2c", "36fc3fe98530eea08dfc6ce76e3d24c4");
                Byte       gt_server_status_code = (Byte)Session[GeetestLib.gtServerStatusSessionKey];
                String     userID    = (String)Session["userID"];
                int        result    = 0;
                String     challenge = Request.Form.Get(GeetestLib.fnGeetestChallenge);
                String     validate  = Request.Form.Get(GeetestLib.fnGeetestValidate);
                String     seccode   = Request.Form.Get(GeetestLib.fnGeetestSeccode);
                try
                {
                    if (gt_server_status_code != null && gt_server_status_code == 1)
                    {
                        result = geetest.enhencedValidateRequest(challenge, validate, seccode, userID);
                    }
                    else
                    {
                        result = geetest.failbackValidateRequest(challenge, validate, seccode);
                    }
                }
                catch (Exception ex)
                {
                    result = -1;//极验验证码出错,不进行验证
                }
                if (result == 1 || result == -1)
                {// 验证通过,发送邮件
                    string tempSafeCode = Guid.NewGuid().ToString();
                    AdminBLL.ChangeAdminSafeCode(admin.Id, tempSafeCode, RequestHelper.DateNow);
                    string              url             = "http://" + Request.ServerVariables["HTTP_HOST"] + "/Admin/ResetPassword.aspx?CheckCode=" + StringHelper.Encode(admin.Id + "|" + admin.Email + "|" + admin.Name + "|" + tempSafeCode, ShopConfig.ReadConfigInfo().SecureKey);
                    EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent("FindPassword");
                    EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                    emailSendRecord.Title     = emailContent.EmailTitle;
                    emailSendRecord.Content   = emailContent.EmailContent.Replace("$Url$", url);
                    emailSendRecord.IsSystem  = (int)BoolType.True;
                    emailSendRecord.EmailList = admin.Email;
                    emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                    emailSendRecord.SendStatus             = (int)SendStatus.No;
                    emailSendRecord.AddDate  = RequestHelper.DateNow;
                    emailSendRecord.SendDate = RequestHelper.DateNow;
                    emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                    EmailSendRecordBLL.SendEmail(emailSendRecord);
                    string emailResult = "您的申请已提交,请在15分钟内登录邮箱重设你的密码,!<a href=\"http://mail." + admin.Email.Substring(admin.Email.IndexOf("@") + 1) + "\"  target=\"_blank\">马上登录</a>";
                    ResponseHelper.Redirect("/admin/FindPassword.aspx?emailResult=" + Server.UrlEncode(emailResult));
                }
                else
                {
                    //验证失败
                    ScriptHelper.AlertFront("图片验证失败,请拖动图片滑块重新验证。");
                }
                #endregion
            }
        }
Exemple #24
0
        /// <summary>
        /// 修改邮箱
        /// </summary>
        protected void UpdateUserEmail()
        {
            string msg = string.Empty;

            try
            {
                UserInfo user     = UserBLL.Read(base.UserId);
                string   email    = StringHelper.AddSafe(RequestHelper.GetForm <string>("Email"));
                string   safeCode = RequestHelper.GetForm <string>("SafeCode");
                //检查邮箱
                if (msg == string.Empty)
                {
                    if (string.IsNullOrEmpty(email))
                    {
                        msg = "error|请填写邮箱";
                    }
                    else if (!new Regex("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\\.[a-zA-Z0-9_-]{2,3}){1,2})$").IsMatch(email))
                    {
                        msg = "error|请填写邮箱";
                    }
                    else
                    {
                        if (!UserBLL.CheckEmail(email, base.UserId))
                        {
                            msg = "error|Email已被其他会员绑定";
                        }
                    }
                }
                //检查验证码
                if (msg == string.Empty)
                {
                    if (safeCode.ToLower() != Cookies.Common.CheckCode.ToLower())
                    {
                        msg = "error|验证码错误";
                    }
                }
                if (msg == string.Empty)
                {
                    string tempSafeCode = Guid.NewGuid().ToString();
                    UserBLL.ChangeUserSafeCode(user.Id, tempSafeCode, RequestHelper.DateNow);
                    string              url             = "http://" + Request.ServerVariables["HTTP_HOST"] + "/mobile/User/BindEmail.html?CheckCode=" + StringHelper.Encode(user.Id + "|" + email + "|" + tempSafeCode, ShopConfig.ReadConfigInfo().SecureKey);
                    EmailContentInfo    emailContent    = EmailContentHelper.ReadSystemEmailContent("BindEmail");
                    EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo();
                    emailSendRecord.Title     = emailContent.EmailTitle;
                    emailSendRecord.Content   = emailContent.EmailContent.Replace("$Url$", url).Replace("$Hour$", ShopConfig.ReadConfigInfo().BindEmailTime.ToString());
                    emailSendRecord.IsSystem  = (int)BoolType.True;
                    emailSendRecord.EmailList = email;
                    emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False;
                    emailSendRecord.SendStatus             = (int)SendStatus.No;
                    emailSendRecord.AddDate  = RequestHelper.DateNow;
                    emailSendRecord.SendDate = RequestHelper.DateNow;
                    emailSendRecord.ID       = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord);
                    EmailSendRecordBLL.SendEmail(emailSendRecord);
                    result = "已发送验证邮件至您填写的邮箱,请在" + ShopConfig.ReadConfigInfo().BindEmailTime.ToString() + "小时内完成验证!<a href=\"http://mail." + email.Substring(email.IndexOf("@") + 1) + "\"  target=\"_blank\">马上登录邮箱</a>";

                    msg = "ok|/mobile/User/UpdateEmail.html?Result=" + Server.UrlEncode(result);
                }
                Response.Clear();
                Response.Write(msg);
            }
            catch (Exception ex)
            {
                Response.Clear();
                Response.Write("error|系统忙,请稍后重试");
            }
            finally
            {
                Response.End();
            }
        }