public JsonResult CheckCode(string Tel, byte CType, string code) { if (Tel.IsNullOrEmpty()) { return(Json(new { code = 1, msg = "手机号不能为空" })); } SysSet SysSet = Entity.SysSet.FirstOrNew(); //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == BasicAgent.Id && n.Mobile == Tel && n.CType == CType && n.Code == code); if (SMSCode == null) { return(Json(new { code = 1, msg = "验证码错误" })); } if (SMSCode.State != 1) { return(Json(new { code = 1, msg = "验证码已被使用过" })); } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { return(Json(new { code = 1, msg = "验证码已失效" })); } return(Json(new { code = 2, msg = "ok" })); }
/// <summary> /// 发送消息 /// </summary> /// <param name="message">消息</param> /// <returns>状态</returns> public static bool SendMessage(Message message, int count = 1) { if (message == null) { throw new ArgumentNullException("参数message空异常"); } bool isSuccess = false; SMSCode code = SMSCode.Exception; switch (message.Type) { //短信 case MessageType.SMS: code = SmsHelper.SendMessage(message.Receiver, message.Content); break; case MessageType.EMAIL: code = MailHelper.SendMessage(message.Receiver, message.Subject, message.Content); break; } isSuccess = (code == SMSCode.Success); while (!isSuccess && count < 3) { //如果第一次没有发送成功再重新发送一遍 count++; isSuccess = SendMessage(message, count); } RemoveMessage(message.MessageGuid, isSuccess ? "" :message.Type.GetDescription() + "重复发送三次失败,失败信息:" + code.GetDescription()); return(isSuccess); }
public void CheckSMSCode(string Code, string Mobile) { //if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Mobile && UBL.State == 1) != null) //{ // Response.Write("6"); // return; //} SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == BasicUsers.Id && n.Mobile == Mobile && n.CType == 1 && n.Code == Code && n.State == 1); if (SMSCode == null) { Response.Write("2"); return; } SysSet SysSet = Entity.SysSet.FirstOrNew(); if (SMSCode.State != 1) { Response.Write("3"); return; } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { Response.Write("4"); return; } Response.Write("OK"); }
public async Task <ActionResult> SendCode([FromQuery] string phone) { var random = new Random(); string code = random.Next(1001, 9999).ToString(); // string request = String.Format("https://api.ucaller.ru/v1.0/initCall?service_id=424899&key=87P72MxNzTKK2IaHC4J2dtCvckI8dr3C&phone={0}&code={1}", phone, code); // HttpClientHandler clientHandler = new HttpClientHandler(); // clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; }; // HttpClient client = new HttpClient(clientHandler); // var result =await client.GetAsync(request); //if (result.StatusCode == System.Net.HttpStatusCode.OK) { var codeSend = new SMSCode { dttm_add = DateTime.Now, code = "1111", status = false, phone = phone }; await _context.SMSCodes.AddAsync(codeSend); await _context.SaveChangesAsync(); return(new JsonResult(_responce.Return_Responce(System.Net.HttpStatusCode.OK, null, "Код отправлен"))); //} //else //{ // return new JsonResult(_responce.Return_Responce(System.Net.HttpStatusCode.BadRequest, null, // "Невозможно совершить звонок")); //} }
public JsonResult GetCode(string Tel, byte CType) { if (Tel.IsNullOrEmpty()) { return(Json(new { code = 1, msg = "手机号不能为空" })); } if (CType != 5) { return(Json(new { code = 1, msg = " 非法操作" })); } //验证是否重复 SysAdmin Old = Entity.SysAdmin.FirstOrDefault(n => n.UserName == Tel); if (Old != null) { return(Json(new { code = 1, msg = "“联系手机号”已在系统中存在,无法开通管理员!" })); } if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Tel && UBL.State == 1) != null) { return(Json(new { code = 1, msg = "暂不支持您的手机号入网!" })); } SysSet ss = new SysSet(); ss.SMSEnd = BasicSet.SMSEnd; ss.SMSActives = BasicSet.SMSActives; DateTime Today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //失效之前获取验证码 IList <SMSCode> List = Entity.SMSCode.Where(n => n.UId == BasicAgent.Id && n.Mobile == Tel && n.CType == CType && n.State == 1).ToList(); foreach (var p in List) { p.State = 0; } Entity.SaveChanges(); //生成验证码 string Code = Utils.RandomSMSCode(6); SMSCode SSC = new SMSCode(); SSC.CType = CType; SSC.UId = BasicAgent.Id; SSC.Mobile = Tel; SSC.Code = Code; SSC.AddTime = DateTime.Now; SSC.State = 1; Entity.SMSCode.AddObject(SSC); Entity.SaveChanges(); var topAgent = BasicAgent.GetTopAgent(this.Entity); //发送验证码 SSC.SendSMS(ss, topAgent, Entity); return(Json(new { code = 2, msg = "ok" })); }
public void GetCode(string Mobile, int Agent = 0) { //if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Mobile && UBL.State == 1) != null) //{ // Response.Write("6"); // return; //} if (Mobile.IsNullOrEmpty()) { return; } DateTime Today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); SysSet SysSet = Entity.SysSet.FirstOrNew(); //统计今天已经发送注册验证码次数 int Times = Entity.SMSCode.Count(n => n.UId == BasicUsers.Id && n.Mobile == Mobile && n.CType == 1 && n.AddTime >= Today); if (Times >= SysSet.SMSTimes) { Response.Write("2"); return; } if (Times > 0) { //第一次发送不获取,以节少系统资源 SMSCode SMSCode = Entity.SMSCode.Where(n => n.UId == BasicUsers.Id && n.Mobile == Mobile && n.CType == 1 && n.AddTime >= Today).OrderByDescending(n => n.Id).FirstOrDefault(); if (SMSCode.AddTime.AddMinutes(1) >= DateTime.Now) { //最后一次发送到现在不足1分钟 Response.Write("3"); return; } } //失效之前获取验证码 IList <SMSCode> List = Entity.SMSCode.Where(n => n.UId == BasicUsers.Id && n.Mobile == Mobile && n.CType == 1 && n.State == 1).ToList(); foreach (var p in List) { p.State = 0; } Entity.SaveChanges(); //生成验证码 string Code = Utils.RandomSMSCode(4); SMSCode SSC = new SMSCode(); SSC.CType = 1; SSC.UId = BasicUsers.Id; SSC.Mobile = Mobile; SSC.Code = Code; SSC.AddTime = DateTime.Now; SSC.State = 1; Entity.SMSCode.AddObject(SSC); Entity.SaveChanges(); //发送验证码 SSC.SendSMS(SysSet, Entity); Response.Write("OK"); }
public static int AddSMSCode(SMSCode model) { using (var entity = new BusEntities()) { var id = 0; try { entity.AddToSMSCode(model); entity.SaveChanges(); id = model.ID; } catch { } return(id); } }
public static bool SaveEditSMSCode(SMSCode model) { using (var entity = new BusEntities()) { var obj = entity.SMSCode.FirstOrDefault(x => x.ID == model.ID); if (obj != null) { obj.Phone = model.Phone; obj.Code = model.Code; obj.EndTime = model.EndTime; obj.IsUse = model.IsUse; return(entity.SaveChanges() > 0); } return(false); } }
public async Task <Client> SignInAsync(SmsDTO smsInfo) { SMSCode sms = await db.SMSCodes.FirstOrDefaultAsync(s => s.Phone == smsInfo.Phone && s.Code == smsInfo.Code); Client client = await db.Clients.FirstOrDefaultAsync(c => c.Phone == smsInfo.Phone); if (sms == null || client == null) { return(null); } await db.SMSCodes.RemoveAsync(sms); client.ApiKey = encrypt.GenerateHash(sms.Phone, sms.Code.ToString()); await db.Clients.UpdateAsync(client); return(client); }
public async Task <Worker> SignInAsync(SmsDTO smsInfo) { SMSCode sms = await db.SMSCodes.FirstOrDefaultAsync(s => s.Phone == smsInfo.Phone && s.Code == smsInfo.Code); Worker worker = await db.Workers.FirstOrDefaultAsync(c => c.Phone == smsInfo.Phone); if (sms == null || worker == null) { return(null); } await db.SMSCodes.RemoveAsync(sms); worker.ApiKey = encryptService.GenerateHash(sms.Phone, sms.Code.ToString()); await db.Workers.UpdateAsync(worker); return(worker); }
public async Task <string> SignUpAsync(ClientRegisterDTO clientData) { int code = clientData.Code; Client client = Mapper.Map <ClientRegisterDTO, Client>(clientData); SMSCode sms = await db.SMSCodes.FirstOrDefaultAsync(s => s.Phone == client.Phone && s.Code == code); if (sms == null) { return(null); } await db.SMSCodes.RemoveAsync(sms); string apiKey = encrypt.GenerateHash(client.Phone, code.ToString()); client.ApiKey = apiKey; await db.Clients.CreateAsync(client); return(apiKey); }
public CheckUserLoginResult CheckUserLogin() { // login // /api/rest/checkuserlogin // method: get var history = new MongoHistoryAPI() { CreateTime = DateTime.Now, APIUrl = "/api/user/checkuserlogin" }; HttpRequestHeaders headers = Request.Headers; if (!headers.Contains("Authorization")) { throw new Exception("Nead authorization info"); } string token; try { string base64Auth = headers.GetValues("Authorization").First().Replace("Basic", "").Trim(); token = XString.FromBase64(base64Auth); } catch { throw new Exception("Wrong authorization info"); } var arrtok = token.Split(':'); if (arrtok.Length != 2) { throw new Exception("Wrong authorization format"); } string user = arrtok[0]; string phone = arrtok[1]; var result = new CheckUserLoginResult() { id = "1", msg = "success", user = user }; try { var checkUser = db.AspNetUsers.Where(p => p.UserName == user).FirstOrDefault(); if (checkUser == null) { throw new Exception("Tài khoản không hợp lệ"); } if (checkUser.AccountType == "STAFF") { var haiStaff = db.HaiStaffs.Where(p => p.UserLogin == user).FirstOrDefault(); if (haiStaff != null) { if (haiStaff.IsLock == 1) { throw new Exception("Tài khoản đang tạm khóa"); } result.id = "1"; } else { throw new Exception("Tài khoản không hợp lệ"); } } else { var check = db.CInfoCommons.Where(p => p.UserLogin == user).FirstOrDefault(); if (check != null) { result.id = "2"; result.name = check.CDeputy; result.store = check.CName; result.code = check.CCode; result.phone = check.Phone; if (check.Phone != null) { // kiem tra phone var phoneOrige = check.Phone; if (check.Phone.Substring(0, 2) == "84") { phoneOrige = "0" + check.Phone.Substring(2, check.Phone.Length - 2); } if (phone == phoneOrige) { result.id = "3"; // cho dang nhap luon bool isActive = false; var staff = db.HaiStaffs.Where(p => p.UserLogin == user).FirstOrDefault(); if (staff != null) { if (staff.IsLock != 1) { isActive = true; } } else { var agency = db.CInfoCommons.Where(p => p.UserLogin == user).FirstOrDefault(); if (agency != null) { if (check.CType == "CII") { var checkC2 = check.C2Info.FirstOrDefault(); if (checkC2 != null) { if (checkC2.IsActive == 0) { isActive = false; } } } } } if (!isActive) { throw new Exception("Tài khoản bị khóa"); } var info = updateAuth(user); result.role = info.Role; result.token = info.token; result.type = info.type; } else { string Msg = string.Empty; var account = db.SmsAccounts.Find(1); Random random = new Random(); var otp = random.Next(100000, 999999); // update otp old var allOtp = db.SMSCodes.Where(p => p.UserLogin == user && p.CStatus == 0).ToList(); foreach (var item in allOtp) { item.CStatus = 1; db.Entry(item).State = EntityState.Modified; db.SaveChanges(); } SMSCode smsCode = new SMSCode() { Id = Guid.NewGuid().ToString(), Code = Convert.ToString(otp), CreateAt = DateTime.Now, CStatus = 0, UserLogin = user }; db.SMSCodes.Add(smsCode); db.SaveChanges(); // send sms SMScore _smsCore = new SMScore(account.BrandName, account.UserName, account.Pass); _smsCore.IPserver = account.AddressSend; _smsCore.Port = Convert.ToInt32(account.PortSend); _smsCore.SendMethod = account.Method; _smsCore.SendSMS("Cam on quy khach da dang ky, ma kich hoat cua quy khach la : " + otp, check.Phone, ref Msg); } } else { throw new Exception("Quý khách chưa đăng kí số điện thoại với HAI để nhận mà kích hoặt"); } } else { throw new Exception("Tài khoản không hợp lệ"); } } } catch (Exception e) { result.id = "0"; result.msg = e.Message; } history.ReturnInfo = new JavaScriptSerializer().Serialize(result); mongoHelper.createHistoryAPI(history); return(result); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[CreditCardAdd]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } UserCard UserCard = new UserCard(); UserCard = JsonToObject.ConvertJsonToModel(UserCard, json); UserTrack UserTrack = new UserTrack(); UserTrack = JsonToObject.ConvertJsonToModel(UserTrack, json); if (UserTrack.X.IsNullOrEmpty() || UserTrack.Y.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } #region 基础验证 //获取用户信息 string Token = UserCard.Token; Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } if (baseUsers.CardStae != 2)//未实名认证 { DataObj.OutError("2006"); return; } string cardbin = UserCard.Card.Substring(0, 6); BasicCardBin BasicCardBin = this.Entity.BasicCardBin.Where(o => o.BIN == cardbin).FirstOrDefault(); if (BasicCardBin != null) { if (BasicCardBin.CardType != 2) { DataObj.Msg = "请使用信用卡绑定"; DataObj.OutError("1000"); return; } } else { DataObj.OutError("1103"); return; } #endregion //======================================= UserTrack.ENo = DataObj.ENo; UserTrack.OPType = "信用卡验证码"; UserTrack.GPSAddress = UserTrack.GPSAddress; UserTrack.GPSX = UserTrack.X; UserTrack.GPSY = UserTrack.Y; baseUsers.SeavGPSLog(UserTrack, Entity); //======================================= JobPayWay JobPayWay = Entity.JobPayWay.Where(n => n.State == 1 && n.GroupType == "Pay").OrderBy(n => n.Sort).FirstOrDefault();//目前只支持一条 if (JobPayWay == null) { DataObj.Msg = "暂无可用通道"; DataObj.OutError("1000"); return; } if (UserCard.ValidYear.Length == 4) { UserCard.ValidYear = UserCard.ValidYear.Substring(2, 2); } #region 第三方接口 string[] JobPayWayArr = JobPayWay.QueryArray.Split(','); bool Result = false; string RetMsg = ""; if (JobPayWay.DllName == "HLBPay" && JobPayWayArr.Length == 2) { #region 合利宝 string MerId = JobPayWayArr[0]; string MerKey = JobPayWayArr[1]; string postUrl = "http://pay.trx.helipay.com/trx/quickPayApi/interface.action"; string orderId = Guid.NewGuid().ToString("N"); Dictionary <string, string> map = new Dictionary <string, string>(); map.Add("P1_bizType", "QuickPayBindCardValidateCode"); map.Add("P2_customerNumber", MerId); map.Add("P3_userId", "HF_" + baseUsers.Id.ToString()); map.Add("P4_orderId", orderId); map.Add("P5_timestamp", DateTime.Now.ToString("yyyyMMddHHmmss")); map.Add("P6_cardNo", UserCard.Card); map.Add("P7_phone", UserCard.Mobile); //签名串,把参数值拼接 string data = Utils.CreateLinkString(map, false); //MD5签名KEY string sign = ("&" + data + "&" + MerKey).GetMD5(); map.Add("sign", sign); string send_data = Utils.CreateLinkString(map); string RetString = Utils.PostRequest(postUrl, send_data, "utf-8"); //================================================ //这里记录日志 JobLog JobLog = new JobLog(); JobLog.PayWay = JobPayWay.Id; JobLog.ReqNo = orderId; JobLog.TNum = ""; JobLog.Trade = ""; JobLog.Amount = 0; JobLog.Way = "SendCode"; JobLog.AddTime = DateTime.Now; JobLog.Data = RetString; JobLog.State = 1; Entity.JobLog.AddObject(JobLog); Entity.SaveChanges(); //================================================ JObject obj = new JObject(); try { obj = (JObject)JsonConvert.DeserializeObject(RetString); } catch (Exception) { Utils.WriteLog("[CreditCardAddCode]:" + RetString, "HLBPayError"); DataObj.OutError("1000"); return; } string rt2_retCode = obj["rt2_retCode"].ToString(); string rt3_retMsg = obj["rt3_retMsg"].ToString(); if (rt2_retCode == "0000") { Result = true; } else { Result = false; RetMsg = rt3_retMsg; Utils.WriteLog("[CreditCardAddCode]:" + RetString + "【" + send_data + "】", "HLBPayError"); } #endregion } else if (JobPayWay.DllName == "GHTPay" && JobPayWayArr.Length == 3) { #region //检测是否已开通商户 DateTime Today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); SysSet SysSet = Entity.SysSet.FirstOrNew(); //统计今天已经发送注册验证码次数 int Times = Entity.SMSCode.Count(n => n.UId == baseUsers.Id && n.Mobile == UserCard.Mobile && n.CType == 31 && n.AddTime >= Today); if (Times >= SysSet.SMSTimes) { DataObj.Msg = "获取验证码超过" + SysSet.SMSTimes + "次,请明天再试。"; DataObj.OutError("1000"); return; } if (Times > 0) { //第一次发送不获取,以节少系统资源 SMSCode SMSCode = Entity.SMSCode.Where(n => n.UId == baseUsers.Id && n.Mobile == UserCard.Mobile && n.CType == 31 && n.AddTime >= Today).OrderByDescending(n => n.Id).FirstOrDefault(); if (SMSCode.AddTime.AddMinutes(1) >= DateTime.Now) { //最后一次发送到现在不足1分钟 DataObj.Msg = "您操作太快了。"; DataObj.OutError("1000");; return; } } //失效之前获取验证码 IList <SMSCode> List = Entity.SMSCode.Where(n => n.UId == baseUsers.Id && n.Mobile == UserCard.Mobile && n.CType == 31 && n.State == 1).ToList(); foreach (var p in List) { p.State = 0; } Entity.SaveChanges(); //生成验证码 string Code = Utils.RandomSMSCode(4); SMSCode SSC = new SMSCode(); SSC.CType = 31; SSC.UId = baseUsers.Id; SSC.Mobile = UserCard.Mobile; SSC.Code = Code; SSC.AddTime = DateTime.Now; SSC.State = 1; Entity.SMSCode.AddObject(SSC); Entity.SaveChanges(); string Info = "您正在授权尾号{2}开通授权交易,验证码为{0},为了保护您的账户安全,验证码请勿转发他人,有效时间{1}分钟。"; Info = string.Format(Info, Code, SysSet.SMSActives, UserCard.Card.Substring(UserCard.Card.Length - 4, 4)); Info += "【好支付】"; SMSLog SMSLog = new SMSLog(); SMSLog.UId = baseUsers.Id; SMSLog.Mobile = UserCard.Mobile; SMSLog.SendText = Info; SMSLog.State = 1; SMSLog.AddTime = DateTime.Now; Entity.SMSLog.AddObject(SMSLog); Entity.SaveChanges(); Result = true; #endregion } else if (JobPayWay.DllName == "HFJSPay" && JobPayWayArr.Length == 3) { #region 结算系统 string Code = JobPayWayArr[0]; string CodeKey = JobPayWayArr[1]; string PayWayCode = JobPayWayArr[2]; #region 进件 JobUserPay JobUserPay = Entity.JobUserPay.FirstOrDefault(n => n.UId == baseUsers.Id && n.PayWay == JobPayWay.Id); if (JobUserPay == null) { JobUserPay = new JobUserPay(); JobUserPay.UId = baseUsers.Id; JobUserPay.PayWay = JobPayWay.Id; JobUserPay.AddTime = DateTime.Now; JobUserPay.MerState = 2; //状态 0锁定 1正常 2待提交 3审核中 4审核失败 JobUserPay.CardState = 2; //状态 0锁定 1正常 2待提交 3审核中 4审核失败 JobUserPay.BusiState = 2; //状态 1正常 2待提交 3审核中 4审核失败 Entity.JobUserPay.AddObject(JobUserPay); Entity.SaveChanges(); } if (JobUserPay.MerState == 2 || JobUserPay.MerState == 4) { fastuseraddModel model = new fastuseraddModel() { code = Code, mchid = "HF" + baseUsers.Id.ToString(), mchname = baseUsers.NeekName, truename = baseUsers.TrueName, cardno = baseUsers.CardId, accountcard = UserCard.Card, accountbin = BasicCardBin.BankCode, accountmobile = UserCard.Mobile }; fastuserResult fastuserResult = HFJSTools.fastuseradd(model, CodeKey); if (fastuserResult.respcode == "00") { if (fastuserResult.state == 1) { JobUserPay.MerState = 1; JobUserPay.CardState = 1;//这里已绑定结算卡 JobUserPay.MerId = fastuserResult.merid; JobUserPay.MerKey = fastuserResult.merkey; } else if (fastuserResult.state == 2) { JobUserPay.MerId = fastuserResult.merid; JobUserPay.MerKey = fastuserResult.merkey; JobUserPay.MerState = 3; } else { JobUserPay.MerState = 4; } } else { JobUserPay.MerState = 4; JobUserPay.MerMsg = fastuserResult.respcode + "[" + fastuserResult.respmsg + "]"; } Entity.SaveChanges(); } #endregion #region 开通道 if (JobUserPay.MerState == 1 && (JobUserPay.BusiState == 2 || JobUserPay.BusiState == 4)) { JobSet JobSet = Entity.JobSet.FirstOrNew(); //获取配置 decimal Cost = JobSet.Cost; //刷卡手续费 decimal Cash = JobSet.Cash; //还款手续费 userspayopenbModel userspayopenbModel = new userspayopenbModel() { merid = JobUserPay.MerId, paywaycode = PayWayCode, code = Code, bankcost = Cost, surcharge = Cash, cash = 0, bankcostmin = 1.2M, bankcostmax = 9999999 }; fastuserResult fastuserResult = HFJSTools.userspayopen(userspayopenbModel, CodeKey); if (fastuserResult.respcode == "00") { if (fastuserResult.state == 1) { JobUserPay.BusiState = 1; } else { JobUserPay.BusiState = 4; } } else { JobUserPay.BusiMsg = fastuserResult.respcode + "[" + fastuserResult.respmsg + "]"; } Entity.SaveChanges(); } #endregion #region 绑卡 if (JobUserPay.MerState == 1 && JobUserPay.CardState == 1 && JobUserPay.BusiState == 1) { fastcardbindModel fastcardbindModel = new fastcardbindModel() { action = "Add", merid = JobUserPay.MerId, bankcard = UserCard.Card, cvv2 = UserCard.CVV, mobile = UserCard.Mobile, month = UserCard.ValidMonth, year = UserCard.ValidYear }; ErrorCode errorCode = HFJSTools.fastcardbind(fastcardbindModel, JobUserPay.MerKey); if (errorCode.respcode == "00") { #region 发验证码 if (JobUserPay.MerState == 1 && JobUserPay.BusiState == 1 && JobUserPay.CardState == 1) { fastcardcodeModel fastcardcodeModel = new fastcardcodeModel() { bankcard = UserCard.Card, merid = JobUserPay.MerId, paywaycode = PayWayCode }; ErrorCode errorcode = HFJSTools.fastcardcode(fastcardcodeModel, JobUserPay.MerKey); if (errorcode.respcode == "00") { Result = true; } else { Result = false; RetMsg = errorcode.respmsg; } } else { Result = false; RetMsg = errorCode.respmsg; } #endregion } else { Result = false; RetMsg = errorCode.respmsg; } Entity.SaveChanges(); } else { Result = false; RetMsg = "商户入驻失败"; } #endregion #endregion } #endregion if (Result) { DataObj.OutError("0000"); } else { DataObj.Msg = RetMsg; DataObj.OutError("1010"); } }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[UsersGetPayPass]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } //JObject pp = (JObject)p; //身份证号,手机号(登录帐户),邮箱 //CardId,UserName,Email Users Users = new Users(); Users = JsonToObject.ConvertJsonToModel(Users, json); if (Users.UserName.IsNullOrEmpty() || Users.CardId.IsNullOrEmpty() || Users.TrueName.IsNullOrEmpty() || Users.CardNum.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } ////手机号码黑名单验证 //if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Users.UserName && UBL.State == 1) != null) //{ // //提示暂不支持您手机号入网 // DataObj.OutError("2026"); // return; //} //if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Users.CardId && UBL.State == 2) != null) //{ // //提示暂不支持您手机号入网 // DataObj.OutError("2027"); // return; //} Users BaseUsers = Entity.Users.Where(n => n.UserName == Users.UserName).FirstOrDefault(); if (BaseUsers == null)//用户不存在 { DataObj.OutError("2001"); return; } if (BaseUsers.State != 1) { DataObj.OutError("2003"); return; } if (BaseUsers.CardStae != 2)//未实名认证 { DataObj.OutError("2006"); return; } if (BaseUsers.MiBao != 1) { DataObj.OutError("2008"); return; } //实名信息验证,支付密码密段是实名认证的 if (Users.TrueName != BaseUsers.TrueName) { DataObj.OutError("2011"); return; } if (Users.CardId != BaseUsers.CardId) { DataObj.OutError("2012"); return; } //int BankNum = Entity.UserCard.Count(n => n.UId == BaseUsers.Id); //BaseUsers.BankNum = BankNum; IList <UserCard> UserCardList = Entity.UserCard.Where(n => n.UId == BaseUsers.Id && n.State == 1).ToList(); if (UserCardList.Count() == 0) { DataObj.OutError("2099"); return; } else { UserCard UserCard = UserCardList.FirstOrDefault(n => n.UId == BaseUsers.Id && n.Card == Users.CardNum); if (UserCard == null) { DataObj.OutError("2013"); return; } } DateTime Today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); SysSet SysSet = Entity.SysSet.FirstOrNew(); if (SysSet.AuthType != 3 && SysSet.AuthType != 1) { DataObj.OutError("2061");//---------------- return; } //统计今天已经发送注册验证码次数 int Times = Entity.SMSCode.Count(n => n.UId == BaseUsers.Id && n.Mobile == BaseUsers.UserName && n.CType == 3 && n.AddTime >= Today); if (Times >= SysSet.SMSTimes) { DataObj.OutError("2031"); return; } if (Times > 0) { //第一次发送不获取,以节少系统资源 SMSCode SMSCode = Entity.SMSCode.Where(n => n.UId == BaseUsers.Id && n.Mobile == BaseUsers.UserName && n.CType == 3 && n.AddTime >= Today).OrderByDescending(n => n.Id).FirstOrDefault(); if (SMSCode.AddTime.AddMinutes(1) >= DateTime.Now) { //最后一次发送到现在不足1分钟 DataObj.OutError("2032"); return; } } //失效之前获取验证码 IList <SMSCode> List = Entity.SMSCode.Where(n => n.UId == BaseUsers.Id && n.Mobile == BaseUsers.UserName && n.CType == 3 && n.State == 1).ToList(); foreach (var p in List) { p.State = 0; } Entity.SaveChanges(); //生成验证码 string Code = Utils.RandomSMSCode(6); SMSCode SSC = new SMSCode(); SSC.CType = 3; SSC.UId = BaseUsers.Id; SSC.Mobile = BaseUsers.UserName; SSC.Code = Code; SSC.AddTime = DateTime.Now; SSC.State = 1; Entity.SMSCode.AddObject(SSC); Entity.SaveChanges(); SysAgent SA = Entity.SysAgent.FirstOrNew(n => n.Id == BaseUsers.Agent); SA = SA.GetTopAgent(Entity); //发送验证码 SSC.SendSMS(SysSet, SA, Entity); //BaseUsers.Cols = "BankNum"; //DataObj.Data = BaseUsers.OutJson(); DataObj.Data = ""; DataObj.Code = "0000"; DataObj.OutString(); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[UsersGetPass_2_0]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } //JObject pp = (JObject)p; //身份证号,手机号(登录帐户),邮箱 //CardId,UserName,Email Users Users = new Users(); Users = JsonToObject.ConvertJsonToModel(Users, json); if (Users.UserName.IsNullOrEmpty() || Users.Code.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } Users BaseUsers = Entity.Users.Where(n => n.UserName == Users.UserName).FirstOrDefault(); if (BaseUsers == null)//用户不存在 { DataObj.OutError("2001"); return; } if (BaseUsers.State != 1) { DataObj.OutError("2003"); return; } //if (BaseUsers.CardStae != 2)//未实名认证 //{ // DataObj.OutError("2006"); // return; //} if (BaseUsers.CardStae == 2)//已实名认证要验证 { if (BaseUsers.TrueName != Users.TrueName) { DataObj.OutError("2011"); return; } if (BaseUsers.CardId != Users.CardId) { DataObj.OutError("2012"); return; } } //手机验证码 //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == BaseUsers.Id && n.Mobile == BaseUsers.UserName && n.CType == 2 && n.Code == Users.Code); if (SMSCode == null) { DataObj.OutError("2033"); return; } SysSet SysSet = Entity.SysSet.FirstOrNew(); if (SMSCode.State != 1) { DataObj.OutError("2034"); return; } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { DataObj.OutError("2034"); return; } DateTime now = DateTime.Now; Guid Gid = Guid.NewGuid(); string mdstr = Users.Id + "|" + Users.UserName + "|" + Gid.ToString() + "|" + now.ToString(); string taken = mdstr.GetMD5(); BaseUsers.Token = "gggg" + taken; SMSCode.State = 2; Entity.SaveChanges(); BaseUsers.Cols = "Token"; DataObj.Data = BaseUsers.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); }
public object Add(SysAgent SysAgent, List <string> PId, List <Attach> Contract, Attach IDCard_Front, Attach IDCard_Reverse, Attach IDCard_Hand, List <Attach> Certificate, List <int> DelIds, string code) { //验证号码格式 //var rx = new System.Text.RegularExpressions.Regex(@"^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|4|5|6|7|8|9])\d{8}$"); //if (!rx.IsMatch(SysAgent.LinkMobile)) //{ // ViewBag.ErrorMsg = "请正确填写联系手机号格式"; // return View("Error"); //} //电信手机号码正则 string dianxin = @"^1[3578][01379]\d{8}$"; Regex dReg = new Regex(dianxin); //联通手机号正则 string liantong = @"^1[34578][01256]\d{8}$"; Regex tReg = new Regex(liantong); //移动手机号正则 string yidong = @"^(134[012345678]\d{7}|1[34578][012356789]\d{8})$"; Regex yReg = new Regex(yidong); if (!dReg.IsMatch(SysAgent.LinkMobile) && !tReg.IsMatch(SysAgent.LinkMobile) && !yReg.IsMatch(SysAgent.LinkMobile)) { ViewBag.ErrorMsg = "请正确填写联系手机号格式"; return(View("Error")); } //验证是否重复 SysAdmin Old = Entity.SysAdmin.FirstOrDefault(n => n.UserName == SysAgent.LinkMobile); if (Old != null) { ViewBag.ErrorMsg = "“联系手机号”已在系统中存在,无法开通管理员!"; return(View("Error")); } if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == SysAgent.LinkMobile && UBL.State == 1) != null) { ViewBag.ErrorMsg = "暂不支持您的手机号入网!"; return(View("Error")); } SysSet SysSet = Entity.SysSet.FirstOrNew(); //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == BasicAgent.Id && n.Mobile == SysAgent.LinkMobile && n.CType == 5 && n.Code == code); if (SMSCode == null) { ViewBag.ErrorMsg = "验证码错误!"; return(View("Error")); } if (SMSCode.State != 1) { ViewBag.ErrorMsg = "验证码已被使用过!"; return(View("Error")); } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { ViewBag.ErrorMsg = "验证码已失效!"; return(View("Error")); } if (SysAgent.Tel.Contains("400-608-6765") || SysAgent.Tel.Contains("23769678") || SysAgent.Tel.Contains("22220076") || SysAgent.Tel.Contains("4006086765")) { ViewBag.ErrorMsg = "该客服号码禁止使用"; return(View("Error")); } if (Contract == null || Contract.Count <= 0) { ViewBag.ErrorMsg = "请上传合同"; return(View("Error")); } if (IDCard_Front == null || IDCard_Front.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传身份证正面"; return(View("Error")); } if (IDCard_Reverse == null || IDCard_Reverse.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传身份证反面"; return(View("Error")); } if (IDCard_Hand == null || IDCard_Hand.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传手持身份证"; return(View("Error")); } if (Certificate == null || Certificate.Count <= 0) { ViewBag.ErrorMsg = "请上传营业执照或其它证件"; return(View("Error")); } //整理代理商信息 SysAgent.AddTime = DateTime.Now; SysAgent.PayGet = SysAgent.PayGet.IsNullOrEmpty() ? 0 : SysAgent.PayGet / 100; SysAgent.CashGet = 0;// SysAgent.CashGet.IsNullOrEmpty() ? 0 : SysAgent.CashGet / 100; SysAgent.LoanGet = SysAgent.LoanGet.IsNullOrEmpty() ? 0 : SysAgent.LoanGet / 100; SysAgent.Credit = SysAgent.Credit.IsNullOrEmpty() ? 0 : SysAgent.Credit / 100; SysAgent.Cash0 = SysAgent.Cash0.IsNullOrEmpty() ? 0 : SysAgent.Cash0 / 1000; SysAgent.Cash1 = SysAgent.Cash1.IsNullOrEmpty() ? 0 : SysAgent.Cash1 / 1000; bool MySysAgentMoney = this.checkPower("MySysAgent", "MoneySave"); if (!MySysAgentMoney) { //无权限的时候,以上级代理为准 SysAgent.Cash0 = BasicAgent.Cash0; SysAgent.Cash1 = BasicAgent.Cash1; SysAgent.ECash0 = BasicAgent.ECash0; SysAgent.ECash1 = BasicAgent.ECash1; SysAgent.Cash0Times = BasicAgent.Cash0Times; SysAgent.Cash1Times = BasicAgent.Cash1Times; } if (SysAgent.Cash0 < BasicSet.AgentCash0 || SysAgent.ECash0 < BasicSet.AgentECash0 || SysAgent.Cash1 < BasicSet.AgentCash1 || SysAgent.ECash1 < BasicSet.AgentECash1) { ViewBag.ErrorMsg = "费率设置有误!"; return(View("Error")); } SysAgent.AdminId = 0; SysAgent.IsTeiPai = 0; //二级起不能贴牌 SysAgent.AgentID = BasicAgent.Id; //上级代理Id SysAgent.IsPromote = 0; //默认关闭 SysAgent.PromoteGet = 0; //默认为于推广用户返佣为0 SysAgent.Tier = (byte)(BasicAgent.Tier + 1); //增加一层 SysAgent.NoteDownload = ""; SysAgent.LinkMobile = SysAgent.LinkMobile.Trim(); SysAgent.AgentState = 0; //默认为0 SysAgent.AgentLevelMax = BasicAgent.AgentLevelMax; //处理推广代理佣金 if (SysAgent.DaiLiGetType == 1) { SysAgent.DaiLiGet = SysAgent.DaiLiGet / 100; } Entity.SysAgent.AddObject(SysAgent); //先保存拿agentId Entity.SaveChanges(); //保存销售记录为了取得id var salesLog = new SalesLog() { AddTime = DateTime.Now, AgentFee = SysAgent.AgentFee, ExpireTime = SysAgent.ExpireTime, State = 1, AgentId = SysAgent.Id, Salesman = SysAgent.Salesman, }; Entity.SalesLog.AddObject(salesLog); //再保存拿到logid Entity.SaveChanges(); this.ProcessAttach(SysAgent, salesLog, Contract, IDCard_Front, IDCard_Reverse, IDCard_Hand, Certificate, DelIds); //权限 string Str = string.Empty; if (PId != null) { foreach (var p in PId) { if (p != string.Empty) { Str += "," + p; } } Str += ","; } //自动配置代理商的用户入网费率 IList <PayConfig> PCList = Entity.PayConfig.Where(n => n.State == 1).ToList(); IList <UserPayAgent> UPAList = Entity.UserPayAgent.Where(n => n.AId == BasicAgent.Id).ToList(); foreach (var PC in PCList) { UserPayAgent UP = UPAList.FirstOrDefault(n => n.PId == PC.Id); UserPayAgent UserPayAgent = new UserPayAgent(); UserPayAgent.AId = SysAgent.Id; UserPayAgent.PId = PC.Id; if (UP == null) { UserPayAgent.Cost = (double)PC.CostUser; } else { UserPayAgent.Cost = (double)UP.Cost; } Entity.UserPayAgent.AddObject(UserPayAgent); } SMSCode.State = 2; Entity.SaveChanges(); //新添加这个里面会执行savecheng OpenOrBindUser(SysAgent.Id, Str); ViewBag.Msg = "操作成功!"; ViewBag.IsColse = true; return(View("Succeed")); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[SMSCode]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } //JObject pp = (JObject)p; SMSCode SMSCode = new SMSCode(); SMSCode = JsonToObject.ConvertJsonToModel(SMSCode, json); if (SMSCode.Mobile.IsNullOrEmpty() || SMSCode.CType.IsNullOrEmpty() || SMSCode.Code.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } //手机号码黑名单验证 if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == SMSCode.Mobile && UBL.State == 1) != null) { //提示暂不支持您手机号入网 DataObj.OutError("2026"); return; } //手机验证码 //失效之前获取验证码 SMSCode baseSMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.Mobile == SMSCode.Mobile && n.CType == SMSCode.CType && n.Code == SMSCode.Code); if (baseSMSCode == null) { DataObj.OutError("2033"); return; } if (baseSMSCode.State != 1) { DataObj.OutError("2034"); return; } SysSet SysSet = Entity.SysSet.FirstOrNew(); if (baseSMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { DataObj.OutError("2034"); return; } DataObj.Data = ""; DataObj.Code = "0000"; DataObj.OutString(); }
public void Save(Users Users) { if (Users.UserName.IsNullOrEmpty() || Users.PassWord.IsNullOrEmpty() || Users.Code.IsNullOrEmpty()) { Response.Write("0"); return; } //验证是否重复 Users Old = Entity.Users.FirstOrDefault(n => n.UserName == Users.UserName); if (Old != null) { Response.Write("1"); return; } if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Users.UserName && UBL.State == 1) != null) { Response.Write("6"); return; } //手机验证码 //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == 0 && n.Mobile == Users.UserName && n.CType == 1 && n.Code == Users.Code); if (SMSCode == null) { Response.Write("2"); return; } SysSet SysSet = Entity.SysSet.FirstOrNew(); if (SMSCode.State != 1) { Response.Write("3"); return; } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { Response.Write("4"); return; } Users.Agent = 1; //默认指定 Users.AId = 2; //默认指定 if (!Users.MyPId.IsNullOrEmpty()) { Users U = Entity.Users.FirstOrDefault(n => n.Id == Users.MyPId && n.State == 1); if (U == null) { Users.MyPId = 0; Utils.WriteLog("Users.MyPId=" + Users.MyPId + "Is Null!", "UsersRegAgent" + DateTime.Now.ToString("yyyy-MM-dd")); } else { Users.Agent = U.Agent; //默认指定 Users.AId = U.AId; //默认指定 } } else { Users.MyPId = 0; } if (!Users.PayConfigId.IsNullOrEmpty()) { PayConfigChange PCC = Entity.PayConfigChange.FirstOrDefault(n => n.Id == Users.PayConfigId && n.State == 1 && n.ShareNumber > 0); if (PCC == null) { Users.PayConfigId = 0; } Users.ShareType = 2; } else { Users.PayConfigId = 0; } if (Users.ShareType == 2) { if (Users.PayConfigId.IsNullOrEmpty() || Users.MyPId.IsNullOrEmpty()) { //Users.MyPId = 0; Users.PayConfigId = 0; } } else { if (Users.MyPId.IsNullOrEmpty()) { Users.MyPId = 0; } Users.PayConfigId = 0; } if (Users.MyPId == 0) { Response.Write("5"); return; } Users.PassWord = Users.PassWord.GetMD5(); Users.Mobile = Users.UserName; Users.EmailState = 0; Users.CardStae = 0; Users.State = 0; Users.Amount = 0; Users.Frozen = 0; Users.AddTime = DateTime.Now; Users.PayPwd = ""; //Users.Agent = 1;//默认指定 //Users.AId = 2;//默认指定 Users.MobileState = 2; Users.RegAddress = "网页注册," + Utils.GetAddressAndIp(); Users.X = "0"; Users.Y = "0"; Entity.Users.AddObject(Users); Entity.SaveChanges(); //======================================= UserTrack UserTrack = new UserTrack(); UserTrack.ENo = string.Empty; UserTrack.OPType = "网页注册"; UserTrack.IfYY = string.Empty; UserTrack.EqMobile = string.Empty; UserTrack.SysVer = Utils.GetCustomOS(); //操作系统版本 UserTrack.SoftVer = Utils.GetCustomBrowser(); //软件版本 UserTrack.SignalType = string.Empty; UserTrack.GPSAddress = string.Empty; UserTrack.GPSX = "0"; UserTrack.GPSY = "0"; Users.SeavGPSLog(UserTrack, Entity); //======================================= SMSCode.State = 2; SMSCode.UId = Users.Id; Entity.SaveChanges(); //自动开通 //IList<PayConfig> PCList = Entity.PayConfig.Where(n => n.State == 1).ToList(); //foreach (var PC in PCList) //{ // UserPay UserPay = new UserPay(); // UserPay.UId = Users.Id; // UserPay.PId = PC.Id; // UserPay.Cost = (double)PC.CostUser; // Entity.UserPay.AddObject(UserPay); //} SysAgent SysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == Users.Agent && n.State == 1); if (SysAgent == null) { Utils.WriteLog("Users.Id=" + Users.Id + "Read Agent Null Users.Agent=" + Users.Agent + "!", "UsersRegAgent" + DateTime.Now.ToString("yyyy-MM-dd")); SysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == 1 && n.State == 1); Users.Agent = SysAgent.Id; Users.AId = SysAgent.AdminId.GetValueOrDefault(); } //使用代理配置 IList <UserPayAgent> UPAList = Entity.UserPayAgent.Where(n => n.AId == SysAgent.Id).OrderBy(n => n.PId).ToList(); foreach (var p in UPAList) { UserPay UserPay = new UserPay(); UserPay.UId = Users.Id; UserPay.PId = p.PId; UserPay.Cost = p.Cost; Entity.UserPay.AddObject(UserPay); } //SysSet Sys = Entity.SysSet.FirstOrDefault(); //Users.Cash0 = Sys.Cash0; //Users.ECash0 = Sys.ECash0; //Users.Cash1 = Sys.Cash1; //Users.ECash1 = Sys.ECash1; //使用代理配置 Users.Cash0 = SysAgent.Cash0; Users.Cash1 = SysAgent.Cash1; Users.ECash0 = SysAgent.ECash0; Users.ECash1 = SysAgent.ECash1; Users.State = 1; Entity.SaveChanges(); //自动开通End Response.Write("OK"); }
public void GetCode(string UserName, string tuCode, int Agent = 0) { if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == UserName && UBL.State == 1) != null) { Response.Write("6"); return; } if (tuCode.IsNullOrEmpty()) { Response.Write("4"); return; } if (tuCode.ToUpper() != Session.GetCheckCode()) { Response.Write("4"); return; } Session.ClearCheckCode(); if (UserName.IsNullOrEmpty()) { return; } //验证是否重复 Users Old = Entity.Users.FirstOrDefault(n => n.UserName == UserName); if (Old != null) { Response.Write("1"); return; } DateTime Today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); SysSet SysSet = Entity.SysSet.FirstOrNew(); //统计今天已经发送注册验证码次数 int Times = Entity.SMSCode.Count(n => n.UId == 0 && n.Mobile == UserName && n.CType == 1 && n.AddTime >= Today); if (Times >= SysSet.SMSTimes) { Response.Write("2"); return; } if (Times > 0) { //第一次发送不获取,以节少系统资源 SMSCode SMSCode = Entity.SMSCode.Where(n => n.UId == 0 && n.Mobile == UserName && n.CType == 1 && n.AddTime >= Today).OrderByDescending(n => n.Id).FirstOrDefault(); if (SMSCode.AddTime.AddMinutes(1) >= DateTime.Now) { //最后一次发送到现在不足1分钟 Response.Write("3"); return; } } //失效之前获取验证码 IList <SMSCode> List = Entity.SMSCode.Where(n => n.UId == 0 && n.Mobile == UserName && n.CType == 1 && n.State == 1).ToList(); foreach (var p in List) { p.State = 0; } Entity.SaveChanges(); //生成验证码 string Code = Utils.RandomSMSCode(4); SMSCode SSC = new SMSCode(); SSC.CType = 1; SSC.UId = 0; SSC.Mobile = UserName; SSC.Code = Code; SSC.AddTime = DateTime.Now; SSC.State = 1; Entity.SMSCode.AddObject(SSC); Entity.SaveChanges(); SysAgent SA = Entity.SysAgent.FirstOrNew(n => n.Id == Agent); SA = SA.GetTopAgent(Entity); //发送验证码 SSC.SendSMS(SysSet, SA, Entity); Response.Write("OK"); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[UsersReplaceMobile]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } Users Users = new Users(); Users = JsonToObject.ConvertJsonToModel(Users, json); UserTrack UserTrack = new UserTrack(); UserTrack = JsonToObject.ConvertJsonToModel(UserTrack, json); if (Users.PayPwd.IsNullOrEmpty())//使用PayPwd字段 { DataObj.OutError("1000"); return; } if (Users.X.IsNullOrEmpty() || Users.Y.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } //手机号码黑名单验证 if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Users.UserName && UBL.State == 1) != null) { //提示暂不支持您手机号入网 DataObj.OutError("2026"); return; } if (Users.PayPwd.Length < 6)//6位及以上 { DataObj.OutError("1000"); return; } #region 校验 //获取用户信息 Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == Users.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.SAId != 0) { DataObj.OutError("2054"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } if (baseUsers.MiBao != 1)//未设置支付密码 { DataObj.OutError("2008"); return; } SysSet SysSet = Entity.SysSet.FirstOrNew(); //这里是执行指纹解锁 bool IfCheckOk = true; if (Users.PayPwd.Substring(0, 3) == "HF_") { string PassWord = Users.PayPwd; PassWord = PassWord.Replace("HF_", ""); string Token = baseUsers.Token; Token = Token + "GoodPay"; string Md5Token = Token.GetMD5().ToUpper(); string Pass = Md5Token.Substring(0, 4) + Md5Token.Substring(Md5Token.Length - 4, 4); if (Pass != PassWord) { IfCheckOk = false; } } else if (baseUsers.PayPwd != Users.PayPwd.GetPayMD5()) { //原支付密码错误 IfCheckOk = false; } if (!IfCheckOk) { //付密码错误 baseUsers.PayErr++; if (baseUsers.PayErr >= SysSet.PayLock) { baseUsers.PayLock = 1; } Entity.SaveChanges(); Users Out = new Users(); Out.PayErr = SysSet.PayLock - baseUsers.PayErr; Out.Cols = "PayErr"; DataObj.Data = Out.OutJson(); DataObj.Code = "2010"; DataObj.OutString(); return; } baseUsers.PayErr = 0; Entity.SaveChanges(); Users oldUsers = Entity.Users.FirstOrDefault(n => n.UserName == Users.Mobile); if (oldUsers != null)//用户已存在 { DataObj.OutError("2005"); return; } //手机验证码 //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == baseUsers.Id && n.CType == 4 && n.Code == Users.Code); if (SMSCode == null) { DataObj.OutError("2033"); return; } if (SMSCode.State != 1) { DataObj.OutError("2034"); return; } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { DataObj.OutError("2034"); return; } #endregion //修改用户信息 baseUsers.UserName = Users.UserName; baseUsers.Mobile = Users.UserName; SMSCode.State = 2; //添加跟踪信息 //======================================= UserTrack.ENo = DataObj.ENo; UserTrack.OPType = "更换手机号"; UserTrack.GPSAddress = Users.RegAddress; UserTrack.GPSX = Users.X; UserTrack.GPSY = Users.Y; baseUsers.SeavGPSLog(UserTrack, Entity); //======================================= DataObj.Data = ""; DataObj.Code = "0000"; DataObj.OutString(); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[UsersReg]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } //JObject pp = (JObject)p; Users Users = new Users(); Users = JsonToObject.ConvertJsonToModel(Users, json); if (Users.UserName.IsNullOrEmpty()) { // DataObj.OutError("1000"); return; } //手机号码黑名单验证 if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Users.UserName && UBL.State == 1) != null) { //提示暂不支持您手机号入网 DataObj.OutError("2026"); return; } //验证是否重复 Users Old = Entity.Users.FirstOrDefault(n => n.UserName == Users.UserName); if (Old != null) { DataObj.OutError("2005"); return; } DateTime Today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); SysSet SysSet = Entity.SysSet.FirstOrNew(); //统计今天已经发送注册验证码次数 int Times = Entity.SMSCode.Count(n => n.UId == 0 && n.Mobile == Users.UserName && n.CType == 1 && n.AddTime >= Today); if (Times >= SysSet.SMSTimes) { DataObj.OutError("2031"); return; } if (Times > 0) //第一次发送不获取,以节少系统资源 { SMSCode SMSCode = Entity.SMSCode.Where(n => n.UId == 0 && n.Mobile == Users.UserName && n.CType == 1 && n.AddTime >= Today).OrderByDescending(n => n.Id).FirstOrDefault(); if (SMSCode.AddTime.AddMinutes(1) >= DateTime.Now) //最后一次发送到现在不足1分钟 { DataObj.OutError("2032"); return; } } //失效之前获取验证码 IList <SMSCode> List = Entity.SMSCode.Where(n => n.UId == 0 && n.Mobile == Users.UserName && n.CType == 1 && n.State == 1).ToList(); foreach (var p in List) { p.State = 0; } Entity.SaveChanges(); //生成验证码 string Code = Utils.RandomSMSCode(4); SMSCode SSC = new SMSCode(); SSC.CType = 1; SSC.UId = 0; SSC.Mobile = Users.UserName; SSC.Code = Code; SSC.AddTime = DateTime.Now; SSC.State = 1; Entity.SMSCode.AddObject(SSC); Entity.SaveChanges(); SysAgent SA = Entity.SysAgent.FirstOrNew(n => n.Id == Users.Agent); SA = SA.GetTopAgent(Entity); //发送验证码 SSC.SendSMS(SysSet, SA, Entity); DataObj.Data = ""; DataObj.Code = "0000"; DataObj.OutString(); //Tools.OutString(ErrInfo.Return("0000")); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[UsersGetPayPass_2_0]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } Users Users = new Users(); Users = JsonToObject.ConvertJsonToModel(Users, json); if (Users.UserName.IsNullOrEmpty() || Users.Code.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } ////手机号码黑名单验证 //if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Users.UserName && UBL.State == 1) != null) //{ // //提示暂不支持您手机号入网 // DataObj.OutError("2026"); // return; //} Users BaseUsers = Entity.Users.Where(n => n.UserName == Users.UserName).FirstOrDefault(); if (BaseUsers == null)//用户不存在 { DataObj.OutError("2001"); return; } if (BaseUsers.State != 1) { DataObj.OutError("2003"); return; } if (BaseUsers.CardStae != 2)//未实名认证 { DataObj.OutError("2006"); return; } if (BaseUsers.MiBao != 1)//未设支付密码 { DataObj.OutError("2008"); return; } //手机验证码 //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == BaseUsers.Id && n.Mobile == BaseUsers.UserName && n.CType == 3 && n.Code == Users.Code); if (SMSCode == null) { DataObj.OutError("2033"); return; } SysSet SysSet = Entity.SysSet.FirstOrNew(); if (SMSCode.State != 1) { DataObj.OutError("2034"); return; } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { DataObj.OutError("2034"); return; } DateTime now = DateTime.Now; Guid Gid = Guid.NewGuid(); string mdstr = Users.Id + "|" + Users.UserName + "|" + Gid.ToString() + "|" + now.ToString(); string taken = mdstr.GetMD5(); BaseUsers.Token = "pppp" + taken; SMSCode.State = 2; Entity.SaveChanges(); BaseUsers.Cols = "Token"; DataObj.Data = BaseUsers.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[UsersReg_2_0]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } //JObject pp = (JObject)p; Users Users = new Users(); Users = JsonToObject.ConvertJsonToModel(Users, json); UserTrack UserTrack = new UserTrack(); UserTrack = JsonToObject.ConvertJsonToModel(UserTrack, json); if (Users.UserName.IsNullOrEmpty() || Users.PassWord.IsNullOrEmpty() || Users.Mobile.IsNullOrEmpty() || Users.X.IsNullOrEmpty() || Users.Y.IsNullOrEmpty()) { // DataObj.OutError("1000"); return; } //手机号码黑名单验证 if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Users.UserName && UBL.State == 1) != null) { //提示暂不支持您手机号入网 DataObj.OutError("2026"); return; } //验证是否重复 Users Old = Entity.Users.FirstOrDefault(n => n.UserName == Users.UserName); if (Old != null) { DataObj.OutError("2005"); return; } //Card Card = Entity.Card.FirstOrDefault(n => n.Code == Users.CardNum && n.PasWd == Users.CardPWD); //if (Card == null) { // DataObj.OutError("5001"); // return; //} //if (Card.State != 1) { // DataObj.OutError("5002"); // return; //} //if (Card.AId.IsNullOrEmpty()) //{ // DataObj.OutError("5002"); // return; //} //if (Card.AdminId.IsNullOrEmpty()) //{ // DataObj.OutError("5002"); // return; //} //手机验证码 //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == 0 && n.Mobile == Users.UserName && n.CType == 1 && n.Code == Users.Code); if (SMSCode == null) { DataObj.OutError("2033"); return; } SysSet SysSet = Entity.SysSet.FirstOrNew(); if (SMSCode.State != 1) { DataObj.OutError("2034"); return; } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { DataObj.OutError("2034"); return; } SysAgent SysAgent = null; //处理代理商 if (!Users.Agent.IsNullOrEmpty()) { SysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == Users.Agent); } if (SysAgent == null) { SysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == 1); } if (SysAgent == null) { SysAgent = Entity.SysAgent.Where(n => n.State == 1 && n.Tier == 1).OrderBy(n => n.Id).FirstOrDefault(); } if (SysAgent != null) { Users.Agent = SysAgent.Id; Users.AId = SysAgent.AdminId.GetValueOrDefault(); } Users.PassWord = Users.PassWord.GetMD5(); Users.MobileState = 0; Users.EmailState = 0; Users.CardStae = 0; Users.State = 0; Users.Amount = 0; Users.Frozen = 0; Users.AddTime = DateTime.Now; Users.PayPwd = ""; Users.MobileState = 2; Entity.Users.AddObject(Users); Entity.SaveChanges(); //======================================= UserTrack.ENo = DataObj.ENo; UserTrack.OPType = "应用注册"; UserTrack.GPSAddress = Users.RegAddress; UserTrack.GPSX = Users.X; UserTrack.GPSY = Users.Y; Users.SeavGPSLog(UserTrack, Entity); //======================================= SMSCode.State = 2; SMSCode.UId = Users.Id; Entity.SaveChanges(); //if (!Users.Id.IsNullOrEmpty()) { // Card.State = 2; // Entity.SaveChanges(); //} //自动开通 //IList<PayConfig> PCList = Entity.PayConfig.Where(n => n.State == 1).ToList(); //foreach (var PC in PCList) //{ // UserPay UserPay = new UserPay(); // UserPay.UId = Users.Id; // UserPay.PId = PC.Id; // UserPay.Cost = (double)PC.CostUser; // Entity.UserPay.AddObject(UserPay); //} //使用代理配置 IList <UserPayAgent> UPAList = Entity.UserPayAgent.Where(n => n.AId == SysAgent.Id).OrderBy(n => n.PId).ToList(); foreach (var p in UPAList) { UserPay UserPay = new UserPay(); UserPay.UId = Users.Id; UserPay.PId = p.PId; UserPay.Cost = p.Cost; Entity.UserPay.AddObject(UserPay); } //SysSet Sys = Entity.SysSet.FirstOrDefault(); //Users.Cash0 = Sys.Cash0; //Users.Cash1 = Sys.Cash1; //Users.ECash0 = Sys.ECash0; //Users.ECash1 = Sys.ECash1; //使用代理配置 Users.Cash0 = SysAgent.Cash0; Users.Cash1 = SysAgent.Cash1; Users.ECash0 = SysAgent.ECash0; Users.ECash1 = SysAgent.ECash1; Users.State = 1; Entity.SaveChanges(); //自动开通End DataObj.Data = ""; DataObj.Code = "0000"; DataObj.OutString(); //Tools.OutString(ErrInfo.Return("0000")); }