角色权限列表查询,查看权限

master
shijie 4 years ago
parent 9c5987aa7b
commit c2a4d1250b
  1. 12
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/RolePermissionController.java
  2. 6
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/dao/RolePermissionMapper.java
  3. 3
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/RolePermissionService.java
  4. 19
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/RolePermissionServiceImpl.java
  5. 10
      dq-financial-hrms-auth/src/main/resources/mapper/hrmsauth/RolePermissionMapper.xml
  6. 38
      dq-framework-model/src/main/java/com/daqing/framework/domain/hrms/response/RolePermissionResponse.java

@ -2,6 +2,7 @@ package com.daqing.financial.hrauth.controller;
import com.daqing.financial.hrauth.service.RolePermissionService; import com.daqing.financial.hrauth.service.RolePermissionService;
import com.daqing.framework.domain.hrms.PermissionEntity; import com.daqing.framework.domain.hrms.PermissionEntity;
import com.daqing.framework.domain.hrms.response.RolePermissionResponse;
import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.model.response.ResponseResult;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -49,4 +50,15 @@ public class RolePermissionController {
return new ResponseResult<PageUtils>().SUCCESS(data); return new ResponseResult<PageUtils>().SUCCESS(data);
} }
/**
* 查看权限
* @param roleId
* @return
*/
@GetMapping("/queryPermissionByRoleId")
public ResponseResult queryPermissionByRoleId(@RequestParam("roleId") Long roleId) {
List<RolePermissionResponse> list = permissionService.listWithPermissionTree(roleId);
return new ResponseResult<List<RolePermissionResponse>>().SUCCESS(list);
}
} }

@ -5,8 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.daqing.framework.domain.hrms.PermissionEntity; import com.daqing.framework.domain.hrms.PermissionEntity;
import com.daqing.framework.domain.hrms.SystemLog; import com.daqing.framework.domain.hrms.SystemLog;
import com.daqing.framework.domain.hrms.response.RolePermissionResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 记录菜单权限 * 记录菜单权限
* *
@ -16,6 +19,7 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface RolePermissionMapper extends BaseMapper<PermissionEntity> { public interface RolePermissionMapper extends BaseMapper<PermissionEntity> {
IPage<PermissionEntity> pageByCondition(Page page); IPage<RolePermissionResponse> pageByCondition(Page page);
List<RolePermissionResponse> queryPermissionByRoleId(Long roleId);
} }

@ -2,6 +2,7 @@ package com.daqing.financial.hrauth.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.daqing.framework.domain.hrms.PermissionEntity; import com.daqing.framework.domain.hrms.PermissionEntity;
import com.daqing.framework.domain.hrms.response.RolePermissionResponse;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
import java.util.List; import java.util.List;
@ -17,6 +18,8 @@ public interface RolePermissionService extends IService<PermissionEntity> {
List<PermissionEntity> listWithTree(); List<PermissionEntity> listWithTree();
List<RolePermissionResponse> listWithPermissionTree(Long roleId);
PageUtils queryPage(Integer page, Integer size); PageUtils queryPage(Integer page, Integer size);
} }

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.daqing.financial.hrauth.dao.RolePermissionMapper; import com.daqing.financial.hrauth.dao.RolePermissionMapper;
import com.daqing.financial.hrauth.service.RolePermissionService; import com.daqing.financial.hrauth.service.RolePermissionService;
import com.daqing.framework.domain.hrms.PermissionEntity; import com.daqing.framework.domain.hrms.PermissionEntity;
import com.daqing.framework.domain.hrms.response.RolePermissionResponse;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -19,6 +20,7 @@ public class RolePermissionServiceImpl extends ServiceImpl<RolePermissionMapper,
@Override @Override
public List<PermissionEntity> listWithTree() { public List<PermissionEntity> listWithTree() {
System.out.println("this.list()=================="+this.list());
return getPermissionTreeList(this.list(), 0L); return getPermissionTreeList(this.list(), 0L);
} }
@ -31,7 +33,7 @@ public class RolePermissionServiceImpl extends ServiceImpl<RolePermissionMapper,
if (size <= 0) { if (size <= 0) {
size = 10; size = 10;
} }
IPage<PermissionEntity> systemLogVo = this.getBaseMapper().pageByCondition(new Page(page, size)); IPage<RolePermissionResponse> systemLogVo = this.getBaseMapper().pageByCondition(new Page(page, size));
return new PageUtils(systemLogVo); return new PageUtils(systemLogVo);
} }
@ -44,4 +46,19 @@ public class RolePermissionServiceImpl extends ServiceImpl<RolePermissionMapper,
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@Override
public List<RolePermissionResponse> listWithPermissionTree(Long roleId) {
//根据角色id查询单个角色对应的所有权限
List<RolePermissionResponse>list = this.getBaseMapper().queryPermissionByRoleId(roleId);
return getRolePermissionTreeList(list, 0L);
}
private List<RolePermissionResponse> getRolePermissionTreeList(List<RolePermissionResponse> list, Long parentId) {
return list.stream()
.filter(item -> parentId.equals(item.getParentId()))
.peek(item -> item.setChildren(getRolePermissionTreeList(list, item.getPermissionId())))
.sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort())))
.collect(Collectors.toList());
}
} }

@ -19,12 +19,20 @@
<result property="motifyTime" column="motify_time"/> <result property="motifyTime" column="motify_time"/>
</resultMap> </resultMap>
<select id="pageByCondition" resultType="com.daqing.framework.domain.hrms.response.RolePermissionResponse"> <select id="pageByCondition" resultType="com.daqing.framework.domain.hrms.response.RolePermissionResponse">
select hr.`name`,hr.description,GROUP_CONCAT(hp.`name`separator '/') as permissionName select hr.id as roleId, hr.`name`,hr.description,GROUP_CONCAT(hp.`name`separator '/') as permissionName
FROM hrms_role_permission rp FROM hrms_role_permission rp
LEFT JOIN hrms_role hr on hr.id = rp.role_id LEFT JOIN hrms_role hr on hr.id = rp.role_id
LEFT JOIN hrms_permission hp on hp.id= rp.permission_id LEFT JOIN hrms_permission hp on hp.id= rp.permission_id
GROUP BY rp.role_id GROUP BY rp.role_id
</select> </select>
<select id="queryPermissionByRoleId" parameterType="long"
resultType="com.daqing.framework.domain.hrms.response.RolePermissionResponse">
select rp.permission_id, hp.`name`as permissionName, hp.parent_id, hp.sort from hrms_role_permission rp
LEFT JOIN hrms_permission hp on hp.id=rp.permission_id
WHERE rp.role_id=#{roleId}
</select>
</mapper> </mapper>

@ -1,14 +1,11 @@
package com.daqing.framework.domain.hrms.response; package com.daqing.framework.domain.hrms.response;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -23,10 +20,45 @@ import java.util.List;
public class RolePermissionResponse implements Serializable { public class RolePermissionResponse implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 角色id
*/
private Long roleId;
/**
* 角色名称
*/
private String name; private String name;
/**
* 角色描述
*/
private String description; private String description;
/**
* 权限id
*/
private Long permissionId;
/**
* 拥有权限名称
*/
private String permissionName; private String permissionName;
/**
* 父级id
*/
private Long parentId;
/**
* 子权限
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false)
private List<RolePermissionResponse> children;
/**
* 排序
*/
private Integer sort;
} }

Loading…
Cancel
Save