From ed3c90114312045a24dc3be8909ae2b08ca73ed5 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Mon, 11 May 2026 10:36:45 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=94=EB=89=B4=20API=20=EC=98=81=EB=AC=B8?= =?UTF-8?q?=EB=AA=85=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kamco/cd/kamcoback/menu/MyMenuApiController.java | 6 ++++-- .../java/com/kamco/cd/kamcoback/menu/dto/MenuDto.java | 6 ++++-- .../cd/kamcoback/menu/service/MyMenuService.java | 4 ++-- .../cd/kamcoback/postgres/core/MenuCoreService.java | 11 +++++++---- .../cd/kamcoback/postgres/entity/MenuEntity.java | 6 +++++- 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/menu/MyMenuApiController.java b/src/main/java/com/kamco/cd/kamcoback/menu/MyMenuApiController.java index 5a877f78..5d366ae9 100644 --- a/src/main/java/com/kamco/cd/kamcoback/menu/MyMenuApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/menu/MyMenuApiController.java @@ -14,6 +14,7 @@ import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Tag(name = "메뉴 조회", description = "메뉴 조회 API") @@ -68,9 +69,10 @@ public class MyMenuApiController { @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) }) @GetMapping - public ApiResponseDto> getFindAllByRole() { + public ApiResponseDto> getFindAllByRole( + @RequestParam(required = false) String locale) { UserUtil userUtil = new UserUtil(); String role = userUtil.getRole(); - return ApiResponseDto.ok(myMenuService.getFindByRole(role)); + return ApiResponseDto.ok(myMenuService.getFindByRole(role, locale)); } } diff --git a/src/main/java/com/kamco/cd/kamcoback/menu/dto/MenuDto.java b/src/main/java/com/kamco/cd/kamcoback/menu/dto/MenuDto.java index 38a49960..cd1e480f 100644 --- a/src/main/java/com/kamco/cd/kamcoback/menu/dto/MenuDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/menu/dto/MenuDto.java @@ -31,7 +31,7 @@ public class MenuDto { @JsonFormatDttm private ZonedDateTime updatedDttm; - private String menuApiUrl; + private String menuNmEn; public Basic( String menuUid, @@ -45,7 +45,8 @@ public class MenuDto { Long updatedUid, List children, ZonedDateTime createdDttm, - ZonedDateTime updatedDttm) { + ZonedDateTime updatedDttm, + String menuNmEn) { this.menuUid = menuUid; this.menuNm = menuNm; this.menuUrl = menuUrl; @@ -58,6 +59,7 @@ public class MenuDto { this.children = children; this.createdDttm = createdDttm; this.updatedDttm = updatedDttm; + this.menuNmEn = menuNmEn; } } diff --git a/src/main/java/com/kamco/cd/kamcoback/menu/service/MyMenuService.java b/src/main/java/com/kamco/cd/kamcoback/menu/service/MyMenuService.java index 9adad491..ed74dd0a 100644 --- a/src/main/java/com/kamco/cd/kamcoback/menu/service/MyMenuService.java +++ b/src/main/java/com/kamco/cd/kamcoback/menu/service/MyMenuService.java @@ -20,7 +20,7 @@ public class MyMenuService { * @param role * @return */ - public List getFindByRole(String role) { - return menuCoreService.getFindByRole(role); + public List getFindByRole(String role, String locale) { + return menuCoreService.getFindByRole(role, locale); } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/MenuCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/MenuCoreService.java index 3e9041fe..9f9f5824 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/MenuCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/MenuCoreService.java @@ -25,16 +25,16 @@ public class MenuCoreService { * @param role * @return */ - public List getFindByRole(String role) { + public List getFindByRole(String role, String locale) { List entities = menuRepository.getFindByRole(role); - + boolean english = locale != null && locale.equals("en"); return entities.stream() .map( parent -> { MyMenuDto.Basic p = new MyMenuDto.Basic( parent.getMenuUid(), - parent.getMenuNm(), + english ? parent.getMenuNmEn() : parent.getMenuNm(), parent.getMenuUrl(), parent.getMenuOrder()); @@ -48,7 +48,10 @@ public class MenuCoreService { .map( c -> new MyMenuDto.Basic( - c.getMenuUid(), c.getMenuNm(), c.getMenuUrl(), c.getMenuOrder())) + c.getMenuUid(), + english ? c.getMenuNmEn() : c.getMenuNm(), + c.getMenuUrl(), + c.getMenuOrder())) .forEach(childDto -> p.getChildren().add(childDto)); return p; diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MenuEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MenuEntity.java index d008e247..d426da26 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MenuEntity.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MenuEntity.java @@ -58,6 +58,9 @@ public class MenuEntity extends CommonDateEntity { @OneToMany(mappedBy = "parent", fetch = FetchType.LAZY, cascade = CascadeType.ALL) private List children = new ArrayList<>(); + @Column(name = "menu_nm_en") + private String menuNmEn; // 영문 메뉴명 + public MenuDto.Basic toDto() { return new MenuDto.Basic( this.menuUid, @@ -71,6 +74,7 @@ public class MenuEntity extends CommonDateEntity { this.updatedUid, this.children.stream().map(MenuEntity::toDto).toList(), this.getCreatedDate(), - this.getModifiedDate()); + this.getModifiedDate(), + this.menuNmEn); } }