using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace dccdc.Models
{
public class DuanXinYanZheng
{
///
/// 主键
///
public int id { get; set; }
///
/// 状态
///
public byte state { get; set; }
///
/// 用户IP
///
public string IP { get; set; }
///
/// SessionID
///
public string SessionID { get; set; }
///
/// cookie
///
public string cookie { get; set; }
///
/// 验证码内容
///
public string smscode { get; set; }
///
/// 发送时间
///
public DateTime sendtime { get; set; }
///
/// 验证时间
///
public DateTime? YanZhengShiJian { get; set; }
///
/// 验证有效期分钟
///
public int YanZhengYouXiaoQi { get; set; }
///
/// 备注
///
public string bz { get; set; }
///
/// 手机号
///
public string ShouJiHao { get; set; }
}
}
/*
* DAL.TJXContext cont = new DAL.TJXContext();
public Model.DuanXinYanZheng getYanZheng(string sessionid,string cookieid,string ip,string sjh)
{
var yz = cont.DuanXinYanZheng.Where(t => t.ShouJiHao == sjh && DbFunctions.DiffDays(DateTime.Now,t.sendtime)==0).Count();
if(yz>=5)
{
return new Model.DuanXinYanZheng { bz = "同一个手机号一天之内只能获取5次验证码!" };
}
else
{
var yzm = new Model.DuanXinYanZheng { state = 0, cookie = cookieid, IP = ip, sendtime = DateTime.Now, SessionID = sessionid, ShouJiHao = sjh, YanZhengYouXiaoQi = 10, smscode = new Common.ValidateCode().CreateValidateCode(6) };
cont.DuanXinYanZheng.Add(yzm);
cont.SaveChanges();
return yzm;
}
}
public Model.DuanXinYanZheng getYZMById(int iyzmid)
{
//throw new NotImplementedException();
return cont.DuanXinYanZheng.FirstOrDefault(t => t.id == iyzmid);
}
public void YanZhenged(Model.DuanXinYanZheng yzm)
{
//throw new NotImplementedException();
var y = cont.DuanXinYanZheng.First(t => t.id == yzm.id);
y.state = 1;
y.YanZhengShiJian = DateTime.Now;
cont.SaveChanges();
}
public void Log(DuanXinJiLu dxyz)
{
//throw new NotImplementedException();
//var cont = new DAL.TJXContext();
dxyz.SendTime = DateTime.Now;
cont.DuanXinJiLu.Add(dxyz);
cont.SaveChanges();
}
[HttpPost]
public JsonResult getShouJiYanZhengMa(string sjh)
{
if (System.Text.RegularExpressions.Regex.IsMatch(sjh, "^1[3|4|5|7|8]\\d{9}$"))
{
var dxyz = new BLL.DuanXinYanZheng();
var hybll = new BLL.HuiYuan();
var hy = hybll.getHuiYuanBySJH(sjh);
if (hy != null)
{
return Json(new OperationResult { State = 0, Message = "当前手机号已经注册过不能重复注册!" });
}
string cookieid = Guid.NewGuid().ToString();// Request.Cookies["clientid"].Value;
var yzm = dxyz.getYanZheng(Session.SessionID, cookieid, Request.UserHostAddress, sjh);
if (yzm.id == 0)
{
return Json(new OperationResult { State = 0, Message = yzm.bz });
}
else
{
string username = System.Configuration.ConfigurationManager.AppSettings["smsusername"];
string userpassword = System.Configuration.ConfigurationManager.AppSettings["smspassword"];
string smsurl = System.Configuration.ConfigurationManager.AppSettings["smsurl"];
string yznr = "你好,欢迎你注册天瑞体检中心会员,你的验证码是:" + yzm.smscode + "。有效期10分钟。回TD退订【天瑞体检】";
//var zysms = new zyer.smsservice.SmsServiceSoapClient("SmsServiceSoap");
//var smsjg = zysms.SendEx(username, userpassword, "808", sjh, "", yznr);
var fz = Session["FenZhan"] as Model.FenZhan;
Common.SendMsg.Send(sjh, yznr, fz.id);
return Json(new OperationResult { State = 1, Message = yzm.id.ToString() });
}
}
else
{
return Json(new OperationResult { State = 0, Message = "请输入正确的手机号码!" });
}
}
[HttpPost]
public JsonResult saveHuiYuan(string sjh, string inyzm, string yzmid, string mm, string mmyzm)
{
if (Session["ValidateCode"].ToString() != mmyzm)
{
return Json(new { State = 0, Message = "验证码不正确!" });
}
var yzmbll = new BLL.DuanXinYanZheng();
int iyzmid;
int.TryParse(yzmid, out iyzmid);
var yzm = yzmbll.getYZMById(iyzmid);
if (yzm == null)
{
return Json(new { State = 0, Message = "手机验证码不正确!" });
}
if (yzm.ShouJiHao != sjh)
{
return Json(new { State = 0, Message = "手机号码和获取验证码的手机号码不一致!" });
}
if ((DateTime.Now - yzm.sendtime).TotalMinutes > yzm.YanZhengYouXiaoQi)
{
return Json(new { State = 0, Message = "验证码已经超过有效期!" });
}
if (yzm.state != 0)
{
return Json(new { State = 0, Message = "验证码已经使用不能重复验证!" });
}
if (yzm.smscode != inyzm)
{
return Json(new { State = 0, Message = "手机验证码不正确!" });
}
yzmbll.YanZhenged(yzm);
var hybll = new BLL.HuiYuan();
var h = hybll.getHuiYuanBySJH(sjh);
if (h != null)
{
return Json(new { State = 0, Message = "手机号已经注册不能继续使用!" });
}
var hy = new Model.HuiYuan();
hy.MiMa = mm;
hy.ShouJiHao = sjh;
hy.regIP = Request.UserHostAddress;
hy.regShiJian = DateTime.Now;
hy.ZhuiHouDengLuShiJian = DateTime.Now;
//var hybll = new BLL.HuiYuan();
hy.state = 1;
OperationResult or = hybll.save(hy);
return Json(or);
}
*/