public void Add(BasicCardBin BasicCardBin) { BasicCardBin = Request.ConvertRequestToModel <BasicCardBin>(BasicCardBin, BasicCardBin); Entity.BasicCardBin.AddObject(BasicCardBin); Entity.SaveChanges(); BaseRedirect(); }
public ActionResult Index(BasicCardBin BasicCardBin, EFPagingInfo <BasicCardBin> p, int IsFirst = 0) { if (!BasicCardBin.BankCode.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.BankCode == BasicCardBin.BankCode); } if (!BasicCardBin.BIN.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.BIN == BasicCardBin.BIN); } if (!BasicCardBin.BankName.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.BankName == BasicCardBin.BankName); } p.OrderByList.Add("Id", "DESC"); IPageOfItems <BasicCardBin> BasicCardBinList; if (IsFirst == 0) { BasicCardBinList = new PageOfItems <BasicCardBin>(new List <BasicCardBin>(), 0, 10, 0, new Hashtable()); } else { BasicCardBinList = Entity.Selects <BasicCardBin>(p); } ViewBag.BasicCardBinList = BasicCardBinList; ViewBag.BasicCardBin = BasicCardBin; ViewBag.Add = this.checkPower("Add"); ViewBag.Edit = this.checkPower("Edit"); ViewBag.Delete = this.checkPower("Delete"); ViewBag.Save = this.checkPower("Save"); return(View()); }
public void ChangeStatus(BasicCardBin BasicCardBin, string InfoList, string Clomn, string Value) { if (string.IsNullOrEmpty(InfoList)) { InfoList = BasicCardBin.Id.ToString(); } int Ret = Entity.ChangeEntity <BasicCardBin>(InfoList, Clomn, Value); Entity.SaveChanges(); Response.Write(Ret); }
public void Delete(BasicCardBin BasicCardBin, string InfoList, int?IsDel) { if (string.IsNullOrEmpty(InfoList)) { InfoList = BasicCardBin.Id.ToString(); } int Ret = Entity.MoveToDeleteEntity <BasicCardBin>(InfoList, IsDel, AdminUser.UserName); Entity.SaveChanges(); Response.Write(Ret); }
public void Save(BasicCardBin BasicCardBin) { BasicCardBin baseBasicCardBin = Entity.BasicCardBin.FirstOrDefault(n => n.Id == BasicCardBin.Id); if (baseBasicCardBin == null) { Response.Write("数据不存在"); return; } baseBasicCardBin = Request.ConvertRequestToModel <BasicCardBin>(baseBasicCardBin, BasicCardBin); Entity.SaveChanges(); BaseRedirect(); }
public ActionResult Edit(BasicCardBin BasicCardBin) { if (BasicCardBin.Id != 0) { BasicCardBin = Entity.BasicCardBin.FirstOrDefault(n => n.Id == BasicCardBin.Id); } if (BasicCardBin == null) { ViewBag.ErrorMsg = "数据不存在"; return(View("Error")); } ViewBag.BasicCardBin = BasicCardBin; if (Request.UrlReferrer != null) { Session["Url"] = Request.UrlReferrer.ToString(); } return(View()); }
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); DataObj.Data = ""; UserCard.Card = UserCard.Card.Replace(" ", ""); if (!UserCard.Card.IsNullOrEmpty() && UserCard.Card.Length >= 6) { string wei6 = UserCard.Card.Substring(0, 6); BasicCardBin BasicCardBin = Entity.BasicCardBin.FirstOrDefault(o => o.BIN == wei6); if (BasicCardBin != null) { BasicCardBin.Card = UserCard.Card; BasicCardBin.Cols = "BankName,CardType,Card"; DataObj.Data = BasicCardBin.OutJson(); } } DataObj.Code = "0000"; DataObj.OutString(); }
public ActionResult AddCard(string etnum, string Card = "", string Mobile = "", string code = "") { string tnum = LokFuEncode.LokFuAPIDecode(etnum, DllName); FastOrder FastOrder = Entity.FastOrder.FirstOrDefault(n => n.TNum == tnum); if (FastOrder == null) { ViewBag.ErrorMsg = "订单有误!"; return(View("Error")); } Users Users = Entity.Users.FirstOrDefault(n => n.Id == FastOrder.UId); if (Users == null) { ViewBag.ErrorMsg = "商户信息有误!"; return(View("Error")); } ViewBag.FastOrder = FastOrder; ViewBag.Users = Users; ViewBag.etnum = etnum; if (!Card.IsNullOrEmpty() && !Mobile.IsNullOrEmpty() && !code.IsNullOrEmpty()) { if (Card.Length > 20) { ViewBag.ErrorMsg = "卡号长度超限!"; return(View("Error")); } if (Mobile.Length > 20) { ViewBag.ErrorMsg = "手机号码长度超限!"; return(View("Error")); } if (code.ToUpper() != Session.GetCheckCode()) { ViewBag.ErrorMsg = "验证码错误!"; return(View("Error")); } Session.ClearCheckCode(); //绑卡前验证是否有鉴权权限 UsersPayCard UsersPayCard = Entity.UsersPayCard.FirstOrDefault(n => n.Card == Card && n.Mobile == Mobile && n.UId == FastOrder.UId); if (UsersPayCard == null)//不存在则绑卡 { UserBlackList UserBlackList = Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Card && UBL.State == 3); if (UserBlackList != null) { ViewBag.ErrorMsg = "暂不支持该银行卡绑卡"; return(View("Error")); } string HaoFu_Auth_MerId = ConfigurationManager.AppSettings["HaoFu_Auth_MerId"].ToString(); string HaoFu_Auth_MerKey = ConfigurationManager.AppSettings["HaoFu_Auth_MerKey"].ToString(); string HaoFu_Auth_Url = ConfigurationManager.AppSettings["HaoFu_Auth_Url"].ToString(); string data = "{\"action\":\"authuser\",\"merid\":\"" + HaoFu_Auth_MerId + "\",\"orderid\":\"" + FastOrder.TNum + "\",\"bankaccount\":\"" + Card + "\",\"accountname\":\"" + Users.TrueName + "\",\"identitycode\":\"" + Users.CardId + "\",\"mobile\":\"" + Mobile + "\"}"; string DataBase64 = LokFuEncode.Base64Encode(data, "utf-8"); string Sign = (DataBase64 + HaoFu_Auth_MerKey).GetMD5(); DataBase64 = HttpUtility.UrlEncode(DataBase64, Encoding.UTF8); string postdata = "req=" + DataBase64 + "&sign=" + Sign; string CONTENT = Utils.PostRequest(HaoFu_Auth_Url, postdata, "utf-8"); JObject JS = new JObject(); try { JS = (JObject)JsonConvert.DeserializeObject(CONTENT); } catch (Exception) { ViewBag.ErrorMsg = "请求银联鉴权失败!【00】"; return(View("Error")); } string resp = JS["resp"].ToString(); CONTENT = LokFuEncode.Base64Decode(resp, "utf-8"); try { JS = (JObject)JsonConvert.DeserializeObject(CONTENT); } catch (Exception) { ViewBag.ErrorMsg = "请求银联鉴权失败!【01】"; return(View("Error")); } string ret_code = JS["respcode"].ToString(); if (ret_code == "0000") { string BankNumLeft = Card.Substring(0, 6); //获取卡Bin BasicCardBin BasicCardBin = Entity.BasicCardBin.FirstOrDefault(n => n.BIN == BankNumLeft); string bankName = "银联卡"; byte CardType = 0; if (BasicCardBin != null) { bankName = BasicCardBin.BankName; CardType = (byte)BasicCardBin.CardType; } else { } UsersPayCard = new UsersPayCard(); UsersPayCard.UId = FastOrder.UId; UsersPayCard.Type = CardType; UsersPayCard.Bank = bankName; UsersPayCard.Name = Users.TrueName; UsersPayCard.Card = Card; UsersPayCard.Mobile = Mobile; UsersPayCard.State = 1; UsersPayCard.AddTime = DateTime.Now; Entity.UsersPayCard.AddObject(UsersPayCard); Entity.SaveChanges(); Response.Redirect("GoPay.html?BankId=" + UsersPayCard.Id + "&etnum=" + HttpUtility.UrlEncode(etnum)); } else { string ret_msg = JS["respmsg"].ToString(); ViewBag.ErrorMsg = "银行卡认证失败!"; return(View("Error")); } } else { if (UsersPayCard.State == 0) { UsersPayCard.State = 1; Entity.SaveChanges(); } Response.Redirect("GoPay.html?BankId=" + UsersPayCard.Id + "&etnum=" + HttpUtility.UrlEncode(etnum)); } } return(View()); }
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"); } }