package com.qianwen.smartman.modules.system.service.impl; import java.util.ArrayList; import java.util.List; import javax.validation.constraints.NotEmpty; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.qianwen.core.mp.base.BaseServiceImpl; import com.qianwen.smartman.modules.system.entity.TopMenu; import com.qianwen.smartman.modules.system.entity.TopMenuSetting; import com.qianwen.smartman.modules.system.mapper.TopMenuMapper; import com.qianwen.smartman.modules.system.service.ITopMenuService; import com.qianwen.smartman.modules.system.service.ITopMenuSettingService; @Service public class TopMenuServiceImpl extends BaseServiceImpl implements ITopMenuService { private final ITopMenuSettingService topMenuSettingService; public TopMenuServiceImpl(final ITopMenuSettingService topMenuSettingService) { this.topMenuSettingService = topMenuSettingService; } @Override // org.springblade.modules.system.service.ITopMenuService @Transactional(rollbackFor = {Exception.class}) public boolean grant(@NotEmpty List topMenuIds, @NotEmpty List menuIds) { this.topMenuSettingService.remove(Wrappers.update().lambda().in(TopMenuSetting::getTopMenuId, topMenuIds)); /* this.topMenuSettingService.remove((Wrapper) Wrappers.update().lambda().in((v0) -> { return v0.getTopMenuId(); }, topMenuIds));*/ List menuSettings = new ArrayList<>(); topMenuIds.forEach(topMenuId -> { menuIds.forEach(menuId -> { TopMenuSetting menuSetting = new TopMenuSetting(); menuSetting.setTopMenuId(topMenuId); menuSetting.setMenuId(menuId); menuSettings.add(menuSetting); }); }); this.topMenuSettingService.saveBatch(menuSettings); return true; } }