Exemplo n.º 1
0
 public static void SendEmail(List <string> pids, ILog logger)
 {
     if (pids.Any())
     {
         var baseInfo     = DalTireStockoutStatusWhile.GetBaseProductInfo(pids);
         var stockoutInfo = DalTireStockoutStatusWhile.GetStockoutStatus(pids);
         var data         = baseInfo.Union(stockoutInfo).GroupBy(g => g.PID).Select(g => new TireStockProductModel
         {
             PID               = g.Key,
             DisplayName       = g.FirstOrDefault(t => !string.IsNullOrEmpty(t.DisplayName))?.DisplayName ?? "",
             Brand             = g.FirstOrDefault(t => !string.IsNullOrEmpty(t.Brand))?.Brand ?? "",
             OnSale            = g.Any(t => t.OnSale),
             StockoutStatus    = g.Max(t => t.StockoutStatus),
             CurrentStockCount = g.Max(t => t.CurrentStockCount),
             MonthSales        = g.Max(t => t.MonthSales)
         }).ToList();
         var body      = new StringBuilder(51200);
         var emailhead =
             $@"<div style='font-size:20px;font-weight:bold;'><p>白名单变更记录:</p><p>{
                     DateTime.Now.ToString(CultureInfo.CurrentCulture)
                 }</p></div>";
         body.Append(emailhead);
         body.Append(TableMessage("以下PID被加入白名单", data));
         var dat     = data.Where(g => (g.SystemStockout == 1 || g.StockoutStatus == 1) && g.OnSale).ToList();
         var message = body.Append(TableMessage("以下PID的展示状态由缺货变为有货", dat)).ToString();
         TuhuMessage.SendEmail("【Info】白名单状态变更记录",
                               "*****@*****.**",
                               message);
     }
     else
     {
         logger.Warn("无新增缺货白名单");
     }
 }