diff --git a/src/food-market.api/Background/OrgExportJob.cs b/src/food-market.api/Background/OrgExportJob.cs index ebaca29..c077b85 100644 --- a/src/food-market.api/Background/OrgExportJob.cs +++ b/src/food-market.api/Background/OrgExportJob.cs @@ -115,7 +115,7 @@ public async Task RunAsync(Guid exportId, CancellationToken ct = default) _db.OrgAuditLogs.IgnoreQueryFilters().Where(x => x.OrganizationId == orgId), jsonOpts, ct); // README для пользователя. - var readme = $@"# Экспорт данных Food Market + var readme = $@"# Экспорт данных ALL MARKET Экспорт запрошен: {rec.CreatedAt:O} Организация: {orgId} @@ -152,14 +152,14 @@ await using (var s = rEntry.Open()) { var publicBase = _cfg["App:PublicBaseUrl"]?.TrimEnd('/') ?? "https://admin.food-market.kz"; var link = $"{publicBase}/api/org/export/download/{token}"; - var body = $@"

Ваш экспорт данных Food Market готов.

+ var body = $@"

Ваш экспорт данных ALL MARKET готов.

Скачать (действительно 24 часа):

{link}

Размер архива: {ms.Length / 1024:N0} KB

Если вы не запрашивали экспорт — сообщите администратору организации.

"; try { - await _email.SendAsync(rec.NotifyEmail, "Ваш экспорт данных Food Market готов", body, ct); + await _email.SendAsync(rec.NotifyEmail, "Ваш экспорт данных ALL MARKET готов", body, ct); } catch (Exception ex) { diff --git a/src/food-market.api/Background/OwnerDailySummaryJob.cs b/src/food-market.api/Background/OwnerDailySummaryJob.cs index b41b2be..7498472 100644 --- a/src/food-market.api/Background/OwnerDailySummaryJob.cs +++ b/src/food-market.api/Background/OwnerDailySummaryJob.cs @@ -109,7 +109,7 @@ select new string Money(decimal d) => $"{d:N0} ₸"; var sb = new System.Text.StringBuilder(); - sb.Append($"Food Market — сводка за {yStart:dd.MM}\n"); + sb.Append($"ALL MARKET — сводка за {yStart:dd.MM}\n"); sb.Append($"{Esc(orgName)}\n\n"); sb.Append($"💰 Выручка: {Money(revenue)}\n"); sb.Append($"🧾 Чеков: {count}\n"); diff --git a/src/food-market.api/Controllers/Admin/DiagnosticController.cs b/src/food-market.api/Controllers/Admin/DiagnosticController.cs index faedf02..ff61912 100644 --- a/src/food-market.api/Controllers/Admin/DiagnosticController.cs +++ b/src/food-market.api/Controllers/Admin/DiagnosticController.cs @@ -114,7 +114,7 @@ private async Task CheckSmtp(bool sendEmail, CancellationToken ct) $"конфиг есть ({s.SmtpHost}); тестовое письмо не отправлялось (sendTestEmail=false)"); } // Живой тест — отправляем письмо на FromEmail (сам себе). - await _email.SendAsync(s.FromEmail!, "Food Market — diagnostic ping", + await _email.SendAsync(s.FromEmail!, "ALL MARKET — diagnostic ping", "Это тест из /admin/diagnostic. Игнорируйте.", ct); sw.Stop(); return new("SMTP", CheckStatus.Ok, sw.ElapsedMilliseconds, diff --git a/src/food-market.api/Controllers/AuthForgotPasswordController.cs b/src/food-market.api/Controllers/AuthForgotPasswordController.cs index 57ec6e8..7825171 100644 --- a/src/food-market.api/Controllers/AuthForgotPasswordController.cs +++ b/src/food-market.api/Controllers/AuthForgotPasswordController.cs @@ -84,13 +84,13 @@ public async Task Forgot([FromBody] ForgotInput input, Cancellati var resetUrl = BuildResetUrl(user.Email!, token); var body = $"Здравствуйте.\n\n" + - $"Кто-то запросил восстановление пароля для вашего аккаунта Food Market ({user.Email}).\n" + + $"Кто-то запросил восстановление пароля для вашего аккаунта ALL MARKET ({user.Email}).\n" + $"Если это были вы — перейдите по ссылке (действительна 1 час):\n\n" + $"{resetUrl}\n\n" + $"Если вы не запрашивали восстановление — просто игнорируйте это письмо.\n"; try { - await _email.SendAsync(user.Email!, "Food Market — восстановление пароля", body, ct); + await _email.SendAsync(user.Email!, "ALL MARKET — восстановление пароля", body, ct); _logger.LogInformation("Forgot-password email sent to {Email}", user.Email); } catch (EmailNotConfiguredException ex) diff --git a/src/food-market.api/Controllers/FeedbackController.cs b/src/food-market.api/Controllers/FeedbackController.cs index 3f63e83..d363827 100644 --- a/src/food-market.api/Controllers/FeedbackController.cs +++ b/src/food-market.api/Controllers/FeedbackController.cs @@ -90,7 +90,7 @@ public async Task Submit([FromBody] FeedbackInput input, Cancella var ua = HttpContext.Request.Headers["User-Agent"].ToString(); var ip = HttpContext.Connection.RemoteIpAddress?.ToString(); - var subject = $"Food Market feedback [{input.Category}] — {org}"; + var subject = $"ALL MARKET feedback [{input.Category}] — {org}"; var body = $"Категория: {input.Category}\n" + $"Организация: {org}\n" + diff --git a/src/food-market.api/Controllers/Organizations/EmployeesController.cs b/src/food-market.api/Controllers/Organizations/EmployeesController.cs index 3e9bf7d..e676e7a 100644 --- a/src/food-market.api/Controllers/Organizations/EmployeesController.cs +++ b/src/food-market.api/Controllers/Organizations/EmployeesController.cs @@ -192,7 +192,7 @@ public async Task> Create([FromBody] Employee try { var orgName = await _db.Organizations.Where(o => o.Id == orgId) - .Select(o => o.Name).FirstOrDefaultAsync(ct) ?? "Food Market"; + .Select(o => o.Name).FirstOrDefaultAsync(ct) ?? "ALL MARKET"; var loginUrl = (Request.Scheme + "://" + Request.Host.Value + "/login"); var (subject, html, text) = _templates.Render("invite", new Dictionary { diff --git a/src/food-market.api/Controllers/SuperAdmin/PlatformSettingsController.cs b/src/food-market.api/Controllers/SuperAdmin/PlatformSettingsController.cs index a176afa..1b74857 100644 --- a/src/food-market.api/Controllers/SuperAdmin/PlatformSettingsController.cs +++ b/src/food-market.api/Controllers/SuperAdmin/PlatformSettingsController.cs @@ -115,8 +115,8 @@ public async Task TestSend([FromBody] TestSendInput input, Cancel try { await _email.SendAsync(input.ToEmail.Trim(), - string.IsNullOrWhiteSpace(input.Subject) ? "Food Market — тестовое сообщение" : input.Subject, - string.IsNullOrWhiteSpace(input.Body) ? "Тестовое письмо от Food Market." : input.Body, + string.IsNullOrWhiteSpace(input.Subject) ? "ALL MARKET — тестовое сообщение" : input.Subject, + string.IsNullOrWhiteSpace(input.Body) ? "Тестовое письмо от ALL MARKET." : input.Body, ct); return Ok(new { ok = true, sentTo = input.ToEmail }); } diff --git a/src/food-market.api/Resources/EmailTemplates/invite.html b/src/food-market.api/Resources/EmailTemplates/invite.html index 7b70a9c..c419c9c 100644 --- a/src/food-market.api/Resources/EmailTemplates/invite.html +++ b/src/food-market.api/Resources/EmailTemplates/invite.html @@ -3,14 +3,17 @@ Subject: Приглашение в {{organizationName}} -Приглашение в Food Market +Приглашение в ALL MARKET +
+ all market +

Добро пожаловать в {{organizationName}}

Здравствуйте, {{employeeName}}.

-

Для вас создан доступ к системе Food Market. Войдите по адресу:

+

Для вас создан доступ к системе ALL MARKET. Войдите по адресу:

- Открыть Food Market + Открыть ALL MARKET

@@ -20,5 +23,8 @@ Subject: Приглашение в {{organizationName}}

После первого входа смените пароль в личном кабинете. Если вы не ожидали это письмо — просто игнорируйте его, доступ без первого входа не активируется.

+

+ ALL MARKET — система учёта торговли +

diff --git a/src/food-market.api/Resources/EmailTemplates/low-stock.html b/src/food-market.api/Resources/EmailTemplates/low-stock.html index 95713bd..cee653a 100644 --- a/src/food-market.api/Resources/EmailTemplates/low-stock.html +++ b/src/food-market.api/Resources/EmailTemplates/low-stock.html @@ -6,6 +6,9 @@ Subject: Низкие остатки · {{organizationName}} Низкие остатки +
+ all market +

Низкие остатки

{{productCount}} товаров опустились ниже MinStock. Время сделать заказ.

@@ -15,5 +18,8 @@ Subject: Низкие остатки · {{organizationName}} Полный список — в разделе Остатки. Отключить уведомления можно в настройках организации.

+

+ ALL MARKET — система учёта торговли +

diff --git a/src/food-market.api/Resources/EmailTemplates/weekly-summary.html b/src/food-market.api/Resources/EmailTemplates/weekly-summary.html index 859a6ba..75af5ec 100644 --- a/src/food-market.api/Resources/EmailTemplates/weekly-summary.html +++ b/src/food-market.api/Resources/EmailTemplates/weekly-summary.html @@ -6,6 +6,9 @@ Subject: Итоги недели · {{organizationName}} Еженедельная сводка +
+ all market +

Итоги недели

{{periodFrom}} — {{periodTo}}

@@ -32,5 +35,8 @@ Subject: Итоги недели · {{organizationName}}

Подробная аналитика — в разделе Отчёты.

+

+ ALL MARKET — система учёта торговли +

diff --git a/src/food-market.infrastructure/Email/MailKitEmailSender.cs b/src/food-market.infrastructure/Email/MailKitEmailSender.cs index 3af1a24..de9be51 100644 --- a/src/food-market.infrastructure/Email/MailKitEmailSender.cs +++ b/src/food-market.infrastructure/Email/MailKitEmailSender.cs @@ -48,7 +48,7 @@ public Task SendAsync(string toEmail, string subject, string body, CancellationT } var msg = new MimeMessage(); - msg.From.Add(new MailboxAddress(s.FromName ?? "Food Market", s.FromEmail)); + msg.From.Add(new MailboxAddress(s.FromName ?? "ALL MARKET", s.FromEmail)); msg.To.Add(MailboxAddress.Parse(toEmail)); msg.Subject = subject; if (htmlBody is not null)
Логин{{email}}