/// <summary> /// 八月份活动 期限30天以上的标的才能享受 /// </summary> /// <param name="TrAMT"></param> /// <param name="days"></param> /// <param name="Reg"></param> public void AugPan(decimal TrAMT, int days, M_CashAwards mc, string username) { decimal TransAmt = 0.00M; if (days >= 30) { M_Activity_schedule ma = new M_Activity_schedule(); B_Activity_schedule ba = new B_Activity_schedule(); DateTime nowdate = DateTime.Now; DateTime startdate = new DateTime(2015, 07, 26, 00, 00, 00); DateTime enddate = new DateTime(2015, 09, 15, 23, 59, 59); if (startdate < nowdate && nowdate < enddate) //在有效范围之内则执行活动计划 { TransAmt = GetAugPanAmt(TrAMT); mc.Amounts = TransAmt; B_CashAwards o = new B_CashAwards(); if (o.Add(mc) > 0) { ToUserTransfer(mc, TrAMT, TransAmt); } } } }
/// <summary> /// 元旦活动 /// </summary> /// <param name="TrAMT"></param> /// <param name="moth"></param> /// <param name="mc"></param> /// <param name="username"></param> public void Yuandai(decimal TrAMT, M_CashAwards mc, string username) { decimal TransAmt = 0.00M; M_Activity_schedule ma = new M_Activity_schedule(); B_Activity_schedule ba = new B_Activity_schedule(); DateTime nowdate = DateTime.Now; DateTime startdate = new DateTime(2015, 12, 23, 00, 00, 00); DateTime enddate = new DateTime(2016, 01, 01, 23, 59, 59); if (startdate < nowdate && nowdate < enddate) //在有效范围之内则执行活动计划 { // TransAmt = GetSeptAmt(TrAMT); TransAmt = TrAMT * 0.02M; mc.Amounts = TransAmt; B_CashAwards o = new B_CashAwards(); if (o.Add(mc) > 0) { YuandaiToUserTransfer(mc, TrAMT, TransAmt); } } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(M_CashAwards model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update hx_CashAwards set "); strSql.Append("membertable_registerid=@membertable_registerid,"); strSql.Append("proid=@proid,"); strSql.Append("Amounts=@Amounts,"); strSql.Append("AwardsTime=@AwardsTime,"); strSql.Append("targetid=@targetid,"); strSql.Append("OrdId=@OrdId,"); strSql.Append("OrdIdstate=@OrdIdstate,"); strSql.Append("UsrCustId=@UsrCustId"); strSql.Append(" where CashAwardsid=@CashAwardsid"); SqlParameter[] parameters = { new SqlParameter("@membertable_registerid", SqlDbType.Int, 4), new SqlParameter("@proid", SqlDbType.Int, 4), new SqlParameter("@Amounts", SqlDbType.Decimal, 5), new SqlParameter("@AwardsTime", SqlDbType.DateTime), new SqlParameter("@targetid", SqlDbType.Int, 4), new SqlParameter("@OrdId", SqlDbType.Decimal, 13), new SqlParameter("@OrdIdstate", SqlDbType.Int, 4), new SqlParameter("@UsrCustId", SqlDbType.VarChar, 50), new SqlParameter("@CashAwardsid", SqlDbType.Int, 4) }; parameters[0].Value = model.membertable_registerid; parameters[1].Value = model.proid; parameters[2].Value = model.Amounts; parameters[3].Value = model.AwardsTime; parameters[4].Value = model.targetid; parameters[5].Value = model.OrdId; parameters[6].Value = model.OrdIdstate; parameters[7].Value = model.UsrCustId; parameters[8].Value = model.CashAwardsid; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到一个对象实体 /// </summary> public M_CashAwards DataRowToModel(DataRow row) { M_CashAwards model = new M_CashAwards(); if (row != null) { if (row["CashAwardsid"] != null && row["CashAwardsid"].ToString() != "") { model.CashAwardsid = int.Parse(row["CashAwardsid"].ToString()); } if (row["membertable_registerid"] != null && row["membertable_registerid"].ToString() != "") { model.membertable_registerid = int.Parse(row["membertable_registerid"].ToString()); } if (row["proid"] != null && row["proid"].ToString() != "") { model.proid = int.Parse(row["proid"].ToString()); } if (row["Amounts"] != null && row["Amounts"].ToString() != "") { model.Amounts = decimal.Parse(row["Amounts"].ToString()); } if (row["AwardsTime"] != null && row["AwardsTime"].ToString() != "") { model.AwardsTime = DateTime.Parse(row["AwardsTime"].ToString()); } if (row["targetid"] != null && row["targetid"].ToString() != "") { model.targetid = int.Parse(row["targetid"].ToString()); } if (row["OrdId"] != null && row["OrdId"].ToString() != "") { model.OrdId = decimal.Parse(row["OrdId"].ToString()); } if (row["OrdIdstate"] != null && row["OrdIdstate"].ToString() != "") { model.OrdIdstate = int.Parse(row["OrdIdstate"].ToString()); } if (row["UsrCustId"] != null) { model.UsrCustId = row["UsrCustId"].ToString(); } } return(model); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(M_CashAwards model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into hx_CashAwards("); strSql.Append("membertable_registerid,proid,Amounts,AwardsTime,targetid,OrdId,OrdIdstate,UsrCustId)"); strSql.Append(" values ("); strSql.Append("@membertable_registerid,@proid,@Amounts,@AwardsTime,@targetid,@OrdId,@OrdIdstate,@UsrCustId)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@membertable_registerid", SqlDbType.Int, 4), new SqlParameter("@proid", SqlDbType.Int, 4), new SqlParameter("@Amounts", SqlDbType.Decimal, 5), new SqlParameter("@AwardsTime", SqlDbType.DateTime), new SqlParameter("@targetid", SqlDbType.Int, 4), new SqlParameter("@OrdId", SqlDbType.Decimal, 13), new SqlParameter("@OrdIdstate", SqlDbType.Int, 4), new SqlParameter("@UsrCustId", SqlDbType.VarChar, 50) }; parameters[0].Value = model.membertable_registerid; parameters[1].Value = model.proid; parameters[2].Value = model.Amounts; parameters[3].Value = model.AwardsTime; parameters[4].Value = model.targetid; parameters[5].Value = model.OrdId; parameters[6].Value = model.OrdIdstate; parameters[7].Value = model.UsrCustId; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 得到一个对象实体 /// </summary> public M_CashAwards GetModel(int CashAwardsid) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 CashAwardsid,membertable_registerid,proid,Amounts,AwardsTime,targetid,OrdId,OrdIdstate,UsrCustId from hx_CashAwards "); strSql.Append(" where CashAwardsid=@CashAwardsid"); SqlParameter[] parameters = { new SqlParameter("@CashAwardsid", SqlDbType.Int, 4) }; parameters[0].Value = CashAwardsid; M_CashAwards model = new M_CashAwards(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 12月份元旦活动转账专用 获取活动信息 短信通知部分需要更改 /// </summary> /// <param name="mc"></param> /// <param name="TrAMT"></param> /// <param name="TransAmt"></param> public void YuandaiToUserTransfer(M_CashAwards mc, decimal TrAMT, decimal TransAmt) { M_Transfer m = new M_Transfer(); m.Version = "10"; m.CmdId = "Transfer"; // m.OrdId = Utils.Createcode(); m.OrdId = mc.OrdId.ToString(); m.OutCustId = Utils.GetMerCustID(); m.OutAcctId = "MDT000001"; m.TransAmt = mc.Amounts.ToString("0.00"); m.InCustId = mc.UsrCustId; m.BgRetUrl = Utils.GetRe_url("Thirdparty/ToUserTransfer.aspx"); m.MerPriv = mc.proid.ToString(); StringBuilder chkVal = new StringBuilder(); chkVal.Append(m.Version); chkVal.Append(m.CmdId); chkVal.Append(m.OrdId); chkVal.Append(m.OutCustId); chkVal.Append(m.OutAcctId); chkVal.Append(m.TransAmt); chkVal.Append(m.InCustId); chkVal.Append(m.RetUrl); chkVal.Append(m.BgRetUrl); chkVal.Append(m.MerPriv); string chkv = chkVal.ToString(); LogInfo.WriteLog("12月份元旦活动平台向用户活动转账加签chkv字符:" + chkv); //私钥文件的位置(这里是放在了站点的根目录下) string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Utils.GetMerPr(); //需要指定提交字符串的长度 int len = Encoding.UTF8.GetBytes(chkv).Length; StringBuilder sbChkValue = new StringBuilder(256); //加签 int str = DllInterop.SignMsg(Utils.GetMerId(), merKeyFile, chkv, len, sbChkValue); LogInfo.WriteLog("12月份元旦活动平台向用户活动转账加签字符:" + str.ToString()); m.ChkValue = sbChkValue.ToString(); LogInfo.WriteLog("12月份元旦活动平台向用户活动转账提交信息:" + FastJSON.toJOSN(m)); LogInfo.WriteLog("ChkValue:" + m.ChkValue); using (var client = new WebClient()) { var values = new NameValueCollection(); values.Add("Version", m.Version); values.Add("CmdId", m.CmdId); values.Add("OrdId", m.OrdId); values.Add("OutCustId", m.OutCustId); values.Add("OutAcctId", m.OutAcctId); values.Add("TransAmt", m.TransAmt); values.Add("InCustId", m.InCustId); values.Add("InAcctId", m.InAcctId); values.Add("RetUrl", m.RetUrl); values.Add("BgRetUrl", m.BgRetUrl); values.Add("MerPriv", m.MerPriv); values.Add("ChkValue", m.ChkValue); string url = Utils.GetChinapnrUrl(); //同步发送form表单请求 byte[] result = client.UploadValues(url, "POST", values); var retStr = Encoding.UTF8.GetString(result); // Response.Write(retStr); LogInfo.WriteLog("12月份元旦活动自动扣款转账(商户用)返回报文" + retStr); ReTransfer reg = new ReTransfer(); var retloan = (ReTransfer)FastJSON.ToObject(retStr, reg); StringBuilder builder = new StringBuilder(); builder.Append(retloan.CmdId); builder.Append(retloan.RespCode); builder.Append(retloan.OrdId); builder.Append(retloan.OutCustId); builder.Append(retloan.OutAcctId); builder.Append(retloan.TransAmt); builder.Append(retloan.InCustId); builder.Append(retloan.InAcctId); builder.Append(HttpUtility.UrlDecode(retloan.RetUrl)); builder.Append(HttpUtility.UrlDecode(retloan.BgRetUrl)); builder.Append(retloan.MerPriv); var msg = builder.ToString(); LogInfo.WriteLog("12月份元旦活动平台向用户活动转账返回参数:" + msg); //验签 string pgPubkFile = AppDomain.CurrentDomain.BaseDirectory + Utils.GetPgPubk(); int ret = DllInterop.VeriSignMsg(pgPubkFile, msg, msg.Length, retloan.ChkValue); LogInfo.WriteLog("12月份元旦活动平台向用户活动转账验签ret:" + ret.ToString()); if (ret == 0) { if (retloan.RespCode == "000") { /* * string sql = "update hx_CashAwards set OrdIdstate=3 where OrdIdstate=1 and OrdId=" + retloan.OrdId + " and proid =" + retloan.MerPriv; * DbHelperSQL.RunSql(sql); * LogInfo.WriteLog("平台向用户活动转账验签更新"+ sql); */ // Response.Write(retloan.RespCode + " <br> "); B_usercenter BUC = new B_usercenter(); int dint = BUC.UpateAwa(retloan); LogInfo.WriteLog("12月份元旦活动事务执行返回:" + dint.ToString()); if (dint > 0) { B_member_table dmt = new B_member_table(); string sql = "SELECT registerid,username,mobile from hx_member_table where UsrCustId='" + retloan.InCustId + "'"; DataTable dt = DbHelperSQL.GET_DataTable_List(sql); if (dt.Rows.Count > 0) { //活动奖历 M_Activity_schedule ma = new M_Activity_schedule(); B_Activity_schedule ba = new B_Activity_schedule(); 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(); DateTime dte = DateTime.Now; // ma = ba.GetModel(16); //测试平台 ma = ba.GetModel(15); //获取奖励对象 mb.activity_schedule_id = ma.activity_schedule_id; mb.membertable_registerid = int.Parse(dt.Rows[0]["registerid"].ToString()); mb.activity_schedule_name = ma.activity_schedule_name; mb.amount_of_reward = decimal.Parse(retloan.TransAmt); mb.use_lower_limit = ma.use_lower_limit; mb.reward = ma.reward; mb.start_date = dte; mb.end_date = dte; mb.entry_time = dte; mb.reward_state = 3; int bbid = bb.Add(mb); if (bbid > 0) //奖励记录成功后插入明细记录 { mbaw.bonus_account_id = bbid; mbaw.membertable_registerid = mb.membertable_registerid; mbaw.income = mb.amount_of_reward; mbaw.expenditure = 0.00M; mbaw.time_of_occurrence = mb.entry_time; // mbaw. mbaw.award_description = "已汇入个人账户"; mbaw.water_type = 0; bbaw.Add(mbaw); //短信通知 #region MyRegion //短信通知 string contxt = Utils.GetMSMEmailContext(20, 1); // 获取注册成功邮件内容 StringBuilder sbsms = new StringBuilder(contxt); sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString()); sbsms = sbsms.Replace("#MONEY#", TrAMT.ToString("0.00")); sbsms = sbsms.Replace("#AMTM#", TransAmt.ToString("0.00")); 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_SMS(mobile, sbsms.ToString()); psms.vcode = ""; osms.Add(psms); #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 = "投资成功现金奖励"; pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功投资了项目,现金奖励 " + retloan.TransAmt + "元。如有问题可咨询创利投的客服!"; pm.PubTime = dti; B_usercenter.AddMessage(pm); #endregion } LogInfo.WriteLog("12月份元旦活动 平台向用户活动转账验签更新成功,需要写入消息"); } } else { //Response.Write(HttpUtility.UrlDecode(retloan.)); } } } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(M_CashAwards model) { return(dal.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(M_CashAwards model) { return(dal.Add(model)); }