Esempio n. 1
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public M_GrabIphone DataRowToModel(DataRow row)
        {
            M_GrabIphone model = new M_GrabIphone();

            if (row != null)
            {
                if (row["ID"] != null && row["ID"].ToString() != "")
                {
                    model.ID = int.Parse(row["ID"].ToString());
                }
                if (row["RegrsterID"] != null && row["RegrsterID"].ToString() != "")
                {
                    model.RegrsterID = int.Parse(row["RegrsterID"].ToString());
                }
                if (row["Color"] != null)
                {
                    model.Color = row["Color"].ToString();
                }
                if (row["Addtime"] != null && row["Addtime"].ToString() != "")
                {
                    model.Addtime = DateTime.Parse(row["Addtime"].ToString());
                }
                if (row["LuckDrawState"] != null && row["LuckDrawState"].ToString() != "")
                {
                    model.LuckDrawState = int.Parse(row["LuckDrawState"].ToString());
                }
                if (row["WinningState"] != null && row["WinningState"].ToString() != "")
                {
                    model.WinningState = int.Parse(row["WinningState"].ToString());
                }
                if (row["WinningTime"] != null && row["WinningTime"].ToString() != "")
                {
                    model.WinningTime = DateTime.Parse(row["WinningTime"].ToString());
                }

                if (row["TargetID"] != null && row["TargetID"].ToString() != "")
                {
                    model.TargetID = int.Parse(row["TargetID"].ToString());
                }
                if (row["BidRecordsID"] != null && row["BidRecordsID"].ToString() != "")
                {
                    model.BidRecordsID = int.Parse(row["BidRecordsID"].ToString());
                }
                if (row["InvestmentAmount"] != null)
                {
                    model.InvestmentAmount = row["InvestmentAmount"].ToString();
                }
            }
            return(model);
        }
Esempio n. 2
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(M_GrabIphone model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into GrabIphone(");
            strSql.Append("RegrsterID,Color,Addtime,LuckDrawState,WinningState,WinningTime,TargetID,BidRecordsID,InvestmentAmount)");
            strSql.Append(" values (");
            strSql.Append("@RegrsterID,@Color,@Addtime,@LuckDrawState,@WinningState,@WinningTime,@TargetID,@BidRecordsID,@InvestmentAmount)");

            SqlParameter[] parameters =
            {
                new SqlParameter("@RegrsterID",       SqlDbType.Int,        4),
                new SqlParameter("@Color",            SqlDbType.VarChar,   50),
                new SqlParameter("@Addtime",          SqlDbType.DateTime),
                new SqlParameter("@LuckDrawState",    SqlDbType.Int,        4),
                new SqlParameter("@WinningState",     SqlDbType.Int,        4),
                new SqlParameter("@WinningTime",      SqlDbType.DateTime),
                new SqlParameter("@TargetID",         SqlDbType.Int,        4),
                new SqlParameter("@BidRecordsID",     SqlDbType.Int,        4),
                new SqlParameter("@InvestmentAmount", SqlDbType.NVarChar, 50)
            };
            parameters[0].Value = model.RegrsterID;
            parameters[1].Value = model.Color;
            parameters[2].Value = model.Addtime;
            parameters[3].Value = model.LuckDrawState;
            parameters[4].Value = model.WinningState;
            parameters[5].Value = model.WinningTime;
            parameters[6].Value = model.TargetID;
            parameters[7].Value = model.BidRecordsID;
            parameters[8].Value = model.InvestmentAmount;
            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        public void zf()
        {
            B_member_table bmt = new B_member_table();
            M_member_table mmt = new M_member_table();

            mmt = bmt.GetModel(42620);
            #region 投资六月专享标一元抢Iphone 2016年9月11日 9点 至2016年10月31日
            if (true)
            {
                DateTime nowdate = DateTime.Now;
                //DateTime startdate = new DateTime(2016, 09, 10, 9, 00, 00);
                //DateTime enddate = new DateTime(2016, 10, 31, 23, 59, 59);2016-09-07 17:42:59.430
                DateTime startdate = new DateTime(2016, 09, 11, 9, 00, 00);
                DateTime enddate   = new DateTime(2016, 10, 31, 23, 59, 59);
                string   log       = "一元抢Iphone";
                if (nowdate > startdate && nowdate < enddate)
                {
                    DateTime dt = mmt.Registration_time;
                    log += " 用户注册时间:" + dt.ToString();
                    if (dt > new DateTime(2016, 09, 11, 0, 0, 0))
                    {
                        //if (dt.Rows[0]["unit_day"].ToString() == "1" && dt.Rows[0]["life_of_loan"].ToString() == "6")//是否六月标
                        //{

                        Bll.B_GrabIphone gi = new Bll.B_GrabIphone();

                        bool isCount = gi.Exists(mmt.registerid);//查询是否存在该用户
                        log += "; 用户ID:" + mmt.registerid + ";查询是否存在该用户:" + isCount;
                        if (isCount != true)
                        {
                            M_GrabIphone model = new M_GrabIphone();
                            model.RegrsterID       = mmt.registerid;
                            model.Color            = "";
                            model.Addtime          = nowdate;
                            model.LuckDrawState    = 0;
                            model.WinningState     = 0;
                            model.WinningTime      = nowdate;
                            model.TargetID         = 232;                                                // int.Parse(dt.Rows[0]["targetid"].ToString());
                            model.BidRecordsID     = 3333;                                               // int.Parse(dt.Rows[0]["bid_records_id"].ToString());
                            model.InvestmentAmount = "22";                                               //dt.Rows[0]["investment_amount"].ToString();
                            gi.Add(model);                                                               //增加一条数据

                            List <M_GrabIphone> giList = gi.GetModelList(5388, "LuckDrawState=0", "ID"); //获取当前阶段投资人数
                            if (giList != null)
                            {
                                log += "; 当前阶段投资人数:" + giList.Count;
                                int ljcount = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["GrabIphone"].ToString());//获取启动抽奖人数
                                if (giList.Count >= ljcount)
                                {
                                    bool bo = gi.UpdateLuckDrawState();//批量更新抽奖状态
                                    log += "; 批量更新抽奖状态:" + bo;
                                    if (bo == true)
                                    {
                                        int          count      = giList.Count;
                                        int          index      = new Random().Next(count);
                                        M_GrabIphone randowitem = giList[index];

                                        if (randowitem != null)
                                        {
                                            log += "; 获奖用户ID:" + randowitem.RegrsterID;
                                            bool co = gi.Update("", 1, DateTime.Now, randowitem.RegrsterID);//更新中奖用户状态
                                            log += "; 更新中奖用户状态:" + co;
                                        }
                                    }
                                }
                            }
                        }
                        // }
                    }
                    Common.LogInfo.WriteLog(log);//写入日志
                }
            }
            #endregion
        }
Esempio n. 4
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Add(M_GrabIphone model)
 {
     return(dal.Add(model));
 }
Esempio n. 5
0
        /// <summary>
        /// 投资成功,汇付后台主动通知
        /// </summary>
        /// <returns></returns>
        public ActionResult BG_investment_success()
        {
            int                id  = 0;
            string             srt = "";
            ReInitiativeTender p   = new ReInitiativeTender();

            id = DNTRequest.GetInt("id", 0);
            string log = "";

            log          += "主动通知后台有响应成功!接收到的项目id=" + id;
            p.CmdId       = DNTRequest.GetString("CmdId");
            p.RespCode    = DNTRequest.GetString("RespCode");
            p.RespDesc    = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc"));
            p.MerCustId   = DNTRequest.GetString("MerCustId");
            p.OrdId       = DNTRequest.GetString("OrdId");
            p.OrdDate     = DNTRequest.GetString("OrdDate");
            p.TransAmt    = DNTRequest.GetString("TransAmt");
            p.UsrCustId   = DNTRequest.GetString("UsrCustId");
            p.TrxId       = DNTRequest.GetString("TrxId");
            p.IsFreeze    = DNTRequest.GetString("IsFreeze");
            p.FreezeOrdId = DNTRequest.GetString("FreezeOrdId");
            p.FreezeTrxId = DNTRequest.GetString("FreezeTrxId");
            p.RetUrl      = HttpUtility.UrlDecode(DNTRequest.GetString("RetUrl"));
            p.BgRetUrl    = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl"));
            string merp = DNTRequest.GetString("MerPriv");

            if (merp.Length > 0)
            {
                p.MerPriv = HttpUtility.UrlDecode(merp);
            }
            else
            {
                p.MerPriv = merp;
            }

            p.RespExt  = HttpUtility.UrlDecode(DNTRequest.GetString("RespExt"));
            p.ChkValue = DNTRequest.GetString("ChkValue");
            StringBuilder chkVal = new StringBuilder();

            chkVal.Append(p.CmdId);
            chkVal.Append(p.RespCode);
            chkVal.Append(p.MerCustId);
            chkVal.Append(p.OrdId);
            chkVal.Append(p.OrdDate);
            chkVal.Append(p.TransAmt);
            chkVal.Append(p.UsrCustId);
            chkVal.Append(p.TrxId);
            chkVal.Append(p.IsFreeze);
            chkVal.Append(p.FreezeOrdId);
            chkVal.Append(p.FreezeTrxId);
            chkVal.Append(p.RetUrl);
            chkVal.Append(p.BgRetUrl);
            chkVal.Append(p.MerPriv);
            chkVal.Append(p.RespExt);
            string chkv = chkVal.ToString();

            //私钥文件的位置(这里是放在了站点的根目录下)
            string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Utils.GetPgPubk();
            int    ret        = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, p.ChkValue);

            log += "<br>投标后台主动投标返回报文:" + FastJSON.toJOSN(p);
            string sql = "";

            int invcount = 0; //记录用户是否是首次投资

            #region 验签
            if (ret == 0)
            {
                if (p.RespCode == "000" || p.RespCode == "322" || p.RespCode == "534" || p.RespCode == "360" || p.RespCode == "099")
                {
                    string cachename = p.OrdId + "InvestWeb" + p.UsrCustId;

                    if (Utils.GeTThirdCache(cachename) == 0)
                    {
                        Utils.SetThirdCache(cachename);
                        if (p.FreezeTrxId != "")
                        {
                            sql = "select ordstate  from hx_Bid_records  where ordstate =0 and  OrdId='" + p.OrdId + "'";
                            DataTable dts = DbHelperSQL.GET_DataTable_List(sql);

                            if (dts.Rows.Count > 0)
                            {
                                //同步处理用户金额
                                B_usercenter BUC = new B_usercenter();
                                int          d   = BUC.ReInvest_success(p.UsrCustId, p.FreezeOrdId, p.TransAmt, p.FreezeTrxId, p.OrdId, p.MerPriv);
                                log += "<br>后台投标:id" + id.ToString() + "返回唯一冻结标识:" + p.FreezeTrxId + "事务执行结果:" + d.ToString();
                                if (d > 0)
                                {
                                    sql = "select targetid,bid_records_id, borrowing_title,investor_registerid ,username,mobile,invitationcode,investment_amount,life_of_loan,unit_day,borrowing_balance,bonusAmt from  V_hx_Bid_records_borrowing_target where OrdId='" + p.OrdId + "'";
                                    DataTable dt = DbHelperSQL.GET_DataTable_List(sql);
                                    if (dt.Rows.Count > 0)
                                    {
                                        decimal investAmt  = decimal.Parse(dt.Rows[0]["investment_amount"].ToString());
                                        string  OrdId      = p.OrdId;
                                        int     registerid = int.Parse(dt.Rows[0]["investor_registerid"].ToString());
                                        ViewBag.userid = registerid;
                                        string targetid = dt.Rows[0]["targetid"].ToString();

                                        #region 待提取为公共方法
                                        #region MyRegion  系统消息
                                        DateTime            dti = DateTime.Now;
                                        M_td_System_message pm  = new M_td_System_message();
                                        pm.MReg     = registerid;
                                        pm.Mstate   = 0;
                                        pm.MTitle   = "投资成功";
                                        pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功投资了项目【" + dt.Rows[0]["borrowing_title"].ToString() + "】,投资金额是:" + investAmt + "。如有问题可咨询创利投的客服!谢谢!";
                                        pm.PubTime  = dti;
                                        pm.Mtype    = 1;
                                        B_usercenter.AddMessage(pm);
                                        #endregion

                                        #region MyRegion                                        //短信通知
                                        string        contxt = Utils.GetMSMEmailContext(15, 1); // 获取注册成功邮件内容
                                        StringBuilder sbsms  = new StringBuilder(contxt);
                                        sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString());
                                        sbsms = sbsms.Replace("#PID#", targetid);
                                        sbsms = sbsms.Replace("#MONEY#", investAmt.ToString());
                                        string          mobile  = dt.Rows[0]["mobile"].ToString();
                                        M_td_SMS_record psms    = new M_td_SMS_record();
                                        B_td_SMS_record osms    = new B_td_SMS_record();
                                        int             smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.投资成功.ToString());
                                        psms.phone_number = mobile;
                                        psms.sendtime     = DateTime.Now;
                                        psms.senduserid   = registerid;
                                        psms.smstype      = smstype;
                                        psms.smscontext   = sbsms.ToString();
                                        psms.orderid      = SendSMS.Send_SMS(mobile, sbsms.ToString());
                                        psms.vcode        = "";
                                        osms.Add(psms);
                                        #endregion

                                        #region 远程调用生成合同??? 稍后替换为本地方法调用  微信端可远程调用
                                        string postString = "action=MUserPDF&data=" + targetid.ToString() + "&uc=" + registerid.ToString() + "&OrdId=" + OrdId;
                                        string sr         = Utils.PostWebRequest(Utils.GetRemote_url("pdf/index"), postString, Encoding.UTF8);
                                        #endregion

                                        #region  道合作 第一投标调用接口???
                                        B_member_table bmt = new B_member_table();
                                        M_member_table mmt = new M_member_table();
                                        mmt = bmt.GetModel(registerid);
                                        if (mmt.Tid != null && mmt.Channelsource == 1)
                                        {
                                            if (B_usercenter.GetInvestCountByUserid(mmt.registerid) == 1)
                                            {
                                                string ret3 = Utils.GetCoopAPI(mmt.Tid, investAmt.ToString("0.00"), 2);
                                                log += "<br>前台渠道合作第一次返回结果:" + ret3 + "  用户id:" + mmt.registerid + " 订单id " + OrdId;
                                            }
                                        }
                                        #endregion
                                        #endregion 待提取为公共方法

                                        //发放奖励
                                        ActFacade act = new ActFacade();
                                        act.SendBonusAfterInvest(dt, EnumCommon.E_hx_ActivityTable.E_ActTargetPlatform.web);

                                        #region  线 投资六月专享标一元抢Iphone 2016年9月11日 9点 至2016年9月30日
                                        if (false)
                                        {
                                            DateTime nowdate   = DateTime.Now;
                                            DateTime startdate = new DateTime(2016, 09, 11, 9, 00, 00);
                                            DateTime enddate   = new DateTime(2016, 09, 30, 23, 59, 59);

                                            if (nowdate > startdate && nowdate < enddate)
                                            {
                                                log += "<br>PC端【一元抢Iphone】";
                                                log += "<br>标的期限:" + dt.Rows[0]["life_of_loan"].ToString();
                                                if (dt.Rows[0]["unit_day"].ToString() == "1" && dt.Rows[0]["life_of_loan"].ToString() == "6")//是否六月标
                                                {
                                                    log += "<br>用户注册时间:" + mmt.Registration_time.ToString();
                                                    if (mmt.Registration_time > new DateTime(2016, 09, 11, 0, 0, 0))
                                                    {
                                                        B_GrabIphone gi = new B_GrabIphone();

                                                        bool isCount = gi.Exists(mmt.registerid);//查询是否存在该用户
                                                        log += "<br> 用户ID:" + mmt.registerid + ";查询是否存在该用户:" + isCount;
                                                        if (isCount != true)
                                                        {
                                                            M_GrabIphone model = new M_GrabIphone();
                                                            model.RegrsterID       = mmt.registerid;
                                                            model.Color            = "";
                                                            model.Addtime          = nowdate;
                                                            model.LuckDrawState    = 0;
                                                            model.WinningState     = 0;
                                                            model.WinningTime      = nowdate;
                                                            model.TargetID         = int.Parse(dt.Rows[0]["targetid"].ToString());
                                                            model.BidRecordsID     = int.Parse(dt.Rows[0]["bid_records_id"].ToString());
                                                            model.InvestmentAmount = dt.Rows[0]["investment_amount"].ToString();
                                                            gi.Add(model);                                                                                                 //增加一条数据
                                                            int ljcount = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["GrabIphone"].ToString()); //获取启动抽奖人数
                                                            List <M_GrabIphone> giList = gi.GetModelList(ljcount, "LuckDrawState=0", "ID");                                //获取当前阶段投资人数
                                                            if (giList != null)
                                                            {
                                                                log += "<br>当前阶段投资人数:" + giList.Count;

                                                                if (giList.Count >= ljcount)
                                                                {
                                                                    bool bo = gi.UpdateLuckDrawState();//批量更新抽奖状态
                                                                    log += "<br> 批量更新抽奖状态:" + bo;
                                                                    if (bo == true)
                                                                    {
                                                                        int          count      = giList.Count;
                                                                        int          index      = new Random().Next(count);
                                                                        M_GrabIphone randowitem = giList[index];

                                                                        if (randowitem != null)
                                                                        {
                                                                            log += "<br> 获奖用户ID:" + randowitem.RegrsterID;
                                                                            bool co = gi.Update("", 1, DateTime.Now, randowitem.RegrsterID);//更新中奖用户状态
                                                                            log += "<br> 更新中奖用户状态:" + co;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                        #endregion
                                    }
                                }
                            }
                            srt = "RECV_ORD_ID_" + p.OrdId;
                        }
                    }/*缓存检查结束位置*/
                }
            }
            LogInfo.WriteLog(log);
            #endregion
            return(Content(srt));
        }