/// <summary> /// 撤销投注 /// </summary> /// <param name="betcode"></param> private void CannelBettNum(string betcode) { if (string.IsNullOrEmpty(betcode)) { AppGlobal.RenderResult(ApiCode.Fail); return; } IBetDetailService betDetailService = IoC.Resolve <IBetDetailService>(); //验证请求参数是否正确 var fs = betDetailService.Where(item => item.BetCode == betcode).FirstOrDefault(); if (null == fs) { AppGlobal.RenderResult(ApiCode.Fail); return; } //撤单处理 fs.Stauts = BetResultType.SysCancel; betDetailService.Save(); //返还金额 ISysUserBalanceService sysUserBalanceService = IoC.Resolve <ISysUserBalanceService>(); var details = new SysUserBalanceDetail() { RelevanceNo = fs.BetCode, SerialNo = "b" + Utils.BuilderNum(), Status = 0, TradeAmt = fs.TotalAmt, TradeType = TradeType.撤单返款, UserId = fs.UserId }; sysUserBalanceService.UpdateUserBalance(details, fs.TotalAmt); }
/// <summary> /// 终止追号 /// </summary> private void CannelCatchNum(string catchNum, string catchNumIssueCode) { ISysCatchNumService sysCatchNumService = IoC.Resolve <ISysCatchNumService>(); ISysCatchNumIssueService sysCatchNumIssueService = IoC.Resolve <ISysCatchNumIssueService>(); //验证当前单号是否正在进行 var fs = sysCatchNumService.Where(item => item.CatchNumCode == catchNum).FirstOrDefault(); if (fs == null) { //非法撤单 AppGlobal.RenderResult(ApiCode.Fail); return; } //获取注单详情 var source = sysCatchNumIssueService.GetCatchIssue(catchNum); //获取用户余额 CatchNumIssue catchNumIssue = null; int noCannelCount = 0; foreach (var item in source) { //未开奖的状态才允许撤单 if (catchNumIssueCode == item.CatchNumIssueCode) { fs.UserCannelIssue++; fs.UserCannelMonery += item.TotalAmt; item.Stauts = BetResultType.SysCancel; //对本注进行撤单 catchNumIssue = item; } if (item.Stauts == BetResultType.NotOpen) { noCannelCount++; } } //撤单 sysCatchNumIssueService.Save(); if (noCannelCount <= 0) //全部撤销 { sysCatchNumService.CannelCatch(catchNum); } sysCatchNumService.Save(); //返还金额 if (catchNumIssue != null) { ISysUserBalanceService sysUserBalanceService = IoC.Resolve <ISysUserBalanceService>(); var details = new SysUserBalanceDetail() { RelevanceNo = catchNumIssue.CatchNumIssueCode, SerialNo = "b" + Utils.BuilderNum(), Status = 0, TradeAmt = catchNumIssue.TotalAmt, TradeType = TradeType.追号返款, UserId = fs.UserId }; sysUserBalanceService.UpdateUserBalance(details, catchNumIssue.TotalAmt); } }
//开始抽奖 private string ExRotate() { string result = "-1"; ILargeRotaryService mLargeRotaryService = IoC.Resolve <ILargeRotaryService>(); var item = mLargeRotaryService.GetNowItem(CookUserInfo.Id); int lastCount = 0; if (item == null || item.SubCount >= item.ALlCount) { result = "-1,0,0";//已经没有抽奖的次数了 } else { //插入一次 item.SubCount += 1; mLargeRotaryService.Save();//保存 lastCount = item.ALlCount - item.SubCount; //抽奖结果 var iawards = Awards(); if (iawards.Name != None.ToString()) { var monery = GetMonery(iawards.Name); //存入账号 var details = new BasicModel.SysUserBalanceDetail() { RelevanceNo = CookUserInfo.Id.ToString(), SerialNo = "q" + Utils.BuilderNum(), Status = 0, TradeAmt = monery, TradeType = BasicModel.TradeType.幸运大转盘, UserId = CookUserInfo.Id }; //奖励金额 ISysUserBalanceService userBalanceServices = IoC.Resolve <ISysUserBalanceService>(); if (userBalanceServices.UpdateUserBalance(details, monery) > 0) { } result = "1," + iawards.Name + "," + lastCount; } else { result = "0,0," + lastCount;//未中奖 } } return(result + "," + lastCount); }
/// <summary> /// 充值金额, 当天第一次充值 /// </summary> /// <param name="userAmt"></param> /// <returns></returns> public static bool ManagerSend(decimal userAmt, int userid, string relevanceNo) { //验证当天是否领取过充值奖励 ISendHisterService sendHisterService = IoC.Resolve <ISendHisterService>(); if (sendHisterService.Where(x => x.OccDay == Convert.ToInt32(DateTime.Now.ToString("yyyyMMdd"))).Count() > 0) { return(false); } ISysUserBalanceService balanceService = IoC.Resolve <ISysUserBalanceService>(); //用户余额 var activityMonery = RechargeConfig.AppendMonery(userAmt); //充值活动; if (activityMonery > 0) { //创建活动账变 balanceService.UpdateUserBalance(new SysUserBalanceDetail() { BankId = -1, RelevanceNo = relevanceNo, SerialNo = "d" + Utils.BuilderNum(), Status = 0, TradeAmt = activityMonery, TradeType = Ytg.BasicModel.TradeType.充值活动, UserAmt = activityMonery, UserId = userid, }, activityMonery); //更新用户提款流水要求 赠送金额 10 倍流水 decimal bili = 8; ISysUserService userServices = IoC.Resolve <ISysUserService>(); decimal minOutMonery = (activityMonery + userAmt) * bili; if (userServices.UpdateUserMinMinBettingMoney(userid, minOutMonery) > 0) { //更新用户提款流水要求 sendHisterService.Create(new SendHister() { OccDate = DateTime.Now, OccDay = Convert.ToInt32(DateTime.Now.ToString("yyyyMMdd")), UserId = userid }); sendHisterService.Save(); return(true); } } return(false); }
/// <summary> /// 修改用户余额 /// </summary> /// <param name="uid"></param> /// <param name="amt"></param> public void UpdateUserBanance(int uid, decimal amt, TradeType tp, string relevanceNo, int moneryType) { //修改当前用户余额 var item = new SysUserBalanceDetail() { OpUserId = uid, SerialNo = "d" + Ytg.Comm.Utils.BuilderNum(), Status = 0, TradeType = tp, UserId = uid, RelevanceNo = relevanceNo }; mSysUserBalanceService.UpdateUserBalance(item, moneryType == 0 ? amt : -amt); }
//开始抽奖 private string ExRotate() { string result = ""; //验证今天是否签到 ISignService signServices = IoC.Resolve <ISignService>(); //查询今天是否已经签到过 int occday = Convert.ToInt32(DateTime.Now.ToString("yyyyMMdd")); var fs = signServices.Where(c => c.Uid == CookUserInfo.Id && c.OccDay == occday).FirstOrDefault(); if (fs != null) { if (fs.IsDap) { return(result = "-3,0,0");//已经抽过了 } fs.IsDap = true; signServices.Save(); //存储状态 var iawards = Awards(); var monery = Convert.ToDecimal(iawards.Name); //抽取的金额 //RechargeConfig.LotteryLevelMonery(Convert.ToInt32(iawards.Name)); //存入账号 var details = new BasicModel.SysUserBalanceDetail() { RelevanceNo = CookUserInfo.Id.ToString(), SerialNo = "q" + Utils.BuilderNum(), Status = 0, TradeAmt = monery, TradeType = BasicModel.TradeType.幸运大转盘, UserId = CookUserInfo.Id }; //奖励金额 ISysUserBalanceService userBalanceServices = IoC.Resolve <ISysUserBalanceService>(); if (userBalanceServices.UpdateUserBalance(details, monery) > 0) { } result = "1," + iawards.Name + "," + 0; } else { //今天没签到呢 result = "-1,0,0";//已经没有抽奖的次数了 } return(result + ",0"); }
protected void btnMe_Click(object sender, EventArgs e) { if (CookUserInfo.Rebate != 0 || CookUserInfo.Rebate != 0.1) { Response.End(); return; } int betUserCount = 0; var bettMonery = GetM(ref betUserCount); decimal dm = Convert.ToDecimal(bettMonery); if (dm > 0) { //插入工资 //插入账变 //存入账号 var details = new BasicModel.SysUserBalanceDetail() { RelevanceNo = CookUserInfo.Id.ToString(), SerialNo = "q" + Utils.BuilderNum(), Status = 0, TradeAmt = dm, TradeType = BasicModel.TradeType.分红, UserId = CookUserInfo.Id }; //奖励金额 ISysUserBalanceService userBalanceServices = IoC.Resolve <ISysUserBalanceService>(); if (userBalanceServices.UpdateUserBalance(details, dm) > 0) { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('领取日工资成功!');</script>"); return; } } ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('领取日工资失败,请稍后再试!');</script>"); }
protected void btnMe_Click(object sender, EventArgs e) { if (this.Master != null) { UserAmt = (this.Master as lotterySite).GetUserBalance(); } if (!Utils.HasAvtivityDateTimes()) { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('活动时间为每日07:30:00 – 次日凌晨02:00:00!');</script>"); return; } //验证当天是否领取过礼包 int occDay = Utils.GetActivityOccDay(); ILargeRotaryService mLargeRotaryService = IoC.Resolve <ILargeRotaryService>(); var fst = mLargeRotaryService.Where(x => x.ALlCount == occDay && x.Uid == CookUserInfo.Id).FirstOrDefault(); if (fst != null) { Alert("今天已经领取过礼包了,明天再来吧!"); return; } DateTime beginDate = Utils.GetNowBeginDate().AddDays(-1); DateTime endDate = beginDate.AddDays(1); //获取用户当日有效投注量 IBetDetailService detailService = IoC.Resolve <IBetDetailService>(); var monery = detailService.GetUserBettMonery(this.CookUserInfo.Id, beginDate, endDate); if (monery <= 0) { Alert("没有可领取的礼包,投注未达标!"); return; } var dm = GetMonery(monery); if (dm <= 0) { Alert("没有可领取的礼包,投注未达标!"); return; } //插入账变 //存入账号 var details = new BasicModel.SysUserBalanceDetail() { RelevanceNo = CookUserInfo.Id.ToString(), SerialNo = "q" + Utils.BuilderNum(), Status = 0, TradeAmt = dm, TradeType = BasicModel.TradeType.投注送礼包, UserId = CookUserInfo.Id }; //奖励金额 ISysUserBalanceService userBalanceServices = IoC.Resolve <ISysUserBalanceService>(); if (userBalanceServices.UpdateUserBalance(details, dm) > 0) { string message = "领取礼包成功,领取金额为:" + dm + "<br/>"; message += "昨日投注金额" + string.Format("{0:N2}", monery) + "<br>"; message += "感谢你的参与,祝你游戏愉快!"; ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert(\"" + message + "\",1,function(){refchangemonery();});</script>"); //添加领取记录 mLargeRotaryService.Create(new BasicModel.LargeRotary() { Uid = CookUserInfo.Id, ALlCount = Utils.GetActivityOccDay() }); mLargeRotaryService.Save(); isautoRefbanner = false; } else { Alert("礼包领取失败,请稍后再试!"); } }
/// <summary> /// 充值赠送 /// </summary> private bool ManagerCallBackLogic(RecordTemp tempItem) { bool isCompled = false;//是否完成 if (tempItem.IsCompled) { //活动,获取充值返现 IMarketService marjetService = IoC.Resolve <IMarketService>(); //存储账变,修改用户余额 ISysUserBalanceDetailService balanceDetailService = IoC.Resolve <ISysUserBalanceDetailService>(); //账号变详情 ISysUserBalanceService balanceService = IoC.Resolve <ISysUserBalanceService>(); //用户余额 var balanceitem = balanceService.GetUserBalance(tempItem.UserId); //修改用户余额 if (balanceitem == null || balanceitem.Status == 1) { isCompled = false; AppendLog("用户资金被禁用,请联系在线客服!"); } else { //获取充值返现活动 //if (tempItem.TradeAmt >= 100) //{ // var czfx = marjetService.GetCzfxMarket(); // if (!czfx.IsColse) // { // var guize = Newtonsoft.Json.JsonConvert.DeserializeObject<List<KeyValue>>(czfx.MarketRule); // if (null != guize && guize.Count > 0) // { // var percentage = guize.Where(c => c.key == "Percentage").FirstOrDefault(); // double bacnNum; // if (double.TryParse(percentage.value, out bacnNum)) // { // tempItem.TradeAmt += tempItem.TradeAmt * Convert.ToDecimal((bacnNum / 100)); // } // } // } //} var oldm = balanceitem.UserAmt; //var activityMonery = RechargeConfig.AppendMonery(tempItem.TradeAmt);//充值活动; // var activityOld = 0m; //修改 //balanceitem.UserAmt += tempItem.TradeAmt; //activityOld = balanceitem.UserAmt; //balanceitem.UserAmt += activityMonery; //balanceService.Save(); //var appendTradeAmt=tempItem.TradeAmt+activityMonery; balanceService.UpdateUserBalance(new Ytg.BasicModel.SysUserBalanceDetail() { BankId = tempItem.BankId, RelevanceNo = tempItem.Id.ToString(), SerialNo = "d" + Utils.BuilderNum(), Status = 0, TradeAmt = tempItem.TradeAmt, TradeType = Ytg.BasicModel.TradeType.用户充值, UserAmt = oldm, UserId = tempItem.UserId, }, tempItem.TradeAmt); //if (activityMonery > 0) //{ // //创建活动账变 // balanceService.UpdateUserBalance(new SysUserBalanceDetail() // { // BankId = tempItem.BankId, // RelevanceNo = tempItem.Id.ToString(), // SerialNo = "d" + Utils.BuilderNum(), // Status = 0, // TradeAmt = activityMonery, // TradeType = Ytg.BasicModel.TradeType.充值活动, // UserAmt = activityOld, // UserId = tempItem.UserId, // }, activityMonery); //} //更新用户提款流水要求 //chongzhiBili //double bili = 5; //ISysSettingService settingService = IoC.Resolve<ISysSettingService>(); //var fs = settingService.GetAll().Where(x => x.Key == "chongzhiBili").FirstOrDefault(); //if (null != fs) //{ // if (!double.TryParse(fs.Value, out bili)) // bili = 5; //} //ISysUserService userServices = IoC.Resolve<ISysUserService>(); //var minOutMonery=(tempItem.TradeAmt * (decimal)(bili / 100)); //if (userServices.UpdateUserMinMinBettingMoney(tempItem.UserId, minOutMonery) > 0) //{ // //更新用户提款流水要求 // isCompled = true; //} //isCompled = Ytg.ServerWeb.Views.pay.WebRechangComm.ManagerSend(tempItem.TradeAmt, tempItem.UserId, tempItem.Id.ToString()); //if (!isCompled) isCompled = Ytg.ServerWeb.Page.PageCode.UserComm.ManagerRecharge(tempItem.TradeAmt, tempItem.UserId); } } return(isCompled); }
/// <summary> /// 领取奖励 1 为活动未开始 2签到时间未完成要求 -1为异常 /// </summary> /// <returns></returns> protected void btnME_Click(object sender, EventArgs e) { if (this.Master != null) { UserAmt = (this.Master as lotterySite).GetUserBalance(); } if (!Utils.HasAvtivityDateTimes()) { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('活动时间为每日07:30:00 – 次日凌晨02:00:00!');</script>"); return; } //领取奖励,获取当前签到次数 ISignService signServices = IoC.Resolve <ISignService>(); int count = signServices.Where(c => c.Uid == CookUserInfo.Id && c.IsBack == false).Count();//当前签到总数 try { decimal monery = 0m;//奖励 if (count >= 28) { monery = 188; } else if (count >= 20) { monery = 88; } else if (count >= 14) { monery = 58; } else if (count >= 7) { monery = 18; } if (monery < 1) { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('签到时间未完成要求,领取奖励失败!'); </script>"); return; } var result = signServices.Where(c => c.Uid == CookUserInfo.Id); foreach (var item in result) { item.IsBack = true; signServices.Save(); } signServices.Save(); var details = new BasicModel.SysUserBalanceDetail() { RelevanceNo = CookUserInfo.Id.ToString(), SerialNo = "q" + Utils.BuilderNum(), Status = 0, TradeAmt = monery, TradeType = BasicModel.TradeType.签到有你, UserId = CookUserInfo.Id }; //奖励金额 ISysUserBalanceService userBalanceServices = IoC.Resolve <ISysUserBalanceService>(); if (userBalanceServices.UpdateUserBalance(details, monery) > 0) { string mesggage = "领取奖金成功,共签到" + count + "天领取金额为:" + monery + "<br/>"; mesggage += "感谢你的参与,祝你游戏愉快!"; ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('" + mesggage + "',2,function(){refchangemonery();});</script>"); isautoRefbanner = false; } BindSgins(); return; } catch (Exception ex) { Ytg.Scheduler.Comm.LogManager.Error("btnME_Click", ex); } ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('奖励领取失败,请稍后再试!');</script>"); }
protected void btnME_Click(object sender, EventArgs e) { if (this.Master != null) { UserAmt = (this.Master as lotterySite).GetUserBalance(); } if (CookUserInfo.UserType != BasicModel.UserType.Proxy && CookUserInfo.UserType != BasicModel.UserType.BasicProy || !Utils.HasAvtivityDateTimes()) { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('活动时间为每日07:30:00 – 次日凌晨02:00:00!');</script>"); return; } ICommissionsService commissionsService = IoC.Resolve <ICommissionsService>(); if (commissionsService.HasReceive(CookUserInfo.Id, Utils.GetActivityOccDay())) { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('您今天已经领取过佣金,请明天再来!');</script>"); // this.btnME.Visible = false; return; } try { ISysUserService userServices = IoC.Resolve <ISysUserService>(); ISysUserBalanceDetailService userBalanceDetailService = IoC.Resolve <ISysUserBalanceDetailService>(); var result = userBalanceDetailService.GetChildrensByMonery(CookUserInfo.Id); if (null == result || result.Count < 1) { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('下级投注量未完成要求,领取奖励失败!');</script>"); return; } List <MessageEntity> messageEntitys = new List <MessageEntity>(); decimal sumMonery = 0M; bool isCompled = false; foreach (var item in result) { if (item.ParentId == null) { continue; } var sumValue = item.TradeAmt; //消费金额 int proxyLevel = -1; //1代表直属下级 2代表下下级 超过三级,不给于奖励 if (item.ParentId == CookUserInfo.Id) { //直属下级 proxyLevel = 1; } else { if (userServices.HasParentIsParentid(item.ParentId.Value, CookUserInfo.Id)) { proxyLevel = 2; } else { continue; } } var monery = RechargeConfig.CommissionsMonery(sumValue, proxyLevel, messageEntitys); if (monery < 1) { continue; } //用于组织数据 sumMonery += monery; //插入佣金 commissionsService.Create(new BasicModel.Commission() { UserId = CookUserInfo.Id, WinMonery = monery, ChildrenByMonery = sumValue, OccDaty = Utils.GetActivityOccDay() }); commissionsService.Save(); } //奖励金额 if (sumMonery > 0) { ISysUserBalanceService userBalanceServices = IoC.Resolve <ISysUserBalanceService>(); var details = new BasicModel.SysUserBalanceDetail() { RelevanceNo = CookUserInfo.Id.ToString(), SerialNo = "q" + Utils.BuilderNum(), Status = 0, TradeAmt = sumMonery, TradeType = BasicModel.TradeType.佣金大返利, UserId = CookUserInfo.Id }; if (userBalanceServices.UpdateUserBalance(details, sumMonery) > 0) { isCompled = true; } } if (isCompled) { Content = "领取佣金成功,领取金额为:" + sumMonery + ";<br/>" + BuilderMessage(messageEntitys) + "感谢你的参与,祝你游戏愉快!"; //ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.confirm('" + showMessgae + "');</script>"); isautoRefbanner = false; } else { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('下级投注量未完成要求,领取奖励失败!');</script>"); } return; } catch (Exception ex) { Ytg.Scheduler.Comm.LogManager.Error("btnME_Click", ex); } ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script type=\"text/javascript\">$.alert('奖励领取失败,请稍后再试!');</script>"); }
public bool MentionDone(int id, int status, decimal realAmt, decimal poundage, string errorMsg) { var item = this.Get(id); item.ErrorMsg = errorMsg; if (null == item || status > 3) { return(false); } item.Status = status; item.SendTime = DateTime.Now; if (status == 1) { item.RealAmt = realAmt; item.Poundage = poundage; } try { this.Save(); //存储消息 string title = string.Empty; string message = string.Empty; TradeType tradeType = TradeType.提现失败; switch (item.Status) { case 1: title = string.Format("编号为【{0}】提现成功", item.MentionCode); message = string.Format("编号为【{0}】的提现申请已成功处理,请注意查看您的帐变信息,如有任何疑问请联系在线客服。", item.MentionCode); break; case 2: title = string.Format("编号为【{0}】的提现申请失败", item.MentionCode); message = string.Format("编号为【{0}】的提现申请失败!原因【" + errorMsg + "】,如有任何疑问请联系在线客服。", item.MentionCode); break; case 3: title = string.Format("编号为【{0}】的提现申请已撤销", item.MentionCode); message = string.Format("编号为【{0}】的提现申请已撤销,如果有问题请联系我们的在线客服。", item.MentionCode); tradeType = TradeType.撤销提现; break; } //插入账变,提现失败,返回账号 if (item.Status != 1) { ISysUserBalanceService userBalanceService = IoC.Resolve <ISysUserBalanceService>(); userBalanceService.UpdateUserBalance(new SysUserBalanceDetail() { RelevanceNo = item.MentionCode, SerialNo = "d" + Utils.BuilderNum(), TradeAmt = realAmt, TradeType = tradeType, UserId = item.UserId, }, item.MentionAmt); } //提现成功,修改排队记录 if (item.Status == 1) { string sql = "update MentionQueus set QueuNumber=QueuNumber-1 where Status=0 and QueuNumber>0"; this.mRepo.GetDbContext.Database.ExecuteSqlCommand(sql); } //插入消息 IMessageService messageServer = IoC.Resolve <IMessageService>(); messageServer.Create(new Message() { FormUserId = -1, MessageContent = message, MessageType = 1, Status = 0, Title = title, ToUserId = item.UserId }); messageServer.Save(); //修改提款限制为0 ISysUserService userService = IoC.Resolve <ISysUserService>(); userService.DefaultUserMinMinBettingMoney(item.UserId); return(true); } catch (Exception ex) { log.Error("MentionDone", ex); return(false); } }
/* * MY18DT=到帐时间 * MY18oid=支付宝/财付通/网银交易流水号 * MY18JYF=打款人 * MY18FY=附言内容 * MY18M=打款金额 * MY18HF=手续费 * MY18SKR=收款人 * MY18PT=支付方式 * ?MY18DT=2015/06/09&MY18oid=1321611&MY18JYF=和清华&MY18FY=31&MY18M=50&MY18HF=0&MY18SKR=ss&MY18PT=招商银行 */ protected void Page_Load(object sender, EventArgs e) { string MY18DT = Request.Params["MY18DT"]; //到帐时间 string MY18oid = Request.Params["MY18oid"]; //支付宝/财付通/网银交易流水号 string MY18JYF = Request.Params["MY18JYF"]; //打款人 string MY18FY = Request.Params["MY18FY"]; //附言内容 string MY18M = Request.Params["MY18M"]; //打款金额 string MY18HF = Request.Params["MY18HF"]; //手续费 string MY18SKR = Request.Params["MY18SKR"]; //收款人 string MY18PT = Request.Params["MY18PT"]; //支付方式 LogManager.Info(string.Format("MY18DT={0} MY18oid={1} MY18JYF={2} MY18FY={3} MY18M={4} MY18HF={5} MY18SKR={6} MY18PT={7}", MY18DT, MY18oid, MY18JYF, MY18FY, MY18M, MY18HF, MY18SKR, MY18PT)); string ip = Utils.GetIp(); LogManager.Info(ip); if (!YtgConfig.mYtg_User_RechargeIps.Split(',').Contains(ip))//不是允许访问的ip地址列表,怎不做任何处理 { return; } int ourMY18FY; if (!string.IsNullOrEmpty(MY18DT) && !string.IsNullOrEmpty(MY18oid) && int.TryParse(MY18FY, out ourMY18FY)) { IRecordTempService recordService = IoC.Resolve <IRecordTempService>(); var tempItem = recordService.Get(ourMY18FY); if (null == tempItem || tempItem.IsCompled) { return; } tempItem.MY18DT = MY18DT; tempItem.MY18oid = MY18oid; tempItem.MY18JYF = MY18JYF; tempItem.MY18FY = MY18FY; tempItem.MY18M = MY18M; tempItem.MY18HF = MY18HF; tempItem.MY18SKR = MY18SKR; tempItem.MY18PT = MY18PT; bool isCompled = true; //验证充值金额是否和提交订单金额一致 decimal MY18HFDec; if (decimal.TryParse(MY18M, out MY18HFDec)) { if (MY18HFDec == tempItem.TradeAmt) { //订单完成,充值金额和订单金额一致 ISysUserBalanceService balanceService = IoC.Resolve <ISysUserBalanceService>();//用户余额 var balanceitem = balanceService.GetUserBalance(tempItem.UserId); try { //更新用户账变 balanceService.UpdateUserBalance(new Ytg.BasicModel.SysUserBalanceDetail() { BankId = tempItem.BankId, RelevanceNo = tempItem.Id.ToString(), SerialNo = "m" + Utils.BuilderNum(), Status = 0, TradeAmt = tempItem.TradeAmt, TradeType = Ytg.BasicModel.TradeType.用户充值, UserAmt = balanceitem.UserAmt, UserId = tempItem.UserId, }, tempItem.TradeAmt); tempItem.IsCompled = true; recordService.Save(); isCompled = Ytg.ServerWeb.Page.PageCode.UserComm.ManagerRecharge(tempItem.TradeAmt, tempItem.UserId); } catch (Exception ex) { isCompled = false; LogManager.Error("MY18充值失败", ex); } try { if (tempItem.IsCompled) { IMessageService messageService = IoC.Resolve <IMessageService>(); messageService.Create(new Message() { FormUserId = -1, MessageType = 8, OccDate = DateTime.Now, Status = 0, Title = "充值成功提示", MessageContent = string.Format("您通过在线充值{0}元已经成功到账!", tempItem.TradeAmt), ToUserId = balanceitem.UserId }); messageService.Save(); } } catch (Exception ex) { isCompled = false; LogManager.Error("MY18充值失败消息插入失败", ex); } } else { isCompled = false; } } else { isCompled = false; } if (isCompled == true) { //插入系统消息表 Response.Redirect("notify.aspx", true); // 回写‘SUCCESS’方式一: 重定向到一个专门用于处理回写‘SUCCESS’的页面,这样可以保证输出内容中只有'SUCCESS'这个字符串。 } else { Response.Write("充值失败,请联系在线客服确认是否充值成功!"); } } }