/// <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(); } }