From 66bf6e2907dffbf220f6e86663a15392e4a6c153 Mon Sep 17 00:00:00 2001 From: wuyangfan <1102042793@qq.com> Date: Mon, 18 May 2026 02:25:08 +0800 Subject: [PATCH] fix(menu): reject restore when duplicate name exists in branch (#149) Validate menu name uniqueness within the branch before restoring a soft- deleted menu, matching create and update behavior. --- .../com/restroly/qrmenu/menu/service/MenuServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/RestroHub/src/main/java/com/restroly/qrmenu/menu/service/MenuServiceImpl.java b/RestroHub/src/main/java/com/restroly/qrmenu/menu/service/MenuServiceImpl.java index dfa2447..acad094 100644 --- a/RestroHub/src/main/java/com/restroly/qrmenu/menu/service/MenuServiceImpl.java +++ b/RestroHub/src/main/java/com/restroly/qrmenu/menu/service/MenuServiceImpl.java @@ -201,6 +201,14 @@ public MenuResponseDTO restoreMenu(Long menuId) { return menuMapper.toResponseDTO(menu); } + if (menu.getBranch() != null + && menuRepository.existsByMenuNameAndBranch_BranchId( + menu.getMenuName(), menu.getBranch().getBranchId())) { + throw new DuplicateResourceException( + "Menu with name '" + menu.getMenuName() + + "' already exists for this branch"); + } + menu.setDeleted(false); Menu restoredMenu = menuRepository.save(menu);