【7.6.0】【sys】【menu】更新删除菜单的关联业务查询

pull/55/MERGE
fengshuonan 2023-06-15 10:43:57 +08:00
parent 3cec6fc5ef
commit bc69bfc121
4 changed files with 46 additions and 29 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);
}
/**
*
*

View File

@ -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);
}
/**
*
*