public static void Perform() { SendData sendData = new SendEmail(new WebService()); sendData.Send(); sendData.BridgeComponents = new ThirdPartyAPI(); sendData.Send(); sendData = new SendSMS(new WebService()); sendData.Send(); sendData.BridgeComponents = new ThirdPartyAPI(); sendData.Send(); Console.WriteLine(); }
/**Method Name: OnGUI * Parameters: N/A * Returns: N/A * * A built-in unity function. * Used for rendering and handling GUI events. * */ void OnGUI() { style.fontSize = 100; style.alignment = TextAnchor.MiddleCenter; //prints the current score and the game instructions GUI.Label(new Rect(100, (Screen.height / 2) - 70, 600, 600), "SCORE: " + score + "", style); //check if game count is not max if (count >= 15) { //check if user has passing score if (score >= 9) { GUI.Label((new Rect(100, (Screen.height / 2), 600, 600)), "YOU PASS!", style); } else if (!StartGame.Practice()) { SendSMS.Send("Hello!"); Debug.Log("LOSE"); GUI.Label((new Rect(100, (Screen.height / 2), 600, 600)), "YOU FAIL!", style); count = 0; score = 0; } //this is to avoid multiple calls of EndGame if (!ended) { //flips bit so that it wont enter this conditional again ended = !ended; //calls EndGame after 3 seconds Invoke("EndGame", 3); } } }
/**Method Name: OnGUI * Parameters: N/A * Returns: N/A * * A built-in unity function. * Used for rendering and handling GUI events. * */ void OnGUI() { style.fontSize = 30; style.normal.textColor = Color.white; //GUI.Label(new Rect(10, 10, 100, 100), "Try to Finish the Maze",style); if (wall_is_touched) { //GUI.Label(new Rect(10, 80, 100, 100), "You failed -_-"); if (!StartGame.Practice()) { SendSMS.Send("Sadt.."); wall_is_touched = false; reached_end = false; } // prevents multiple cals of EndGame if (!ended) { ended = !ended; Invoke("EndGame", 3); } } else if (reached_end && (!wall_is_touched)) { GUI.Label(new Rect(10, 30, 100, 100), "DONE!!!!!!!!", style); if (!ended) { ended = !ended; Invoke("EndGame", 3); } } }
/**Method Name: OnGUI * Parameters: N/A * Returns: N/A * * A built-in unity function. * Used for rendering and handling GUI events. * */ void OnGUI() { style.fontSize = 50; style.normal.textColor = Color.white; style.alignment = TextAnchor.MiddleCenter; //prints the current score and the game instructions GUI.Label(new Rect(100, 150, 600, 600), "SCORE: " + score + "", style); if (count >= 15) { if (score >= 9) { GUI.Label((new Rect(100, 50, 600, 600)), "YOU PASS!", style); } else if (!StartGame.Practice()) { SendSMS.Send("Hello!"); count = 0; score = 0; } //this is to avoid multiple calls of EndGame if (!ended) { //flips bit so that it wont enter this conditional again ended = !ended; //calls EndGame after 3 seconds Invoke("EndGame", 3); } } }
public ActionResult ztest() { SendSMS.Send(SendSMS.Templates.SUCCESSFUL_REGISTER, "8058758011", "", "", "himanshu", "", ""); //message = message.Replace("OTP", "123456"); //Utility.SendMsg(mobile, message); return(Ok()); }
static void Main(string[] args) { SendDataMessage serviceMessage; serviceMessage = new SendMail(); serviceMessage.BridgeMessageService = new GMailService(); serviceMessage.Send("Message from Bridge Test", "*****@*****.**"); serviceMessage = new SendSMS(); serviceMessage.BridgeMessageService = new TwilioService(); serviceMessage.Send("Message from Bridge Test", "4491091867"); Console.ReadKey(); }
public donateResponse donate(donatePayload donate, IConfiguration _config, IHostingEnvironment env) { try { using (var db = new TrippleNTDBContext()) { var reco = db.Reconciliation.Where(o => o.CompanyId == donate.companyId && o.Status == "Pending").FirstOrDefault(); if (reco != null) { return new donateResponse { status = "failed", msg = "Cannot commit donations becuase you have pending reconcilation payment " } } ; var donation = new Donations(); donation.DateDonated = DateTime.Now; donation.CompanyStaffId = donate.userId; donation.ComapanyId = donate.companyId; donation.Amount = donate.amount; donation.Donor = donate.phoneNumber; donation.Status = "NR"; db.Donations.Add(donation); db.SaveChanges(); var donor = db.Donors.Find(donate.phoneNumber); if (donor == null) { var d = new Donors(); d.PhoneNumber = donate.phoneNumber; db.Donors.Add(d); db.SaveChanges(); } var msg = "Hello, thank you for your donation, Edufund appreciates your commitment to changing the world with your 'SPARE CHANGE'. Your can view your donation badge here https://bit.ly/fRruwQE"; var a = SendSMS.Send(donate.phoneNumber, msg, _config); return(new donateResponse { status = "success", msg = "Donation was Successful. Thank You" }); } } catch (Exception ex) { new Utility.LogWriter(ex.Message + " " + ex.InnerException, env); return(new donateResponse { status = "failed", msg = "Something went wrong try again Later" }); } }
/**Method Name: OnGUI * Parameters: N/A * Returns: N/A * * A built-in unity function. * Used for rendering and handling GUI events. * */ void OnGUI() { style.fontSize = 30; style.normal.textColor = Color.white; //prints the current score and the game instructions GUI.Label(new Rect((Screen.width / 2) - 50, (Screen.height / 2) - 210, 600, 600), "TRIES: " + tries, style); //end game if user guesses sequence correctly if (clickNum >= sequence.Length) { GUI.Label((new Rect((Screen.width / 2) - 70, (Screen.height / 2) - 170, 600, 600)), "YOU PASS!", style); //this is to avoid multiple calls of EndGame if (!ended) { //flips bit so that it wont enter this conditional again ended = !ended; //calls EndGame after 3 seconds Invoke("EndGame", 3); } } //send sms on failure else if (tries <= 0) { if (!StartGame.Practice()) { SendSMS.Send("Hello!"); tries = 5; } if (!ended) { //flips bit so that it wont enter this conditional again ended = !ended; //calls EndGame after 3 seconds Invoke("EndGame", 3); } } }
///// <summary> ///// 获取绑定手机号验证码短信接口--解志辉 ///// </summary> ///// <param name="reqst">The reqst.</param> ///// <returns>ResultInfo<System.String>.</returns> ///// 创 建 者:解志辉 ///// 创建日期:2016-05-25 16:25:37 //[HttpPost] //public ResultInfo<string> GetBindMobileCode(RequestParam<SmsEntity> reqst) //{ // var ri = new ResultInfo<string>("99999"); // try // { // var mobile = reqst.body.mobile; // if (string.IsNullOrEmpty(mobile)) // { // ri.code = "1000000000"; // } // else if (!ValidateHelper.IsHandset(mobile)) // { // ri.code = "1000000001"; // } // else if (!_logic.CheckMobile(mobile)) // { // ri.code = "1000000010"; //未找到相关记录 // } // else // { // #region 发送修改密码短信 // var res = SendSms(mobile, 1, 25); // return res; // #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; // } //} ///// <summary> ///// 获取修改手机号验证码短信接口--解志辉 ///// </summary> ///// <param name="reqst">The reqst.</param> ///// <returns>ResultInfo<System.String>.</returns> ///// 创 建 者:解志辉 ///// 创建日期:2016-05-25 16:20:03 //[HttpPost] //public ResultInfo<string> GetModifyMobileCode(RequestParam<RequestBindMobileEntity> reqst) //{ // var ri = new ResultInfo<string>("99999"); // try // { // var userId = ConvertHelper.ParseValue(reqst.body.userId, 0); // var mobile = _logic.SelectUserMobileByUserId(userId);//当前用户手机号 // if (string.IsNullOrEmpty(reqst.body.mobile)) // { // ri.code = "1000000000"; // } // else if (!ValidateHelper.IsHandset(reqst.body.mobile)) // { // ri.code = "1000000001"; // } // else if (mobile != reqst.body.mobile) // { // ri.code = "1000000013"; // } // else // { // #region 发送短信 // var res = SendSms(mobile, 1,35); // return res; // #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; // } //} /// <summary> /// 发送短信--解志辉 /// </summary> /// <param name="mobile"></param> /// <param name="type"></param> /// <param name="messageId"></param> /// <returns></returns> protected ResultInfo <string> SendSms(string mobile, int type, int messageId) { var ri = new ResultInfo <string>("99999"); try { #region 防止短信过度频繁发送 #region First 60之内不能再次发送短信 var cacheKey = "reg_member_get_code_time_" + mobile; var cv = CacheHelper.GetSystemCache(cacheKey); if (cv == null) { CacheHelper.SetCache(cacheKey, DateTime.Now, 1); } else { var dte = ConvertHelper.ParseValue(cv, DateTime.MinValue); if (dte != DateTime.MinValue) { var sec = Settings.Instance.DateDiff("Second", dte, DateTime.Now); if (sec > 60) { CacheHelper.ClearCache(cacheKey); } else { ri.code = "1000000005"; //短信发送太频繁!请稍后再试 } } } #endregion #region Second 同IP间隔60S之后才能再次发送 同时一个IP最多发送8条注册短信 var t1 = (int)Enum.Parse(typeof(SmsType), SmsType.短信验证码.ToString()); var t2 = (int)Enum.Parse(typeof(SmsType), SmsType.语音短信验证码.ToString()); if (!_recordLogic.CheckInOneMinute(Settings.Instance.ClientIp, t1, t2)) { ri.code = "1000000005"; //短信发送太频繁!请稍后再试 } #endregion #region Third 同一IP最多发送8条同类型短信 if (_recordLogic.CheckIpSendTimes(Settings.Instance.ClientIp, t1, t2) >= 8) { ri.code = "1000000006"; //短信发送太频繁!请与客服联系 } #endregion #endregion #region 验证3分钟之内有没有验证码记录,有则发送 var ent = _recordLogic.SelectHistory(mobile, t1, t2); if (ent != null) { if (ent.hits < 4) { ent.orderid = SendSMS.Send(mobile, ent.smscontext); _recordLogic.UpdateRecord(ent); } else { ri.code = "1000000006"; //短信发送太频繁!请与客服联系 } } else //不存在记录,生成新验证码 { #region 生成验证码 发送短信并记录发送日志 var vcode = Utils.RndNum(6); var ebt = _logic.GetSmsEmailEntity(type, messageId); // 获取验证码邮件内容 var sbsms = new StringBuilder(ebt.SEContext); sbsms = sbsms.Replace("#CODE#", vcode); var pm = new SmsRecordEntity { phone_number = mobile, sendtime = DateTime.Now, senduserid = 0, smstype = t1, smscontext = sbsms.ToString(), orderid = SendSMS.Send(mobile, sbsms.ToString()), vcode = vcode, ip = Settings.Instance.ClientIp }; _recordLogic.AddRecord(pm); #endregion ri.code = "1000000099"; ri.body = vcode; } #endregion ri.message = Settings.Instance.GetErrorMsg(ri.code); return(ri); } catch (Exception ex) { LoggerHelper.Error(ex.ToString()); LoggerHelper.Error("send phone:" + mobile + "type:" + type + " messageId:" + messageId); ri.code = "500"; ri.message = Settings.Instance.GetErrorMsg(ri.code); return(ri); } }
public bool SendNotification(obj1 obj) { var sender = new SendSMS(); return(sender.Send(obj)); }
/// <summary> /// 汇付主动通知页面 /// </summary> /// <returns></returns> public ActionResult CashBgCallback() { string str1 = ""; ReCash m = new ReCash(); m.CmdId = DNTRequest.GetString("CmdId"); m.RespCode = DNTRequest.GetString("RespCode"); m.RespDesc = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc")); m.MerCustId = DNTRequest.GetString("MerCustId"); m.OrdId = DNTRequest.GetString("OrdId"); m.UsrCustId = DNTRequest.GetString("UsrCustId"); m.TransAmt = DNTRequest.GetString("TransAmt"); m.OpenAcctId = DNTRequest.GetString("OpenAcctId"); m.OpenBankId = DNTRequest.GetString("OpenBankId"); m.FeeAmt = DNTRequest.GetString("FeeAmt"); m.FeeCustId = DNTRequest.GetString("FeeCustId"); m.FeeAcctId = DNTRequest.GetString("FeeAcctId"); m.ServFee = DNTRequest.GetString("ServFee"); m.ServFeeAcctId = DNTRequest.GetString("ServFeeAcctId"); m.RetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("RetUrl")); m.BgRetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl")); m.MerPriv = DNTRequest.GetString("MerPriv"); m.RespExt = HttpUtility.UrlDecode(DNTRequest.GetString("RespExt")); m.ChkValue = DNTRequest.GetString("ChkValue"); m.RealTransAmt = DNTRequest.GetString("RealTransAmt"); LoggerHelper.Info("后台取现返回报文:" + JsonHelper.Entity2Json(m)); //验签 StringBuilder chkVal = new StringBuilder(); chkVal.Append(m.CmdId); chkVal.Append(m.RespCode); chkVal.Append(m.MerCustId); chkVal.Append(m.OrdId); chkVal.Append(m.UsrCustId); chkVal.Append(m.TransAmt); chkVal.Append(m.OpenAcctId); chkVal.Append(m.OpenBankId); chkVal.Append(m.FeeAmt); chkVal.Append(m.FeeCustId); chkVal.Append(m.FeeAcctId); chkVal.Append(m.ServFee); chkVal.Append(m.ServFeeAcctId); chkVal.Append(m.RetUrl); chkVal.Append(m.BgRetUrl); chkVal.Append(m.MerPriv); chkVal.Append(m.RespExt); string msg = chkVal.ToString(); //私钥文件的位置(这里是放在了站点的根目录下) string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk; //需要指定提交字符串的长度 int len = Encoding.UTF8.GetBytes(msg).Length; StringBuilder sbChkValue = new StringBuilder(256); int ret = DllInterop.VeriSignMsg(merKeyFile, msg, msg.Length, m.ChkValue); // LoggerHelper.Info("验签返回参数:" + ret.ToString()); StringBuilder str = new StringBuilder(); if (ret == 0) { //提现成功后,得多事务处理账户金额,流水及冻结金额等 if (m.RespCode == "000") { string cachename = m.OrdId + "Cash" + m.UsrCustId; if (Settings.Instance.GeTThirdCache(cachename) == 0) { Settings.Instance.SetThirdCache(cachename); B_usercenter BUC = new B_usercenter(); M_ReqExt mr = new M_ReqExt(); mr = FastJSON.ToObject <M_ReqExt>(m.RespExt.Replace("[", "").Replace("]", "")); int CashOp = BUC.CashTran(m.OpenAcctId, m.OpenBankId, m.OrdId, m.RealTransAmt, m.UsrCustId, m.FeeAmt, mr.FeeObjFlag, mr.CashChl); if (CashOp > 0) { string sql = "select registerid,username,mobile,UsrCustId,available_balance from hx_member_table where UsrCustId='" + m.UsrCustId + "'"; LoggerHelper.Info("后台审请取现成功短信sql:" + sql); DataTable dt = DbHelper.Query(sql).Tables[0]; if (dt.Rows.Count > 0) { //短信通知 //尊敬的#USERANEM#,您已成功提现#MONEY#元,账户余额#MONEY1#.请注意查收!【创利投】 MemberLogic _logic = new MemberLogic(); var ebt = _logic.GetSmsEmailEntity(1, 12); // 获取内容 string contxt = ebt.SEContext; StringBuilder sbsms = new StringBuilder(contxt); sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString()); sbsms = sbsms.Replace("#MONEY#", m.TransAmt); decimal amt = decimal.Parse(dt.Rows[0]["available_balance"].ToString()) - decimal.Parse(m.TransAmt); sbsms = sbsms.Replace("#MONEY1#", amt.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]["registerid"].ToString()); psms.smstype = smstype; psms.smscontext = sbsms.ToString(); psms.orderid = SendSMS.Send(mobile, sbsms.ToString()); psms.vcode = ""; osms.Add(psms); 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 = "投现成功"; pm.MContext = sbsms.ToString(); pm.PubTime = dti; pm.Mtype = 3; B_usercenter.AddMessage(pm); //即时提现,提现金额小于等于20万自动审核,高于20万人工审核 string cashChl = Enum.GetName(typeof(EnumCommon.E_hx_td_UserCash.EnumCashChl), (int)EnumCommon.E_hx_td_UserCash.EnumCashChl.IMMEDIATE); if (mr.CashChl == cashChl && decimal.Parse(m.TransAmt) <= 200000) { string retUrl = Settings.Instance.ImagesDomain + "/admin/UserCash/RePostCashProcessing"; string bgRetUrl = Settings.Instance.ImagesDomain + "/admin/Thirdparty/BgCashProcessing"; BusinessLogicHelper.AutoCheckCash(m.UsrCustId, retUrl, bgRetUrl); } } } } str1 = "RECV_ORD_ID_" + m.OrdId; } } return(Content(str1)); }
public static bool NotifySms(this ISmsNotification obj) { var sender = new SendSMS(); return(sender.Send(obj)); }
public bool Notify() { var sender = new SendSMS(); return(sender.Send(this)); }
/// <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)); }