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

pull/57/head
fengshuonan 2023-06-18 21:06:24 +08:00
parent 763d6f3e4a
commit fe01b54c2b
3 changed files with 40 additions and 3 deletions

View File

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

View File

@ -1,6 +1,7 @@
package cn.stylefeng.roses.kernel.sys.modular.role.service; package cn.stylefeng.roses.kernel.sys.modular.role.service;
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.sys.modular.menu.entity.SysMenuOptions;
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions; import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions;
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleMenuOptionsRequest; import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.SysRoleMenuOptionsRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -79,4 +80,12 @@ public interface SysRoleMenuOptionsService extends IService<SysRoleMenuOptions>
*/ */
void removeRoleBindOptions(Long optionsId); void removeRoleBindOptions(Long optionsId);
/**
*
*
* @author fengshuonan
* @since 2023/6/18 20:52
*/
void bindRoleMenuOptions(Long roleId, List<SysMenuOptions> sysMenuOptionsList);
} }

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.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi; 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.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;
import cn.stylefeng.roses.kernel.sys.modular.role.enums.PermissionNodeTypeEnum; import cn.stylefeng.roses.kernel.sys.modular.role.enums.PermissionNodeTypeEnum;
@ -23,6 +24,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -33,7 +35,8 @@ import java.util.Set;
* @date 2023/06/10 21:29 * @date 2023/06/10 21:29
*/ */
@Service @Service
public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOptionsMapper, SysRoleMenuOptions> implements SysRoleMenuOptionsService, RemoveRoleCallbackApi, RoleAssignOperateAction, RemoveMenuCallbackApi { public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOptionsMapper, SysRoleMenuOptions> implements
SysRoleMenuOptionsService, RemoveRoleCallbackApi, RoleAssignOperateAction, RemoveMenuCallbackApi {
@Override @Override
public void add(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) { public void add(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) {
@ -74,6 +77,31 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOption
this.remove(sysRoleMenuOptionsLambdaQueryWrapper); this.remove(sysRoleMenuOptionsLambdaQueryWrapper);
} }
@Override
public void bindRoleMenuOptions(Long roleId, List<SysMenuOptions> sysMenuOptionsList) {
if (ObjectUtil.isEmpty(roleId) || ObjectUtil.isEmpty(sysMenuOptionsList)) {
return;
}
// 清空角色绑定的菜单功能
LambdaQueryWrapper<SysRoleMenuOptions> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysRoleMenuOptions::getRoleId, roleId);
this.remove(queryWrapper);
// 绑定角色的菜单功能
ArrayList<SysRoleMenuOptions> sysRoleMenuOptionList = new ArrayList<>();
for (SysMenuOptions sysMenuOptions : sysMenuOptionsList) {
SysRoleMenuOptions roleMenuOptionItem = new SysRoleMenuOptions();
roleMenuOptionItem.setRoleId(roleId);
roleMenuOptionItem.setMenuOptionId(sysMenuOptions.getMenuOptionId());
roleMenuOptionItem.setMenuId(sysMenuOptions.getMenuId());
roleMenuOptionItem.setAppId(sysMenuOptions.getAppId());
sysRoleMenuOptionList.add(roleMenuOptionItem);
}
this.getBaseMapper().insertBatchSomeColumn(sysRoleMenuOptionList);
}
@Override @Override
public List<SysRoleMenuOptions> findList(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) { public List<SysRoleMenuOptions> findList(SysRoleMenuOptionsRequest sysRoleMenuOptionsRequest) {
LambdaQueryWrapper<SysRoleMenuOptions> wrapper = this.createWrapper(sysRoleMenuOptionsRequest); LambdaQueryWrapper<SysRoleMenuOptions> wrapper = this.createWrapper(sysRoleMenuOptionsRequest);