public void SendEmail(int hour)
        {
            string subject   = string.Empty;
            string emailBody = string.Empty;

            var entitys = _checkoffMonitorRepository.AsNoTracking()
                          .Where(m => DbFunctions.DiffDays(m.CreationTime, DateTime.Now) > 0 && DbFunctions.DiffDays(DateTime.Now.AddDays(1), m.CreationTime) > 0).
                          OrderBy(m => m.CreationTime)
                          .Select(m => new { m.Id, m.CheckoffType, m.CheckoffModule, m.CheckoffTotal, m.FinishFlag, m.Remark, m.LastModificationTime, m.CreationTime });

            if (entitys.Any())
            {
                subject = string.Format("{0}_{1}点代扣监控邮件", DateTime.Now.ToString("yyyyMMdd"), hour);

                if (hour == 8)
                {
                    var eightList = _checkoffAutoAcpRepository.GetCheckoffAutoAcpsByType(8);
                    if (eightList.Any())
                    {
                        emailBody += "</br></br>微信端疑似重复入帐监控</br></br>";
                        emailBody += JArrayHelper.JsonToHtmlJArray(JsonConvert.SerializeObject(eightList), "");
                    }
                    else
                    {
                        emailBody += "</br></br>监控未发现异常入帐</br></br>";
                    }

                    var tenList = _checkoffAutoAcpRepository.GetCheckoffAutoAcpsByType(10);

                    if (tenList.Any())
                    {
                        emailBody += "</br></br>今日服务器插入统计</br></br>";
                        emailBody += JArrayHelper.JsonToHtmlJArray(JsonConvert.SerializeObject(tenList), "");
                    }
                }
            }
            else
            {
                subject   = string.Format("[紧急]{0}代扣监控邮件", DateTime.Now.ToString("yyyyMMdd"));
                emailBody = string.Format("当前时间未找到任何相关记录!");
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// 获取指定条件的单条代扣数据
 /// </summary>
 public async Task <TDto> GetCheckoffAutoAcpAsync <TDto>(IQuery <Domain.Core.Model.CheckoffAutoAcp> query)
 {
     return(await _checkoffAutoAcpRepository.AsNoTracking().FirstOrDefaultAsync <Domain.Core.Model.CheckoffAutoAcp, TDto>(query));
 }