/// <summary> /// 读取一条邮件发送记录数据 /// </summary> /// <param name="id">邮件发送记录的主键值</param> /// <returns>邮件发送记录数据模型</returns> public EmailSendRecordInfo ReadEmailSendRecord(int id) { SqlParameter[] parameters = { new SqlParameter("@id", SqlDbType.Int) }; parameters[0].Value = id; EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo(); using (SqlDataReader dr = ShopMssqlHelper.ExecuteReader(ShopMssqlHelper.TablePrefix + "ReadEmailSendRecord", parameters)) { if (dr.Read()) { emailSendRecord.ID = dr.GetInt32(0); emailSendRecord.Title = dr[1].ToString(); emailSendRecord.Content = dr[2].ToString(); emailSendRecord.IsSystem = dr.GetInt32(3); emailSendRecord.EmailList = dr[4].ToString(); emailSendRecord.OpenEmailList = dr[5].ToString(); emailSendRecord.IsStatisticsOpendEmail = dr.GetInt32(6); emailSendRecord.SendStatus = dr.GetInt32(7); emailSendRecord.Note = dr[8].ToString(); emailSendRecord.AddDate = dr.GetDateTime(9); emailSendRecord.SendDate = dr.GetDateTime(10); } } return(emailSendRecord); }
/// <summary> /// 增加一条邮件发送记录数据 /// </summary> /// <param name="emailSendRecord">邮件发送记录模型变量</param> public int AddEmailSendRecord(EmailSendRecordInfo emailSendRecord) { SqlParameter[] parameters = { new SqlParameter("@title", SqlDbType.NVarChar), new SqlParameter("@content", SqlDbType.NText), new SqlParameter("@isSystem", SqlDbType.Int), new SqlParameter("@emailList", SqlDbType.NText), new SqlParameter("@openEmailList", SqlDbType.NText), new SqlParameter("@isStatisticsOpendEmail", SqlDbType.Int), new SqlParameter("@sendStatus", SqlDbType.Int), new SqlParameter("@note", SqlDbType.NVarChar), new SqlParameter("@addDate", SqlDbType.DateTime), new SqlParameter("@sendDate", SqlDbType.DateTime) }; parameters[0].Value = emailSendRecord.Title; parameters[1].Value = emailSendRecord.Content; parameters[2].Value = emailSendRecord.IsSystem; parameters[3].Value = emailSendRecord.EmailList; parameters[4].Value = emailSendRecord.OpenEmailList; parameters[5].Value = emailSendRecord.IsStatisticsOpendEmail; parameters[6].Value = emailSendRecord.SendStatus; parameters[7].Value = emailSendRecord.Note; parameters[8].Value = emailSendRecord.AddDate; parameters[9].Value = emailSendRecord.SendDate; Object id = ShopMssqlHelper.ExecuteScalar(ShopMssqlHelper.TablePrefix + "AddEmailSendRecord", parameters); return(Convert.ToInt32(id)); }
/// <summary> /// 发送Email,保存发送状态,发送时间 /// </summary> /// <param name="emailSendRecord"></param> public static EmailSendRecordInfo SendEmail(EmailSendRecordInfo emailSendRecord) { //发送 foreach (string temp in emailSendRecord.EmailList.Split(',')) { if (temp != string.Empty) { MailInfo mail = new MailInfo(); mail.ToEmail = temp; mail.Title = emailSendRecord.Title; mail.Content = emailSendRecord.Content; if (emailSendRecord.IsStatisticsOpendEmail == (int)BoolType.True) { mail.Content += "<img style=\"display:none\" src=\"http://" + HttpContext.Current.Request.ServerVariables["Http_Host"] + "/Admin/EmailCheckOpen.aspx?Email=" + temp + "&ID=" + emailSendRecord.ID + "\" >"; } mail.UserName = ShopConfig.ReadConfigInfo().EmailUserName; mail.Password = ShopConfig.ReadConfigInfo().EmailPassword; mail.Server = ShopConfig.ReadConfigInfo().EmailServer; mail.ServerPort = ShopConfig.ReadConfigInfo().EmailServerPort; try { MailClass.SendEmail(mail); } catch (Exception ex) { ExceptionHelper.ProcessException(ex, true); } } } //保存状态 emailSendRecord.SendDate = RequestHelper.DateNow; emailSendRecord.SendStatus = (int)SendStatus.Finished; EmailSendRecordBLL.SaveEmailSendRecordStatus(emailSendRecord); return(emailSendRecord); }
/// <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 EmailSendRecordInfo ReadEmailSendRecord(int id) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@id", SqlDbType.Int) }; pt[0].Value = id; EmailSendRecordInfo info = new EmailSendRecordInfo(); using (SqlDataReader reader = ShopMssqlHelper.ExecuteReader(ShopMssqlHelper.TablePrefix + "ReadEmailSendRecord", pt)) { if (reader.Read()) { info.ID = reader.GetInt32(0); info.Title = reader[1].ToString(); info.Content = reader[2].ToString(); info.IsSystem = reader.GetInt32(3); info.EmailList = reader[4].ToString(); info.OpenEmailList = reader[5].ToString(); info.IsStatisticsOpendEmail = reader.GetInt32(6); info.SendStatus = reader.GetInt32(7); info.Note = reader[8].ToString(); info.AddDate = reader.GetDateTime(9); info.SendDate = reader.GetDateTime(10); } } return(info); }
public static EmailSendRecordInfo SendEmail(EmailSendRecordInfo emailSendRecord) { foreach (string str in emailSendRecord.EmailList.Split(new char[] { ',' })) { if (str != string.Empty) { MailInfo mail = new MailInfo(); mail.ToEmail = str; mail.Title = emailSendRecord.Title; mail.Content = emailSendRecord.Content; if (emailSendRecord.IsStatisticsOpendEmail == 1) { object content = mail.Content; mail.Content = string.Concat(new object[] { content, "<img style=\"display:none\" src=\"http://", HttpContext.Current.Request.ServerVariables["Http_Host"], "/Admin/EmailCheckOpen.aspx?Email=", str, "&ID=", emailSendRecord.ID, "\" >" }); } mail.UserName = ShopConfig.ReadConfigInfo().EmailUserName; mail.Password = ShopConfig.ReadConfigInfo().EmailPassword; mail.Server = ShopConfig.ReadConfigInfo().EmailServer; mail.ServerPort = ShopConfig.ReadConfigInfo().EmailServerPort; try { MailClass.SendEmail(mail); } catch (Exception exception) { ExceptionHelper.ProcessException(exception, true); } } } emailSendRecord.SendDate = RequestHelper.DateNow; emailSendRecord.SendStatus = 3; SaveEmailSendRecordStatus(emailSendRecord); return(emailSendRecord); }
public void SaveEmailSendRecordStatus(EmailSendRecordInfo emailSendRecord) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@id", SqlDbType.Int), new SqlParameter("@sendStatus", SqlDbType.Int), new SqlParameter("@sendDate", SqlDbType.DateTime) }; pt[0].Value = emailSendRecord.ID; pt[1].Value = emailSendRecord.SendStatus; pt[2].Value = emailSendRecord.SendDate; ShopMssqlHelper.ExecuteNonQuery(ShopMssqlHelper.TablePrefix + "SaveEmailSendRecordStatus", pt); }
protected void Page_Load(object sender, EventArgs e) { if (!this.Page.IsPostBack) { int queryString = RequestHelper.GetQueryString <int>("ID"); if (queryString != -2147483648) { base.CheckAdminPower("ReadEmailSendRecord", PowerCheckType.Single); this.emailSendRecord = EmailSendRecordBLL.ReadEmailSendRecord(queryString); } } }
protected void SubmitButton_Click(object sender, EventArgs e) { EmailSendRecordInfo info; info = new EmailSendRecordInfo(); info.Title = this.Title.Text; info.Content = this.Content.Text; info.IsSystem = 0; info.EmailList = RequestHelper.GetForm <string>("ToUserEmail"); info.IsStatisticsOpendEmail = 0; info.SendStatus = 1; info.AddDate = RequestHelper.DateNow; info.SendDate = RequestHelper.DateNow; info.ID = EmailSendRecordBLL.AddEmailSendRecord(info); EmailSendRecordBLL.SendEmail(info); AdminBasePage.Alert(ShopLanguage.ReadLanguage("SendEmailOK"), RequestHelper.RawUrl); }
public void PrepareEmailSendRecordModel(SqlDataReader dr, List <EmailSendRecordInfo> emailSendRecordList) { while (dr.Read()) { EmailSendRecordInfo item = new EmailSendRecordInfo(); item.ID = dr.GetInt32(0); item.Title = dr[1].ToString(); item.Content = dr[2].ToString(); item.IsSystem = dr.GetInt32(3); item.EmailList = dr[4].ToString(); item.OpenEmailList = dr[5].ToString(); item.IsStatisticsOpendEmail = dr.GetInt32(6); item.SendStatus = dr.GetInt32(7); item.Note = dr[8].ToString(); item.AddDate = dr.GetDateTime(9); item.SendDate = dr.GetDateTime(10); emailSendRecordList.Add(item); } }
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); }
/// <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); }
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)); } }
public static void SaveEmailSendRecordStatus(EmailSendRecordInfo emailSendRecord) { dal.SaveEmailSendRecordStatus(emailSendRecord); }
public static int AddEmailSendRecord(EmailSendRecordInfo emailSendRecord) { emailSendRecord.ID = dal.AddEmailSendRecord(emailSendRecord); return(emailSendRecord.ID); }
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 } }
/// <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; } }
/// <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> /// 提交数据 /// </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)); //} } }
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); }
/// <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(); } }
/// <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)); } }
/// <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)); } }