public interface RoleDao extends io.geewit.data.jpa.essential.repository.EntityGraphJpaRepository<Role,java.lang.Long>, io.geewit.data.jpa.essential.repository.EntityGraphJpaSpecificationExecutor<Role>, io.geewit.data.jpa.essential.repository.JpaBatchExecutor<Role>, RoleCustomizedDao
| 限定符和类型 | 方法和说明 |
|---|---|
void |
batchUpdateTenant(java.util.List<java.lang.Long> roleIds,
java.lang.Long tenantId) |
long |
countByTenantIdAndCode(long tenantId,
java.lang.String roleCode) |
long |
countByTenantIdAndName(long tenantId,
java.lang.String roleName) |
long |
countDifferentByTenantIdAndCode(long tenantId,
long currentId,
java.lang.String roleCode) |
long |
countDifferentByTenantIdAndName(long tenantId,
long currentId,
java.lang.String roleName) |
long |
countRoleByTenantIdAndIdAndType(long tenantId,
long roleId,
int type) |
void |
deleteById(java.lang.Long id) |
void |
deleteByTenantIdAndIds(long tenantId,
java.util.List<java.lang.Long> roleIds) |
void |
disableOrgRolesByGradingRoleId(java.lang.Long roleId) |
java.util.List<Role> |
findByListTenantIdAndCode(long tenantId,
java.lang.String roleCode) |
java.util.List<Role> |
findByListTenantIdAndName(java.lang.Long tenantId,
java.lang.String roleName) |
java.util.List<Role> |
findByName(java.lang.String name)
根据角色名称列表
|
java.util.List<Role> |
findByNameAndId(java.lang.String name,
java.lang.Long roleId)
根据ID查询角色名称,不等于当前ID
|
java.util.List<Role> |
findByTenantId(long tenantId) |
Role |
findByTenantIdAndCode(long tenantId,
java.lang.String roleCode) |
java.util.List<Role> |
findByTenantIdAndFromRoleId(long tenantId,
long fromRoleId) |
java.util.List<Role> |
findByTenantIdAndRoleCodes(long tenantId,
java.util.Collection<java.lang.String> roleCodes) |
java.lang.Long |
findIdByTenantIdAndCode(long tenantId,
java.lang.String roleCode) |
java.util.List<com.xforceplus.domain.tenant.OrgRoleCntDTO> |
getOrgRoleCntByGradingRoleIds(java.lang.Long tenantId,
java.util.Set<java.lang.Long> roleIds) |
java.util.List<com.xforceplus.domain.tenant.RoleUserCntDTO> |
getRoleUserCntByRoleIds(java.lang.Long tenantId,
java.util.Set<java.lang.Long> roleIds) |
int |
queryCountPreRoleByTenantIdAndRoleIdOrRoleCode(java.lang.Long tenantId,
java.lang.Long roleId,
java.lang.String roleCode,
int roleType)
查询预置角色 该租户是否可见
|
org.springframework.data.domain.Page<com.xforceplus.domain.tenant.PreRoleDTO> |
queryPreRoleByAdmin(java.lang.Integer roleType,
java.lang.Long appId,
java.lang.Long servicePageId,
java.lang.String roleName,
java.lang.String roleCode,
java.lang.Long roleId,
org.springframework.data.domain.Pageable pageable)
管理端根据service packageId 查询 预置角色
有效的服务包
有效的服务包-公司关系
有效的角色
|
org.springframework.data.domain.Page<com.xforceplus.domain.tenant.PreRoleDTO> |
queryPreRoleByTenantId(java.lang.Long tenantId,
java.lang.Long id,
java.lang.String roleName,
java.lang.String roleCode,
int roleType,
org.springframework.data.domain.Pageable pageable)
查询租户下可见的预置角色列表
|
java.util.List<java.lang.Long> |
queryUserPreRole(java.lang.Long tenantId,
java.lang.Boolean binded,
java.util.List<java.lang.Long> roleIds) |
int |
updateStatus(long roleId,
int status) |
int |
updateStatus(long tenantId,
long roleId,
int status) |
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, findAll, findAll, findAllById, flush, getById, getOne, saveAll, saveAllAndFlush, saveAndFlushcount, exists, findAll, findOnefindAll, findAllfindAll, findAllById, findByIdcount, delete, deleteAll, deleteAll, deleteAllById, existsById, findById, savefindAll, findAll, findAll, findOnecount, findAll, findAll, findAll, findOnefindAttributes, findAttributes, findRolesRelAccount, findRolesResourcesetRel, findTuples, findTuples@Transactional(rollbackFor=java.lang.Exception.class)
@Modifying(flushAutomatically=true,
clearAutomatically=true)
@Query(value="delete from Role r where r.id = :id")
void deleteById(@Param(value="id")
java.lang.Long id)
deleteById 在接口中 org.springframework.data.repository.CrudRepository<Role,java.lang.Long>@Query(value="select r from Role r where r.name = :name") java.util.List<Role> findByName(@Param(value="name") java.lang.String name)
name - 角色@Query(value="select r from Role r where r.name = :name and r.id<>:roleId") java.util.List<Role> findByNameAndId(@Param(value="name") java.lang.String name, @Param(value="roleId") java.lang.Long roleId)
name - 角色roleId - 角色@Query(value="select r from Role r where r.tenantId = :tenantId and r.code in (:roleCodes)") java.util.List<Role> findByTenantIdAndRoleCodes(@Param(value="tenantId") long tenantId, @Param(value="roleCodes") java.util.Collection<java.lang.String> roleCodes)
@Transactional(rollbackFor=java.lang.Exception.class)
@Modifying(flushAutomatically=true,
clearAutomatically=true)
@Query(value="update Role r set r.status = :status where r.id = :roleId and r.tenantId = :tenantId")
int updateStatus(@Param(value="tenantId")
long tenantId,
@Param(value="roleId")
long roleId,
@Param(value="status")
int status)
@Transactional(rollbackFor=java.lang.Exception.class)
@Modifying(flushAutomatically=true,
clearAutomatically=true)
@Query(value="update Role r set r.status = :status where r.id = :roleId")
int updateStatus(@Param(value="roleId")
long roleId,
@Param(value="status")
int status)
@Query(value="select r from Role r where r.tenantId = :tenantId and r.fromRoleId =:fromRoleId") java.util.List<Role> findByTenantIdAndFromRoleId(@Param(value="tenantId") long tenantId, @Param(value="fromRoleId") long fromRoleId)
@Query(value="select r.id from Role r where r.tenantId = :tenantId and r.code = :roleCode")
java.lang.Long findIdByTenantIdAndCode(@Param(value="tenantId")
long tenantId,
@Param(value="roleCode")
java.lang.String roleCode)
@Query(value="select r from Role r where r.tenantId = :tenantId and r.code = :roleCode") Role findByTenantIdAndCode(@Param(value="tenantId") long tenantId, @Param(value="roleCode") java.lang.String roleCode)
@Query(value="select r from Role r where r.tenantId = :tenantId and r.code = :roleCode") java.util.List<Role> findByListTenantIdAndCode(@Param(value="tenantId") long tenantId, @Param(value="roleCode") java.lang.String roleCode)
@Query(value="select count(*) from sys_role where tenant_id = :tenantId and role_code =:roleCode",
nativeQuery=true)
long countByTenantIdAndCode(@Param(value="tenantId")
long tenantId,
@Param(value="roleCode")
java.lang.String roleCode)
@Query(value="select count(*) from sys_role where tenant_id = :tenantId and role_name =:roleName",
nativeQuery=true)
long countByTenantIdAndName(@Param(value="tenantId")
long tenantId,
@Param(value="roleName")
java.lang.String roleName)
@Query(value="select count(*) from sys_role where tenant_id = :tenantId and role_code =:roleCode and role_id <> :currentId",
nativeQuery=true)
long countDifferentByTenantIdAndCode(@Param(value="tenantId")
long tenantId,
@Param(value="currentId")
long currentId,
@Param(value="roleCode")
java.lang.String roleCode)
@Query(value="select count(*) from sys_role where tenant_id = :tenantId and role_name =:roleName and role_id <> :currentId",
nativeQuery=true)
long countDifferentByTenantIdAndName(@Param(value="tenantId")
long tenantId,
@Param(value="currentId")
long currentId,
@Param(value="roleName")
java.lang.String roleName)
@Query(value="select r from Role r where r.tenantId = :tenantId") java.util.List<Role> findByTenantId(@Param(value="tenantId") long tenantId)
@Transactional(rollbackFor=java.lang.Exception.class)
@Modifying(flushAutomatically=true,
clearAutomatically=true)
@Query(value="update Role r set r.tenantId = :tenantId where r.id in (:roleIds)")
void batchUpdateTenant(@Param(value="roleIds")
java.util.List<java.lang.Long> roleIds,
@Param(value="tenantId")
java.lang.Long tenantId)
@Query(value="select new com.xforceplus.domain.tenant.OrgRoleCntDTO(r.fromRoleId, count(r.id)) from Role r where r.tenantId = :tenantId and r.fromRoleId in :roleIds and r.status =1 and r.type = 2 and (r.expiredDate is null or r.expiredDate >= current_date) group by r.fromRoleId")
java.util.List<com.xforceplus.domain.tenant.OrgRoleCntDTO> getOrgRoleCntByGradingRoleIds(@Param(value="tenantId")
java.lang.Long tenantId,
@Param(value="roleIds")
java.util.Set<java.lang.Long> roleIds)
@Query(value="select new com.xforceplus.domain.tenant.RoleUserCntDTO(r.id, count(rel.id)) from Role r left join com.xforceplus.entity.RoleUserRel rel on rel.roleId = r.id where r.tenantId = :tenantId and r.id in :roleIds group by r.id")
java.util.List<com.xforceplus.domain.tenant.RoleUserCntDTO> getRoleUserCntByRoleIds(@Param(value="tenantId")
java.lang.Long tenantId,
@Param(value="roleIds")
java.util.Set<java.lang.Long> roleIds)
@Transactional(rollbackFor=java.lang.Exception.class)
@Modifying(flushAutomatically=true,
clearAutomatically=true)
@Query(value="update Role r set r.status = 0 where r.fromRoleId = :roleId")
void disableOrgRolesByGradingRoleId(@Param(value="roleId")
java.lang.Long roleId)
@Query(value="select r from Role r where r.tenantId = :tenantId and r.name =:roleName") java.util.List<Role> findByListTenantIdAndName(@Param(value="tenantId") java.lang.Long tenantId, @Param(value="roleName") java.lang.String roleName)
@Transactional(rollbackFor=java.lang.Exception.class)
@Modifying(flushAutomatically=true,
clearAutomatically=true)
@Query(value="delete from Role r where r.tenantId = :tenantId and r.id in :roleIds")
void deleteByTenantIdAndIds(@Param(value="tenantId")
long tenantId,
@Param(value="roleIds")
java.util.List<java.lang.Long> roleIds)
@Query(value="select count(r.id) from Role r where r.tenantId = :tenantId and r.id = :roleId and r.type = :type and r.status = 1 and (r.expiredDate is null or r.expiredDate >= current_date)")
long countRoleByTenantIdAndIdAndType(@Param(value="tenantId")
long tenantId,
@Param(value="roleId")
long roleId,
@Param(value="type")
int type)
@Query(value="SELECT count(1)\nFROM bss_company_service_rel bcsr,bss_role_service_package brsp,sys_role sr\nWHERE bcsr.tenant_id = :tenantId AND bcsr.service_package_id = brsp.service_package_id AND sr.role_id = brsp.role_id AND sr.`status` = 1 AND \nsr.role_type = :roleType AND if(:roleCode IS NULL and :roleId IS NULL ,1=2, if(:roleId IS NOT NULL, sr.role_Id = :roleId,sr.role_Code = :roleCode)) and (sr.expired_date is null or sr.expired_date >= current_date)",
nativeQuery=true)
int queryCountPreRoleByTenantIdAndRoleIdOrRoleCode(@Param(value="tenantId")
java.lang.Long tenantId,
@Param(value="roleId")
java.lang.Long roleId,
@Param(value="roleCode")
java.lang.String roleCode,
@Param(value="roleType")
int roleType)
tenantId - roleId - roleType - @Query(value=" SELECT sr.role_id as id,sr.role_name as name,sr.role_code as code,sr.role_desc as roleDesc,sr.update_time as updateTime,sr.update_user_name as updaterName,sr.status as status,bsp.service_package_id as servicePackageId,bsp.service_package_name as servicePackageName \n FROM sys_role sr , bss_role_service_package bcsr,bss_service_package bsp,bss_company_service_rel bcsl WHERE if(:roleId IS NOT NULL,sr.role_id =:roleId,1=1) AND if(:roleCode IS NOT NULL,sr.role_code = :roleCode,1=1) And bcsl.tenant_id = :tenantId AND bcsl.status = 1 AND bcsl.service_package_id = bcsr.service_package_id And if(:roleType IS NOT NULL, sr.role_type = :roleType ,1=1 ) AND if(:roleName IS NOT NULL,sr.role_name LIKE concat(\'%\',:roleName,\'%\'),1=1 ) AND sr.status = 1 and sr.role_id = bcsr.role_id AND bsp.status = 1 AND bcsl.status = 1 AND bsp.service_package_id = bcsr.service_package_id GROUP BY sr.role_id order by sr.update_time desc",
nativeQuery=true,
countProjection="1")
org.springframework.data.domain.Page<com.xforceplus.domain.tenant.PreRoleDTO> queryPreRoleByTenantId(@Param(value="tenantId")
java.lang.Long tenantId,
@Param(value="roleId")
java.lang.Long id,
@Param(value="roleName")
java.lang.String roleName,
@Param(value="roleCode")
java.lang.String roleCode,
@Param(value="roleType")
int roleType,
org.springframework.data.domain.Pageable pageable)
tenantId - roleType - @Query(value=" SELECT distinct sr.role_id as id,sr.role_name as name,sr.role_code as code,sr.role_desc as roleDesc,sr.update_time as updateTime,app.app_name as appName,sr.update_user_name as updaterName,sr.status as status,bsp.service_package_id as servicePackageId,bsp.service_package_name as servicePackageName \n FROM sys_role sr , bss_role_service_package bcsr,bss_service_package bsp,bss_app app WHERE if(:roleId IS NOT NULL,sr.role_id =:roleId,1=1) AND if(:roleCode IS NOT NULL,sr.role_code = :roleCode,1=1) And if(:roleType IS NOT NULL, sr.role_type = :roleType ,1=1 ) AND if(:servicePageId IS NOT NULL, bcsr.service_package_id = :servicePageId ,1=1 ) AND if(:roleName IS NOT NULL,sr.role_name LIKE concat(\'%\',:roleName,\'%\'),1=1 ) AND if(:appId IS NOT NULL,bsp.app_id = :appId ,1=1 ) AND sr.role_id = bcsr.role_id AND bsp.status = 1 AND bsp.service_package_id = bcsr.service_package_id AND app.app_id = bsp.app_id order by sr.update_time desc",
nativeQuery=true,
countProjection="1")
org.springframework.data.domain.Page<com.xforceplus.domain.tenant.PreRoleDTO> queryPreRoleByAdmin(@Param(value="roleType")
java.lang.Integer roleType,
@Param(value="appId")
java.lang.Long appId,
@Param(value="servicePageId")
java.lang.Long servicePageId,
@Param(value="roleName")
java.lang.String roleName,
@Param(value="roleCode")
java.lang.String roleCode,
@Param(value="roleId")
java.lang.Long roleId,
org.springframework.data.domain.Pageable pageable)
servicePageId - roleName - roleCode - roleId - @Query(value="SELECT res .role_id\n FROM (\n SELECT DISTINCT brsp.role_id\n FROM\n bss_company_service_rel bcsr,\n bss_role_service_package brsp,\n sys_role sr \n WHERE \n bcsr.tenant_id = :tenantId AND bcsr.service_package_id = brsp.service_package_id AND bcsr.status = 1 AND sr.role_id = brsp.role_id AND sr.status =1 AND sr.role_type = 3 ) res\n WHERE if( :exclude , res.role_id not in (:roleIds ), res.role_id in (:roleIds) ) ",
nativeQuery=true)
java.util.List<java.lang.Long> queryUserPreRole(@Param(value="tenantId")
java.lang.Long tenantId,
@Param(value="exclude")
java.lang.Boolean binded,
@Param(value="roleIds")
java.util.List<java.lang.Long> roleIds)