/// <summary> /// 发送模板短信 九维天地接口(充值、提现、收益) /// </summary> /// <param name="mobile"></param> /// <param name="content"></param> /// <param name="msg"></param> /// <returns></returns> public static bool SendTemplateSms(string mobile, string content, out string msg) { siteconfig siteConfig = ConfigLoader.loadSiteConfig(); //检测号码,忽略不合格的 Regex r = new Regex(@"^1\d{10}$", RegexOptions.IgnoreCase); if (r.Match(mobile).Success) { try { string result = Utils.HttpPost(siteConfig.smsapiurl, "productid=936245&username="******"&password="******"&mobile=" + mobile + "&content=" + HttpUtility.UrlEncode(content)); string[] strArr = result.Split(new string[] { "," }, StringSplitOptions.None); if (strArr[0] != "1") { msg = "发送短信失败," + GetJwErrorType(strArr[0]); return(false); } } catch (Exception e) { msg = "发送短信失败:" + e.Message; return(false); } } msg = "发送短信成功!"; return(true); }
/// <summary> /// 查询普通项目的回款记录 /// </summary> /// <param name="user"></param> /// <param name="type"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <returns></returns> public static List <MyRepayment> QueryProjectRepayments(dt_users user, Agp2pEnums.MyRepaymentQueryTypeEnum type, string startTime = "", string endTime = "") { var myRepayingProjects = user.li_claims.Where(c => c.projectId == c.profitingProjectId && c.IsLeafClaim() && (int)Agp2pEnums.ProjectStatusEnum.Financing <= c.li_projects.status && c.status < (int)Agp2pEnums.ClaimStatusEnum.Transferred).ToLookup(cg => cg.li_projects); Model.siteconfig config = new siteconfig().loadConfig(); var unsorted = myRepayingProjects.Select(p => { var ratio = p.Sum(c => c.principal) / p.Key.investment_amount; var query = p.Key.li_repayment_tasks.Where(t => t.status != (int)Agp2pEnums.RepaymentStatusEnum.Invalid) .Where(task => p.Key.dt_article_category.call_index != "newbie" || task.only_repay_to == user.id); if (!string.IsNullOrWhiteSpace(startTime)) { query = query.Where(tr => Convert.ToDateTime(startTime) <= tr.should_repay_time); } if (!string.IsNullOrWhiteSpace(endTime)) { query = query.Where(tr => tr.should_repay_time <= Convert.ToDateTime(endTime)); } var validRepaymentTaskCount = query.Count(); var reps1 = query.Where(tr => type == Agp2pEnums.MyRepaymentQueryTypeEnum.Unpaid ? tr.status < (int)Agp2pEnums.RepaymentStatusEnum.ManualPaid : (int)Agp2pEnums.RepaymentStatusEnum.ManualPaid <= tr.status) .Select(task => new MyRepayment { RepaymentId = task.id, Project = null, RepayInterest = Math.Round(task.repay_interest * ratio, 2), RepayPrincipal = Math.Round(task.repay_principal * ratio, 2), ShouldRepayDay = task.should_repay_time.ToString("yyyy/MM/dd"), Term = task.term.ToString() + "/" + validRepaymentTaskCount }).ToList(); if (!reps1.Any()) { return(Enumerable.Empty <MyRepayment>()); } reps1.First().Project = new MyInvestProject { Id = p.Key.id, Name = p.Key.title, Link = linkurl(config, "project", p.Key.id), InvestValue = p.Sum(c => c.principal), ProfitRateYear = p.Key.GetProfitRateYearly(), InvestCompleteTime = p.Key.invest_complete_time }; return(reps1); }).ToList(); return(unsorted.Where(ts => ts.Any()).OrderBy(ts => ts.First().ShouldRepayDay).SelectMany(x => x).ToList()); }
/// <summary> /// 查询账户剩余短信数量 九维天地接口 /// </summary> public static int GetAccountQuantity(out string code) { siteconfig siteConfig = ConfigLoader.loadSiteConfig(); //获得站点配置信息 //检查是否设置好短信账号 if (!Exists()) { code = "115"; return(0); } try { string result = Utils.HttpPost("http://esm2.9wtd.com:9001/balance.do", "productid=936245&username="******"&password="******"||" }, StringSplitOptions.None); var count = Utils.StrToInt(strArr[0], 0); if (count < 0) { code = count.ToString(); return(0); } code = "100"; return(count); } catch { code = "115"; return(0); } }
/// <summary> /// 写入站点配置文件 /// </summary> public siteconfig saveConifg(siteconfig model, string configFilePath) { lock (lockHelper) { SerializationHelper.Save(model, configFilePath); } return(model); }
/// <summary> /// 检查账户信息是否正确 /// </summary> /// <returns></returns> public static bool Exists() { siteconfig siteConfig = ConfigLoader.loadSiteConfig(); //获得站点配置信息 if (string.IsNullOrEmpty(siteConfig.smsapiurl) || string.IsNullOrEmpty(siteConfig.smsusername) || string.IsNullOrEmpty(siteConfig.smspassword)) { return(false); } return(true); }
/// <summary> /// 读取配置文件 /// </summary> public siteconfig loadConfig() { siteconfig model = CacheHelper.Get <siteconfig>(DTKeys.CACHE_SITE_CONFIG); if (model == null) { CacheHelper.Insert(DTKeys.CACHE_SITE_CONFIG, DALloadConfig(Utils.GetXmlMapPath(DTKeys.FILE_SITE_XML_CONFING)), Utils.GetXmlMapPath(DTKeys.FILE_SITE_XML_CONFING)); model = CacheHelper.Get <siteconfig>(DTKeys.CACHE_SITE_CONFIG); } return(model); }
protected virtual void Page_Load(object sender, System.EventArgs e) { siteconfig sc = new siteconfig(); sc.sitechace(); sc.getconfig(); config = sc.config; config_ad = sc.config_ad; this.Title = config["site_name"].ToString(); site_name = config["site_name"].ToString(); Session["user_id"] = "1"; if (Session["user_id"] != null) { user_id = Session["user_id"].ToString(); } }
/// <summary> /// 生成全部模板 /// </summary> public static void MarkTemplates(string buildPath, string skinName, siteconfig siteconfig) { //取得ASP目录下的所有文件 string fullDirPath = Utils.GetMapPath(string.Format("{0}aspx/{1}/", siteconfig.webpath, buildPath)); //获得URL配置列表 BLL.url_rewrite bll = new BLL.url_rewrite(); List <Model.url_rewrite> ls = bll.GetList(""); DirectoryInfo dirFile = new DirectoryInfo(fullDirPath); //删除不属于URL映射表里的文件,防止冗余 if (Directory.Exists(fullDirPath)) { foreach (FileInfo file in dirFile.GetFiles()) { //检查文件 //Model.url_rewrite modelt = ls.Find(p => p.page.ToLower() == file.Name.ToLower()); //if (modelt == null) //{ file.Delete(); //} } } //遍历URL配置列表 foreach (Model.url_rewrite modelt in ls) { //如果URL配置对应的模板文件存在则生成 string fullPath = Utils.GetMapPath(string.Format("{0}templates/{1}/{2}", siteconfig.webpath, skinName, modelt.templet)); if (File.Exists(fullPath)) { PageTemplate.GetTemplate(siteconfig.webpath, "templates", skinName, modelt.templet, modelt.page, modelt.inherit, buildPath, 1); } } }
protected void Page_Load(object sender, EventArgs e) { if (!Utils.CheckRole("1")) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "set", "<script>window.onload=showmsgclose('权限信息','没有权限!','/Systestcomjun/index.aspx',2)</script>"); return; } if (!IsPostBack) { siteconfig site = sitebll.loadConfig(Server.MapPath("/xmlconfig/site.config")); txtFileSize.Text = site.FileSize + ""; foreach (ListItem item in chkImgFormat.Items) { if (site.ImgFormat.Contains(item.Text)) { item.Selected = true; } } txtOrderTime.Text = site.OrderTime + ""; txtSetOrderTime.Text = site.SetOrderTime + ""; txtCommission.Text = site.Commission + ""; } }
protected void btnsave_Click(object sender, EventArgs e) { siteconfig site = sitebll.loadConfig(Server.MapPath("/xmlconfig/site.config")); site.FileSize = Convert.ToInt32(txtFileSize.Text); var imgformat = ""; foreach (ListItem item in chkImgFormat.Items) { if (item.Selected) { imgformat += item.Text + ","; } } imgformat = imgformat.TrimEnd(','); site.ImgFormat = imgformat; site.OrderTime = Convert.ToInt32(txtOrderTime.Text); site.SetOrderTime = Convert.ToInt32(txtSetOrderTime.Text); site.Commission = Convert.ToInt32(txtCommission.Text); new ZhongLi.BLL.Reward_Order().SetOrderTime(site.OrderTime, site.SetOrderTime); sitebll.saveConifg(site, Server.MapPath("/xmlconfig/site.config")); webHelper.addLog("修改了“系统管理”的配置信息"); Page.ClientScript.RegisterStartupScript(Page.GetType(), "set", "<script>window.onload=showmsg('系统设置','保存成功','',1)</script>"); }
public UpLoad() { siteConfig = new SiteConfig(new SiteConfigRepository()).loadConfig(); }
public ManagePage() { this.Load += new EventHandler(ManagePage_Load); siteConfig = new SiteConfig(new SiteConfigRepository()).loadConfig(); }
public Login() { siteConfig = new SiteConfig(new SiteConfigRepository()).loadConfig(); }
/// <summary> /// 发送营销短信 九维天地接口 /// </summary> /// <param name="mobiles">手机号码,以英文“,”逗号分隔开</param> /// <param name="content">短信内容</param> /// <param name="pass">短信通道1验证码通道2广告通道 暂无用</param> /// <param name="msg">返回提示信息</param> /// <returns>bool</returns> public static bool Send(string mobiles, string content, int pass, out string msg) { siteconfig siteConfig = ConfigLoader.loadSiteConfig(); //获得站点配置信息 //检查是否设置好短信账号 if (!Exists()) { msg = "短信配置参数有误,请完善后再提交!"; return(false); } //检查手机号码,如果超过2000则分批发送 int sucCount = 0; //成功提交数量 string errorMsg = string.Empty; //错误消息 string[] oldMobileArr = mobiles.Split(','); int batch = oldMobileArr.Length / 2000 + 1; //2000条为一批,求出分多少批 for (int i = 0; i < batch; i++) { StringBuilder sb = new StringBuilder(); int sendCount = 0; //发送数量 int maxLenght = (i + 1) * 2000; //循环最大的数 //检测号码,忽略不合格的,重新组合 for (int j = 0; j < oldMobileArr.Length && j < maxLenght; j++) { int arrNum = j + (i * 2000); string pattern = @"^1\d{10}$"; string mobile = oldMobileArr[arrNum].Trim(); if (mobile.Length != 11) { continue; } Regex r = new Regex(pattern, RegexOptions.IgnoreCase); //正则表达式实例,不区分大小写 if (r.Match(mobile).Success) { sendCount++; sb.Append(mobile + ","); } } //发送短信 if (sb.ToString().Length > 0) { try { string result = Utils.HttpPost(siteConfig.smsapiurl, "productid=936245&username="******"&password="******"&mobile=" + Utils.DelLastComma(sb.ToString()) + "&content=" + Utils.UrlEncode(content)); string[] strArr = result.Split(new string[] { "," }, StringSplitOptions.None); if (strArr[0] != "1") { errorMsg = "提交失败," + GetJwErrorType(strArr[0]); continue; } sucCount += sendCount; //成功数量 } catch { //没有动作 } } } //返回状态 if (sucCount > 0) { msg = "成功提交" + sucCount + "条,失败" + (oldMobileArr.Length - sucCount) + "条"; return(true); } msg = errorMsg; return(false); }
/// <summary> /// 保存配置文件 /// </summary> public siteconfig saveConifg(siteconfig model) { return(DALsaveConifg(model, Utils.GetXmlMapPath(DTKeys.FILE_SITE_XML_CONFING))); }
/// <summary> /// 发送投资成功消息 /// </summary> /// <param name="projectTransactionId"></param> /// <param name="investTime"></param> private static void HandleProjectInvestMsg(int projectTransactionId, DateTime investTime) { var context = new Agp2pDataContext(); try { //找出项目投资信息 var investment = context.li_project_transactions.Single(p => p.id == projectTransactionId); //发送电子合同 siteconfig siteConfig = ConfigLoader.loadSiteConfig(); //增加协议号到投资记录中 investment.agree_no = investment.li_projects.dt_article_category.call_index.ToUpper() + Utils.GetOrderNumber(); //获得投资协议邮件内容 var bodytxt = context.GetInvestContractContext(investment, AppDomain.CurrentDomain.BaseDirectory + "\\tools\\invest-agreement.html"); //发送投资协议邮件 // TODO 新手体验标 不发投资协议到邮箱 if (!string.IsNullOrWhiteSpace(investment.dt_users.email) && !investment.li_projects.IsNewbieProject1()) { DTMail.sendMail(siteConfig.emailsmtp, siteConfig.emailusername, DESEncrypt.Decrypt(siteConfig.emailpassword), siteConfig.emailnickname, siteConfig.emailfrom, investment.dt_users.email, "安广融合投资协议", bodytxt); } // 检测用户是否接收放款的通知 var sendNotificationSettings = context.li_notification_settings.Where(n => n.user_id == investment.investor) .Select(n => n.type).Cast <Agp2pEnums.DisabledNotificationTypeEnum>(); if (sendNotificationSettings.Contains(Agp2pEnums.DisabledNotificationTypeEnum.InvestSuccessForUserMsg)) { return; } else { context.SubmitChanges(); } //发送投资站内信息 var dtSmsTemplate = context.dt_sms_template.FirstOrDefault(t => t.call_index == "invest_success"); if (dtSmsTemplate == null) { return; } var content = dtSmsTemplate.content.Replace("{date}", investment.create_time.ToString("yyyy年MM月dd日HH时mm分")) .Replace("{projectName}", investment.li_projects.title) .Replace("{amount}", investment.principal.ToString("N")); var userMsg = new dt_user_message { type = 1, post_user_name = "", accept_user_name = investment.dt_users.user_name, title = dtSmsTemplate.title, content = content, post_time = investTime, receiver = investment.investor }; context.dt_user_message.InsertOnSubmit(userMsg); context.SubmitChanges(); } catch (Exception ex) { context.AppendAdminLog("Invest", "发送投资成功消息时错误:" + ex.Message); context.SubmitChanges(); } }
public JsonResult SysConfigSave() { siteconfig model = configSite.loadConfig(); try { model.IsEmail = Utils.StrToInt(Request.Form["rblEmail"], 0); model.webname = Request.Form["webname"]; model.weburl = Request.Form["weburl"]; model.weblogo = Request.Form["weblogo"]; model.webcompany = Request.Form["webcompany"]; model.webaddress = Request.Form["webaddress"]; model.webtel = Request.Form["webtel"]; model.webfax = Request.Form["webfax"]; model.webmail = Request.Form["webmail"]; model.webcrod = Request.Form["webcrod"]; model.webtitle = Request.Form["webtitle"]; model.webkeyword = Request.Form["webkeyword"]; model.webdescription = Utils.DropHTML(Request.Form["webdescription"]); model.webcopyright = Request.Form["webcopyright"]; model.webpath = Request.Form["webpath"]; model.webmanagepath = Request.Form["webmanagepath"]; model.staticstatus = Utils.StrToInt(Request.Form["staticstatus"], 0); model.staticextension = Request.Form["staticextension"]; model.memberstatus = !string.IsNullOrEmpty(Request.Form["memberstatus"]) ? 1 : 0; model.commentstatus = !string.IsNullOrEmpty(Request.Form["commentstatus"]) ? 1 : 0; model.logstatus = !string.IsNullOrEmpty(Request.Form["logstatus"]) ? 1 : 0; model.webstatus = !string.IsNullOrEmpty(Request.Form["webstatus"]) ? 1 : 0; model.webclosereason = Request.Form["webclosereason"]; model.webcountcode = Request.Form["webcountcode"]; model.smsusername = Request.Form["smsusername"]; string defaultpassword = "******"; //默认显示密码 //判断密码是否更改 if (Request.Form["smspassword"].ToString() != "" && Request.Form["smspassword"].ToString() != defaultpassword) { model.smspassword = MD5Comm.Get32MD5One(Request.Form["smspassword"].ToString()); } model.emailsmtp = Request.Form["emailsmtp"]; model.emailport = Utils.StrToInt(Request.Form["emailport"].ToString(), 25); model.emailfrom = Request.Form["emailfrom"]; model.emailusername = Request.Form["emailusername"]; //判断密码是否更改 if (Request.Form["emailpassword"] != defaultpassword) { model.emailpassword = DESEncrypt.Encrypt(Request.Form["emailpassword"], model.sysencryptstring); } model.emailnickname = Request.Form["emailnickname"]; model.filepath = Request.Form["filepath"]; model.filesave = Utils.StrToInt(Request.Form["filesave"], 2); model.fileextension = Request.Form["fileextension"]; model.attachsize = Utils.StrToInt(Request.Form["attachsize"], 0); model.imgsize = Utils.StrToInt(Request.Form["imgsize"], 0); model.imgmaxheight = Utils.StrToInt(Request.Form["imgmaxheight"], 0); model.imgmaxwidth = Utils.StrToInt(Request.Form["imgmaxwidth"], 0); model.thumbnailheight = Utils.StrToInt(Request.Form["thumbnailheight"], 0); model.thumbnailwidth = Utils.StrToInt(Request.Form["thumbnailwidth"], 0); model.watermarktype = Utils.StrToInt(Request.Form["watermarktype"], 0); model.watermarkposition = Utils.StrToInt(Request.Form["watermarkposition"], 9); model.watermarkimgquality = Utils.StrToInt(Request.Form["watermarkimgquality"], 80); model.watermarkpic = Request.Form["watermarkpic"]; model.watermarktransparency = Utils.StrToInt(Request.Form["watermarktransparency"], 5); model.watermarktext = Request.Form["watermarktext"]; model.watermarkfont = Request.Form["watermarkfont"]; model.watermarkfontsize = Utils.StrToInt(Request.Form["watermarkfontsize"], 12); configSite.saveConifg(model); strStatus = "1"; strMsg = "修改系统配置成功"; } catch { strStatus = "0"; strMsg = "文件写入失败,请检查是否有权限!"; } return(Json(new { status = strStatus, msg = strMsg })); }
/// <summary> /// 保存配置文件 /// </summary> public siteconfig saveConifg(siteconfig model) { return(this._repository.saveConifg(model, Utils.GetXmlMapPath(SystemKeys.FILE_SITE_XML_CONFING))); }
private void SendVerifyEmail(int userId, string email, Action <int, string> callback, string templateName = "emailverify") { if (userId <= 0 || string.IsNullOrWhiteSpace(email)) { callback((int)HttpStatusCode.BadRequest, "缺少参数"); return; } // verifying_email : string | last_send_verifying_mail_at : DateTime? | verifying_email_code : string // 限制发送的时间间隔 var lastSendVerifyingMailAt = (DateTime?)SessionHelper.Get("last_send_verifying_mail_at"); if (lastSendVerifyingMailAt != null && DateTime.Now.Subtract(lastSendVerifyingMailAt.Value).TotalSeconds < 60) { callback(429, "发送邮件间隔为 60 秒,您刚才已经发送过啦,休息一下再来吧!"); return; } var context = new Agp2pDataContext(); // 检查是否有其他用户验证过此邮箱 var count = context.dt_users.Count(u => u.email == email); if (count != 0) { callback((int)HttpStatusCode.Conflict, "这个电子邮箱已经被其他用户绑定了"); return; } var strCode = Utils.GetCheckCode(5); SessionHelper.Set("verifying_email", email); SessionHelper.Set("last_send_verifying_mail_at", DateTime.Now); SessionHelper.Set("verifying_email_code", strCode); var user = context.dt_users.Single(u => u.id == userId); //获得邮件内容 var mailModel = new mail_template().GetModel(templateName); if (mailModel == null) { callback((int)HttpStatusCode.Gone, "邮件发送失败,邮件模板内容不存在!"); return; } //替换模板内容 var siteConfig = new siteconfig().loadConfig(); var titletxt = mailModel.maill_title .Replace("{webname}", siteConfig.webname) .Replace("{username}", user.user_name); var bodytxt = mailModel.content .Replace("{webname}", siteConfig.webname) .Replace("{webtel}", siteConfig.webtel) .Replace("{username}", user.user_name) .Replace("{valid}", SessionHelper.GetSessionTimeout().ToString()) .Replace("{linkurl}", "http://" + HttpContext.Current.Request.Url.Authority.ToLower() + "/user/center/index.html#/safe?action=verifyEmail&code=" + strCode) .Replace("{verifyCode}", strCode); try { DTMail.sendMail(siteConfig.emailsmtp, siteConfig.emailusername, DESEncrypt.Decrypt(siteConfig.emailpassword), siteConfig.emailnickname, siteConfig.emailfrom, email, titletxt, bodytxt); //发送邮件 callback((int)HttpStatusCode.OK, "邮件发送成功,请查收!"); } catch (Exception e) { callback((int)HttpStatusCode.InternalServerError, "邮件发送失败,请联系本站管理员!"); } }
public UpLoad() { siteConfig = new siteconfigs().loadConfig(); }