From ca27cab01fc9e99a73c48e15a091fd5f48995f4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Fri, 4 Mar 2022 13:10:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xm/core/service/XmMenuService.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java index 7d8f719a..6533a9f9 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java @@ -66,13 +66,10 @@ public class XmMenuService extends BaseService { public void batchInsertOrUpdate(List xmMenus) { List addList=new ArrayList<>(); List editList=new ArrayList<>(); - for (XmMenuVo vo : xmMenus) { - if("addSub".equals(vo.getOpType())||"add".equals(vo.getOpType())) { - addList.add(vo); - }else { - editList.add(vo); - } - } + List xmMenusDb=this.selectListByIds(xmMenus.stream().map(i->i.getMenuId()).collect(Collectors.toList())); + editList=xmMenus.stream().filter(i->xmMenusDb.stream().filter(k->k.getMenuId().equals(i.getMenuId())).findAny().isPresent()).collect(Collectors.toList()); + addList=xmMenus.stream().filter(i->!xmMenusDb.stream().filter(k->k.getMenuId().equals(i.getMenuId())).findAny().isPresent()).collect(Collectors.toList()); + List xmMenuList=new ArrayList<>(); if(addList.size()>0) { xmMenuList.addAll(addList.stream().map(i->(XmMenu)i).collect(Collectors.toList()));