From 53992ffa9c2ee90f1c7012ef8a0f242d25781dca Mon Sep 17 00:00:00 2001 From: ose0221 Date: Tue, 31 Mar 2026 15:55:52 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9C=A0=EC=A0=80=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=ED=8D=BC=ED=8B=B0=20=EC=A1=B0=ED=9A=8C=20API=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/user/controller/UserControllerV3.java | 9 +++++++++ .../user/dto/response/UserPropertyResponse.java | 12 ++++++++++++ .../application/user/port/in/UserManagementPort.java | 3 +++ .../user/usecase/UserManagementUsecase.java | 9 +++++++++ 4 files changed, 33 insertions(+) create mode 100644 application/src/main/java/com/pinback/application/user/dto/response/UserPropertyResponse.java diff --git a/api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java b/api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java index a8692fd..b38f4c1 100644 --- a/api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java +++ b/api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java @@ -9,6 +9,7 @@ import com.pinback.api.user.dto.request.UpdateUserJobRequest; import com.pinback.application.user.dto.response.UserHasJobInfoResponse; import com.pinback.application.user.dto.response.UserJobInfoResponse; +import com.pinback.application.user.dto.response.UserPropertyResponse; import com.pinback.application.user.port.in.UserManagementPort; import com.pinback.domain.user.entity.User; import com.pinback.shared.annotation.CurrentUser; @@ -42,4 +43,12 @@ public ResponseDto getUserJob( UserHasJobInfoResponse response = userManagementPort.getUserJobInfo(user); return ResponseDto.ok(response); } + + @GetMapping("/properties") + public ResponseDto getUserProperty( + @Parameter(hidden = true) @CurrentUser User user + ) { + UserPropertyResponse response = userManagementPort.getUserProperty(user); + return ResponseDto.ok(response); + } } diff --git a/application/src/main/java/com/pinback/application/user/dto/response/UserPropertyResponse.java b/application/src/main/java/com/pinback/application/user/dto/response/UserPropertyResponse.java new file mode 100644 index 0000000..2dc5051 --- /dev/null +++ b/application/src/main/java/com/pinback/application/user/dto/response/UserPropertyResponse.java @@ -0,0 +1,12 @@ +package com.pinback.application.user.dto.response; + +import java.util.UUID; + +public record UserPropertyResponse( + UUID userId, + String jobRole +) { + public static UserPropertyResponse of(UUID id, String jobRole) { + return new UserPropertyResponse(id, jobRole); + } +} diff --git a/application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java b/application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java index 73f3ab2..3d4c16f 100644 --- a/application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java +++ b/application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java @@ -8,6 +8,7 @@ import com.pinback.application.user.dto.response.UserInfoResponse; import com.pinback.application.user.dto.response.UserJobInfoResponse; import com.pinback.application.user.dto.response.UserProfileInfoResponse; +import com.pinback.application.user.dto.response.UserPropertyResponse; import com.pinback.application.user.dto.response.UserRemindInfoResponse; import com.pinback.domain.user.entity.User; @@ -24,4 +25,6 @@ public interface UserManagementPort { UserJobInfoResponse updateUserJobInfo(User user, UpdateUserJobCommand command); UserHasJobInfoResponse getUserJobInfo(User user); + + UserPropertyResponse getUserProperty(User user); } diff --git a/application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java b/application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java index f83011a..c30b9c2 100644 --- a/application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java +++ b/application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java @@ -16,6 +16,7 @@ import com.pinback.application.user.dto.response.UserInfoResponse; import com.pinback.application.user.dto.response.UserJobInfoResponse; import com.pinback.application.user.dto.response.UserProfileInfoResponse; +import com.pinback.application.user.dto.response.UserPropertyResponse; import com.pinback.application.user.dto.response.UserRemindInfoResponse; import com.pinback.application.user.port.in.UserManagementPort; import com.pinback.application.user.port.out.AcornServicePort; @@ -96,6 +97,14 @@ public UserHasJobInfoResponse getUserJobInfo(User user) { } + @Override + @Transactional(readOnly = true) + public UserPropertyResponse getUserProperty(User user) { + User getUser = userGetServicePort.findById(user.getId()); + + return UserPropertyResponse.of(getUser.getId(), getUser.getJob().getValue()); + } + private LocalDateTime getRemindDateTime(LocalDateTime now, LocalTime remindDefault) { LocalDateTime remindDate = now.plusDays(1L);