You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.6 KiB
73 lines
2.6 KiB
/** |
|
* BladeX Commercial License Agreement |
|
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. |
|
* <p> |
|
* Use of this software is governed by the Commercial License Agreement |
|
* obtained after purchasing a license from BladeX. |
|
* <p> |
|
* 1. This software is for development use only under a valid license |
|
* from BladeX. |
|
* <p> |
|
* 2. Redistribution of this software's source code to any third party |
|
* without a commercial license is strictly prohibited. |
|
* <p> |
|
* 3. Licensees may copyright their own code but cannot use segments |
|
* from this software for such purposes. Copyright of this software |
|
* remains with BladeX. |
|
* <p> |
|
* Using this software signifies agreement to this License, and the software |
|
* must not be used for illegal purposes. |
|
* <p> |
|
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is |
|
* not liable for any claims arising from secondary or illegal development. |
|
* <p> |
|
* Author: Chill Zhuang (bladejava@qq.com) |
|
*/ |
|
package com.nov.KgLowDurable.service.Impl; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
import com.nov.KgLowDurable.annotation.NotEmpty; |
|
import com.nov.KgLowDurable.mapper.TopMenuMapper; |
|
import com.nov.KgLowDurable.pojo.entity.TopMenu; |
|
import com.nov.KgLowDurable.pojo.entity.TopMenuSetting; |
|
import com.nov.KgLowDurable.service.ITopMenuService; |
|
import com.nov.KgLowDurable.service.ITopMenuSettingService; |
|
import lombok.AllArgsConstructor; |
|
|
|
import org.springframework.stereotype.Service; |
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import java.util.ArrayList; |
|
import java.util.List; |
|
|
|
/** |
|
* 顶部菜单表 服务实现类 |
|
* |
|
* @author BladeX |
|
*/ |
|
//@Master |
|
@Service |
|
@AllArgsConstructor |
|
public class TopMenuServiceImpl extends ServiceImpl<TopMenuMapper, TopMenu> implements ITopMenuService { |
|
|
|
private final ITopMenuSettingService topMenuSettingService; |
|
|
|
@Override |
|
@Transactional(rollbackFor = Exception.class) |
|
public boolean grant(@NotEmpty List<Long> topMenuIds, @NotEmpty List<Long> menuIds) { |
|
// 删除顶部菜单配置的菜单集合 |
|
topMenuSettingService.remove(Wrappers.<TopMenuSetting>update().lambda().in(TopMenuSetting::getTopMenuId, topMenuIds)); |
|
// 组装配置 |
|
List<TopMenuSetting> menuSettings = new ArrayList<>(); |
|
topMenuIds.forEach(topMenuId -> menuIds.forEach(menuId -> { |
|
TopMenuSetting menuSetting = new TopMenuSetting(); |
|
menuSetting.setTopMenuId(topMenuId); |
|
menuSetting.setMenuId(menuId); |
|
menuSettings.add(menuSetting); |
|
})); |
|
// 新增配置 |
|
topMenuSettingService.saveBatch(menuSettings); |
|
return true; |
|
} |
|
}
|
|
|