【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.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; 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.entity.SysMenuOptions;
import cn.stylefeng.roses.kernel.sys.modular.menu.enums.SysMenuOptionsExceptionEnum; import cn.stylefeng.roses.kernel.sys.modular.menu.enums.SysMenuOptionsExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.menu.mapper.SysMenuOptionsMapper; 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 org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* *
@ -25,9 +27,10 @@ import java.util.List;
* @date 2023/06/10 21:28 * @date 2023/06/10 21:28
*/ */
@Service @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) { public void add(SysMenuOptionsRequest sysMenuOptionsRequest) {
SysMenuOptions sysMenuOptions = new SysMenuOptions(); SysMenuOptions sysMenuOptions = new SysMenuOptions();
BeanUtil.copyProperties(sysMenuOptionsRequest, sysMenuOptions); BeanUtil.copyProperties(sysMenuOptionsRequest, sysMenuOptions);
@ -65,6 +68,13 @@ public class SysMenuOptionsServiceImpl extends ServiceImpl<SysMenuOptionsMapper,
return this.list(wrapper); 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) { private LambdaQueryWrapper<SysMenuOptions> createWrapper(SysMenuOptionsRequest sysMenuOptionsRequest) {
LambdaQueryWrapper<SysMenuOptions> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysMenuOptions> queryWrapper = new LambdaQueryWrapper<>();
Long menuOptionId = sysMenuOptionsRequest.getMenuOptionId(); // 根据菜单id查询
Long menuId = sysMenuOptionsRequest.getMenuId(); 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.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; 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.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; 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.entity.SysMenuResource;
import cn.stylefeng.roses.kernel.sys.modular.menu.enums.SysMenuResourceExceptionEnum; import cn.stylefeng.roses.kernel.sys.modular.menu.enums.SysMenuResourceExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.menu.mapper.SysMenuResourceMapper; 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 org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* *
@ -25,9 +27,10 @@ import java.util.List;
* @date 2023/06/10 21:28 * @date 2023/06/10 21:28
*/ */
@Service @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) { public void add(SysMenuResourceRequest sysMenuResourceRequest) {
SysMenuResource sysMenuResource = new SysMenuResource(); SysMenuResource sysMenuResource = new SysMenuResource();
BeanUtil.copyProperties(sysMenuResourceRequest, sysMenuResource); BeanUtil.copyProperties(sysMenuResourceRequest, sysMenuResource);
@ -65,6 +68,13 @@ public class SysMenuResourceServiceImpl extends ServiceImpl<SysMenuResourceMappe
return this.list(wrapper); 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) { private LambdaQueryWrapper<SysMenuResource> createWrapper(SysMenuResourceRequest sysMenuResourceRequest) {
LambdaQueryWrapper<SysMenuResource> queryWrapper = new LambdaQueryWrapper<>(); 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; 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.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; 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.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleAssignOperateAction; import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleAssignOperateAction;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions; import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions;
@ -33,7 +34,7 @@ import java.util.Set;
*/ */
@Service @Service
public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOptionsMapper, SysRoleMenuOptions> implements public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOptionsMapper, SysRoleMenuOptions> implements
SysRoleMenuOptionsService, RemoveRoleCallbackApi, RoleAssignOperateAction { SysRoleMenuOptionsService, RemoveRoleCallbackApi, RoleAssignOperateAction, RemoveMenuCallbackApi {
@Override @Override
public void add(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) { public void add(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) {
@ -111,6 +112,13 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOption
return null; 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.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; 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.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenuOptions; import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenuOptions;
import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuOptionsService; 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 * @date 2023/06/10 21:29
*/ */
@Service @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 @Resource
private SysMenuOptionsService sysMenuOptionsService; private SysMenuOptionsService sysMenuOptionsService;
@ -128,7 +130,8 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
// 3. 先删除已经绑定的所有角色和功能的绑定 // 3. 先删除已经绑定的所有角色和功能的绑定
LambdaQueryWrapper<SysRoleMenuOptions> roleMenuOptionsLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysRoleMenuOptions> roleMenuOptionsLambdaQueryWrapper = new LambdaQueryWrapper<>();
roleMenuOptionsLambdaQueryWrapper.eq(SysRoleMenuOptions::getRoleId, roleId); 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); sysRoleMenuOptionsService.remove(roleMenuOptionsLambdaQueryWrapper);
// 4. 如果是选中状态,则从新进行这些角色和功能的绑定 // 4. 如果是选中状态,则从新进行这些角色和功能的绑定
@ -149,6 +152,13 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
return PermissionAssignResultFactory.createRoleBindMenuResult(totalMenuOptions, roleBindPermissionRequest.getChecked()); 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);
}
/** /**
* *
* *