first commit
This commit is contained in:
@@ -0,0 +1,222 @@
|
||||
package com.metalloop.modules.auth.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.metalloop.common.core.lock.LockCondition;
|
||||
import com.metalloop.common.service.ISuperService;
|
||||
import com.metalloop.modules.auth.model.po.SysRolePermission;
|
||||
import com.metalloop.modules.auth.model.query.SysRolePermissionQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 角色-权限关联 Service
|
||||
*
|
||||
* @author yy
|
||||
* @since 2026-09-10
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public interface SysRolePermissionService extends ISuperService<SysRolePermission> {
|
||||
// region 自动生成代码区,后续手动添加的代码要放在这个区域之外
|
||||
|
||||
/**
|
||||
* 创建角色-权限关联
|
||||
*
|
||||
* @param sysRolePermission 角色-权限关联
|
||||
* @return 创建后的角色-权限关联
|
||||
*/
|
||||
SysRolePermission create(SysRolePermission sysRolePermission);
|
||||
|
||||
/**
|
||||
* 批量创建角色-权限关联
|
||||
*
|
||||
* @param sysRolePermissions 角色-权限关联列表
|
||||
* @return 是否创建成功
|
||||
*/
|
||||
Boolean batchCreate(List<SysRolePermission> sysRolePermissions);
|
||||
|
||||
/**
|
||||
* 获取全部角色-权限关联列表
|
||||
*
|
||||
* @return 全部角色-权限关联列表
|
||||
*/
|
||||
List<SysRolePermission> listAll();
|
||||
|
||||
/**
|
||||
* 批量更新角色-权限关联
|
||||
*
|
||||
* @param sysRolePermissions 角色-权限关联列表
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
Boolean batchUpdateById(List<SysRolePermission> sysRolePermissions);
|
||||
|
||||
/**
|
||||
* 通过ID删除角色-权限关联
|
||||
*
|
||||
* @param id 角色-权限关联ID
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除角色-权限关联
|
||||
*
|
||||
* @param ids 角色-权限关联ID列表
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean batchDelete(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 幂等性创建角色-权限关联
|
||||
*
|
||||
* @param entity 角色-权限关联
|
||||
* @param conditions 幂等性条件
|
||||
* @return 是否创建成功
|
||||
*/
|
||||
Boolean createIdempotency(SysRolePermission entity, LockCondition<SysRolePermission>... conditions);
|
||||
|
||||
/**
|
||||
* 通过ID幂等性更新角色-权限关联
|
||||
*
|
||||
* @param entity 角色-权限关联
|
||||
* @param conditions 幂等性条件
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
Boolean updateByIdIdempotency(SysRolePermission entity, LockCondition<SysRolePermission>... conditions);
|
||||
|
||||
/**
|
||||
* 创建或更新角色-权限关联(幂等性)
|
||||
*
|
||||
* @param entity 角色-权限关联
|
||||
* @param conditions 幂等性条件
|
||||
* @return 是否创建或更新成功
|
||||
*/
|
||||
Boolean saveOrUpdateIdempotency(SysRolePermission entity, LockCondition<SysRolePermission>... conditions);
|
||||
|
||||
/**
|
||||
* 通过查询条件进行分页获取角色-权限关联
|
||||
*
|
||||
* @param current 当前页数
|
||||
* @param size 每页记录数量
|
||||
* @param query 查询条件
|
||||
* @return 角色-权限关联分页
|
||||
*/
|
||||
Page<SysRolePermission> pageByQuery(long current, long size, SysRolePermissionQuery query);
|
||||
|
||||
/**
|
||||
* 分页获取全部角色-权限关联
|
||||
*
|
||||
* @param current 当前页数
|
||||
* @param size 每页记录数量
|
||||
* @return 全部角色-权限关联分页
|
||||
*/
|
||||
Page<SysRolePermission> pageAll(long current, long size);
|
||||
|
||||
/**
|
||||
* 获取ID和角色-权限关联的映射
|
||||
*
|
||||
* @return ID和角色-权限关联的映射
|
||||
*/
|
||||
Map<String, SysRolePermission> getIdMap();
|
||||
|
||||
/**
|
||||
* 获取指定ID集合的ID和角色-权限关联的映射
|
||||
*
|
||||
* @param ids 角色-权限关联ID列表
|
||||
* @return ID和角色-权限关联的映射
|
||||
*/
|
||||
Map<String, SysRolePermission> getIdMapByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 获取ID和角色-权限关联 列表的分组
|
||||
*
|
||||
* @return ID和角色-权限关联 列表的分组
|
||||
*/
|
||||
Map<String, List<SysRolePermission>> getIdGroup();
|
||||
|
||||
/**
|
||||
* 获取指定ID集合的ID和角色-权限关联 列表的分组
|
||||
*
|
||||
* @param ids 角色-权限关联ID列表
|
||||
* @return ID和角色-权限关联 列表的分组
|
||||
*/
|
||||
Map<String, List<SysRolePermission>> getIdGroupByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 获取全部角色-权限关联数量
|
||||
*
|
||||
* @return 全部角色-权限关联数量
|
||||
*/
|
||||
Long countAll();
|
||||
|
||||
// region 此区域的方法主要用作示例,禁止滥用,因为Query对象大而全,调用者会很迷惑,必须封装为更具体的参数及签名的方法,如getByCodeAndType(String code, Integer type)。
|
||||
// 除非:确实需要3个及以上参数,方可合并为Query,如SysRolePermissionQuery
|
||||
|
||||
/**
|
||||
* 通过查询条件修改角色-权限关联
|
||||
*
|
||||
* @param entity 角色-权限关联
|
||||
* @param query 查询条件
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByQuery(SysRolePermission entity, SysRolePermissionQuery query);
|
||||
|
||||
/**
|
||||
* 通过查询条件删除角色-权限关联
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean removeByQuery(SysRolePermissionQuery query);
|
||||
|
||||
/**
|
||||
* 通过查询条件获取角色-权限关联
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return 角色-权限关联
|
||||
*/
|
||||
SysRolePermission getByQuery(SysRolePermissionQuery query);
|
||||
|
||||
/**
|
||||
* 通过查询条件获取角色-权限关联列表
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return 角色-权限关联列表
|
||||
*/
|
||||
List<SysRolePermission> listByQuery(SysRolePermissionQuery query);
|
||||
|
||||
/**
|
||||
* 通过查询条件获取ID和角色-权限关联的映射
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return ID和角色-权限关联的映射
|
||||
*/
|
||||
Map<Long, SysRolePermission> getIdMapByQuery(SysRolePermissionQuery query);
|
||||
|
||||
/**
|
||||
* 通过查询条件获取分组的角色-权限关联
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return 角色-权限关联分组
|
||||
*/
|
||||
Map<Long, List<SysRolePermission>> getIdGroupByQuery(SysRolePermissionQuery query);
|
||||
|
||||
/**
|
||||
* 通过查询条件获取角色-权限关联数量
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return 角色-权限关联数量
|
||||
*/
|
||||
Long countByQuery(SysRolePermissionQuery query);
|
||||
|
||||
/**
|
||||
* 检查是否存在符合查询条件的角色-权限关联
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return 是否存在
|
||||
*/
|
||||
Boolean existsByQuery(SysRolePermissionQuery query);
|
||||
// endregion
|
||||
|
||||
// endregion 自动生成代码区,后续手动添加的代码要放在这个区域之外
|
||||
}
|
||||
Reference in New Issue
Block a user