From ecabe8d9cc5ef528afbe01f6cafdb6a2a7237a54 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Mon, 29 Jun 2026 15:12:23 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20ConsultingActivity=20=EC=A0=84=EC=B2=B4?= =?UTF-8?q?=20=EC=A1=B0=ED=9A=8C=20API=20=EB=B0=8F=20=EB=A6=AC=ED=8F=AC?= =?UTF-8?q?=EC=A7=80=ED=86=A0=EB=A6=AC/=EC=84=9C=EB=B9=84=EC=8A=A4=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84=EC=B2=B4=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/ConsultingActivityService.cs | 3 +++ .../Interfaces/IConsultingActivityRepository.cs | 1 + .../Repositories/ConsultingActivityRepository.cs | 8 ++++++++ .../Controllers/ConsultingActivityController.cs | 14 ++++++++++++++ 4 files changed, 26 insertions(+) diff --git a/TaxBaik.Application/Services/ConsultingActivityService.cs b/TaxBaik.Application/Services/ConsultingActivityService.cs index 0a3d98d..c1420ed 100644 --- a/TaxBaik.Application/Services/ConsultingActivityService.cs +++ b/TaxBaik.Application/Services/ConsultingActivityService.cs @@ -33,6 +33,9 @@ public class ConsultingActivityService(IConsultingActivityRepository repository) public async Task> GetByClientIdAsync(int clientId, CancellationToken ct = default) => await repository.GetByClientIdAsync(clientId, ct); + public async Task> GetAllAsync(CancellationToken ct = default) => + await repository.GetAllAsync(ct); + public async Task> GetPendingFollowupsAsync(CancellationToken ct = default) => await repository.GetPendingFollowupsAsync(ct); diff --git a/TaxBaik.Domain/Interfaces/IConsultingActivityRepository.cs b/TaxBaik.Domain/Interfaces/IConsultingActivityRepository.cs index 2a71662..31dbc88 100644 --- a/TaxBaik.Domain/Interfaces/IConsultingActivityRepository.cs +++ b/TaxBaik.Domain/Interfaces/IConsultingActivityRepository.cs @@ -5,6 +5,7 @@ using TaxBaik.Domain.Entities; public interface IConsultingActivityRepository { Task CreateAsync(ConsultingActivity activity, CancellationToken cancellationToken = default); + Task> GetAllAsync(CancellationToken cancellationToken = default); Task> GetByClientIdAsync(int clientId, CancellationToken cancellationToken = default); Task> GetPendingFollowupsAsync(CancellationToken cancellationToken = default); Task> GetByConsultantAsync(int consultantId, DateTime fromDate, CancellationToken cancellationToken = default); diff --git a/TaxBaik.Infrastructure/Repositories/ConsultingActivityRepository.cs b/TaxBaik.Infrastructure/Repositories/ConsultingActivityRepository.cs index 0883e19..f5815ad 100644 --- a/TaxBaik.Infrastructure/Repositories/ConsultingActivityRepository.cs +++ b/TaxBaik.Infrastructure/Repositories/ConsultingActivityRepository.cs @@ -16,6 +16,14 @@ public class ConsultingActivityRepository(IDbConnectionFactory connectionFactory activity); } + public async Task> GetAllAsync(CancellationToken cancellationToken = default) + { + using var conn = Conn(); + return await conn.QueryAsync( + @"SELECT id, client_id, activity_type, activity_date, activity_time, assigned_consultant, description, outcome, next_followup_date, notes, created_at, updated_at + FROM consulting_activities ORDER BY activity_date DESC"); + } + public async Task> GetByClientIdAsync(int clientId, CancellationToken cancellationToken = default) { using var conn = Conn(); diff --git a/TaxBaik.Web/Controllers/ConsultingActivityController.cs b/TaxBaik.Web/Controllers/ConsultingActivityController.cs index 4cb57be..caa14ca 100644 --- a/TaxBaik.Web/Controllers/ConsultingActivityController.cs +++ b/TaxBaik.Web/Controllers/ConsultingActivityController.cs @@ -24,6 +24,20 @@ public class ConsultingActivityController(ConsultingActivityService service) : C } } + [HttpGet] + public async Task GetAll() + { + try + { + var activities = await service.GetAllAsync(); + return Ok(activities); + } + catch (Exception ex) + { + return StatusCode(500, new { error = "조회 실패", message = ex.Message }); + } + } + [HttpGet("{id:int}")] public async Task GetById(int id) {