// 用户个人中心 投资列表--合同---下载 增加权限判断 //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("")); }
/// <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); }
//用户查看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)); }