mirror of https://gitee.com/stylefeng/roses
【7.6.0】【sys】【menu】更新删除菜单的关联业务查询
parent
3cec6fc5ef
commit
bc69bfc121
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
|||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenuOptions;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.enums.SysMenuOptionsExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.mapper.SysMenuOptionsMapper;
|
||||
|
@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 菜单下的功能操作业务实现层
|
||||
|
@ -25,9 +27,10 @@ import java.util.List;
|
|||
* @date 2023/06/10 21:28
|
||||
*/
|
||||
@Service
|
||||
public class SysMenuOptionsServiceImpl extends ServiceImpl<SysMenuOptionsMapper, SysMenuOptions> implements SysMenuOptionsService {
|
||||
public class SysMenuOptionsServiceImpl extends ServiceImpl<SysMenuOptionsMapper, SysMenuOptions> implements SysMenuOptionsService,
|
||||
RemoveMenuCallbackApi {
|
||||
|
||||
@Override
|
||||
@Override
|
||||
public void add(SysMenuOptionsRequest sysMenuOptionsRequest) {
|
||||
SysMenuOptions sysMenuOptions = new SysMenuOptions();
|
||||
BeanUtil.copyProperties(sysMenuOptionsRequest, sysMenuOptions);
|
||||
|
@ -65,6 +68,13 @@ public class SysMenuOptionsServiceImpl extends ServiceImpl<SysMenuOptionsMapper,
|
|||
return this.list(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMenuAction(Set<Long> beRemovedMenuIdList) {
|
||||
LambdaQueryWrapper<SysMenuOptions> menuOptionsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
menuOptionsLambdaQueryWrapper.in(SysMenuOptions::getMenuId, beRemovedMenuIdList);
|
||||
this.remove(menuOptionsLambdaQueryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取信息
|
||||
*
|
||||
|
@ -88,17 +98,9 @@ public class SysMenuOptionsServiceImpl extends ServiceImpl<SysMenuOptionsMapper,
|
|||
private LambdaQueryWrapper<SysMenuOptions> createWrapper(SysMenuOptionsRequest sysMenuOptionsRequest) {
|
||||
LambdaQueryWrapper<SysMenuOptions> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
Long menuOptionId = sysMenuOptionsRequest.getMenuOptionId();
|
||||
// 根据菜单id查询
|
||||
Long menuId = sysMenuOptionsRequest.getMenuId();
|
||||
String optionName = sysMenuOptionsRequest.getOptionName();
|
||||
String optionCode = sysMenuOptionsRequest.getOptionCode();
|
||||
Long tenantId = sysMenuOptionsRequest.getTenantId();
|
||||
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(menuOptionId), SysMenuOptions::getMenuOptionId, menuOptionId);
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(menuId), SysMenuOptions::getMenuId, menuId);
|
||||
queryWrapper.like(ObjectUtil.isNotEmpty(optionName), SysMenuOptions::getOptionName, optionName);
|
||||
queryWrapper.like(ObjectUtil.isNotEmpty(optionCode), SysMenuOptions::getOptionCode, optionCode);
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(tenantId), SysMenuOptions::getTenantId, tenantId);
|
||||
|
||||
return queryWrapper;
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
|||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenuResource;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.enums.SysMenuResourceExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.mapper.SysMenuResourceMapper;
|
||||
|
@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 菜单资源绑定业务实现层
|
||||
|
@ -25,9 +27,10 @@ import java.util.List;
|
|||
* @date 2023/06/10 21:28
|
||||
*/
|
||||
@Service
|
||||
public class SysMenuResourceServiceImpl extends ServiceImpl<SysMenuResourceMapper, SysMenuResource> implements SysMenuResourceService {
|
||||
public class SysMenuResourceServiceImpl extends ServiceImpl<SysMenuResourceMapper, SysMenuResource> implements SysMenuResourceService,
|
||||
RemoveMenuCallbackApi {
|
||||
|
||||
@Override
|
||||
@Override
|
||||
public void add(SysMenuResourceRequest sysMenuResourceRequest) {
|
||||
SysMenuResource sysMenuResource = new SysMenuResource();
|
||||
BeanUtil.copyProperties(sysMenuResourceRequest, sysMenuResource);
|
||||
|
@ -65,6 +68,13 @@ public class SysMenuResourceServiceImpl extends ServiceImpl<SysMenuResourceMappe
|
|||
return this.list(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMenuAction(Set<Long> beRemovedMenuIdList) {
|
||||
LambdaQueryWrapper<SysMenuResource> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysMenuResource::getBusinessId, beRemovedMenuIdList);
|
||||
this.remove(queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取信息
|
||||
*
|
||||
|
@ -87,19 +97,6 @@ public class SysMenuResourceServiceImpl extends ServiceImpl<SysMenuResourceMappe
|
|||
*/
|
||||
private LambdaQueryWrapper<SysMenuResource> createWrapper(SysMenuResourceRequest sysMenuResourceRequest) {
|
||||
LambdaQueryWrapper<SysMenuResource> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
Long menuResourceId = sysMenuResourceRequest.getMenuResourceId();
|
||||
Integer businessType = sysMenuResourceRequest.getBusinessType();
|
||||
Long businessId = sysMenuResourceRequest.getBusinessId();
|
||||
String resourceCode = sysMenuResourceRequest.getResourceCode();
|
||||
Long tenantId = sysMenuResourceRequest.getTenantId();
|
||||
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(menuResourceId), SysMenuResource::getMenuResourceId, menuResourceId);
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(businessType), SysMenuResource::getBusinessType, businessType);
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(businessId), SysMenuResource::getBusinessId, businessId);
|
||||
queryWrapper.like(ObjectUtil.isNotEmpty(resourceCode), SysMenuResource::getResourceCode, resourceCode);
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(tenantId), SysMenuResource::getTenantId, tenantId);
|
||||
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
|||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi;
|
||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleAssignOperateAction;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions;
|
||||
|
@ -33,7 +34,7 @@ import java.util.Set;
|
|||
*/
|
||||
@Service
|
||||
public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOptionsMapper, SysRoleMenuOptions> implements
|
||||
SysRoleMenuOptionsService, RemoveRoleCallbackApi, RoleAssignOperateAction {
|
||||
SysRoleMenuOptionsService, RemoveRoleCallbackApi, RoleAssignOperateAction, RemoveMenuCallbackApi {
|
||||
|
||||
@Override
|
||||
public void add(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) {
|
||||
|
@ -111,6 +112,13 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOption
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMenuAction(Set<Long> beRemovedMenuIdList) {
|
||||
LambdaQueryWrapper<SysRoleMenuOptions> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysRoleMenuOptions::getMenuId, beRemovedMenuIdList);
|
||||
this.remove(queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取信息
|
||||
*
|
||||
|
|
|
@ -6,6 +6,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
|||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi;
|
||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenuOptions;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuOptionsService;
|
||||
|
@ -40,7 +41,8 @@ import java.util.stream.Collectors;
|
|||
* @date 2023/06/10 21:29
|
||||
*/
|
||||
@Service
|
||||
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService, RemoveRoleCallbackApi, RoleAssignOperateAction {
|
||||
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService,
|
||||
RemoveRoleCallbackApi, RoleAssignOperateAction, RemoveMenuCallbackApi {
|
||||
|
||||
@Resource
|
||||
private SysMenuOptionsService sysMenuOptionsService;
|
||||
|
@ -128,7 +130,8 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
|
|||
// 3. 先删除已经绑定的所有角色和功能的绑定
|
||||
LambdaQueryWrapper<SysRoleMenuOptions> roleMenuOptionsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
roleMenuOptionsLambdaQueryWrapper.eq(SysRoleMenuOptions::getRoleId, roleId);
|
||||
roleMenuOptionsLambdaQueryWrapper.in(SysRoleMenuOptions::getMenuOptionId, totalMenuOptions.stream().map(SysMenuOptions::getMenuOptionId).collect(Collectors.toSet()));
|
||||
roleMenuOptionsLambdaQueryWrapper.in(SysRoleMenuOptions::getMenuOptionId,
|
||||
totalMenuOptions.stream().map(SysMenuOptions::getMenuOptionId).collect(Collectors.toSet()));
|
||||
sysRoleMenuOptionsService.remove(roleMenuOptionsLambdaQueryWrapper);
|
||||
|
||||
// 4. 如果是选中状态,则从新进行这些角色和功能的绑定
|
||||
|
@ -149,6 +152,13 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
|
|||
return PermissionAssignResultFactory.createRoleBindMenuResult(totalMenuOptions, roleBindPermissionRequest.getChecked());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMenuAction(Set<Long> beRemovedMenuIdList) {
|
||||
LambdaQueryWrapper<SysRoleMenu> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysRoleMenu::getMenuId, beRemovedMenuIdList);
|
||||
this.remove(queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取信息
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue