public void ProcessRequest(HttpContext httpContext) { httpContext.Response.ContentType = "application/json"; httpContext.Response.TrySkipIisCustomErrors = true; BasePage.IsUserLogin(); // 从 cookie 恢复 session Model.users model = HttpContext.Current.Session[DTKeys.SESSION_USER_INFO] as Model.users; if (model == null) { httpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized; httpContext.Response.Write(JsonConvert.SerializeObject(new { msg = "登录超时,请重新登陆" })); return; } var action = DTRequest.GetQueryString("action"); if (action == "sendVerifyEmailViaCode") { var email = DTRequest.GetQueryString("email"); SendVerifyEmail(model.id, email, (i, s) => { httpContext.Response.StatusCode = i; httpContext.Response.Write(JsonConvert.SerializeObject(new { msg = s })); }, "emailVerifyByCode"); } else if (action == "sendVerifyEmail") { var email = DTRequest.GetQueryString("email"); SendVerifyEmail(model.id, email, (i, s) => { httpContext.Response.StatusCode = i; httpContext.Response.Write(JsonConvert.SerializeObject(new { msg = s })); }); } else if (action == "verifyEmail") { var codeFromEmail = DTRequest.GetQueryString("code"); var cachedCode = (string)SessionHelper.Get("verifying_email_code"); var sendVerifyMailAt = (DateTime?)SessionHelper.Get("last_send_verifying_mail_at"); if (sendVerifyMailAt != null && DateTime.Now.Subtract(sendVerifyMailAt.Value).TotalMinutes < SessionHelper.GetSessionTimeout() && !string.IsNullOrWhiteSpace(cachedCode) && string.Equals(codeFromEmail, cachedCode, StringComparison.CurrentCultureIgnoreCase)) { var context = new Agp2pDataContext(); var dtUsers = context.dt_users.Single(u => u.id == model.id); dtUsers.email = model.email = SessionHelper.Get <string>("verifying_email"); context.SubmitChanges(); SessionHelper.Remove("verifying_email"); SessionHelper.Remove("last_send_verifying_mail_at"); SessionHelper.Remove("verifying_email_code"); httpContext.Response.StatusCode = (int)HttpStatusCode.OK; var msg = new UserPointMsg(dtUsers.id, dtUsers.user_name, (int)Agp2pEnums.PointEnum.BindingEmail); MessageBus.Main.Publish(msg); httpContext.Response.Write(JsonConvert.SerializeObject(new { msg = "邮箱绑定成功" })); } else { httpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; httpContext.Response.Write(JsonConvert.SerializeObject(new { msg = "邮箱验证码已失效" })); } } else { httpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; httpContext.Response.Write(JsonConvert.SerializeObject(new { msg = "参数不正确" })); } }
public new static string AjaxAppendCard(string cardNumber, string bankName) { var userInfo = GetUserInfoByLinq(); HttpContext.Current.Response.TrySkipIisCustomErrors = true; if (userInfo == null) { HttpContext.Current.Response.StatusCode = (int)HttpStatusCode.Unauthorized; return("请先登录"); } // 检查用户的输入 if (!new Regex(@"^\d{16,}$").IsMatch(cardNumber)) { HttpContext.Current.Response.StatusCode = (int)HttpStatusCode.BadRequest; return("银行卡号格式不正确"); } if (!new Regex(@"^[\u4e00-\u9fa5]+$").IsMatch(bankName)) { HttpContext.Current.Response.StatusCode = (int)HttpStatusCode.BadRequest; return("银行名称格式不正确"); } var context = new Agp2pDataContext(); var alreadyHave = userInfo.li_bank_accounts.Any(c => c.account == cardNumber); if (alreadyHave) { HttpContext.Current.Response.StatusCode = (int)HttpStatusCode.Conflict; return("你已经添加了卡号为 " + cardNumber + " 的银行卡,不能重复添加"); } if (3 <= userInfo.li_bank_accounts.Count) { HttpContext.Current.Response.StatusCode = (int)HttpStatusCode.BadRequest; return("最多只能添加 3 张银行卡"); } //查询该客户是否已经在丰付绑定了银行卡 var user = context.dt_users.Single(u => u.id == userInfo.id); var req = new SignBankCardQueryRequest(user.id); MessageBus.Main.Publish(req); var resp = BaseRespMsg.NewInstance <SignBankCardQueryRespone>(req.SynResult); if (resp.RechargeProtocolList != null) { if (resp.CheckRechargeProtocol(bankName, cardNumber)) { var card = new li_bank_accounts { dt_users = user, account = cardNumber, bank = bankName, last_access_time = DateTime.Now, opening_bank = "", location = "", type = (int)Common.Agp2pEnums.BankAccountType.QuickPay, }; context.li_bank_accounts.InsertOnSubmit(card); context.SubmitChanges(); var msg = new UserPointMsg(user.id, user.user_name, (int)Agp2pEnums.PointEnum.BindingBank); MessageBus.Main.Publish(msg); return("保存银行卡信息成功"); } else { return("添加银行卡失败,您输入的银行卡号与丰付平台绑定的银行卡号不一致!"); } } var cardUnknown = new li_bank_accounts { dt_users = user, account = cardNumber, bank = bankName, last_access_time = DateTime.Now, opening_bank = "", location = "", type = (int)Common.Agp2pEnums.BankAccountType.Unknown, }; context.li_bank_accounts.InsertOnSubmit(cardUnknown); context.SubmitChanges(); var msg2 = new UserPointMsg(user.id, user.user_name, (int)Agp2pEnums.PointEnum.BindingBank); MessageBus.Main.Publish(msg2); return("保存银行卡信息成功"); }
/// <summary> /// 会员积分处理 /// </summary> private static void HandleUserSignMsg(UserPointMsg userPointMsg) { switch (userPointMsg.Type) { case (int)Agp2pEnums.PointEnum.Register: userPointMsg.Point = 38; userPointMsg.Remark = "注册送积分"; break; case (int)Agp2pEnums.PointEnum.RealNameAuth: userPointMsg.Point = 38; userPointMsg.Remark = "实名认证"; break; case (int)Agp2pEnums.PointEnum.BindingEmail: userPointMsg.Point = 28; userPointMsg.Remark = "绑定邮箱"; break; case (int)Agp2pEnums.PointEnum.BindingBank: userPointMsg.Point = 38; userPointMsg.Remark = "绑定银行卡"; break; case (int)Agp2pEnums.PointEnum.Recharge: userPointMsg.Point = 50; break; case (int)Agp2pEnums.PointEnum.Invest: userPointMsg.Remark = "投资"; break; case (int)Agp2pEnums.PointEnum.FirstInvest: userPointMsg.Point = 368; userPointMsg.Remark = "首次投资"; break; case (int)Agp2pEnums.PointEnum.InviteRegister: userPointMsg.Point = 888; break; case (int)Agp2pEnums.PointEnum.InviteInvest: userPointMsg.Point = 50; break; case (int)Agp2pEnums.PointEnum.LotteryGet: userPointMsg.Remark = "积分抽奖获取积分"; break; case (int)Agp2pEnums.PointEnum.Lottery: userPointMsg.Point = -80; userPointMsg.Remark = "积分抽奖消耗"; break; } var context = new Agp2pDataContext(); var user = context.dt_users.SingleOrDefault(u => u.id == userPointMsg.UserId); if (user != null) { var dtUserPointLog = new dt_user_point_log { user_id = userPointMsg.UserId, user_name = userPointMsg.UserName, add_time = DateTime.Now, value = userPointMsg.Point, type = (short)userPointMsg.Type, remark = userPointMsg.Remark }; context.dt_user_point_log.InsertOnSubmit(dtUserPointLog); user.point += userPointMsg.Point; context.SubmitChanges(); } }