Example #1
0
        /// <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);
                    }
                }
            }
        }
Example #2
0
        /// <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);
                }
            }
        }
Example #3
0
        /// <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);
            }
        }
Example #4
0
        /// <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);
        }
Example #5
0
        /// <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));
            }
        }
Example #6
0
        /// <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);
            }
        }
Example #7
0
        /// <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.));
                    }
                }
            }
        }
Example #8
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(M_CashAwards model)
 {
     return(dal.Update(model));
 }
Example #9
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int  Add(M_CashAwards model)
 {
     return(dal.Add(model));
 }