//Public Method SendSMS public string SendSMS(string mobileno, string message) { if (CheckConnection()) { try { SmsClient.ServerAddress = ServerAddress; SmsClient.Port = Convert.ToInt32(ServerPort); SmsClient.HttpProxy.ProxyMode = HttpProxyMode.AutoDetect; //SmsClient.HttpProxy.Host = ProxyAddress; //SmsClient.HttpProxy.Port = Convert.ToInt32(ProxyPort); SmsClient sms = new SmsClient(Username, Password); try { SendMessageResult result = sms.SendMessage(mobileno, message); return result.TaskId + "|" + result.MessageId; } catch (Exception ex) { return ex.Message; } } catch (Exception ex) { return ex.Message; } } else { return "Error"; } }
//Public Method SendSMS public string SendSMS(string mobileno, string message) { if (CheckConnection()) { try { SmsClient.ServerAddress = ServerAddress; SmsClient.Port = Convert.ToInt32(ServerPort); SmsClient.HttpProxy.ProxyMode = HttpProxyMode.AutoDetect; //SmsClient.HttpProxy.Host = ProxyAddress; //SmsClient.HttpProxy.Port = Convert.ToInt32(ProxyPort); SmsClient sms = new SmsClient(Username, Password); try { SendMessageResult result = sms.SendMessage(mobileno, message); return(result.TaskId + "|" + result.MessageId); } catch (Exception ex) { return(ex.Message); } } catch (Exception ex) { return(ex.Message); } } else { return("Error"); } }
protected void DoAfterPay(TuanDai.Payment.ResultNotify resultNotify) { if (resultNotify.IsSuccess) { AccountRechareInfo accountRechare = getAccountRechare(resultNotify.OutTradeNo); if (accountRechare != null) { //调用第三方渠道 try { TuanDai.PortalSystem.BLL.ThirdPartyChannel.RechargeCallBack(accountRechare.Id, accountRechare.UserId); } catch (Exception ex) { new TuanDai.LogSystem.LogClient.LogClients().WriteErrorLog( "TuanDai.PortalSystem.BLL.ThirdPartyChannel.RechargeCallBack", "", "", ex.Message); } UserBasicInfoInfo userBasicInfo = new UserBLL().GetUserBasicInfoModelById(accountRechare.UserId); if (userBasicInfo != null) { var isNewSmsRequest = ConfigHelper.getConfigString("IsNewSmsRequest", "0"); if (isNewSmsRequest == "0") { var parameters = new Dictionary<string, object>(); parameters.Add("CurrentDate", DateTime.Now); parameters.Add("RechargeMoney", resultNotify.TradeMoney); parameters.Add("User", userBasicInfo); parameters.Add("Host", GlobalUtils.WebURL); var msgSender = new BusinessDll.MessageSend(); msgSender.SendMessage2(eventCode: MessageTemplates.RechargeSuccess, parameters: parameters, mobile: userBasicInfo.TelNo, email: userBasicInfo.Email, userId: userBasicInfo.Id); } else { SmsRequest rechargeSuccessSmsRequest = new SmsRequest(); rechargeSuccessSmsRequest.EventCode = MsgTemplatesType.RechargeSuccess; rechargeSuccessSmsRequest.PlatformSource = PlatformSource.Pc; rechargeSuccessSmsRequest.UserId = userBasicInfo.Id; rechargeSuccessSmsRequest.EmailAddress = userBasicInfo.Email; rechargeSuccessSmsRequest.Mobile = userBasicInfo.TelNo; rechargeSuccessSmsRequest.Parameters = new Dictionary<string, object>(); rechargeSuccessSmsRequest.Parameters.Add("RechargeMoney", resultNotify.TradeMoney); string errorMessage = string.Empty; SmsClient.SendMessage(rechargeSuccessSmsRequest, ref errorMessage); } } } } }
/// <summary> /// 异步向所有投资者发送短信通知用户提前还款 /// </summary> /// <param name="projectId"></param> private void DoSyncSendPhoneMsgToSubcribeUsers(Guid projectId) { var smsRequestPrepaymentRemind = new SmsRequest(); smsRequestPrepaymentRemind.EventCode = MsgTemplatesType.PrepaymentRemind; smsRequestPrepaymentRemind.PlatformSource = PlatformSource.WeiXin; smsRequestPrepaymentRemind.Parameters = new Dictionary <string, object>(); smsRequestPrepaymentRemind.Parameters.Add("ProjectId", projectId.ToString()); string errorString = string.Empty; SmsClient.SendMessage(smsRequestPrepaymentRemind, ref errorString); if (!string.IsNullOrEmpty(errorString)) { TuanDai.LogSystem.LogClient.LogClients.ErrorLog(TdConfig.ApplicationName, "WXInvest/DoSyncSendPhoneMsgToSubcribeUsers", JsonConvert.SerializeObject(smsRequestPrepaymentRemind), errorString); } }
public static void SendMessageAsync(string AccountUsername, string AccountPassword, string mobileNo, string message, DateTime scheduleTime) { var smsClient = new SmsClient(AccountUsername, AccountPassword); var smsLog = new SmsLog { UserId = Current.User.Id, MobileNo = mobileNo, Message = message, SentTime = DateTime.Now, SmsStatus = SmsStatus.Sending, MessageId = "", TaskId = "", ErrorMsg = "" }; smsLog.Id = (int)Current.DB.SmsLogs.Insert(smsLog); Task.Factory.StartNew(() => { try { SendMessageResult result; if (scheduleTime == DateTime.MinValue) { result = smsClient.SendMessage(mobileNo, message); } else { result = smsClient.SendMessage(mobileNo, message, scheduleTime); } Current.DB.Execute(@"update SmsLogs set SmsStatus=@SmsStatus, MessageId=@MessageId, TaskId=@TaskId where Id = @id", new { SmsStatus = (int)SmsStatus.Success, MessageId = result.MessageId, TaskId = result.TaskId, id = smsLog.Id }); } catch (GatewayException ge) { Current.DB.Execute(@"update SmsLogs set SmsStatus=@SmsStatus, ErrorMsg=@ErrorMsg where Id = @id", new { SmsStatus = (int)SmsStatus.Error, ErrorMsg = ge.Message, id = smsLog.Id }); } catch (Exception ex) { Current.DB.Execute(@"update SmsLogs set SmsStatus=@SmsStatus, ErrorMsg=@ErrorMsg where Id = @id", new { SmsStatus = (int)SmsStatus.Error, ErrorMsg = ex.Message, id = smsLog.Id }); } }); }
/// <summary> /// 新增银行卡简单绑定 /// </summary> public void addsimplebankaccount() { Guid userid = WebUserAuth.UserId.Value; //UserBasicInfo basicmodel = db.UserBasicInfo.FirstOrDefault(p => p.Id == userid); var basicmodel = new UserBLL().GetUserBasicInfoModelById(userid); if (basicmodel == null) { PrintJson("-1", "用户不存在"); } if (basicmodel.IsValidateIdentity != true || basicmodel.IsValidateMobile != true) { PrintJson("-10", "绑定银行卡前需完成身份证验证和手机验证"); } if (!string.IsNullOrWhiteSpace(basicmodel.BankAccountNo)) { PrintJson("-4", "最多添加1张银行卡"); } int userBankCount = 0; //using (SqlConnection connection = PubConstant.CrateReadConnection()) //{ string strSqlBank = @"SELECT Count(0) FROM UserBankInfo WITH(NOLOCK) WHERE UserId = @userId"; DynamicParameters paramBank = new Dapper.DynamicParameters(); paramBank.Add("@userId", basicmodel.Id); userBankCount = TuanDai.DB.TuanDaiDB.QueryFirstOrDefault <int>(TdConfig.DBRead, strSqlBank, ref paramBank); // userBankCount = connection.Query<int>(strSqlBank, paramBank).FirstOrDefault(); // connection.Close(); // connection.Dispose(); //} if (userBankCount >= 1) { PrintJson("-4", "最多添加1张银行卡"); } bool status = !string.IsNullOrEmpty(basicmodel.BankAccountNo) ? false : true; string account = Context.Request["account"]; int bankType = Tool.SafeConvert.ToInt32(Context.Request["bankType"]); Regex reg = new Regex("^[\u4e00-\u9fa5]+$"); //if (bankType == 9999) //{ // PrintJson("-2", "对不起!系统暂不支持该银行"); //} if (!string.IsNullOrWhiteSpace(account)) { account = account.Replace(" ", ""); } Regex numreg = new Regex("^[0-9]*$"); if (!numreg.IsMatch(account)) { PrintJson("-5", "银行卡号输入有误"); } //UserBasicInfo bankUser = db.UserBasicInfo.FirstOrDefault(p => p.BankAccountNo == account && p.Id != userid); //var bankUser = new UserBLL().WXGetUserBasicInfo(" BankAccountNo = @BankAccountNo and Id <>@Id", // new SqlParameter[] // { // new SqlParameter("@BankAccountNo", account), new SqlParameter("@Id", userid) // }); if (BankNoExists(account, userid)) { PrintJson("-3", "新的银行账号已经绑定另一用户,不能再绑定。"); } basicmodel.BankAccountNo = account; basicmodel.BankType = bankType; int iAuthenState = -1; //-1代表不更新该字段 if (basicmodel.IsValidateEmail && basicmodel.IsValidateIdentity && basicmodel.IsValidateMobile && basicmodel.IsSafeQuestion) { iAuthenState = 4; } int iResult = 0; //using (SqlConnection connection = PubConstant.CrateConnection()) //{ string strSql = @"BEGIN TRANSACTION DECLARE @errorSum INT SET @errorSum = 0 if not exists(select 1 from UserBankInfo where UserId=@userId) begin INSERT INTO UserBankInfo(UserId,BankNo,BankType) VALUES(@userId, @bankNo, @bankType) end SET @errorSum = @errorSum + @@error INSERT INTO BankInfoLog([Id],[UserId],[BankNo],[RealName],[AddDate],[type],[UpdateUserId],[CardNo]) VALUES(NEWID(), @userId, @bankNo, @realName, @addDate, @type, @updateUserId, @cardNo) SET @errorSum = @errorSum + @@error IF(@AuthenState = 4) BEGIN UPDATE UserBasicInfo SET AuthenState = 4 WHERE ID = @userId SET @errorSum = @errorSum + @@error END IF(@errorSum = 0) BEGIN COMMIT TRANSACTION END ELSE BEGIN ROLLBACK TRANSACTION END"; DynamicParameters param = new Dapper.DynamicParameters(); param.Add("@userId", basicmodel.Id); param.Add("@bankNo", account); param.Add("@bankType", bankType); param.Add("@realName", basicmodel.RealName); param.Add("@addDate", DateTime.Now); param.Add("@type", 1); param.Add("@updateUserId", basicmodel.Id); param.Add("@cardNo", basicmodel.IdentityCard); param.Add("@AuthenState", iAuthenState); iResult = TuanDai.DB.TuanDaiDB.Execute(TdConfig.DBUserWrite, strSql, ref param); // iResult = connection.Execute(strSql, param); //} string updateUserbasicinfoBank = "UPDATE dbo.UserBasicInfo SET BankAccountNo=@BankAccountNo,BankType=@BankType WHERE Id=@Id"; var userbasicinfoBankParam = new Dapper.DynamicParameters(); userbasicinfoBankParam.Add("@Id", basicmodel.Id); userbasicinfoBankParam.Add("@BankAccountNo", account); userbasicinfoBankParam.Add("@BankType", bankType); TuanDai.DB.TuanDaiDB.Execute(TdConfig.DBUserWrite, updateUserbasicinfoBank, ref userbasicinfoBankParam); if (iResult > 0) { if (status) { TuanDai.PortalSystem.BLL.VipGetWorthBLL.AddGetWorth(userid, (int)ConstString.UserGrowthType.BindBankCard, null, 0); } WebLog log = new WebLog(); log.AddDate = DateTime.Now; log.BusinessId = userid.ToString(); log.BusinessTypeId = (int)ConstString.LogBusinessType.Add; log.UserId = userid.ToString(); log.UserTypeId = (int)ConstString.LogUserType.WebUser; log.HandlerTypeId = (int)ConstString.LogType.BankAccount; log.Content1 = "新增银行卡绑定"; log.Content2 = "银行账号为:" + account; log.Content5 = "银行类型:" + bankType.ToString(); log.Id = Guid.NewGuid().ToString(); WebLogInfo.WriteLoginHandler(log); #region 发送通知消息 var isNewSmsRequest = ConfigHelper.getConfigString("IsNewSmsRequest", "0"); if (isNewSmsRequest == "0") { MessageSend ms = new MessageSend(); var dic = new Dictionary <string, object>(); dic.Add("UserName", basicmodel.RealName); dic.Add("CurrentDate", DateTime.Now); ms.SendMessage2(eventCode: MessageTemplates.ModifyBankAccount, parameters: dic, mobile: basicmodel.TelNo, email: basicmodel.Email, userId: basicmodel.Id); } else { SmsRequest modifyBankAccountSuccess = new SmsRequest(); modifyBankAccountSuccess.EventCode = MsgTemplatesType.ModifyBankAccountSuccess; modifyBankAccountSuccess.PlatformSource = PlatformSource.WeiXin; modifyBankAccountSuccess.UserId = userid; modifyBankAccountSuccess.Mobile = basicmodel.TelNo; modifyBankAccountSuccess.EmailAddress = basicmodel.Email; modifyBankAccountSuccess.Parameters = new Dictionary <string, object>(); modifyBankAccountSuccess.Parameters.Add("ApplyDate", DateTime.Now); string errorMessage = string.Empty; SmsClient.SendMessage(modifyBankAccountSuccess, ref errorMessage); } #endregion var startDate = DateTime.Parse("2015-04-30 10:00:00"); if (!string.IsNullOrEmpty(basicmodel.ExtenderKey)) { var extenderKey = basicmodel.ExtenderKey; //var invitedUsers = db.UserBasicInfo.Where(x => // x.ExtenderKey == extenderKey && // x.IsValidateIdentity && // x.BankAccountNo != null && // x.AddDate >= startDate).Count(); var invitedUsers = GetInvitedUserCount(extenderKey, startDate); //这种方式查询较慢,先注释掉. //邀请人每邀请五个实名且绑定银行卡的用户可获得1个月VIP超级会员 //第101位客户开始不奖励 //if (invitedUsers >= 5 && invitedUsers <= 100 && (invitedUsers % 5 == 0)) //{ // //var user = db.UserBasicInfo.FirstOrDefault(x => x.ExtendKey == extenderKey); // //var user = new UserBLL().WXGetUserBasicInfo(" ExtendKey=@ExtendKey", // // new SqlParameter[] { new SqlParameter("@ExtendKey",extenderKey) }); // var user = new UserBLL().GetUserBasicInfoByExtendKey(extenderKey); // if (user != null) // { // //var parameters = new ObjectParameter("outStatus", 0); // //db.p_GiveMember(user.Id, 0, "邀请好友注册赢VIP超级会员", 1, null, parameters); // var para = new Dapper.DynamicParameters(); // para.Add("@userid", user.Id); // para.Add("@type", 0); // para.Add("@desc", "邀请好友注册赢VIP超级会员"); // para.Add("@months", 1); // para.Add("@handlerUserId", null); // para.Add("@outStatus", 0, DbType.Int32, ParameterDirection.Output); // PublicConn.ExecuteTD(PublicConn.DBWriteType.UserWrite, "p_GiveMember", ref para); // } //} } PrintJson("1", "操作成功"); } else { PrintJson("0", "操作失败"); } }
protected void Page_Load(object sender, EventArgs e) { TuanDai.Payment.Log.Info(this.GetType().ToString(), "开始易宝回调"); string callback_result = ""; try { if (Request["data"] == null || Request["encryptkey"] == null) { TuanDai.Payment.Log.Info(this.GetType().ToString(), "参数不正确"); Response.Write("参数不正确!"); Response.End(); } TuanDai.Payment.Log.Info(this.GetType().ToString(), "易宝回调加密参数:" + Request["data"] + ",密钥:" + Request["encryptkey"]); //商户注意:接收到易宝的回调信息后一定要回写success用以保证握手成功! string data = Request["data"]; //回调中的参数data string encryptkey = Request["encryptkey"]; //回调中的参数encryptkey callback_result = YJPayUtil.checkYbCallbackResult(data, encryptkey); var resultData = JsonConvert.DeserializeObject <SortedDictionary <string, string> >(callback_result); TuanDai.Payment.Log.Info(this.GetType().ToString(), "The Pay result is Values : " + callback_result); if (resultData == null || resultData.ContainsKey("error_msg")) { Response.Write("参数不正确!"); Response.End(); } var status = resultData["status"].ToString(); var rechargeMoney = resultData["amount"].ToString(); var out_trade_no = resultData["orderid"].ToString(); var transaction_id = resultData["yborderid"].ToString(); string strSQL = "p_OnLineRechargeHandler"; DynamicParameters dyParams = new DynamicParameters(); dyParams.Add("@orderno", out_trade_no); dyParams.Add("@MediumMoney", decimal.Parse(rechargeMoney) / 100); dyParams.Add("@MediumOrderNo", transaction_id); dyParams.Add("@outStatus", 0, DbType.Int32, ParameterDirection.Output, 20); if (status == "1") { dyParams.Add("@handlerStatus", 2); } else { dyParams.Add("@handlerStatus", 1); } PublicConn.ExecuteTD(PublicConn.DBWriteType.FundWrite, strSQL, ref dyParams, CommandType.StoredProcedure); int result = dyParams.Get <int>("@outStatus"); if (result == 1) { AccountRechareInfo accountRechare = getAccountRechare(out_trade_no); if (accountRechare != null) { //List<int> typeList = new List<int>() { 2, 3, 4, 6, 8,9,11, 12 }; //if (db.AccountRechare.Count(p => p.UserId == accountRechare.UserId && p.Status == 2 && typeList.Contains(p.type)) == 1) //{ // TuanDai.PortalSystem.BLL.VipGetWorthBLL.AddGetWorth(accountRechare.UserId, (int)ConstString.UserGrowthType.FirstReCharge, null, 0); //} TuanDai.PortalSystem.BLL.UserBLL bll = new TuanDai.PortalSystem.BLL.UserBLL(); UserBasicInfoInfo userBasicInfo = bll.GetUserBasicInfoModelById(accountRechare.UserId); if (userBasicInfo != null) { var isNewSmsRequest = ConfigHelper.getConfigString("IsNewSmsRequest", "0"); if (isNewSmsRequest == "0") { var parameters = new Dictionary <string, object>(); parameters.Add("User", userBasicInfo); parameters.Add("CurrentDate", DateTime.Now); parameters.Add("RechargeMoney", rechargeMoney); parameters.Add("Host", GlobalUtils.WebURL); var messageSender = new BusinessDll.MessageSend(); messageSender.SendMessage2(eventCode: MessageTemplates.RechargeSuccess, parameters: parameters, mobile: userBasicInfo.TelNo, email: userBasicInfo.Email, userId: userBasicInfo.Id); } else { SmsRequest rechargeSuccessSmsRequest = new SmsRequest(); rechargeSuccessSmsRequest.EventCode = MsgTemplatesType.RechargeSuccess; rechargeSuccessSmsRequest.PlatformSource = PlatformSource.Pc; rechargeSuccessSmsRequest.UserId = userBasicInfo.Id; rechargeSuccessSmsRequest.EmailAddress = userBasicInfo.Email; rechargeSuccessSmsRequest.Mobile = userBasicInfo.TelNo; rechargeSuccessSmsRequest.Parameters = new Dictionary <string, object>(); rechargeSuccessSmsRequest.Parameters.Add("RechargeMoney", rechargeMoney); string errorMessage = string.Empty; SmsClient.SendMessage(rechargeSuccessSmsRequest, ref errorMessage); } } } } //NetLog.WriteBatchwithdrawHandler("交易成功", string.Concat("签名:", sPara["sign"].ToString(), "签名方式:", sPara["sign_type"].ToString(), "我方处理状态:", result.ToString().Trim(), "连连处理状态:", sPara["result_pay"].ToString())); Response.Write(@"SUCCESS"); Response.End(); //SoftLog.LogStr("支付成功回调信息:" + callback_result, "yeepay/CallbackLog"); } catch (Exception err) { TuanDai.Payment.Log.Info(this.GetType().ToString(), "支付失败:" + err.ToString() + "," + Request["data"] + Environment.NewLine + Request["encryptkey"] + "处理结果:" + callback_result); //SoftLog.LogStr("支付失败:" + err.ToString() + "," + Request["data"] + Environment.NewLine + Request["encryptkey"] + "处理结果:" + callback_result, "yeepay/CallbackLog"); Response.Write("支付失败!"); Response.End(); } finally { //SoftLog.LogStr("支付回调信息" + Request["data"] + Environment.NewLine + Request["encryptkey"] + "处理结果:" + callback_result, "yeepay/CallbackLog"); } }
private string UserInsertByPhone(string phone) { string pwd = new UserBLL().GetRandomPassword(8);//随机密码 if (!phone.IsPhone()) { return("手机号码格式不正确"); } string strIp = Tool.WebFormHandler.GetIP(); string[] ips = strIp.Split(','); string realIp = ips.Length > 1 ? ips[1] : ips[0]; string result = Users.UserIsRegByIP(realIp); if (result != "1") { string dt = result.Split('|')[1]; return("注册失败:为防止恶意注册,请在" + dt + "后重新注册"); } Guid userid = Guid.NewGuid(); //var model = WXRegister.AddUserInfo(userid, _app, pwd, phone, "", "", // "", "", 0, realIp); string from = _app; if (!string.IsNullOrEmpty(_appUserId)) { from += "_" + _appUserId; } #region 写用户信息 UserRegisterInfo registerUser = new UserRegisterInfo(); registerUser.Id = userid; registerUser.ExtenderKey = ""; registerUser.UserName = string.Format("{0}wx{1}", phone, DateTime.Now.ToString("yyMMdd")); //针对重复注册特殊处理 registerUser.Pwd = pwd; registerUser.Email = string.Empty; registerUser.TelNo = phone; registerUser.ThirdPartyId = string.Empty; registerUser.ThirdPartyType = (int)ConstString.ThirdPartyType.TuandaiUser; registerUser.RegisterFrom = from; registerUser.RegisterIP = realIp; registerUser.OpenId = GlobalUtils.OpenId; registerUser.NickName = registerUser.UserName; string msg = string.Empty; var userBasicInfoInfo = new UserBLL().RegiserUser(registerUser, ref msg); if (userBasicInfoInfo != null && !string.IsNullOrEmpty(userBasicInfoInfo.ExtenderKey)) { //记录日志 SysLogHelper.WriteErrorLog("会员推广_AddUserInfo", "UserName:" + userBasicInfoInfo.UserName + ";ExtendKey:" + userBasicInfoInfo.ExtenderKey); } #endregion if (userBasicInfoInfo != null) { RegisterUserHandler.AsyncAfterRegister(_app, userBasicInfoInfo); if ((userBasicInfoInfo.uStatus ?? 0) == 1) { var isNewSmsRequest = ConfigHelper.getConfigString("IsNewSmsRequest", "0"); if (isNewSmsRequest == "0") { //改用新的发短信,邮件,系统消息 var messageSender = new MessageSend(); //var parameters = new Dictionary<string, object>(); //parameters.Add("User", model); //parameters.Add("CurrentDate", DateTime.Now); //parameters.Add("ExtenderKey", model.ExtenderKey); //messageSender.SendMessage2(eventCode: MessageTemplates.RegisterSuccess, parameters: parameters, mobile: model.TelNo, email: model.Email, userId: model.Id); //将生成的密码已短信方式发送给用户 var parameters = new Dictionary <string, object>(); parameters.Add("PassWord", pwd); messageSender.SendMessage2(option: SendOption.Sms, eventCode: MessageTemplates.BindMobile, parameters: parameters, mobile: userBasicInfoInfo.TelNo); } else { SmsRequest rechargeSuccessSmsRequest = new SmsRequest(); rechargeSuccessSmsRequest.EventCode = MsgTemplatesType.BindMobile; rechargeSuccessSmsRequest.PlatformSource = PlatformSource.WeiXin; rechargeSuccessSmsRequest.UserId = userBasicInfoInfo.Id; rechargeSuccessSmsRequest.EmailAddress = userBasicInfoInfo.Email; rechargeSuccessSmsRequest.Mobile = userBasicInfoInfo.TelNo; rechargeSuccessSmsRequest.Parameters = new Dictionary <string, object>(); rechargeSuccessSmsRequest.Parameters.Add("PassWord", pwd); string errorMessage = string.Empty; SmsClient.SendMessage(rechargeSuccessSmsRequest, ref errorMessage); } try { TuanDai.InfoSystem.Model.LoginLog loginLogEntity = new TuanDai.InfoSystem.Model.LoginLog(); loginLogEntity.Id = Guid.NewGuid().ToString(); loginLogEntity.UserId = userBasicInfoInfo.Id.ToString(); loginLogEntity.IpAddress = Tool.WebFormHandler.GetIP(); loginLogEntity.LoginDate = DateTime.Now; loginLogEntity.DeviceType = "WeiXin"; loginLogEntity.DeviceName = _app + "自动注册登录"; //LoginLogService logApi = new LoginLogService(); //logApi.AddLoginLog(loginLogEntity); TuanDai.WXApiWeb.SysLogHelper.AddLoginLog(loginLogEntity); } catch (Exception ex) { NetLog.WriteLoginHandler("写入注册成功登录日志出错", Tool.ExceptionHelper.GetExceptionMessage(ex)); } } #region 注册成功后自动登录 if (GlobalUtils.IsWeiXinBrowser) { string strOpenId = TuanDai.WXApiWeb.Common.WeiXinApi.GetUserWXOpenId(userBasicInfoInfo.Id); if (strOpenId.IsNotEmpty()) { GlobalUtils.WriteOpenIdToCookie(strOpenId.ToText()); } } WebUserAuth.SignIn(userid.ToString()); #endregion } else { return("添加用户失败"); } return(string.Empty); }
protected void Page_Load(object sender, EventArgs e) { WebSettingInfo webSetting = new WebSettingBLL().GetWebSettingInfo("E27798C9-9301-4176-AC0B-6F3916F389EA"); partnerConfig = new PartnerConfig(webSetting.Param1Value, webSetting.Param2Value, webSetting.Param3Value, webSetting.Param5Value); SortedDictionary <string, string> sPara = GetRequestPost(); if (null == sPara) { Response.End(); } if (sPara.Count > 0)//判断是否有带返回参数 { NetLog.WriteBatchwithdrawHandler("接收连连支付异步通知数据", string.Concat("【", "签名:", sPara["sign"].ToString(), "签名方式:", sPara["sign_type"].ToString(), "我方订单号:", sPara["no_order"].ToString(), "充值金额:", sPara["money_order"].ToString(), "连连订单号:", sPara["oid_paybill"].ToString(), "】")); if (!PaymentUtil.CheckSign(sPara, partnerConfig.YTPublicKey, //验证失败 partnerConfig.MD5Key)) { var out_trade_no = sPara["no_order"].ToString(); var rechargeMoney = sPara["money_order"].ToString(); var transaction_id = sPara["oid_paybill"].ToString(); //ObjectParameter outStatus = new ObjectParameter("outStatus", "0"); //db.p_OnLineRechargeHandler(1, out_trade_no, decimal.Parse(rechargeMoney), transaction_id, outStatus); //int result = int.Parse(outStatus.Value.ToString()); NetLog.WriteBatchwithdrawHandler("连连验签失败", string.Concat("签名:", sPara["sign"].ToString(), "签名方式:", sPara["sign_type"].ToString(), "连连处理状态:9999")); Response.Write(@"{""ret_code"":""9999"",""ret_msg"":""验签失败""}"); Response.End(); } else { var out_trade_no = sPara["no_order"].ToString(); var rechargeMoney = sPara["money_order"].ToString(); var transaction_id = sPara["oid_paybill"].ToString(); string strSQL = "p_OnLineRechargeHandler"; DynamicParameters dyParams = new DynamicParameters(); dyParams.Add("@orderno", out_trade_no); dyParams.Add("@MediumMoney", decimal.Parse(rechargeMoney)); dyParams.Add("@MediumOrderNo", transaction_id); dyParams.Add("@outStatus", 0, DbType.Int32, ParameterDirection.Output, 20); if (sPara["result_pay"].ToString().ToLower() == "success".ToLower()) { dyParams.Add("@handlerStatus", 2); } else { dyParams.Add("@handlerStatus", 1); } PublicConn.ExecuteTD(PublicConn.DBWriteType.FundWrite, strSQL, ref dyParams, CommandType.StoredProcedure); int result = dyParams.Get <int>("@outStatus"); AccountRechareInfo accountRechare = getAccountRechare(out_trade_no); if (accountRechare != null) { var para = new DynamicParameters(); para.Add("@UserId", accountRechare.UserId); var count = PublicConn.QuerySingleWrite <int>("select count(0) from AccountRechare with(nolock) where UserId=@UserId and Status =2 and type in (2, 3, 4, 6, 8, 12)", ref para); if (count == 1) { TuanDai.PortalSystem.BLL.VipGetWorthBLL.AddGetWorth(accountRechare.UserId, (int)ConstString.UserGrowthType.FirstReCharge, null, 0); } UserBasicInfoInfo userBasicInfo = new UserBLL().GetUserBasicInfoModelById(accountRechare.UserId); if (userBasicInfo != null) { var isNewSmsRequest = ConfigHelper.getConfigString("IsNewSmsRequest", "0"); if (isNewSmsRequest == "0") { var parameters = new Dictionary <string, object>(); parameters.Add("User", userBasicInfo); parameters.Add("CurrentDate", DateTime.Now); parameters.Add("RechargeMoney", rechargeMoney); parameters.Add("Host", GlobalUtils.WebURL); var messageSender = new BusinessDll.MessageSend(); messageSender.SendMessage2(eventCode: MessageTemplates.RechargeSuccess, parameters: parameters, mobile: userBasicInfo.TelNo, email: userBasicInfo.Email, userId: userBasicInfo.Id); } else { SmsRequest rechargeSuccessSmsRequest = new SmsRequest(); rechargeSuccessSmsRequest.EventCode = MsgTemplatesType.RechargeSuccess; rechargeSuccessSmsRequest.PlatformSource = PlatformSource.Pc; rechargeSuccessSmsRequest.UserId = userBasicInfo.Id; rechargeSuccessSmsRequest.EmailAddress = userBasicInfo.Email; rechargeSuccessSmsRequest.Mobile = userBasicInfo.TelNo; rechargeSuccessSmsRequest.Parameters = new Dictionary <string, object>(); rechargeSuccessSmsRequest.Parameters.Add("RechargeMoney", rechargeMoney); string errorMessage = string.Empty; SmsClient.SendMessage(rechargeSuccessSmsRequest, ref errorMessage); } //第三方渠道回调 try { TuanDai.PortalSystem.BLL.ThirdPartyChannel.RechargeCallBack(accountRechare.Id, accountRechare.UserId); } catch (Exception ex) { new TuanDai.LogSystem.LogClient.LogClients().WriteErrorLog( "TuanDai.PortalSystem.BLL.ThirdPartyChannel.RechargeCallBack", "", "", ex.Message); } } } NetLog.WriteTraceLogHandler("交易成功", string.Concat("签名:", sPara["sign"].ToString(), "签名方式:", sPara["sign_type"].ToString(), "我方处理状态:", result.ToString().Trim(), "连连处理状态:", sPara["result_pay"].ToString())); Response.Write(@"{""ret_code"":""0000"",""ret_msg"":""交易成功""}"); Response.End(); } } else { //var out_trade_no = sPara["no_order"].ToString(); //var rechargeMoney = sPara["money_order"].ToString(); //var transaction_id = sPara["oid_paybill"].ToString(); //ObjectParameter outStatus = new ObjectParameter("outStatus", "0"); //db.p_OnLineRechargeHandler(1, out_trade_no, decimal.Parse(rechargeMoney), transaction_id, outStatus); ////Response.Write(@"{""ret_code"":""9999"",""ret_msg"":""验签失败""}"); //int result = int.Parse(outStatus.Value.ToString()); NetLog.WriteBatchwithdrawHandler("连连交易参数为空失败", "连连处理状态:9999"); Response.Write(@"{""ret_code"":""9999"",""ret_msg"":""交易失败""}"); Response.End(); } // 解析异步通知对象 // sPara 字典对象 // TODO:更新订单,发货等后续处理 }
private void InitData() { try { WebSettingInfo webSetting = new WebSettingBLL().GetWebSettingInfo("fe5e5a30-b12c-4888-9858-12cbe80e1018"); string MemberID = Request.Params["MemberID"]; //商户号 string TerminalID = Request.Params["TerminalID"]; //商户终端号 string TransID = Request.Params["TransID"]; //商户流水号 string Result = Request.Params["Result"]; //支付结果(1:成功,0:失败) string ResultDesc = Request.Params["ResultDesc"]; //支付结果描述 string FactMoney = Request.Params["FactMoney"]; //实际成交金额 string AdditionalInfo = Request.Params["AdditionalInfo"]; //订单附加消息 string SuccTime = Request.Params["SuccTime"]; //交易成功时间 string Md5Sign = Request.Params["Md5Sign"].ToLower(); //md5签名 string Md5Key = "abcdefg"; //webSetting.Param2Value;//ConfigurationManager.AppSettings["Md5key"];//密钥 双方约定 String mark = "~|~"; //分隔符 //string _Md5Key = "100000178";//测试商户号//webSetting.Param1Value;//WebConfigurationManager.AppSettings["Md5key"]; string _WaitSign = "MemberID=" + MemberID + mark + "TerminalID=" + TerminalID + mark + "TransID=" + TransID + mark + "Result=" + Result + mark + "ResultDesc=" + ResultDesc + mark + "FactMoney=" + FactMoney + mark + "AdditionalInfo=" + AdditionalInfo + mark + "SuccTime=" + SuccTime + mark + "Md5Sign=" + Md5Key; SysLogHelper.WriteTraceLog("等待验签参数", _WaitSign); //验证签名成功 if (Md5Sign.ToLower() == Md5Encrypt(_WaitSign).ToLower()) { ///支付结果(1:成功,0:失败) DynamicParameters dyParams = new DynamicParameters(); string strSQL = ""; if (Result == "1") { strSQL = "p_OnLineRechargeHandler"; dyParams = new DynamicParameters(); dyParams.Add("@handlerStatus", 2); dyParams.Add("@MediumMoney", decimal.Divide(decimal.Parse(FactMoney), 100)); dyParams.Add("@MediumOrderNo", (TransID + SuccTime).Trim()); dyParams.Add("@outStatus", 0, DbType.Int32, ParameterDirection.Output, 20); PublicConn.ExecuteTD(PublicConn.DBWriteType.FundWrite, strSQL, ref dyParams, CommandType.StoredProcedure); int presult = dyParams.Get <int>("@outStatus"); SysLogHelper.WriteTraceLog("宝付支付交易成功", string.Concat("签名:", Md5Sign.ToLower(), "签名方式:", "MD5", "我方处理状态:", presult.ToString().Trim(), "宝付处理状态:", Result, "支付单号:", TransID)); AccountRechareInfo accountRechare = getAccountRechare(TransID); if (accountRechare != null) { strSQL = "select count(1) from AccountRechare where UserId=@userId and Status=2 and [type] in(2, 3, 4, 6, 8, 12)"; dyParams = new DynamicParameters(); dyParams.Add("@userId", accountRechare.UserId); int iCount = PublicConn.QuerySingleWrite <int>(strSQL, ref dyParams); if (iCount > 0) { TuanDai.PortalSystem.BLL.VipGetWorthBLL.AddGetWorth(accountRechare.UserId, (int)ConstString.UserGrowthType.FirstReCharge, null, 0); } UserBasicInfoInfo userBasicInfo = new UserBLL().GetUserBasicInfoModelById(accountRechare.UserId); if (userBasicInfo != null) { var isNewSmsRequest = ConfigHelper.getConfigString("IsNewSmsRequest", "0"); if (isNewSmsRequest == "0") { var parameters = new Dictionary <string, object>(); parameters.Add("CurrentDate", DateTime.Now); //parameters.Add("RechargeMoney", FactMoney); parameters.Add("RechargeMoney", decimal.Divide(decimal.Parse(FactMoney), 100));//宝付充值以分为单位 parameters.Add("User", userBasicInfo); parameters.Add("Host", GlobalUtils.WebURL); var msgSender = new BusinessDll.MessageSend(); msgSender.SendMessage2(eventCode: MessageTemplates.RechargeSuccess, parameters: parameters, mobile: userBasicInfo.TelNo, email: userBasicInfo.Email, userId: userBasicInfo.Id); } else { SmsRequest rechargeSuccessSmsRequest = new SmsRequest(); rechargeSuccessSmsRequest.EventCode = MsgTemplatesType.RechargeSuccess; rechargeSuccessSmsRequest.PlatformSource = PlatformSource.Pc; rechargeSuccessSmsRequest.UserId = userBasicInfo.Id; rechargeSuccessSmsRequest.EmailAddress = userBasicInfo.Email; rechargeSuccessSmsRequest.Mobile = userBasicInfo.TelNo; rechargeSuccessSmsRequest.Parameters = new Dictionary <string, object>(); rechargeSuccessSmsRequest.Parameters.Add("RechargeMoney", FactMoney); string errorMessage = string.Empty; SmsClient.SendMessage(rechargeSuccessSmsRequest, ref errorMessage); } } } Response.Write("OK"); Response.End(); } //if (Result == "0") //{ // db.p_OnLineRechargeHandler(1, TransID.Trim(), decimal.Divide(decimal.Parse(FactMoney), 100), (TransID + SuccTime).Trim(), outStatus); // int presult = int.Parse(outStatus.Value.ToString()); // NetLog.WriteLoginHandler("宝付支付交易失败", string.Concat("签名:", Md5Sign.ToLower(), "签名方式:", "MD5", "我方处理状态:", presult.ToString().Trim(), "宝付处理状态:", Result, "支付单号:", TransID)); // Response.Write("Fail"); //} } else { SysLogHelper.WriteTraceLog("宝付验签失败", string.Concat("宝付返回签名:", Md5Sign.ToLower(), "等待验签", Md5Encrypt(_WaitSign).ToLower(), "签名方式:", "MD5", "宝付处理状态:", Result)); Response.Write("校验失败"); Response.End(); } } catch (Exception ex) { SysLogHelper.WriteErrorLog("宝付支付失败", "错误详细信息:" + ex.Message + "|" + ex.StackTrace); Response.Write("Fail"); Response.End(); } }