fix:app菜单导航问题

main
HuangHuiKang 3 days ago
parent 142d2b8b85
commit c1a770ef17

@ -29,6 +29,8 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@Tag(name = "管理后台 - App用户导航菜单配置") @Tag(name = "管理后台 - App用户导航菜单配置")
@RestController @RestController
@RequestMapping("/system/user-nav-menu") @RequestMapping("/system/user-nav-menu")
@ -56,8 +58,9 @@ public class UserNavMenuController {
@PutMapping("/update-list") @PutMapping("/update-list")
@Operation(summary = "批量更新") @Operation(summary = "批量更新")
// @PreAuthorize("@ss.hasPermission('system:user-nav-menu:update')") // @PreAuthorize("@ss.hasPermission('system:user-nav-menu:update')")
public CommonResult<Boolean> updateUserNavMenuList(@Valid @RequestBody List<UserNavMenuSaveReqVO> updateReqVOList) { public CommonResult<Boolean> updateUserNavMenuList(@RequestParam(value = "userId", required = false) Long userId,
userNavMenuService.updateUserNavMenuList(updateReqVOList); @Valid @RequestBody(required = false) List<UserNavMenuSaveReqVO> updateReqVOList) {
userNavMenuService.updateUserNavMenuList(userId != null ? userId : getLoginUserId(), updateReqVOList);
return success(true); return success(true);
} }

@ -55,7 +55,7 @@ public interface UserNavMenuService {
List<UserNavMenuDO> getUserNavMenuList(@Valid UserNavMenuPageReqVO listReqVO); List<UserNavMenuDO> getUserNavMenuList(@Valid UserNavMenuPageReqVO listReqVO);
void updateUserNavMenuList(@Valid List<UserNavMenuSaveReqVO> updateReqVOList); void updateUserNavMenuList(Long userId, @Valid List<UserNavMenuSaveReqVO> updateReqVOList);
} }

@ -47,17 +47,21 @@ public class UserNavMenuServiceImpl implements UserNavMenuService {
} }
@Override @Override
public void updateUserNavMenuList(List<UserNavMenuSaveReqVO> updateReqVOList) { public void updateUserNavMenuList(Long userId, List<UserNavMenuSaveReqVO> updateReqVOList) {
if (updateReqVOList == null || updateReqVOList.isEmpty()) { if (updateReqVOList == null || updateReqVOList.isEmpty()) {
if (userId == null) {
throw new IllegalArgumentException("userId cannot be empty when update menu list is empty");
}
userNavMenuMapper.deleteByUserId(userId);
return; return;
} }
Long userId = updateReqVOList.get(0).getUserId(); Long targetUserId = userId != null ? userId : updateReqVOList.get(0).getUserId();
for (UserNavMenuSaveReqVO updateReqVO : updateReqVOList) { for (UserNavMenuSaveReqVO updateReqVO : updateReqVOList) {
if (!Objects.equals(userId, updateReqVO.getUserId())) { if (!Objects.equals(targetUserId, updateReqVO.getUserId())) {
throw exception(USER_NAV_MENU_NOT_EXISTS); throw exception(USER_NAV_MENU_NOT_EXISTS);
} }
} }
userNavMenuMapper.deleteByUserId(userId); userNavMenuMapper.deleteByUserId(targetUserId);
List<UserNavMenuDO> insertList = BeanUtils.toBean(updateReqVOList, UserNavMenuDO.class); List<UserNavMenuDO> insertList = BeanUtils.toBean(updateReqVOList, UserNavMenuDO.class);
insertList.forEach(userNavMenuMapper::insert); insertList.forEach(userNavMenuMapper::insert);
} }

Loading…
Cancel
Save