|
@@ -5,6 +5,7 @@ import cn.hutool.core.lang.Assert;
|
|
|
import cn.hutool.core.lang.Snowflake;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import edu.travel.remote.feign.mode.dto.tenant.AddMenuDto;
|
|
|
import edu.travel.remote.feign.mode.vo.tenant.AddMenuVo;
|
|
|
import edu.travel.remote.feign.mode.vo.tenant.MenuTreeVo;
|
|
@@ -14,6 +15,7 @@ import edu.travel.service.SysServiceImpl;
|
|
|
import edu.travel.tenant.entity.*;
|
|
|
import edu.travel.tenant.mapper.SysMenuMapper;
|
|
|
import edu.travel.tenant.service.*;
|
|
|
+import org.checkerframework.checker.units.qual.A;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.core.context.SecurityContextHolder;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -53,7 +55,7 @@ public class ISysMenuServiceImpl extends SysServiceImpl<SysMenuMapper, SysMenu>
|
|
|
addMenuDto.getSysMenu().setId(new Snowflake(1, 1).nextId());
|
|
|
super.save(BeanUtil.copyProperties(addMenuDto.getSysMenu(),SysMenu.class));
|
|
|
SysMenuExtraData sysMenuExtraData;
|
|
|
- if (ObjectUtil.isNotEmpty(addMenuDto.getSysMenuExtraData())){
|
|
|
+ if (ObjectUtil.isEmpty(addMenuDto.getSysMenuExtraData())){
|
|
|
sysMenuExtraData = new SysMenuExtraData();
|
|
|
}else {
|
|
|
sysMenuExtraData = BeanUtil.copyProperties(addMenuDto.getSysMenuExtraData(), SysMenuExtraData.class);
|
|
@@ -97,14 +99,15 @@ public class ISysMenuServiceImpl extends SysServiceImpl<SysMenuMapper, SysMenu>
|
|
|
public void updateMenuById(AddMenuDto updateMenuDto) {
|
|
|
Assert.isTrue(ObjectUtil.isNotEmpty(updateMenuDto),"参数不能为空");
|
|
|
Assert.isTrue(ObjectUtil.isNotEmpty(updateMenuDto.getSysMenu().getId()),"id不能为空");
|
|
|
- Assert.isTrue(ObjectUtil.isNotEmpty(updateMenuDto.getSysMenuExtraData().getId()),"id不能为空");
|
|
|
+ Assert.isTrue(ObjectUtil.isNotEmpty(updateMenuDto.getSysMenuExtraData().getMenuId()),"menuid不能为空");
|
|
|
Assert.isTrue(ObjectUtil.isNotEmpty(updateMenuDto.getSysMenu().getPath()),"页面路由不能为空");
|
|
|
Assert.isTrue(ObjectUtil.isNotEmpty(updateMenuDto.getSysMenu().getComponent()),"组件路径不能为空");
|
|
|
- SysMenuExtraData extraData = sysMenuExtraDataService.getById(updateMenuDto.getSysMenuExtraData().getId());
|
|
|
- Assert.isTrue(Objects.equals(extraData.getId(), updateMenuDto.getSysMenuExtraData().getId()),"该附加信息与菜单不匹配");
|
|
|
+ SysMenuExtraData extraData = sysMenuExtraDataService.getOne(new LambdaQueryWrapper<SysMenuExtraData>().eq(SysMenuExtraData::getMenuId, updateMenuDto.getSysMenuExtraData().getMenuId()));
|
|
|
+ Assert.isTrue(Objects.equals(extraData.getMenuId(), updateMenuDto.getSysMenuExtraData().getMenuId()),"该附加信息与菜单不匹配");
|
|
|
//保存菜单
|
|
|
super.updateById(BeanUtil.copyProperties(updateMenuDto.getSysMenu(),SysMenu.class));
|
|
|
- sysMenuExtraDataService.updateById(BeanUtil.copyProperties(updateMenuDto.getSysMenuExtraData(), SysMenuExtraData.class));
|
|
|
+ sysMenuExtraDataService.update(
|
|
|
+ BeanUtil.copyProperties(updateMenuDto.getSysMenuExtraData(), SysMenuExtraData.class),new LambdaQueryWrapper<SysMenuExtraData>().eq(SysMenuExtraData::getMenuId, updateMenuDto.getSysMenuExtraData().getMenuId()));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -152,7 +155,7 @@ public class ISysMenuServiceImpl extends SysServiceImpl<SysMenuMapper, SysMenu>
|
|
|
|
|
|
// 给菜单附加额外数据
|
|
|
menuExtraDataList.forEach(extraData -> {
|
|
|
- MenuTreeVo menuTreeVo = menuMap.get(extraData.getMenuId());
|
|
|
+ MenuTreeVo menuTreeVo = menuMap.get(Long.parseLong(extraData.getMenuId()));
|
|
|
if (menuTreeVo != null) {
|
|
|
menuTreeVo.setExtraData(extraData);
|
|
|
}
|
|
@@ -182,4 +185,28 @@ public class ISysMenuServiceImpl extends SysServiceImpl<SysMenuMapper, SysMenu>
|
|
|
return treeList;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void enableMenuByIds(HashSet<Long> longs) {
|
|
|
+ Assert.isTrue(ObjectUtil.isNotEmpty(longs),"请选择想要删除的菜单");
|
|
|
+ List<SysMenu> list = this.list(new LambdaQueryWrapper<SysMenu>().in(SysMenu::getId,longs));
|
|
|
+ Assert.isFalse(list == null || list.size() != list.size(), "包含不存在的菜单");
|
|
|
+ list.forEach(sysMenu -> {
|
|
|
+ Assert.isFalse(sysMenu.getDeleteFlag() == 0,"包含已删除的菜单");
|
|
|
+ Assert.isFalse(sysMenu.getStatus() == 1,"包含已经启用的菜单");
|
|
|
+ });
|
|
|
+ this.update(new LambdaUpdateWrapper<SysMenu>().set(SysMenu::getStatus,1).in(SysMenu::getId,list));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void disableMenuByIds(HashSet<Long> longs) {
|
|
|
+ Assert.isTrue(ObjectUtil.isNotEmpty(longs),"请选择想要删除的菜单");
|
|
|
+ List<SysMenu> list = this.list(new LambdaQueryWrapper<SysMenu>().in(SysMenu::getId,longs));
|
|
|
+ Assert.isFalse(list == null || list.size() != list.size(), "包含不存在的菜单");
|
|
|
+ list.forEach(sysMenu -> {
|
|
|
+ Assert.isFalse(sysMenu.getDeleteFlag() == 0,"包含已删除的菜单");
|
|
|
+ Assert.isFalse(sysMenu.getStatus() == 0,"包含已经禁用的菜单");
|
|
|
+ });
|
|
|
+ this.update(new LambdaUpdateWrapper<SysMenu>().set(SysMenu::getStatus,0).in(SysMenu::getId,list));
|
|
|
+ }
|
|
|
+
|
|
|
}
|