Ejemplo n.º 1
0
        // 用户个人中心 投资列表--合同---下载 增加权限判断
        //waitfor 使用远程调用生成合同 生成合同代码待整合
        public ActionResult DownPDf(int id)
        {
            string         contractpath = "";
            hx_Bid_records hbr          = ef.hx_Bid_records.Where(p => p.bid_records_id == id).FirstOrDefault();
            int            uid          = Utils.checkloginsessiontop();

            if (uid <= 0)
            {
                Response.Redirect("/login.html");
                Response.End();
            }

            if (hbr != null && hbr.investor_registerid == uid)
            {
                contractpath = hbr.contractpath;
            }
            else
            {
                Response.Write("路径无效,请在投资列表页重新下载合同!");
                Response.End();
            }
            try
            {
                if (string.IsNullOrEmpty(contractpath) || !System.IO.File.Exists(Server.MapPath(contractpath)))
                {
                    var url = Settings.Instance.SiteDomain + "";
                    //远程调用生成合同
                    string postString = "?action=MUserPDF&data=" + hbr.targetid + "&uc=" + hbr.investor_registerid + "&OrdId=" + hbr.OrdId;
                    var    urlPath    = Settings.Instance.SiteDomain + "/pdf/index" + postString;
                    HttpHelper.Get(urlPath);
                    //重新获取合同路径
                    //hx_Bid_records hbr2;//AsNoTracking().
                    hbr = ef.hx_Bid_records.AsNoTracking().Where(p => p.bid_records_id == id).FirstOrDefault();
                    if (hbr != null)
                    {
                        contractpath = hbr.contractpath;
                    }
                }
                var fileStream       = new FileStream(Server.MapPath(contractpath), FileMode.Open);
                var mimeType         = "application/pdf";
                var fileDownloadName = "Chuanglitou.pdf";
                return(File(fileStream, mimeType, fileDownloadName));
            }
            catch (Exception ex)
            {
                //throw;
                Response.Write("请稍候重试!");
                Response.End();
            }
            return(Content(""));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取当次投资获得的抽奖次数
        /// </summary>
        /// <returns></returns>
        public static int GetOneShotCount(int registerID, string ordID, int amount)
        {
            if (!(startTime < DateTime.Now && DateTime.Now < endTime))
            {
                return(0);
            }
            //活动规则金额
            //可抽奖次数(规则:抽奖次数按照一次投资金额进行折算,如一次投资1万元,获得10次抽奖机会)
            int     CanUseTimes = 0;
            decimal oid         = Convert.ToDecimal(ordID);

            if (registerID == -1)
            {
                var bidRecord = ef.hx_Bid_records.Where(c => c.OrdId == oid).FirstOrDefault();
                registerID = bidRecord.investor_registerid ?? 0;
            }
            //查询本人在活动开始之前的投资次数
            string channelInvestCountSql = "SELECT count(*) from hx_Bid_records where ordstate = 1 and investor_registerid=" + registerID;
            int    channelInvestCount    = Convert.ToInt32(DbHelperSQL.GetSingle(channelInvestCountSql));
            //检测本人是否为渠道用户
            string channelType = "";
            bool   isChannel   = CheckIsChannel(registerID, ref channelType);
            //检测是否可以参加活动
            bool canInvest = CheckChannel(registerID);

            if (!canInvest)
            {
                return(0);
            }
            hx_Bid_records record = ef.hx_Bid_records.Where(c => c.ordstate == 1 && c.investor_registerid == registerID && c.OrdId == oid).FirstOrDefault();

            if (record != null)
            {
                //如果是渠道用户,并且活动开始前未进行过投资,则将活动期间的投资记录中,最早的一次投资记录删掉,不参与可抽奖次数的计算
                if (canInvest && isChannel && channelType == "cps1" && channelInvestCount <= 1)
                {
                    return(0);
                }
                CanUseTimes = (Convert.ToInt32(((record.investment_amount ?? 0) - (record.BonusAmt ?? 0)).ToString("0")) / amount);
            }
            return(CanUseTimes);
        }
Ejemplo n.º 3
0
        //用户查看pdf(我的投资列表---合同 ---查看) 增加权限判断
        //waitfor 将多处生成合同代码整合复用
        public JsonResult MakePdf(int id)
        {
            string contractpath = "";

            hx_Bid_records hbr = ef.hx_Bid_records.Where(p => p.bid_records_id == id).FirstOrDefault();
            int            uid = Utils.checkloginsessiontop();

            if (hbr != null && hbr.investor_registerid == uid)
            {
                contractpath = hbr.contractpath;
            }
            else
            {
                return(Json(new PdfDetail {
                    Path = ""
                }, JsonRequestBehavior.AllowGet));
            }
            try
            {
                if (string.IsNullOrEmpty(contractpath) || !System.IO.File.Exists(Server.MapPath(contractpath)))
                {
                    #region 生成合同
                    //生成用户合同
                    LogInfo.WriteLog("生成用户合同响应");
                    var sql = " SELECT targetid,loan_number, borrower_registerid,borrowing_title,annual_interest_rate,payment_options,borrowing_balance,life_of_loan,unit_day,release_date,month_payment_date,repayment_date,end_time,companyid,company_name,agent_name,agent_id_card,username,realname,iD_number,usertypes,CopName  from V_borrowing_target_bonding where targetid=" + hbr.targetid;

                    DataTable dt = DbHelperSQL.GET_DataTable_List(sql);
                    if (dt.Rows.Count > 0)
                    {
                        var            str = UserContactText(Convert.ToInt32(hbr.targetid));
                        B_member_table ub  = new B_member_table();
                        M_member_table up  = new M_member_table();
                        // int uid = Utils.checkloginsessiontop();
                        // int uid = Convert.ToInt32(hbr.investor_registerid);
                        string OrdId = hbr.OrdId.ToString();
                        LogInfo.WriteLog("是否有接收到信息: OrdId=" + OrdId + " uc:" + uid);
                        //if (uid <= 0)
                        //{
                        //    Response.End();
                        //}
                        up = ub.GetModel(uid);
                        string fileName = "U_" + up.registerid.ToString() + "_" + dt.Rows[0]["targetid"].ToString() + "_" + dt.Rows[0]["loan_number"].ToString() + "_" + Utils.RndNum(3);
                        string path     = "/PDF/" + fileName + ".pdf";

                        M_Contract_management p = new M_Contract_management();
                        B_Contract_management o = new B_Contract_management();

                        sql = "select top 1 bid_records_id,investment_amount,value_date,investment_maturity from hx_Bid_records where targetid=" + hbr.targetid.ToString() + " and  investor_registerid=" + uid.ToString() + " and  OrdId ='" + OrdId + "' order by bid_records_id desc";

                        DataTable dtbid = DbHelperSQL.GET_DataTable_List(sql);
                        DateTime  dte   = DateTime.Now;
                        p.loan_number           = decimal.Parse(dt.Rows[0]["loan_number"].ToString());
                        p.targetid              = id;
                        p.bid_records_id        = int.Parse(dtbid.Rows[0]["bid_records_id"].ToString());
                        p.lender_username       = up.username;
                        p.lender_name           = up.realname;
                        p.lender_registerid     = uid;
                        p.lender_id_card        = up.iD_number;
                        p.lenders_account_name  = "";
                        p.lender_bank_account   = "";
                        p.lender_bank           = "";
                        p.lenders_telephone     = up.mobile;
                        p.lenders_email         = up.email;
                        p.lendres_date_contract = dte;
                        p.borrower_registerid   = int.Parse(dt.Rows[0]["borrower_registerid"].ToString());
                        p.borrower_name         = dt.Rows[0]["realname"].ToString();
                        if (dt.Rows[0]["usertypes"].ToString() == "2")
                        {
                            p.borrower_username = dt.Rows[0]["CopName"].ToString();
                        }
                        else
                        {
                            p.borrower_username = dt.Rows[0]["username"].ToString();
                        }
                        p.borrower_id_card               = dt.Rows[0]["iD_number"].ToString();
                        p.borrower_account_name          = dt.Rows[0]["realname"].ToString();
                        p.borrower_bank_account          = "";
                        p.borrower_date_contract         = dte.ToString();
                        p.borrower_bank                  = "";
                        p.surety_company_name            = dt.Rows[0]["company_name"].ToString();
                        p.guarantor_agent                = dt.Rows[0]["agent_name"].ToString();
                        p.guarantor_agent_usernqme       = dt.Rows[0]["agent_name"].ToString();
                        p.guarantor_companyid            = int.Parse(dt.Rows[0]["companyid"].ToString());
                        p.guarantor_agent_idate_contract = dte;
                        p.witness_date_contract          = dte;
                        p.contract_money                 = str;
                        p.contract_amount                = decimal.Parse(dtbid.Rows[0]["investment_amount"].ToString());
                        p.createtime    = dte;
                        p.mode_payment  = Utils.Getpayment_options(int.Parse(dt.Rows[0]["payment_options"].ToString()));
                        p.contract_type = 1;

                        StringBuilder sb = new StringBuilder(str);
                        sb = sb.Replace("#loan_number#", p.loan_number.ToString());
                        sb = sb.Replace("#borrower_username#", p.borrower_username);
                        sb = sb.Replace("#borrower_name#", p.borrower_name);
                        sb = sb.Replace("#borrower_id_card#", p.borrower_id_card);
                        sb = sb.Replace("#lender_username#", p.lender_username);
                        sb = sb.Replace("#lender_name#", p.lender_name);
                        sb = sb.Replace("#lender_id_card#", p.lender_id_card);
                        sb = sb.Replace("#surety_company_name#", p.surety_company_name);
                        sb = sb.Replace("#guarantor_agent_usernqme#", p.guarantor_agent_usernqme);
                        sb = sb.Replace("#contract_amount#", RMB.GetDecimal(p.contract_amount, 2, true).ToString());
                        sb = sb.Replace("#annual_interest_rate#", decimal.Parse(dt.Rows[0]["annual_interest_rate"].ToString()).ToString("0.00"));

                        DateTime date1 = DateTime.Parse(dtbid.Rows[0]["value_date"].ToString());
                        DateTime date2 = DateTime.Parse(dtbid.Rows[0]["investment_maturity"].ToString());
                        sb = sb.Replace("#release_date#", date1.ToString("yyyy-MM-dd"));
                        sb = sb.Replace("#repayment_date#", date2.ToString("yyyy-MM-dd"));
                        sb = sb.Replace("#days#", Utils.DateDiff("Day", date1, date2).ToString());

                        p.contract_money = sb.ToString();
                        p.contractpath   = path;
                        int cid = o.Add(p);
                        if (cid > 0)
                        {
                            sql = "update hx_Bid_records set contractid=" + cid + ",contractpath= '" + p.contractpath + "' where bid_records_id=" + p.bid_records_id;
                            DbHelperSQL.ExecuteSql(sql);
                            if (HTMLToPDF(sb.ToString(), fileName))
                            {
                                return(Json(new PdfDetail {
                                    Path = p.contractpath
                                }, JsonRequestBehavior.AllowGet));
                            }
                        }
                    }
                    #endregion
                }
                else
                {
                    return(Json(new PdfDetail {
                        Path = contractpath
                    }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(Json(new PdfDetail {
                    Path = ""
                }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new PdfDetail {
                Path = contractpath
            }, JsonRequestBehavior.AllowGet));
        }