|
|
@@ -5,10 +5,13 @@ import cn.tr.module.sys.mapper.tenant.SysTenantPackageMenuMapper;
|
|
|
import cn.tr.module.sys.tenant.dto.SysTenantPackageDTO;
|
|
|
import cn.tr.module.sys.tenant.dto.SysTenantPackageMenuDTO;
|
|
|
import cn.tr.module.sys.tenant.po.SysTenantPackageMenuPO;
|
|
|
-import cn.tr.module.sys.tenant.po.SysTenantPackagePO;
|
|
|
import cn.tr.module.sys.tenant.repository.SysTenantPackageMenuRepository;
|
|
|
import cn.tr.module.sys.tenant.service.ISysTenantPackageMenuService;
|
|
|
import cn.tr.module.sys.tenant.service.ISysTenantPackageService;
|
|
|
+import cn.tr.module.sys.user.dto.SysMenuDTO;
|
|
|
+import cn.tr.module.sys.user.dto.SysRoleDTO;
|
|
|
+import cn.tr.module.sys.user.service.ISysMenuService;
|
|
|
+import cn.tr.module.sys.user.service.ISysRoleService;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -33,10 +36,19 @@ public class SysTenantPackageMenuServiceImpl extends ServiceImpl<SysTenantPacka
|
|
|
@Autowired
|
|
|
@Lazy
|
|
|
private ISysTenantPackageMenuService self;
|
|
|
+ @Autowired
|
|
|
+ @Lazy
|
|
|
+ private ISysRoleService roleService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ @Lazy
|
|
|
+ private ISysMenuService menuService;
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void assignPackageMenu(List<SysTenantPackageMenuDTO> source) {
|
|
|
List<SysTenantPackageMenuPO> packageMenus = SysTenantPackageMenuMapper.INSTANCE.toPOList(source);
|
|
|
+ Collection<SysRoleDTO> sysRoles = roleService.findAllSysRoles();
|
|
|
Map<String, List<SysTenantPackageMenuPO>> groupByPackageIdMap = packageMenus
|
|
|
.stream()
|
|
|
.collect(Collectors.groupingBy(SysTenantPackageMenuPO::getPackageId));
|
|
|
@@ -46,6 +58,8 @@ public class SysTenantPackageMenuServiceImpl extends ServiceImpl<SysTenantPacka
|
|
|
);
|
|
|
self.delCacheMenuIdByPackageId(packageId);
|
|
|
});
|
|
|
+ //todo
|
|
|
+ sysRoles.forEach(role->menuService.delRoleMenusCache(role.getId()));
|
|
|
this.saveBatch(packageMenus);
|
|
|
}
|
|
|
|
|
|
@@ -69,10 +83,20 @@ public class SysTenantPackageMenuServiceImpl extends ServiceImpl<SysTenantPacka
|
|
|
|
|
|
@Override
|
|
|
public Set<String> findMenuIdByPackageId(String packageId) {
|
|
|
+ Set<String> menuIds = this.list(new LambdaQueryWrapper<SysTenantPackageMenuPO>().eq(SysTenantPackageMenuPO::getPackageId, packageId))
|
|
|
+ .stream()
|
|
|
+ .map(SysTenantPackageMenuPO::getMenuId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
SysTenantPackageDTO packageDTO = tenantPackageService.selectSysTenantPackageById(packageId);
|
|
|
- if(StrUtil.equals(packageDTO.getType(),"sys")){
|
|
|
+ if(packageDTO!=null&&StrUtil.equals(packageDTO.getType(),"sys")){
|
|
|
//所有目录id
|
|
|
-
|
|
|
+ menuIds.addAll(
|
|
|
+ menuService.findAllMenu()
|
|
|
+ .stream()
|
|
|
+ .filter(Objects::nonNull)
|
|
|
+ .map(SysMenuDTO::getId)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
}
|
|
|
return this.list(new LambdaQueryWrapper<SysTenantPackageMenuPO>().eq(SysTenantPackageMenuPO::getPackageId, packageId))
|
|
|
.stream()
|