public bool SendCash(int actID, int Registerid) { bool t = false; chuangtouEntities ef = new chuangtouEntities(); hx_ActivityTable hat = new ActFacade().GetActivityModel(actID); //GetActTableInfo(ActTypeId, ActUser, 1); if (hat != null) { //判是否过期 if (hat.ActStarttime <= DateTime.Now && DateTime.Now <= hat.ActEndtime) { string ActRule = hat.ActRule; List <MAmtList> mlist = new List <MAmtList>(); JavaScriptSerializer js = new JavaScriptSerializer(); //MActCash mc = new MActCash(); Mcoupon mcp = new Mcoupon(); mcp = js.Deserialize <Mcoupon>(ActRule); //mlist = js.Deserialize<List<MAmtList>>(ActRule); //检查分发奖励是否超过顶限,如果超过直接跳过 //int TopNum = B_usercenter.GetTopNum(hat.ActID); //项目已经发放的金额 //decimal totalAmt = B_usercenter.GetTopAmtCount(hat.ActID); //第一次投资获取对应奖励 decimal actamt = mcp.cash;//GetActAmt(mc, InvestAmt, TopNum); //if (mc.TopAmt > totalAmt && mc.TopNum > TopNum) //{ t = true; if (actamt > 0)//大于 0里写入对应的奖励数据 { hx_UserAct hua = new hx_UserAct(); hua.ActTypeId = hat.ActTypeId; hua.registerid = Registerid; hua.RewTypeID = hat.RewTypeID; hua.ActID = hat.ActID; hua.Amt = actamt; hua.Uselower = 0.00M; hua.Usehight = 0.00M; hua.AmtEndtime = DateTime.Parse(hat.ActEndtime.ToString()).AddMonths(1); hua.AmtUses = 1; //没指定情况下默认为单独使用 hua.UseState = 5; //现金未转账 hua.UseTime = DateTime.Now; hua.AmtProid = 0; //未使用默认为0 hua.ISSmsOne = 0; hua.IsSmsThree = 0; hua.isSmsFifteen = 0; hua.IsSmsSeven = 0; hua.isSmsSixteen = 0; hua.OrderID = decimal.Parse(Utils.Createcode()); hua.Createtime = DateTime.Now; hua.Title = hat.ActName; hua.UseLifeLoan = ""; ef.hx_UserAct.Add(hua); int i = ef.SaveChanges(); if (i > 0) { //录入成功,后进行转账操作 //1.获取用户对向 M_member_table p = new M_member_table(); B_member_table o = new B_member_table(); p = o.GetModel(Registerid); if (p != null) { //2.调用商户向用户转账接口 Transfer tf = new Transfer(); ReTransfer retf = tf.ToUserTransfer(p.UsrCustId, actamt, hua.OrderID.ToString(), hua.ActID.ToString(), "/Thirdparty/ToUserTransfer"); if (retf != null) { if (retf.RespCode == "000") { //3.事务处理操作账户及插入流水 #region 验签缓存处理 string cachename = retf.OrdId + "ToUserTransfer" + retf.InCustId; if (Utils.GeTThirdCache(cachename) == 0) { Utils.SetThirdCache(cachename); B_usercenter BUC = new B_usercenter(); int ic = BUC.UpateActToUserTransfer(retf, 0); //用户余更新 if (ic > 0) { string sql = "SELECT registerid,username,mobile from hx_member_table where UsrCustId='" + retf.InCustId + "'"; DataTable dt = DbHelperSQL.GET_DataTable_List(sql); if (dt.Rows.Count > 0) { /*短信接口*/ #region 流水信息 B_usercenter ors = new B_usercenter(); decimal di = ors.GetUsridAvailable_balance(int.Parse(dt.Rows[0]["registerid"].ToString())); // di = di + decimal.Parse(hua.Amt.ToString()); StringBuilder strSql = new StringBuilder(); strSql.Append("insert into hx_Capital_account_water("); strSql.Append("membertable_registerid,income,expenditure,time_of_occurrence,account_balance,types_Finance,createtime,keyid,remarks)"); strSql.Append(" values ("); strSql.Append("" + int.Parse(dt.Rows[0]["registerid"].ToString()) + "," + decimal.Parse(hua.Amt.ToString()) + ",0,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "'," + di + "," + (int)Enum.Parse(typeof(EnumTypesFinance), EnumTypesFinance.现金奖励.ToString()) + ",'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',0,'" + "现金奖励" + "')"); DbHelperSQL.RunSql(strSql.ToString()); strSql.Clear(); #endregion #region 奖励流水 M_bonus_account_water mbaw = new M_bonus_account_water(); B_bonus_account_water bbaw = new B_bonus_account_water(); DateTime dte = DateTime.Now; mbaw.bonus_account_id = int.Parse(hua.ActID.ToString()); mbaw.membertable_registerid = int.Parse(dt.Rows[0]["registerid"].ToString()); mbaw.income = decimal.Parse(retf.TransAmt); mbaw.expenditure = 0.00M; mbaw.time_of_occurrence = DateTime.Now; mbaw.award_description = hat.ActName + "奖励已汇入个人账户"; mbaw.water_type = 0; bbaw.Add(mbaw); #endregion #region MyRegion 系统消息 DateTime dti = DateTime.Now; M_td_System_message pm = new M_td_System_message(); pm.MReg = int.Parse(dt.Rows[0]["registerid"].ToString()); pm.Mstate = 0; pm.MTitle = hat.ActName; pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功" + hat.ActName + ",现金奖励 " + retf.TransAmt + "元。如有问题可咨询创利投的客服!"; pm.PubTime = dti; B_usercenter.AddMessage(pm); #endregion } } t = true; } #endregion } } } } } //} } } return(t); }
/// <summary> /// 抽奖方法 /// </summary> /// <returns></returns> public ActionResult Grab() { JavaScriptSerializer jss = new JavaScriptSerializer(); AjaxResponseData arData = new AjaxResponseData(); try { string msg = ""; int state = CheckActivityTime(ref msg); if (state != 0) { arData = new AjaxResponseData { code = "4", data = msg }; return(Content(jss.Serialize(arData))); } int userID = Settings.Instance.CurrentUserId; //M_login M_uid = (M_login)DataCache.GetCache(Utils.GetUserIDCookieslocahost().ToString()); //if (M_uid == null) if (userID < 1) { arData = new AjaxResponseData { code = "1", data = "请登录后重试" }; return(Content(jss.Serialize(arData))); } //if (M_uid.codeno != Utils.getSessioncode()) //{ // arData = new AjaxResponseData { code = "1", data = "请登录后重试" }; // return Content(jss.Serialize(arData)); //} //获取登录用户编号 //int userID = M_uid.userid; //可抽奖次数 bool hadUsed = false; int CanUseTimes = GetCanUseTimes(ref hadUsed); //B_member_table bllMember = new B_member_table(); ////获取会员信息 //PartialMemberModel member = bllMember.GetPartialModel(userID); ////验证用户是否为今天新注册的用户 //if (member.registration_time >= DateTime.Now.Date && member.registration_time < DateTime.Now.AddDays(1).Date && member.isrealname == 1) //{ // CanUseTimes += 1; //} //B_LuckDraw bllLuckDraw = new B_LuckDraw(); ////获取用户的抽奖记录数量(当天的) //int recordsCount = bllLuckDraw.GetRecordsCount(userID, DateTime.Now.Date, DateTime.Now.AddDays(1).Date); //CanUseTimes -= recordsCount; if (CanUseTimes <= 0) { arData = new AjaxResponseData { code = "2", data = hadUsed.ToString() }; return(Content(jss.Serialize(arData))); } #region 规则及数据 //金额 数量 概率 //1-17 //10元 60 0.17 % //18-1684 //8元 1750 16.67 % //1685-3667 //7元 2082 19.83 % //3668-5667 //6元 2100 20 % //5668-7667 //5元 2100 20 % //7667-10000 //3元 2450 23.33 % #endregion //现金50元已抽中的个数 //int cash50Count = bllLuckDraw.GetCash50RecordsCount(-2, DateTime.Now.Date, DateTime.Now.AddDays(1).Date); //B_Activity_schedule bllASchedule = new B_Activity_schedule(); ActFacade act = new ActFacade(); //B_Activity bllActivity = new B_Activity(); //admin.users.AddBonusForUser adfu = new admin.users.AddBonusForUser(); //奖品编号 int awardID = ConfigHelper.GetConfigInt("GrabCash"); //奖品标题 string title = ""; //奖金金额 int awardAmt = 0; //轮盘区块编号 //int awardBlockID = 0; Random random = new Random(); //随机数 int randomRate = random.Next(1, 10001); //randomRate = 9350; //10元 if (randomRate <= 17) { title = "现金10元"; //awardBlockID = 5; awardAmt = 10; } //8元 else if (randomRate <= 1684) { title = "现金8元"; //awardBlockID = 7; awardAmt = 8; } //7元 else if (randomRate <= 3667) { title = "现金7元"; //awardBlockID = 4; awardAmt = 7; } //6元 else if (randomRate <= 5667) { title = "现金6元"; //awardBlockID = 6; awardAmt = 6; } //5元 else if (randomRate <= 7667) { title = "现金5元"; //awardBlockID = 0; awardAmt = 5; } //3元 else if (randomRate <= 10000) { title = "现金3元"; //awardBlockID = 2; awardAmt = 3; } if (SendCash(awardID, userID, awardAmt)) { arData = new AjaxResponseData { code = "0", data = awardAmt.ToString() }; return(Content(jss.Serialize(arData))); } //插入记录失败时的异常状态 arData = new AjaxResponseData { code = "3", data = "碰到点小问题,刷新一下试试" }; return(Content(jss.Serialize(arData))); } catch (Exception ex) { LogInfo.WriteLog("9月抽奖活动异常日志:" + "msg:" + ex.Message + " StackTrace" + ex.StackTrace); //没有增加任何抽奖记录时的异常状态 arData = new AjaxResponseData { code = "3", data = ex.Message }; return(Content(jss.Serialize(arData))); } }
/// <summary> /// 抽奖方法 /// </summary> /// <returns></returns> public ActionResult LuckDrawAward() { JavaScriptSerializer jss = new JavaScriptSerializer(); AjaxResponseData arData = new AjaxResponseData(); try { string msg = ""; int state = CheckActivityTime(ref msg); if (state != 0) { arData = new AjaxResponseData { code = "4", data = msg }; return(Content(jss.Serialize(arData))); } int userID = Settings.Instance.CurrentUserId; //M_login M_uid = (M_login)DataCache.GetCache(Utils.GetUserIDCookieslocahost().ToString()); //if (M_uid == null) if (userID < 1) { arData = new AjaxResponseData { code = "1", data = "请登录后重试" }; return(Content(jss.Serialize(arData))); } //if (M_uid.codeno != Utils.getSessioncode()) //{ // arData = new AjaxResponseData { code = "1", data = "请登录后重试" }; // return Content(jss.Serialize(arData)); //} //获取登录用户编号 //int userID = M_uid.userid; //可抽奖次数 int CanUseTimes = 1; B_member_table bllMember = new B_member_table(); //获取会员信息 PartialMemberModel member = bllMember.GetPartialModel(userID); //验证用户是否为今天新注册的用户 if (member.registration_time >= DateTime.Now.Date && member.registration_time < DateTime.Now.AddDays(1).Date&& member.isrealname == 1) { CanUseTimes += 1; } B_LuckDraw bllLuckDraw = new B_LuckDraw(); //获取用户的抽奖记录数量(当天的) int recordsCount = bllLuckDraw.GetRecordsCount(userID, DateTime.Now.Date, DateTime.Now.AddDays(1).Date); CanUseTimes -= recordsCount; if (CanUseTimes <= 0) { arData = new AjaxResponseData { code = "2", data = "抽奖机会已用完,请明天再来" }; return(Content(jss.Serialize(arData))); } #region 规则及数据 // 现金50元 50 0.17 %(60次抽满后,每天限中2次,概率填充入50元代金券) //1 -17 //50元代金券 2450 23.33 % //18-2350 //20元代金卷 2100 20.00 % //2351-4350 //10元代金卷 2100 20.00 % //4351-6350 //1 % 加息券 1750 16.67 % //6351-8017 //2 % 加息券 1400 13.33 % //8018-9350 //谢谢参与 682.5 6.50 % //9351-10000 //47 9月注册送500元奖励 //48 9月注册送200元奖励 //49 9月注册送50元奖励 //50 9月注册送20元奖励 //51 [9月注册送10元奖励] //52 [9月注册送8元奖励] //1 3 % 加息券 //2 1 % 加息券 //3 2 % 加息券 //4 加息券 #endregion //现金50元已抽中的个数 int cash50Count = bllLuckDraw.GetCash50RecordsCount(-2, DateTime.Now.Date, DateTime.Now.AddDays(1).Date); //B_Activity_schedule bllASchedule = new B_Activity_schedule(); ActFacade act = new ActFacade(); //B_Activity bllActivity = new B_Activity(); //admin.users.AddBonusForUser adfu = new admin.users.AddBonusForUser(); //奖品编号 int awardID = 0; //奖品标题 string title = ""; //奖品类型 int awardType = -1; //轮盘区块编号 int awardBlockID = 0; Random random = new Random(); //随机数 int randomRate = random.Next(1, 10001); //randomRate = 9350; //switch (randomRate) //{ if (randomRate <= 8) { //每天限中2次,概率填充入50元代金券 if (cash50Count < 2) { awardID = ConfigHelper.GetConfigInt("AwardCash50"); awardType = 0; title = "现金50元"; awardBlockID = 3; } else { awardID = ConfigHelper.GetConfigInt("AwardBonus50"); awardType = 1; awardBlockID = 7; } } //现金50元 else if (randomRate <= 17) { //每天限中2次,概率填充入50元代金券 if (cash50Count < 2) { awardID = ConfigHelper.GetConfigInt("AwardCash50"); awardType = 0; title = "现金50元"; awardBlockID = 5; } else { awardID = ConfigHelper.GetConfigInt("AwardBonus50"); awardType = 1; awardBlockID = 7; } } //50元代金券 else if (randomRate <= 2350) { awardID = ConfigHelper.GetConfigInt("AwardBonus50"); awardType = 1; awardBlockID = 7; } //20元代金卷 else if (randomRate <= 4350) { awardID = ConfigHelper.GetConfigInt("AwardBonus20"); awardType = 1; awardBlockID = 4; } //10元代金卷 else if (randomRate <= 6350) { awardID = ConfigHelper.GetConfigInt("AwardBonus10"); awardType = 1; awardBlockID = 6; } //1 % 加息券 else if (randomRate <= 8017) { awardID = ConfigHelper.GetConfigInt("AwardRate1"); awardType = 2; awardBlockID = 0; } //2 % 加息券 else if (randomRate <= 9350) { awardID = ConfigHelper.GetConfigInt("AwardRate2"); awardType = 2; awardBlockID = 2; } //谢谢参与 else if (randomRate <= 10000) { awardID = ConfigHelper.GetConfigInt("AwardThankYou"); awardType = 3; title = "谢谢参与"; awardBlockID = 1; } //谢谢参与 if (awardType == -1) { awardID = ConfigHelper.GetConfigInt("AwardThankYou"); awardType = 3; title = "谢谢参与"; awardBlockID = 1; } //} //发放代金券 if (awardType == 1 || awardType == 2) { var sourceData = act.GetActivityModel(awardID); //bllASchedule.GetModel(awardID); title = sourceData.ActName; //sourceData.activity_schedule_name.Replace("活动", "抽奖"); if (bllLuckDraw.AddNewRecord(new M_LuckDrawRecord { Ldre_AwardID = awardID, Ldre_AwardName = sourceData.ActName, Ldre_AwardType = awardType, Ldre_CreatTime = DateTime.Now, Ldre_UserID = userID })) { DrawBonus(sourceData, userID); arData = new AjaxResponseData { code = "0", data = awardBlockID.ToString() }; return(Content(jss.Serialize(arData))); } else { arData = new AjaxResponseData { code = "3", data = "碰到点小问题,刷新一下试试^v^" }; return(Content(jss.Serialize(arData))); } } ////发放加息券 //if (awardType == 2) //{ // var sourceData = bllActivity.GetModel(awardID); // title = "9月抽奖" + sourceData.ActivityName; // if (bllLuckDraw.AddNewRecord(new M_LuckDrawRecord { Ldre_AwardID = awardID, Ldre_AwardName = sourceData.ActivityName, Ldre_AwardType = awardType, Ldre_CreatTime = DateTime.Now, Ldre_UserID = userID })) // { // thisObj.SubmitRate(awardID, 1, userID, DateTime.Now, sourceData.EndDate, title); // arData = new AjaxResponseData { code = "0", data = awardBlockID.ToString() }; // return jss.Serialize(arData); // } //} //增加现金和“谢谢参与”的抽奖记录 if (bllLuckDraw.AddNewRecord(new M_LuckDrawRecord { Ldre_AwardID = awardID, Ldre_AwardName = title, Ldre_AwardType = awardType, Ldre_CreatTime = DateTime.Now, Ldre_UserID = userID })) { arData = new AjaxResponseData { code = "0", data = awardBlockID.ToString() }; return(Content(jss.Serialize(arData))); } //没有增加任何抽奖记录时的异常状态 arData = new AjaxResponseData { code = "3", data = "碰到点小问题,刷新一下试试" }; return(Content(jss.Serialize(arData))); } catch (Exception ex) { LogInfo.WriteLog("9月抽奖活动异常日志:" + "msg:" + ex.Message + " StackTrace" + ex.StackTrace); //没有增加任何抽奖记录时的异常状态 arData = new AjaxResponseData { code = "3", data = ex.Message }; return(Content(jss.Serialize(arData))); } }
/// <summary> /// 抽奖方法 /// </summary> /// <param name="userID">用户id</param> /// <param name="startTime">开始时间</param> /// <param name="endTime">结束时间</param> /// <param name="amount">规则金额</param> /// <returns>提示信息</returns> public static string LuckDrawAward(int userID, DateTime startTime, DateTime endTime, int amount) { string msg = ""; try { int state = CheckActivityTime(startTime, endTime, ref msg); if (state != 0) { return(msg = "4;" + msg); } if (userID <= 0) { return(msg = "1;请登录后重试"); } if (GetCanUseTimes(userID, startTime, endTime, amount) <= 0) //如果可抽奖次数是0的话,则不能抽奖 { return(msg = "2;抽奖机会已用完,请明天再来"); } #region 规则及数据 //1-10 --小米手环(2代) --0.10% --5个 //10-35 --京东卡100元 --0.25% --2个 //35-535 --现金5元 --5.00% --100个 //535-1500 --2%加息券 --9.65% --193个 //1500-3500 --1%加息券 --20.00% --400个 //3500-6000 --50元抵扣券 --25.00% --500个 //6000-10000 --20元抵扣券 --40.00% --800个 #endregion //奖品编号 int awardID = 0; //奖品标题 string title = ""; // 奖品类型 (前端现金1、抵扣券2、加息券3,后台管理现金4、抵扣券1、加息券2、谢谢参与3、实物-4) int awardType = -1; //轮盘区块编号 int awardBlockID = 0; Random random = new Random(); //随机数 int randomRate = random.Next(1, 10001); B_LuckDraw bllLuckDraw = new B_LuckDraw(); //获得用户对象 M_member_table p = new M_member_table(); B_member_table o = new B_member_table(); p = o.GetModel(userID); if (randomRate <= 10) { awardID = ConfigHelper.GetConfigInt("MiBandWristband"); if (bllLuckDraw.GetCash50RecordsCount(awardID, startTime, endTime) < 5) //最多5个,如果超过了5个,则获得20元抵扣券 { awardType = -4; title = "双12抽奖送小米手环"; awardBlockID = 5; string mailStr = "恭喜您抽到了 '小米手环(第二代)' 奖品,我司客服将于3个工作日与您联系,请您保持手机畅通。"; SendSMS.Send_SMS(p.mobile, mailStr); } else { awardID = ConfigHelper.GetConfigInt("AwardBonus20"); awardType = 1; title = "双12抽奖送20元抵扣券"; awardBlockID = 0; } } else if (randomRate <= 35) { awardID = ConfigHelper.GetConfigInt("JDCard"); if (bllLuckDraw.GetCash50RecordsCount(awardID, startTime, endTime) < 2) //最多2个,如果超过了2个,则获得20元抵扣券 { awardType = -4; title = "双12抽奖送京东卡100元"; awardBlockID = 6; string mailStr = "恭喜您抽到了 '京东卡100元' 奖品,我司客服将于3个工作日与您联系,请您保持手机畅通。"; SendSMS.Send_SMS(p.mobile, mailStr); } else { awardID = ConfigHelper.GetConfigInt("AwardBonus20"); awardType = 1; title = "双12抽奖送20元抵扣券"; awardBlockID = 0; } } else if (randomRate <= 535) { awardID = ConfigHelper.GetConfigInt("AwardCash5"); if (bllLuckDraw.GetCash50RecordsCount(awardID, startTime, endTime) < 100) //最多100个,如果超过了100个,则获得20元抵扣券 { awardType = 4; title = "双12抽奖送现金5元"; awardBlockID = 1; } else { awardID = ConfigHelper.GetConfigInt("AwardBonus20"); awardType = 1; title = "双12抽奖送20元抵扣券"; awardBlockID = 0; } } else if (randomRate <= 1500) { awardID = ConfigHelper.GetConfigInt("AwardRate2"); if (bllLuckDraw.GetCash50RecordsCount(awardID, startTime, endTime) < 193) //最多193个,如果超过了193个,则获得20元抵扣券 { awardType = 2; title = "双12抽奖送2%加息券"; awardBlockID = 2; } else { awardID = ConfigHelper.GetConfigInt("AwardBonus20"); awardType = 1; title = "双12抽奖送20元抵扣券"; awardBlockID = 0; } } else if (randomRate <= 3500) { awardID = ConfigHelper.GetConfigInt("AwardRate1"); if (bllLuckDraw.GetCash50RecordsCount(awardID, startTime, endTime) < 400) //最多400个,如果超过了400个,则获得20元抵扣券 { awardType = 2; title = "双12抽奖送1%加息券"; awardBlockID = 7; } else { awardID = ConfigHelper.GetConfigInt("AwardBonus20"); awardType = 1; title = "双12抽奖送20元抵扣券"; awardBlockID = 0; } } else if (randomRate <= 6000) { awardID = ConfigHelper.GetConfigInt("AwardBonus50"); if (bllLuckDraw.GetCash50RecordsCount(awardID, startTime, endTime) < 500) //最多500个,如果超过了500个,则获得20元抵扣券 { awardType = 1; title = "双12抽奖送50元抵扣券 "; awardBlockID = 4; } else { awardID = ConfigHelper.GetConfigInt("AwardBonus20"); awardType = 1; title = "双12抽奖送20元抵扣券"; awardBlockID = 0; } } else if (randomRate <= 10000) { awardID = ConfigHelper.GetConfigInt("AwardBonus20"); awardType = 1; title = "双12抽奖送20元抵扣券"; awardBlockID = 0; } ActFacade act = new ActFacade(); var sourceData = act.GetActivityModel(awardID); //bllASchedule.GetModel(awardID); #region 发放现金、抵扣券和加息券 if (awardType != -4) { if (bllLuckDraw.AddNewRecord(new M_LuckDrawRecord { Ldre_AwardID = awardID, Ldre_AwardName = title, Ldre_AwardType = awardType, Ldre_CreatTime = DateTime.Now, Ldre_UserID = userID, Ldre_OrderID = awardType == 4 ? Utils.Createcode() : null, Ldre_ActivityName = "双12抽奖" })) { //发放奖励 //sourceData.ActStarttime = DateTime.Now; //sourceData.ActEndtime = DateTime.Now.AddDays(10); //有效期10天 sourceData.ActTypeId = 2; //短期活动 switch (awardType) //后台类别规则和前台规则不一样,所以需要处理,具体说明看awardType定义 { case 4: sourceData.RewTypeID = 1; break; case 1: sourceData.RewTypeID = 2; break; case 2: sourceData.RewTypeID = 3; break; } sourceData.ActID = awardID; sourceData.ActName = title; DrawBonus(sourceData, userID, 10); return(msg = "0;" + awardBlockID.ToString()); } } else if (awardType == -1) { return(msg = "3;碰到点小问题,刷新一下试试^v^"); } #endregion #region 实体奖品的抽奖记录 if (bllLuckDraw.AddNewRecord(new M_LuckDrawRecord { Ldre_AwardID = awardID, Ldre_AwardName = title, Ldre_AwardType = awardType, Ldre_CreatTime = DateTime.Now, Ldre_UserID = userID, Ldre_ActivityName = "双12抽奖" })) { return(msg = "0;" + awardBlockID.ToString()); } else { return(msg = "3;碰到点小问题,刷新一下试试^v^"); } #endregion } catch (Exception ex) { LogInfo.WriteLog("双12抽奖活动异常日志:" + "msg:" + ex.Message + " StackTrace" + ex.StackTrace); //没有增加任何抽奖记录时的异常状态 return(msg = "3;" + ex.Message); } }
/// <summary> /// 实名注册回调地址 /// </summary> /// <returns></returns> public ActionResult CallbackForUserRegister(bool isSyncCallback = false) { var mEntity = new MemberEntity(); string username = ""; string useremail = ""; string merp = ""; UserEntity m = new UserEntity(); m.CmdId = DNTRequest.GetString("CmdId"); m.RespCode = DNTRequest.GetString("RespCode"); m.RespDesc = DNTRequest.GetString("RespDesc"); m.MerCustId = DNTRequest.GetString("MerCustId"); m.UsrId = DNTRequest.GetString("UsrId"); m.UsrCustId = DNTRequest.GetString("UsrCustId"); m.BgRetUrl = DNTRequest.GetString("BgRetUrl"); m.TrxId = DNTRequest.GetString("TrxId"); m.RetUrl = DNTRequest.GetString("RetUrl"); merp = m.MerPriv = DNTRequest.GetString("MerPriv"); m.IdType = DNTRequest.GetString("IdType"); m.IdNo = DNTRequest.GetString("IdNo"); m.UsrMp = DNTRequest.GetString("UsrMp"); useremail = DNTRequest.GetString("UsrEmail"); m.UsrEmail = useremail; username = HttpUtility.UrlDecode(DNTRequest.GetString("UsrName")); m.UsrName = username; m.ChkValue = DNTRequest.GetString("ChkValue"); LoggerHelper.Info("注册开户返回报文:" + JsonHelper.Entity2Json(m)); StringBuilder chkVal = new StringBuilder(); chkVal.Append(m.CmdId); chkVal.Append(m.RespCode); chkVal.Append(m.MerCustId); chkVal.Append(m.UsrId); chkVal.Append(m.UsrCustId); chkVal.Append(m.BgRetUrl); chkVal.Append(m.TrxId); chkVal.Append(m.RetUrl); chkVal.Append(m.MerPriv); string chkv = chkVal.ToString(); //私钥文件的位置(这里是放在了站点的根目录下) string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk; int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, m.ChkValue); string deviceKey = PickoutDeviceFlag(ref merp);//pick out device code from comment field m.MerPriv = merp; if (ret == 0) { if (m.RespCode == "000") { string cachename = m.UsrId + "Register" + m.MerCustId; LoggerHelper.Info("开户验签成功"); object lockObj = new object(); lock (lockObj) { lock (this) { if (Settings.Instance.GeTThirdCache(cachename) == 0) { Utils.SetThirdCache(cachename); MemberLogic mLogic = new MemberLogic(); mEntity.realname = m.UsrName; mEntity.UsrCustId = m.UsrCustId; mEntity.UsrId = m.UsrId; mEntity.iD_number = m.IdNo; if (mLogic.UpdateUserRealAuth(mEntity)) { LoggerHelper.Info("数据库操作成功"); var tempUsername = PageHelper.GetUserSplit(m.UsrId); var tempEntity = mLogic.SelectMemberEntityByName(tempUsername); //TODO: 以后添加实名奖励 if (tempEntity != null) { using (ActFacade actFacade = new ActFacade()) { actFacade.SendBonusAfterRegister(tempEntity.registerid.Value, Utils.GetDevicePlatformCode(deviceKey)); } } else { LoggerHelper.Info("Line to 276:查找不到用户,无法写入注册奖励!"); } LoggerHelper.Info("开户成功,数据库操作成功,开户返回报文:" + JsonHelper.Entity2Json(m)); } else { /*第三方成功,本地服务器操作失败*/ LoggerHelper.Info("开户成功,数据库操作失败,开户返回报文:" + JsonHelper.Entity2Json(m)); } } } } } if (isSyncCallback) { return(Content("RECV_ORD_ID_" + m.TrxId)); } } else { /*验签不成功*/ LoggerHelper.Info("开户验签失败"); if (isSyncCallback) { return(Content("-1")); } } return(View(m)); }
public ResultInfo <MemberEntity> Login(RequestParam <RequestLoginEntity> reqst) { //todo 添加登录验证代码 var ri = new ResultInfo <MemberEntity>("99999"); try { var un = reqst.body.userName.ToString(); var up = reqst.body.userPass.ToString(); if (string.IsNullOrEmpty(un)) { ri.code = "1000000007"; } else if (string.IsNullOrEmpty(up)) { ri.code = "1000000008"; } else { #region 验证用户名和密码是否正确 MemberEntity ent = _logic.SelectMemberEntityByName(un); string pass = EncryptHelper.Encrypt(up); if (ent != null && ent.password.ToLowerInvariant().Equals(pass.ToLowerInvariant())) { #region 登录成功 try { hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo(); usrmode.logintime = DateTime.Now; usrmode.Loginusrname = ent.username; usrmode.loginusrpass = "******"; usrmode.registerid = ent.registerid; usrmode.loginIP = Settings.Instance.ClientIp; usrmode.logincity = GetIpToCity.GetAddressByIp(Settings.Instance.ClientIp); if (reqst.header.appId != 123456) { usrmode.loginsource = 2;//安卓 } else { usrmode.loginsource = 3;//ios } usrmode.loginstate = 0; _logic.SaveLoginInfo(usrmode); using (ActFacade actFacade = new ActFacade()) { actFacade.SendBonusAfterLogin(ent.registerid.Value, Utils.GetDevicePlatformCode(reqst.header.appId.ToString())); } } catch (Exception tx) { throw (tx); } #endregion ri.code = "1"; ri.body = ent; } else { ri.code = "1000000009"; } #endregion } ri.message = Settings.Instance.GetErrorMsg(ri.code); return(ri); } catch (Exception ex) { LoggerHelper.Error(ex.ToString()); LoggerHelper.Error(JsonHelper.Entity2Json(reqst)); ri.code = "500"; ri.message = Settings.Instance.GetErrorMsg(ri.code); return(ri); } }
//汇付模拟发起的请求,没有携带用户的cookie,造成邀请丢失,邀请关系逻辑迁移至注册成功 /// <summary> /// 注册成功汇付返回通知 /// </summary> /// <returns></returns> public ActionResult Succ_Registered() { int it = -10000; string username = ""; string useremail = ""; ReUserRegister m = new ReUserRegister(); m.CmdId = DNTRequest.GetString("CmdId"); m.RespCode = DNTRequest.GetString("RespCode"); m.RespDesc = DNTRequest.GetString("RespDesc"); m.MerCustId = DNTRequest.GetString("MerCustId"); m.UsrId = DNTRequest.GetString("UsrId"); m.UsrCustId = DNTRequest.GetString("UsrCustId"); m.BgRetUrl = DNTRequest.GetString("BgRetUrl"); m.TrxId = DNTRequest.GetString("TrxId"); m.RetUrl = DNTRequest.GetString("RetUrl"); m.MerPriv = DNTRequest.GetString("MerPriv"); m.IdType = DNTRequest.GetString("IdType"); m.IdNo = DNTRequest.GetString("IdNo"); m.UsrMp = DNTRequest.GetString("UsrMp"); useremail = DNTRequest.GetString("UsrEmail"); m.UsrEmail = useremail; username = HttpUtility.UrlDecode(DNTRequest.GetString("UsrName")); m.UsrName = username; m.ChkValue = DNTRequest.GetString("ChkValue"); string log = "注册开户返回报文:" + FastJSON.toJOSN(m); StringBuilder chkVal = new StringBuilder(); chkVal.Append(m.CmdId); chkVal.Append(m.RespCode); chkVal.Append(m.MerCustId); chkVal.Append(m.UsrId); chkVal.Append(m.UsrCustId); chkVal.Append(m.BgRetUrl); chkVal.Append(m.TrxId); chkVal.Append(m.RetUrl); chkVal.Append(m.MerPriv); string chkv = chkVal.ToString(); //私钥文件的位置(这里是放在了站点的根目录下) string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Utils.GetPgPubk(); int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, m.ChkValue); log += ";ret:" + ret; if (ret == 0) { B_member_table ob = new B_member_table(); M_member_table pm = new M_member_table(); if (m.RespCode == "000") { //为避免重复调用,增加缓存校验 string cachename = "UserRegister" + m.TrxId; if (Utils.GeTThirdCache(cachename) == 0) { Utils.SetThirdCache(cachename); M_bonus_account_water mbaw = new M_bonus_account_water(); B_bonus_account_water bbaw = new B_bonus_account_water(); B_usercenter b = new B_usercenter(); it = b.Succ_Reg(m); log += ";汇付开户成功后进行用户数据更新返回:" + it; if (it > 0) { pm = ob.GetModel(Utils.GetUserSplit(m.UsrId)); ViewBag.registerid = pm.registerid; //新人注册奖励 ActFacade act = new ActFacade(); log += ";注册ID:" + pm.registerid; act.SendBonusAfterRegister(pm.registerid, EnumCommon.E_hx_ActivityTable.E_ActTargetPlatform.web); } else { /*第三方成功,本地服务器操作失败*/ } } } } else { log += "验签不成功"; /*验签不成功*/ } LogInfo.WriteLog(log); return(View(m)); }
/// <summary> /// 无效投资标的处理 /// </summary> /// <param name="investor_registerid">投资用户id</param> /// <param name="bid_records_id">投资记录id</param> /// <param name="OrdId">投资订单号</param> /// <param name="OrdDate">投资订单日期</param> /// <param name="UsrCustId">客户号</param> /// <param name="FreezeOrdId">冻结订单号</param> /// <param name="TransAmt">交易金额</param> /// <param name="FreezeTrxId">冻结唯一标识</param> /// <param name="MerPriv">优惠券字符串</param> /// <param name="QueryTransType">查询类型 LOANS:放款交易查询 REPAYMENT:还款交易查询 TENDER:投标交易查询 CASH:取现交易查询 FREEZE:冻结解冻交易查询 </param> public void setRecords_Lost(string investor_registerid, string bid_records_id, string OrdId, string OrdDate, string UsrCustId, string FreezeOrdId, string TransAmt, string FreezeTrxId, string MerPriv, string QueryTransType = "TENDER") { TransStat ts = new TransStat(); bool d = ts.checktrans(OrdId, OrdDate, QueryTransType); if (d == false) { string sql = "update hx_UserAct set UseState=0,AmtProid=0 where UseState=3 and AmtProid=" + bid_records_id + "and registerid=" + investor_registerid; DbHelperSQL.RunSql(sql); sql = "delete hx_Bid_records where OrdId ='" + OrdId + "' and ordstate=0 and bid_records_id=" + bid_records_id; DbHelperSQL.RunSql(sql); } else {//TODO 此处有bug,自动查询的更新冻结表时缺少 FreezeTrxId 值,放款时没有该值会报错。 考虑注释该逻辑,等待汇付异步回调???? B_usercenter BUC = new B_usercenter(); //取得投标记录使用的优惠券 string AmtProid = BUC.GetBid_AmtProid(int.Parse(bid_records_id)); int de = BUC.ReInvest_success(UsrCustId, FreezeOrdId, TransAmt, FreezeTrxId, OrdId, AmtProid); if (de > 0) { string sql = "select targetid,bid_records_id, borrowing_title,investor_registerid ,username,mobile,invitationcode,investment_amount,life_of_loan,unit_day,borrowing_balance,bonusAmt from V_hx_Bid_records_borrowing_target where OrdId='" + OrdId + "'"; DataTable dt = DbHelperSQL.GET_DataTable_List(sql); if (dt.Rows.Count > 0) { decimal investAmt = decimal.Parse(dt.Rows[0]["investment_amount"].ToString()); int registerid = int.Parse(dt.Rows[0]["investor_registerid"].ToString()); string targetid = dt.Rows[0]["targetid"].ToString(); #region 待提取为公共方法 #region MyRegion 系统消息 DateTime dti = DateTime.Now; M_td_System_message pm = new M_td_System_message(); pm.MReg = registerid; pm.Mstate = 0; pm.MTitle = "投资成功"; pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功投资了项目【" + dt.Rows[0]["borrowing_title"].ToString() + "】,投资金额是:" + investAmt + "。如有问题可咨询创利投的客服!谢谢!"; pm.PubTime = dti; pm.Mtype = 1; B_usercenter.AddMessage(pm); #endregion #region MyRegion //短信通知 string contxt = Utils.GetMSMEmailContext(15, 1); // 获取注册成功邮件内容 StringBuilder sbsms = new StringBuilder(contxt); sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString()); sbsms = sbsms.Replace("#PID#", targetid); sbsms = sbsms.Replace("#MONEY#", investAmt.ToString()); string mobile = dt.Rows[0]["mobile"].ToString(); M_td_SMS_record psms = new M_td_SMS_record(); B_td_SMS_record osms = new B_td_SMS_record(); int smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.投资成功.ToString()); psms.phone_number = mobile; psms.sendtime = DateTime.Now; psms.senduserid = registerid; psms.smstype = smstype; psms.smscontext = sbsms.ToString(); psms.orderid = SendSMS.Send_SMS(mobile, sbsms.ToString()); psms.vcode = ""; osms.Add(psms); #endregion #region 远程调用生成合同??? 稍后替换为本地方法调用 微信端可远程调用 string postString = "action=MUserPDF&data=" + targetid.ToString() + "&uc=" + registerid.ToString() + "&OrdId=" + OrdId; string sr = Utils.PostWebRequest(Utils.GetRemote_url("pdf/index"), postString, Encoding.UTF8); #endregion #region 道合作 第一投标调用接口??? B_member_table bmt = new B_member_table(); M_member_table mmt = new M_member_table(); mmt = bmt.GetModel(registerid); if (mmt.Tid != null && mmt.Channelsource == 1) { if (B_usercenter.GetInvestCountByUserid(mmt.registerid) == 1) { string ret3 = Utils.GetCoopAPI(mmt.Tid, investAmt.ToString("0.00"), 2); LogInfo.WriteLog("前台渠道合作第一次返回结果:" + ret3 + " 用户id:" + mmt.registerid + " 订单id " + OrdId); } } #endregion #endregion 待提取为公共方法 //发放奖励 ActFacade act = new ActFacade(); act.SendBonusAfterInvest(dt, EnumCommon.E_hx_ActivityTable.E_ActTargetPlatform.web); } } } }
/// <summary> /// 投资成功,汇付后台主动通知 /// </summary> /// <returns></returns> public ActionResult BG_investment_success() { int id = 0; string srt = ""; ReInitiativeTender p = new ReInitiativeTender(); id = DNTRequest.GetInt("id", 0); string log = ""; log += "主动通知后台有响应成功!接收到的项目id=" + id; p.CmdId = DNTRequest.GetString("CmdId"); p.RespCode = DNTRequest.GetString("RespCode"); p.RespDesc = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc")); p.MerCustId = DNTRequest.GetString("MerCustId"); p.OrdId = DNTRequest.GetString("OrdId"); p.OrdDate = DNTRequest.GetString("OrdDate"); p.TransAmt = DNTRequest.GetString("TransAmt"); p.UsrCustId = DNTRequest.GetString("UsrCustId"); p.TrxId = DNTRequest.GetString("TrxId"); p.IsFreeze = DNTRequest.GetString("IsFreeze"); p.FreezeOrdId = DNTRequest.GetString("FreezeOrdId"); p.FreezeTrxId = DNTRequest.GetString("FreezeTrxId"); p.RetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("RetUrl")); p.BgRetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl")); string merp = DNTRequest.GetString("MerPriv"); if (merp.Length > 0) { p.MerPriv = HttpUtility.UrlDecode(merp); } else { p.MerPriv = merp; } p.RespExt = HttpUtility.UrlDecode(DNTRequest.GetString("RespExt")); p.ChkValue = DNTRequest.GetString("ChkValue"); StringBuilder chkVal = new StringBuilder(); chkVal.Append(p.CmdId); chkVal.Append(p.RespCode); chkVal.Append(p.MerCustId); chkVal.Append(p.OrdId); chkVal.Append(p.OrdDate); chkVal.Append(p.TransAmt); chkVal.Append(p.UsrCustId); chkVal.Append(p.TrxId); chkVal.Append(p.IsFreeze); chkVal.Append(p.FreezeOrdId); chkVal.Append(p.FreezeTrxId); chkVal.Append(p.RetUrl); chkVal.Append(p.BgRetUrl); chkVal.Append(p.MerPriv); chkVal.Append(p.RespExt); string chkv = chkVal.ToString(); //私钥文件的位置(这里是放在了站点的根目录下) string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Utils.GetPgPubk(); int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, p.ChkValue); log += "<br>投标后台主动投标返回报文:" + FastJSON.toJOSN(p); string sql = ""; int invcount = 0; //记录用户是否是首次投资 #region 验签 if (ret == 0) { if (p.RespCode == "000" || p.RespCode == "322" || p.RespCode == "534" || p.RespCode == "360" || p.RespCode == "099") { string cachename = p.OrdId + "InvestWeb" + p.UsrCustId; if (Utils.GeTThirdCache(cachename) == 0) { Utils.SetThirdCache(cachename); if (p.FreezeTrxId != "") { sql = "select ordstate from hx_Bid_records where ordstate =0 and OrdId='" + p.OrdId + "'"; DataTable dts = DbHelperSQL.GET_DataTable_List(sql); if (dts.Rows.Count > 0) { //同步处理用户金额 B_usercenter BUC = new B_usercenter(); int d = BUC.ReInvest_success(p.UsrCustId, p.FreezeOrdId, p.TransAmt, p.FreezeTrxId, p.OrdId, p.MerPriv); log += "<br>后台投标:id" + id.ToString() + "返回唯一冻结标识:" + p.FreezeTrxId + "事务执行结果:" + d.ToString(); if (d > 0) { sql = "select targetid,bid_records_id, borrowing_title,investor_registerid ,username,mobile,invitationcode,investment_amount,life_of_loan,unit_day,borrowing_balance,bonusAmt from V_hx_Bid_records_borrowing_target where OrdId='" + p.OrdId + "'"; DataTable dt = DbHelperSQL.GET_DataTable_List(sql); if (dt.Rows.Count > 0) { decimal investAmt = decimal.Parse(dt.Rows[0]["investment_amount"].ToString()); string OrdId = p.OrdId; int registerid = int.Parse(dt.Rows[0]["investor_registerid"].ToString()); ViewBag.userid = registerid; string targetid = dt.Rows[0]["targetid"].ToString(); #region 待提取为公共方法 #region MyRegion 系统消息 DateTime dti = DateTime.Now; M_td_System_message pm = new M_td_System_message(); pm.MReg = registerid; pm.Mstate = 0; pm.MTitle = "投资成功"; pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功投资了项目【" + dt.Rows[0]["borrowing_title"].ToString() + "】,投资金额是:" + investAmt + "。如有问题可咨询创利投的客服!谢谢!"; pm.PubTime = dti; pm.Mtype = 1; B_usercenter.AddMessage(pm); #endregion #region MyRegion //短信通知 string contxt = Utils.GetMSMEmailContext(15, 1); // 获取注册成功邮件内容 StringBuilder sbsms = new StringBuilder(contxt); sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString()); sbsms = sbsms.Replace("#PID#", targetid); sbsms = sbsms.Replace("#MONEY#", investAmt.ToString()); string mobile = dt.Rows[0]["mobile"].ToString(); M_td_SMS_record psms = new M_td_SMS_record(); B_td_SMS_record osms = new B_td_SMS_record(); int smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.投资成功.ToString()); psms.phone_number = mobile; psms.sendtime = DateTime.Now; psms.senduserid = registerid; psms.smstype = smstype; psms.smscontext = sbsms.ToString(); psms.orderid = SendSMS.Send_SMS(mobile, sbsms.ToString()); psms.vcode = ""; osms.Add(psms); #endregion #region 远程调用生成合同??? 稍后替换为本地方法调用 微信端可远程调用 string postString = "action=MUserPDF&data=" + targetid.ToString() + "&uc=" + registerid.ToString() + "&OrdId=" + OrdId; string sr = Utils.PostWebRequest(Utils.GetRemote_url("pdf/index"), postString, Encoding.UTF8); #endregion #region 道合作 第一投标调用接口??? B_member_table bmt = new B_member_table(); M_member_table mmt = new M_member_table(); mmt = bmt.GetModel(registerid); if (mmt.Tid != null && mmt.Channelsource == 1) { if (B_usercenter.GetInvestCountByUserid(mmt.registerid) == 1) { string ret3 = Utils.GetCoopAPI(mmt.Tid, investAmt.ToString("0.00"), 2); log += "<br>前台渠道合作第一次返回结果:" + ret3 + " 用户id:" + mmt.registerid + " 订单id " + OrdId; } } #endregion #endregion 待提取为公共方法 //发放奖励 ActFacade act = new ActFacade(); act.SendBonusAfterInvest(dt, EnumCommon.E_hx_ActivityTable.E_ActTargetPlatform.web); #region 线 投资六月专享标一元抢Iphone 2016年9月11日 9点 至2016年9月30日 if (false) { DateTime nowdate = DateTime.Now; DateTime startdate = new DateTime(2016, 09, 11, 9, 00, 00); DateTime enddate = new DateTime(2016, 09, 30, 23, 59, 59); if (nowdate > startdate && nowdate < enddate) { log += "<br>PC端【一元抢Iphone】"; log += "<br>标的期限:" + dt.Rows[0]["life_of_loan"].ToString(); if (dt.Rows[0]["unit_day"].ToString() == "1" && dt.Rows[0]["life_of_loan"].ToString() == "6")//是否六月标 { log += "<br>用户注册时间:" + mmt.Registration_time.ToString(); if (mmt.Registration_time > new DateTime(2016, 09, 11, 0, 0, 0)) { B_GrabIphone gi = new B_GrabIphone(); bool isCount = gi.Exists(mmt.registerid);//查询是否存在该用户 log += "<br> 用户ID:" + mmt.registerid + ";查询是否存在该用户:" + isCount; if (isCount != true) { M_GrabIphone model = new M_GrabIphone(); model.RegrsterID = mmt.registerid; model.Color = ""; model.Addtime = nowdate; model.LuckDrawState = 0; model.WinningState = 0; model.WinningTime = nowdate; model.TargetID = int.Parse(dt.Rows[0]["targetid"].ToString()); model.BidRecordsID = int.Parse(dt.Rows[0]["bid_records_id"].ToString()); model.InvestmentAmount = dt.Rows[0]["investment_amount"].ToString(); gi.Add(model); //增加一条数据 int ljcount = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["GrabIphone"].ToString()); //获取启动抽奖人数 List <M_GrabIphone> giList = gi.GetModelList(ljcount, "LuckDrawState=0", "ID"); //获取当前阶段投资人数 if (giList != null) { log += "<br>当前阶段投资人数:" + giList.Count; if (giList.Count >= ljcount) { bool bo = gi.UpdateLuckDrawState();//批量更新抽奖状态 log += "<br> 批量更新抽奖状态:" + bo; if (bo == true) { int count = giList.Count; int index = new Random().Next(count); M_GrabIphone randowitem = giList[index]; if (randowitem != null) { log += "<br> 获奖用户ID:" + randowitem.RegrsterID; bool co = gi.Update("", 1, DateTime.Now, randowitem.RegrsterID);//更新中奖用户状态 log += "<br> 更新中奖用户状态:" + co; } } } } } } } } } #endregion } } } srt = "RECV_ORD_ID_" + p.OrdId; } }/*缓存检查结束位置*/ } } LogInfo.WriteLog(log); #endregion return(Content(srt)); }
public string loginIn(string username, string userpassword, string Validatecode, int remember, bool realMobileUser = false) { string json = string.Empty; B_member_table o = new B_member_table(); string strIdentify = "LoginValidateCode"; //随机字串存储键值,以便存储到Session中 string ip = Utils.GetRealIP(); if (realMobileUser || Session[strIdentify] != null) { if (!realMobileUser) { var ts = true; if (Settings.Instance.SiteDomain.IndexOf(PublicURL.NewPCUrl) >= 0) { ts = false; } if (ts == false) { if (Session[strIdentify].ToString() != Validatecode) { json = @" {""rs"" : ""n"", ""error"" : ""验证码过期!""}"; return(json); } } } int userid = 0; // int userid = o.CheckLogin(username, userpassword); M_member_table mtb = o.CheckUsrLogin(username); if (mtb == null) { json = @" {""rs"" : ""n"", ""error"" : ""该手机号未注册用户!""}"; return(json); } if (mtb.password != userpassword) { #region 登录失败 try { hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo(); usrmode.logintime = DateTime.Now; usrmode.Loginusrname = mtb.username; usrmode.loginusrpass = "******"; usrmode.registerid = mtb.registerid; usrmode.loginIP = ip; usrmode.logincity = GetIpToCity.GetAddressByIp(ip); usrmode.loginsource = 0; usrmode.loginstate = 1; ef.hx_td_usrlogininfo.Add(usrmode); int ie = ef.SaveChanges(); } catch { } #endregion json = @" {""rs"" : ""n"", ""error"" : ""用户名或密码错误!""}"; return(json); } userid = mtb.registerid; if (userid > 0) { M_login mlogin = new M_login(); mlogin.userid = userid; mlogin.username = username; mlogin.codeno = Utils.SetSessioncode(); mlogin.UsrName = mtb.realname; if (Utils.LoginWriteSession(mlogin, remember) > 0) { string sql = "update hx_member_table set LoginNum=LoginNum+1,lastlogintime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',lastloginIP='" + ip + "' where registerid=" + userid.ToString(); LogInfo.WriteLog("登录信息更新" + sql); DbHelperSQL.ExecuteSql(sql); #region 登录成功 try { hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo(); usrmode.logintime = DateTime.Now; usrmode.Loginusrname = mtb.username; usrmode.loginusrpass = "******"; usrmode.registerid = mtb.registerid; usrmode.loginIP = ip; usrmode.logincity = GetIpToCity.GetAddressByIp(ip); usrmode.loginsource = 0; usrmode.loginstate = 0; ef.hx_td_usrlogininfo.Add(usrmode); int ie = ef.SaveChanges(); //登录发送1580奖励(活动时间:2017.1.9-1.24) ActFacade actFacade = new ActFacade(); { actFacade.LoginSendDKQ(userid); } } catch (Exception tx) { throw (tx); } #endregion if (realMobileUser) { json = @"{""rs"" : ""y"", ""url"" : ""/""}"; return(json); } if (Session["returnpage"] != null) { json = @"{""rs"" : ""y"", ""url"" : ""/""}"; json = json.Replace("/", Session["returnpage"].ToString()); Session["returnpage"] = null; } else { json = @" {""rs"" : ""y"", ""url"" : ""/""}"; } return(json); } } else if (userid == -100) { #region 登录失败 try { hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo(); usrmode.logintime = DateTime.Now; usrmode.Loginusrname = mtb.username; usrmode.loginusrpass = "******"; usrmode.registerid = mtb.registerid; usrmode.loginIP = ip; usrmode.logincity = GetIpToCity.GetAddressByIp(ip); usrmode.loginsource = 1; usrmode.loginstate = 2; ef.hx_td_usrlogininfo.Add(usrmode); int ie = ef.SaveChanges(); } catch { } #endregion json = @" {""rs"" : ""n"", ""error"" : ""禁止登录!""}"; return(json); } else { #region 登录失败 try { hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo(); usrmode.logintime = DateTime.Now; usrmode.Loginusrname = mtb.username; usrmode.loginusrpass = "******"; usrmode.registerid = mtb.registerid; usrmode.loginIP = ip; usrmode.logincity = GetIpToCity.GetAddressByIp(ip); usrmode.loginsource = 0; usrmode.loginstate = 1; ef.hx_td_usrlogininfo.Add(usrmode); int ie = ef.SaveChanges(); } catch { } #endregion json = @" {""rs"" : ""n"", ""error"" : ""用户名或密码错误!""}"; return(json); } } else { json = @" {""rs"" : ""y"", ""error"" : ""验证码过期!""}"; } return(json); }
/// <summary> /// 投资成功,汇付后台主动通知 /// </summary> /// <returns></returns> public ActionResult CallbackBgRetUrl() { int id = 0; string srt = ""; ReInitiativeTender p = new ReInitiativeTender(); B_usercenter BUC = new B_usercenter(); string OrdId = ""; int useridc = 0; string targetid = "0"; id = DNTRequest.GetInt("id", 0); LoggerHelper.Info("主动通知后台有响应成功!"); p.CmdId = DNTRequest.GetString("CmdId"); p.RespCode = DNTRequest.GetString("RespCode"); p.RespDesc = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc")); p.MerCustId = DNTRequest.GetString("MerCustId"); p.OrdId = DNTRequest.GetString("OrdId"); p.OrdDate = DNTRequest.GetString("OrdDate"); p.TransAmt = DNTRequest.GetString("TransAmt"); p.UsrCustId = DNTRequest.GetString("UsrCustId"); p.TrxId = DNTRequest.GetString("TrxId"); p.IsFreeze = DNTRequest.GetString("IsFreeze"); p.FreezeOrdId = DNTRequest.GetString("FreezeOrdId"); p.FreezeTrxId = DNTRequest.GetString("FreezeTrxId"); p.RetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("RetUrl")); p.BgRetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl")); string merp = DNTRequest.GetString("MerPriv"); if (merp.Length > 0) { p.MerPriv = HttpUtility.UrlDecode(merp); } else { p.MerPriv = merp; } p.RespExt = HttpUtility.UrlDecode(DNTRequest.GetString("RespExt")); p.ChkValue = DNTRequest.GetString("ChkValue"); StringBuilder chkVal = new StringBuilder(); chkVal.Append(p.CmdId); chkVal.Append(p.RespCode); chkVal.Append(p.MerCustId); chkVal.Append(p.OrdId); chkVal.Append(p.OrdDate); chkVal.Append(p.TransAmt); chkVal.Append(p.UsrCustId); chkVal.Append(p.TrxId); chkVal.Append(p.IsFreeze); chkVal.Append(p.FreezeOrdId); chkVal.Append(p.FreezeTrxId); chkVal.Append(p.RetUrl); chkVal.Append(p.BgRetUrl); chkVal.Append(p.MerPriv); chkVal.Append(p.RespExt); string chkv = chkVal.ToString(); //私钥文件的位置(这里是放在了站点的根目录下) string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk; int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, p.ChkValue); LoggerHelper.Info("投标后台主动投标返回报文:" + JsonHelper.Entity2Json(p)); string sql = ""; merp = p.MerPriv; string deviceKey = PickoutDeviceFlag(ref merp);//pick out device code from comment field p.MerPriv = merp; int invcount = 0; //记录用户是否是首次投资 #region 验签 if (ret == 0) { if (p.RespCode == "000" || p.RespCode == "534" || p.RespCode == "360" || p.RespCode == "099")//p.RespCode == "322" || { string cachename = p.OrdId + "Invest" + p.UsrCustId; if (Settings.Instance.GeTThirdCache(cachename) == 0) { Settings.Instance.SetThirdCache(cachename); if (p.FreezeTrxId != "") { sql = "select ordstate from hx_Bid_records where ordstate =0 and OrdId='" + p.OrdId + "'"; LoggerHelper.Info("CallbackBgRetUrl===p.OrdId:" + p.OrdId); LoggerHelper.Info("sql :" + sql); DataTable dts = DbHelper.Query(sql).Tables[0]; if (dts.Rows.Count > 0) { //同步处理用户金额 int d = BUC.ReInvest_success(p.UsrCustId, p.FreezeOrdId, p.TransAmt, p.FreezeTrxId, p.OrdId, p.MerPriv); LoggerHelper.Info("后台投标:id" + id.ToString() + "返回唯一冻结标识:" + p.FreezeTrxId + "事务执行结果:" + d.ToString()); if (d > 0) { sql = "select targetid,bid_records_id, borrowing_title,investor_registerid ,username,mobile,invitationcode,investment_amount,life_of_loan,unit_day,borrowing_balance,bonusAmt from V_hx_Bid_records_borrowing_target where OrdId='" + p.OrdId + "'"; DataTable dt = DbHelper.Query(sql).Tables[0]; if (dt.Rows.Count > 0) { decimal invdesc = decimal.Parse(dt.Rows[0]["investment_amount"].ToString()); OrdId = p.OrdId; useridc = int.Parse(dt.Rows[0]["investor_registerid"].ToString()); targetid = dt.Rows[0]["targetid"].ToString(); LoggerHelper.Info(" /*此处加入活动*/:" + targetid); //参与所有活动规则 if (!string.IsNullOrWhiteSpace(deviceKey)) { using (ActFacade actFacade = new ActFacade()) { actFacade.SendBonusAfterInvest(dt, Utils.GetDevicePlatformCode(deviceKey)); } } #region MyRegion 邀请注册奖历 投资成功奖励 --已过期 //invcount = B_usercenter.GetIsNews(useridc); //ActTable act = new ActTable(); //#region 首次投资活动奖励 //if (invcount == 1) //{ // //首次投资活动奖励 // act.UsrFirstInvest(useridc, decimal.Parse(p.TransAmt), 3, 1); //} /////续投用户 //if (invcount >= 2) //{ // act.UsrFirstInvest(useridc, decimal.Parse(p.TransAmt), 3, 6); //} //#region 所有用户 ////所有用户 //act.UsrFirstInvest(useridc, decimal.Parse(p.TransAmt), 3, 5); //#endregion //#region 投标最大的用户 ////投标最大的用户 //decimal borrowing_balance = decimal.Parse(dt.Rows[0]["borrowing_balance"].ToString()); //DataTable dmax = B_usercenter.Topinvestor(int.Parse(targetid)); //if (dmax.Rows.Count > 0) //{ // decimal amtc = decimal.Parse(dmax.Rows[0]["InvCount_Amt"].ToString()); // if (borrowing_balance == amtc) // { // act.UsrFirstInvest(int.Parse(dmax.Rows[0]["investor_registerid"].ToString()), decimal.Parse(dmax.Rows[0]["maxamt"].ToString()), 3, 4); // } //} //#endregion //#region 每标首投用户 ////每标首投用户 //if (B_usercenter.TopNum(targetid) == 1) //{ // act.UsrFirstInvest(useridc, decimal.Parse(p.TransAmt), 3, 3); //} //#endregion //#endregion //#region 渠道合作 第一投标调用接口 //B_member_table bmt = new B_member_table(); //M_member_table mmt = new M_member_table(); //mmt = bmt.GetModel(int.Parse(dt.Rows[0]["investor_registerid"].ToString())); //if (mmt.Tid != null && mmt.Channelsource == 1) //{ // if (B_usercenter.GetIsNews(mmt.registerid) == 1) // { // string ret3 = Utils.GetCoopAPI(mmt.Tid, invdesc.ToString("0.00"), 2); // LoggerHelper.Info("渠道合作第一次返回结果:" + ret3 + " 用户id:" + mmt.registerid + " 订单id " + p.OrdId); // } //} //#endregion /*此处注册奖励业务*/ ////注册奖历 //B_bonus_account bb = new B_bonus_account(); //M_bonus_account mb = new M_bonus_account(); //M_bonus_account_water mbaw = new M_bonus_account_water(); //B_bonus_account_water bbaw = new B_bonus_account_water(); //string invcode = dt.Rows[0]["invitationcode"].ToString(); //string uid = dt.Rows[0]["investor_registerid"].ToString(); //LoggerHelper.Info(" /*验证码*/:" + invcode); //if (invcode != null && invcode != "") //{ // DateTime dte = DateTime.Now; // string codesql = "SELECT invcode,Invpeopleid,invpersonid from hx_td_Userinvitation where invcode='" + invcode + "' and invpersonid=" + uid + " ";//查询本人是否已经被邀请注册过 // LoggerHelper.Info("codesql2:" + codesql); // DataTable dtcode = DbHelperSQL.GET_DataTable_List(codesql); // if (dtcode.Rows.Count > 0) // { // int uuid = int.Parse(dtcode.Rows[0]["Invpeopleid"].ToString()); //邀请用户id // B_member_table oy = new B_member_table(); // M_member_table py = new M_member_table(); // //获取 邀请用户身份渠道用户不执行 // py = oy.GetModel(uuid); // if (py.useridentity != 4) // { // //受邀好友首次成功投资 // #region 首次投资活动奖励 // ACTInvitation aci = new ACTInvitation(); // #region 受邀好友首次成功投资给予活动奖励 // if (invcount == 1) //受邀好友首次成功投资给予活动奖励 // { // hx_UserAct hut = aci.YaoAmtAct(uuid, int.Parse(dtcode.Rows[0]["invpersonid"].ToString()), -1, 4, 1, 1, 0, 5); // if (hut != null) // { // mbaw.bonus_account_id = hut.UserAct; // mbaw.membertable_registerid = uuid; // mbaw.income = decimal.Parse(hut.Amt.ToString()); // mbaw.expenditure = 0.00M; // mbaw.time_of_occurrence = DateTime.Now; // mbaw.award_description = "邀请好友首次投资成功" + hut.Amt.ToString() + "元奖励"; // mbaw.water_type = 0; // bbaw.Add(mbaw); // } // } // #endregion // #region 受邀用户续投奖励 // ///受邀用户续投奖励 // if (invcount >= 2) // { // if (py.LostInvitation == 0) // { // //这里需要取出受邀用户奖总数 // int biyaoUsrid = int.Parse(dt.Rows[0]["invpersonid"].ToString()); // decimal totAmt = B_usercenter.GetInviUserTotalAmt(uuid, biyaoUsrid); // hx_UserAct hut = aci.YaoAmtAct(uuid, biyaoUsrid, decimal.Parse(p.TransAmt), 4, 2, 1, totAmt, 5); // if (hut != null) // { // mbaw.bonus_account_id = hut.UserAct; // mbaw.membertable_registerid = uuid; // mbaw.income = decimal.Parse(hut.Amt.ToString()); // mbaw.expenditure = 0.00M; // mbaw.time_of_occurrence = DateTime.Now; // mbaw.award_description = "受邀用户续投奖励" + hut.Amt.ToString() + "元奖励"; // mbaw.water_type = 0; // bbaw.Add(mbaw); // } // } // } // #endregion // /* // int bbid = bb.Add(mb); // if (bbid > 0) //奖励记录成功后插入明细记录 // { // mbaw.bonus_account_id = bbid; // mbaw.membertable_registerid = uuid; // mbaw.income = mb.amount_of_reward; // mbaw.expenditure = 0.00M; // mbaw.time_of_occurrence = mb.entry_time; // // mbaw. // mbaw.award_description = "邀请投资成功10元奖励"; // mbaw.water_type = 0; // bbaw.Add(mbaw); // DbHelperSQL.RunSql(" update hx_td_Userinvitation set InvitesStates=1 where invcode='" + invcode + "' and invpersonid=" + uid + " and InvitesStates=2 "); // LoggerHelper.Info(" 后台更新数据邀请状态 update hx_td_Userinvitation set InvitesStates=1 where invcode='" + invcode + "' and invpersonid=" + uid + " and InvitesStates=2 "); // }*/ // } // } //} //#endregion #endregion #region MyRegion 系统消息 DateTime dti = DateTime.Now; M_td_System_message pm = new M_td_System_message(); pm.MReg = int.Parse(dt.Rows[0]["investor_registerid"].ToString()); pm.Mstate = 0; pm.MTitle = "投资成功"; pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功投资了项目【" + dt.Rows[0]["borrowing_title"].ToString() + "】,投资金额是:" + dt.Rows[0]["investment_amount"].ToString() + "。如有问题可咨询创利投的客服!谢谢!"; pm.PubTime = dti; pm.Mtype = 1; B_usercenter.AddMessage(pm); #endregion #region MyRegion//短信通知 MemberLogic _logic = new MemberLogic(); var smsEntity = _logic.GetSmsEmailEntity(1, 15); // 短信通知 StringBuilder sbsms = new StringBuilder(smsEntity.SEContext); sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString()); sbsms = sbsms.Replace("#PID#", dt.Rows[0]["targetid"].ToString()); sbsms = sbsms.Replace("#MONEY#", dt.Rows[0]["investment_amount"].ToString()); string mobile = dt.Rows[0]["mobile"].ToString(); M_td_SMS_record psms = new M_td_SMS_record(); B_td_SMS_record osms = new B_td_SMS_record(); int smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.投资成功.ToString()); psms.phone_number = mobile; psms.sendtime = DateTime.Now; psms.senduserid = int.Parse(dt.Rows[0]["investor_registerid"].ToString()); psms.smstype = smstype; psms.smscontext = sbsms.ToString(); psms.orderid = SendSMS.Send(mobile, sbsms.ToString()); psms.vcode = ""; osms.Add(psms); #endregion } //远程调用生成合同 //var values = new NameValueCollection //{ // {"action","MUserPDF"}, // {"data",targetid}, // {"uc",useridc.ToString()}, // {"OrdId",OrdId} //}; //HttpHelper.Post(Settings.Instance.SiteDomain + "/pdf", values); } } else { } srt = "RECV_ORD_ID_" + p.OrdId; } }/*缓存检查结束位置*/ } else { } } #endregion return(Content(srt)); }
/// <summary> /// 投资成功,汇付回调页面 /// </summary> /// <returns></returns> public ActionResult CallbackRetUrl() { ViewBag.UserId = 0; ReInitiativeTender p = new ReInitiativeTender(); B_usercenter BUC = new B_usercenter(); string OrdId = "", sql = ""; int useridc = 0; string targetid = "0"; p.CmdId = DNTRequest.GetString("CmdId"); p.RespCode = DNTRequest.GetString("RespCode"); p.RespDesc = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc")); p.MerCustId = DNTRequest.GetString("MerCustId"); p.OrdId = DNTRequest.GetString("OrdId"); p.OrdDate = DNTRequest.GetString("OrdDate"); p.TransAmt = DNTRequest.GetString("TransAmt"); p.UsrCustId = DNTRequest.GetString("UsrCustId"); p.TrxId = DNTRequest.GetString("TrxId"); p.IsFreeze = DNTRequest.GetString("IsFreeze"); p.FreezeOrdId = DNTRequest.GetString("FreezeOrdId"); p.FreezeTrxId = DNTRequest.GetString("FreezeTrxId"); p.RetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("RetUrl")); p.BgRetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl")); string merp = DNTRequest.GetString("MerPriv"); if (merp.Length > 0) { p.MerPriv = HttpUtility.UrlDecode(merp); } else { p.MerPriv = merp; } p.RespExt = HttpUtility.UrlDecode(DNTRequest.GetString("RespExt")); p.ChkValue = DNTRequest.GetString("ChkValue"); StringBuilder chkVal = new StringBuilder(); chkVal.Append(p.CmdId); chkVal.Append(p.RespCode); chkVal.Append(p.MerCustId); chkVal.Append(p.OrdId); chkVal.Append(p.OrdDate); chkVal.Append(p.TransAmt); chkVal.Append(p.UsrCustId); chkVal.Append(p.TrxId); chkVal.Append(p.IsFreeze); chkVal.Append(p.FreezeOrdId); chkVal.Append(p.FreezeTrxId); chkVal.Append(p.RetUrl); chkVal.Append(p.BgRetUrl); chkVal.Append(p.MerPriv); chkVal.Append(p.RespExt); // LoggerHelper.Info("投标RespCode" + p.RespCode + "RespExt:" + p.RespExt); string chkv = chkVal.ToString(); //私钥文件的位置(这里是放在了站点的根目录下) string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk; int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, p.ChkValue); // LoggerHelper.Info("验签:" + ret.ToString()); LoggerHelper.Info("前台主动投标返回报文:" + JsonHelper.Entity2Json(p)); int invcount = 0; //记录用户是否为首次投资,汲及到邀请人的操作 merp = p.MerPriv; string deviceKey = PickoutDeviceFlag(ref merp);//pick out device code from comment field p.MerPriv = merp; int registerid = 0; #region 验签 if (ret == 0) { if (p.RespCode == "000" || p.RespCode == "534" || p.RespCode == "360" || p.RespCode == "099")//p.RespCode == "322" || { string cachename = p.OrdId + "Invest" + p.UsrCustId; //LoggerHelper.Info("cachename:" + cachename); if (Settings.Instance.GeTThirdCache(cachename) == 0) { Settings.Instance.SetThirdCache(cachename); if (p.FreezeTrxId != "") { sql = "select ordstate from hx_Bid_records where ordstate =0 and OrdId='" + p.OrdId + "'"; LoggerHelper.Info("CallbackRetUrl===p.OrdId:" + p.OrdId); DataTable dts = DbHelper.Query(sql).Tables[0]; if (dts.Rows.Count > 0) { //同步处理用户金额 int d = BUC.ReInvest_success(p.UsrCustId, p.FreezeOrdId, p.TransAmt, p.FreezeTrxId, p.OrdId, p.MerPriv); LoggerHelper.Info("返回唯一冻结标识:" + p.FreezeTrxId + "事务执行结果:" + d); if (d > 0) { sql = "select targetid,bid_records_id, borrowing_title,investor_registerid ,username,mobile,invitationcode,investment_amount,life_of_loan,unit_day,borrowing_balance,bonusAmt,registerid from V_hx_Bid_records_borrowing_target where OrdId='" + p.OrdId + "'"; DataTable dt = DbHelper.Query(sql).Tables[0]; if (dt.Rows.Count > 0) { decimal invdesc = decimal.Parse(dt.Rows[0]["investment_amount"].ToString()); OrdId = p.OrdId; useridc = int.Parse(dt.Rows[0]["investor_registerid"].ToString()); targetid = dt.Rows[0]["targetid"].ToString(); registerid = Convert.ToInt32(dt.Rows[0]["registerid"]); LoggerHelper.Info(" /*此处加入活动*/:" + targetid + " DeviceKey:" + deviceKey); //参与所有活动规则 if (!string.IsNullOrWhiteSpace(deviceKey)) { using (ActFacade actFacade = new ActFacade()) { actFacade.SendBonusAfterInvest(dt, Utils.GetDevicePlatformCode(deviceKey)); } } ViewBag.UserId = Convert.ToInt32(dt.Rows[0]["registerid"]); #region MyRegion 系统消息 DateTime dti = DateTime.Now; M_td_System_message pm = new M_td_System_message(); pm.MReg = int.Parse(dt.Rows[0]["investor_registerid"].ToString()); pm.Mstate = 0; pm.MTitle = "投资成功"; pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功投资了项目【" + dt.Rows[0]["borrowing_title"].ToString() + "】,投资金额是:" + dt.Rows[0]["investment_amount"].ToString() + "。如有问题可咨询创利投的客服!谢谢!"; pm.PubTime = dti; pm.Mtype = 1; B_usercenter.AddMessage(pm); #endregion #region MyRegion//短信通知 MemberLogic _logic = new MemberLogic(); var smsEntity = _logic.GetSmsEmailEntity(1, 15); // 短信通知 StringBuilder sbsms = new StringBuilder(smsEntity.SEContext); sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString()); sbsms = sbsms.Replace("#PID#", dt.Rows[0]["targetid"].ToString()); sbsms = sbsms.Replace("#MONEY#", dt.Rows[0]["investment_amount"].ToString()); string mobile = dt.Rows[0]["mobile"].ToString(); M_td_SMS_record psms = new M_td_SMS_record(); B_td_SMS_record osms = new B_td_SMS_record(); int smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.投资成功.ToString()); psms.phone_number = mobile; psms.sendtime = DateTime.Now; psms.senduserid = int.Parse(dt.Rows[0]["investor_registerid"].ToString()); psms.smstype = smstype; psms.smscontext = sbsms.ToString(); psms.orderid = SendSMS.Send(mobile, sbsms.ToString()); psms.vcode = ""; osms.Add(psms); #endregion } } } } } }/*缓存检查结束位置*/ } #endregion return(View(p)); }