refactor(role-query): 改变角色查询逻辑
This commit is contained in:
parent
24f30d7fd2
commit
707e748a64
@ -25,5 +25,5 @@ public class RoleWithUserQueryReq extends PageRequest {
|
|||||||
private Long workspaceId;
|
private Long workspaceId;
|
||||||
|
|
||||||
/** 企业工作台参建类型 **/
|
/** 企业工作台参建类型 **/
|
||||||
private List<Integer> workspaceJoinType;
|
private Integer workspaceJoinType;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,10 +4,13 @@ import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
|||||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
|
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
|
||||||
import cn.axzo.tyr.client.model.enums.IdentityType;
|
import cn.axzo.tyr.client.model.enums.IdentityType;
|
||||||
|
import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRoleWithUser;
|
import cn.axzo.tyr.server.repository.entity.SaasRoleWithUser;
|
||||||
import cn.axzo.tyr.server.repository.mapper.SaasRoleMapper;
|
import cn.axzo.tyr.server.repository.mapper.SaasRoleMapper;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
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.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@ -90,5 +93,9 @@ public class SaasRoleDao extends ServiceImpl<SaasRoleMapper, SaasRole> {
|
|||||||
.eq(SaasRole::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
.eq(SaasRole::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Page<SaasRole> pageQueryForOUWorkspace(RoleWithUserQueryReq req) {
|
||||||
|
IPage<SaasRole> page = new Page<>(req.getPage(), req.getPageSize());
|
||||||
|
return this.baseMapper.pageQueryForOUWorkspace(page, req.getOuId(), req.getWorkspaceId(), req.getWorkspaceJoinType());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import cn.axzo.tyr.client.model.enums.IdentityType;
|
|||||||
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRoleWithUser;
|
import cn.axzo.tyr.server.repository.entity.SaasRoleWithUser;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -17,5 +19,7 @@ public interface SaasRoleMapper extends BaseMapper<SaasRole> {
|
|||||||
List<SaasRoleWithUser> listSuperAdminByWorkspace(List<Long> workspaceIds);
|
List<SaasRoleWithUser> listSuperAdminByWorkspace(List<Long> workspaceIds);
|
||||||
|
|
||||||
List<SaasRoleWithUser> listRoleUserByPermissionGroup(List<Long> permissionGroupIds, Set<Long> workspaceIds);
|
List<SaasRoleWithUser> listRoleUserByPermissionGroup(List<Long> permissionGroupIds, Set<Long> workspaceIds);
|
||||||
|
|
||||||
|
Page<SaasRole> pageQueryForOUWorkspace(IPage<SaasRole> page, Long ouId, Long workspaceId, Integer workspaceJoinType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -454,12 +454,7 @@ public class RoleServiceImpl implements RoleService {
|
|||||||
public PageResp<RoleWithUserRes> queryRoleWithUser(RoleWithUserQueryReq req) {
|
public PageResp<RoleWithUserRes> queryRoleWithUser(RoleWithUserQueryReq req) {
|
||||||
page2Default(req);
|
page2Default(req);
|
||||||
//按role进行分页查询 -
|
//按role进行分页查询 -
|
||||||
Page<SaasRole> rolePage = saasRoleDao
|
Page<SaasRole> rolePage = saasRoleDao.pageQueryForOUWorkspace(req);
|
||||||
.page(new Page<>(req.getPage(), req.getPageSize()),
|
|
||||||
new LambdaQueryWrapper<SaasRole>()
|
|
||||||
.eq(SaasRole::getOwnerOuId, req.getOuId())
|
|
||||||
.eq(SaasRole::getWorkspaceId, req.getWorkspaceId())
|
|
||||||
.eq(SaasRole::getRoleType, RoleTypeEnum.COMMON.getValue()));
|
|
||||||
if (CollectionUtil.isEmpty(rolePage.getRecords())) {
|
if (CollectionUtil.isEmpty(rolePage.getRecords())) {
|
||||||
return PageResp.list(req.getPage(), req.getPageSize(), 0L, Collections.emptyList());
|
return PageResp.list(req.getPage(), req.getPageSize(), 0L, Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -90,4 +90,20 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="pageQueryForOUWorkspace" resultType="cn.axzo.tyr.server.repository.entity.SaasRole">
|
||||||
|
SELECT
|
||||||
|
r.*
|
||||||
|
FROM
|
||||||
|
saas_role r
|
||||||
|
LEFT JOIN saas_role_group_relation rg ON r.id = rg.role_id
|
||||||
|
LEFT JOIN saas_role_group g ON rg.saas_role_group_id = g.id
|
||||||
|
WHERE
|
||||||
|
r.is_delete = 0
|
||||||
|
AND (
|
||||||
|
( r.workspace_id = #{workspaceId} AND r.owner_ou_id = #{ouId} AND r.role_type = 'common' )
|
||||||
|
OR
|
||||||
|
( r.owner_ou_id = - 1 AND FIND_IN_SET( #{workspaceJoinType},g.ou_type_code) > 0)
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -10,8 +10,11 @@ import cn.axzo.tyr.client.model.req.RoleWithUserQueryReq;
|
|||||||
import cn.axzo.tyr.client.model.res.RoleWithUserRes;
|
import cn.axzo.tyr.client.model.res.RoleWithUserRes;
|
||||||
import cn.axzo.tyr.server.controller.role.SaasRoleController;
|
import cn.axzo.tyr.server.controller.role.SaasRoleController;
|
||||||
import cn.axzo.tyr.server.repository.dao.SaasFeatureDao;
|
import cn.axzo.tyr.server.repository.dao.SaasFeatureDao;
|
||||||
|
import cn.axzo.tyr.server.repository.dao.SaasRoleDao;
|
||||||
import cn.axzo.tyr.server.repository.dao.SaasRoleUserRelationDao;
|
import cn.axzo.tyr.server.repository.dao.SaasRoleUserRelationDao;
|
||||||
|
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
@ -36,6 +39,9 @@ public class RoleUserTest {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SaasRoleController controller;
|
private SaasRoleController controller;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SaasRoleDao saasRoleDao;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testList() {
|
public void testList() {
|
||||||
saasRoleUserRelationDao.deleteByUser(BaseWorkspaceModel.builder()
|
saasRoleUserRelationDao.deleteByUser(BaseWorkspaceModel.builder()
|
||||||
@ -59,5 +65,17 @@ public class RoleUserTest {
|
|||||||
System.out.println(JSON.toJSONString(result));
|
System.out.println(JSON.toJSONString(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPageQueryForOUWorkspace() {
|
||||||
|
RoleWithUserQueryReq req = new RoleWithUserQueryReq();
|
||||||
|
req.setOuId(5195L);
|
||||||
|
req.setWorkspaceId(371L);
|
||||||
|
req.setWorkspaceJoinType(2);
|
||||||
|
req.setPage(1L);
|
||||||
|
req.setPageSize(20L);
|
||||||
|
Page<SaasRole> page = saasRoleDao.pageQueryForOUWorkspace(req);
|
||||||
|
System.out.println(JSON.toJSONString(page));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user