diff --git a/src/TaxBaik.Web/Pages/Contact.cshtml.cs b/src/TaxBaik.Web/Pages/Contact.cshtml.cs index 4d729ac..58bb9b0 100644 --- a/src/TaxBaik.Web/Pages/Contact.cshtml.cs +++ b/src/TaxBaik.Web/Pages/Contact.cshtml.cs @@ -7,6 +7,7 @@ namespace TaxBaik.Web.Pages; public class ContactModel : PageModel { private readonly InquiryService _inquiryService; + private readonly ILogger _logger; [BindProperty] public string Name { get; set; } = ""; @@ -26,35 +27,45 @@ public class ContactModel : PageModel [BindProperty] public bool Agree { get; set; } - public ContactModel(InquiryService inquiryService) + public ContactModel(InquiryService inquiryService, ILogger logger) { _inquiryService = inquiryService; + _logger = logger; } public async Task OnPostAsync() { + _logger.LogInformation("[Contact] POST 요청 시작: Name={Name}, Phone={Phone}, Service={Service}", Name, Phone, ServiceType); + if (!ModelState.IsValid || !Agree) + { + _logger.LogWarning("[Contact] 유효성 검사 실패 또는 동의 미체크"); return Page(); + } try { - await _inquiryService.SubmitAsync( + _logger.LogInformation("[Contact] SubmitAsync 호출 전"); + var inquiryId = await _inquiryService.SubmitAsync( Name, Phone, ServiceType, Message, Email, HttpContext.Connection.RemoteIpAddress?.ToString()); + _logger.LogInformation("[Contact] SubmitAsync 완료: InquiryId={Id}", inquiryId); TempData["Success"] = "상담 신청이 접수되었습니다. 빠른 시간 내에 연락드리겠습니다."; return RedirectToPage(); } catch (ValidationException ex) { + _logger.LogWarning(ex, "[Contact] 유효성 검사 오류: {Message}", ex.Message); ModelState.AddModelError("", ex.Message); return Page(); } - catch + catch (Exception ex) { + _logger.LogError(ex, "[Contact] 예외 발생"); ModelState.AddModelError("", "시스템 오류가 발생했습니다. 잠시 후 다시 시도해주세요."); return Page(); } diff --git a/src/TaxBaik.Web/Services/TelegramInquiryNotificationService.cs b/src/TaxBaik.Web/Services/TelegramInquiryNotificationService.cs index a9610d4..9f85297 100644 --- a/src/TaxBaik.Web/Services/TelegramInquiryNotificationService.cs +++ b/src/TaxBaik.Web/Services/TelegramInquiryNotificationService.cs @@ -22,10 +22,16 @@ public class TelegramInquiryNotificationService : IInquiryNotificationService public async Task NotifyCreatedAsync(int inquiryId, string name, string phone, string serviceType, string message, string? ipAddress, DateTime createdAtUtc, CancellationToken ct = default) { + _logger.LogInformation("[Telegram] NotifyCreatedAsync 시작: InquiryId={Id}, Name={Name}", inquiryId, name); + var botToken = _configuration["Telegram:BotToken"]; var chatId = _configuration["Telegram:InquiryChatId"]; if (string.IsNullOrWhiteSpace(chatId)) chatId = _configuration["Telegram:ChatId"]; + + _logger.LogInformation("[Telegram] 설정 확인: BotToken={Token}, ChatId={ChatId}", + string.IsNullOrWhiteSpace(botToken) ? "없음" : "있음", chatId); + if (string.IsNullOrWhiteSpace(botToken) || string.IsNullOrWhiteSpace(chatId)) { _logger.LogWarning("텔레그램 새 문의 알림 설정이 누락되었습니다. Telegram:BotToken 또는 Telegram:InquiryChatId/ChatId를 확인하세요.");