【7.6.0】【sys】更新角色绑定菜单的接口

pull/57/head
fengshuonan 2023-06-18 20:52:15 +08:00
parent 81141d9b64
commit 763d6f3e4a
3 changed files with 44 additions and 10 deletions

View File

@ -1,7 +1,7 @@
package cn.stylefeng.roses.kernel.sys.modular.role.mapper;
import cn.stylefeng.roses.kernel.db.mp.injector.CustomBaseMapper;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper
@ -9,6 +9,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author fengshuonan
* @date 2023/06/10 21:29
*/
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
public interface SysRoleMenuMapper extends CustomBaseMapper<SysRoleMenu> {
}

View File

@ -1,6 +1,7 @@
package cn.stylefeng.roses.kernel.sys.modular.role.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenu;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenu;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleMenuRequest;
import com.baomidou.mybatisplus.extension.service.IService;
@ -15,7 +16,7 @@ import java.util.List;
*/
public interface SysRoleMenuService extends IService<SysRoleMenu> {
/**
/**
*
*
* @param sysRoleMenuRequest
@ -24,7 +25,7 @@ public interface SysRoleMenuService extends IService<SysRoleMenu> {
*/
void add(SysRoleMenuRequest sysRoleMenuRequest);
/**
/**
*
*
* @param sysRoleMenuRequest
@ -33,7 +34,7 @@ public interface SysRoleMenuService extends IService<SysRoleMenu> {
*/
void del(SysRoleMenuRequest sysRoleMenuRequest);
/**
/**
*
*
* @param sysRoleMenuRequest
@ -42,7 +43,7 @@ public interface SysRoleMenuService extends IService<SysRoleMenu> {
*/
void edit(SysRoleMenuRequest sysRoleMenuRequest);
/**
/**
*
*
* @param sysRoleMenuRequest
@ -51,24 +52,32 @@ public interface SysRoleMenuService extends IService<SysRoleMenu> {
*/
SysRoleMenu detail(SysRoleMenuRequest sysRoleMenuRequest);
/**
/**
*
*
* @param sysRoleMenuRequest
* @param sysRoleMenuRequest
* @return List<SysRoleMenu>
* @author fengshuonan
* @date 2023/06/10 21:29
*/
List<SysRoleMenu> findList(SysRoleMenuRequest sysRoleMenuRequest);
/**
/**
*
*
* @param sysRoleMenuRequest
* @param sysRoleMenuRequest
* @return PageResult<SysRoleMenu>
* @author fengshuonan
* @date 2023/06/10 21:29
*/
PageResult<SysRoleMenu> findPage(SysRoleMenuRequest sysRoleMenuRequest);
/**
*
*
* @author fengshuonan
* @since 2023/6/18 20:46
*/
void bindRoleMenus(Long roleId, List<SysMenu> menuList);
}

View File

@ -8,6 +8,7 @@ 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.SysMenu;
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.SysMenuService;
@ -85,6 +86,30 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
return PageResultFactory.createPageResult(sysRolePage);
}
@Override
public void bindRoleMenus(Long roleId, List<SysMenu> menuList) {
if (ObjectUtil.isEmpty(roleId) || ObjectUtil.isEmpty(menuList)) {
return;
}
// 清空角色的相关角色菜单关联
LambdaQueryWrapper<SysRoleMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysRoleMenu::getRoleId, roleId);
this.remove(queryWrapper);
// 绑定角色菜单
ArrayList<SysRoleMenu> sysRoleMenus = new ArrayList<>();
for (SysMenu sysMenu : menuList) {
SysRoleMenu sysRoleMenu = new SysRoleMenu();
sysRoleMenu.setRoleId(roleId);
sysRoleMenu.setAppId(sysMenu.getAppId());
sysRoleMenu.setMenuId(sysMenu.getMenuId());
sysRoleMenus.add(sysRoleMenu);
}
this.getBaseMapper().insertBatchSomeColumn(sysRoleMenus);
}
@Override
public List<SysRoleMenu> findList(SysRoleMenuRequest sysRoleMenuRequest) {
LambdaQueryWrapper<SysRoleMenu> wrapper = this.createWrapper(sysRoleMenuRequest);