From 320e7cd68a368a666986019e29c4af0fc9ddaa48 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期日, 12 四月 2026 20:13:21 +0800
Subject: [PATCH] 处理冲突
---
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysGroupMenuServiceImpl.java | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysGroupMenuServiceImpl.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysGroupMenuServiceImpl.java
index 6ed0434..c23a53c 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysGroupMenuServiceImpl.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysGroupMenuServiceImpl.java
@@ -59,8 +59,25 @@
return;
}
+ List<SysGroupMenu> list = this.list(new LambdaQueryWrapper<SysGroupMenu>().eq(SysGroupMenu::getGroupId, groupId));
+ List<Long> deleteMenuIds = new ArrayList<>();
+ List<Long> addMenuIds = new ArrayList<>();
+ //查找需要删除的数据
+ for (SysGroupMenu sysGroupMenu : list) {
+ if(!menuIds.contains(sysGroupMenu.getMenuId())){
+ deleteMenuIds.add(sysGroupMenu.getMenuId());
+ }
+ }
+ //查找需要添加的数据
+ List<Long> collect = list.stream().map(SysGroupMenu::getMenuId).collect(Collectors.toList());
+ for (Long menuId : menuIds) {
+ if(!collect.contains(menuId)){
+ addMenuIds.add(menuId);
+ }
+ }
+
// 构建批量插入的数据
- List<SysGroupMenu> groupMenus = menuIds.stream()
+ List<SysGroupMenu> groupMenus = addMenuIds.stream()
.filter(Objects::nonNull)
.map(menuId -> {
SysGroupMenu groupMenu = new SysGroupMenu();
@@ -74,6 +91,9 @@
if (!groupMenus.isEmpty()) {
this.saveBatch(groupMenus);
}
+ if(!deleteMenuIds.isEmpty()){
+ this.remove(new LambdaQueryWrapper<SysGroupMenu>().eq(SysGroupMenu::getGroupId, groupId).in(SysGroupMenu::getMenuId, deleteMenuIds));
+ }
}
/**
--
Gitblit v1.7.1