2022/3/21 实现角色权限的查询

master
GPU is all you need 4 years ago
parent 7b6665782b
commit 157e6139f2
  1. 50
      awardBE/src/main/java/edu/ncst/award/mapper/system/SysRoleMapper.java
  2. 31
      awardBE/src/main/java/edu/ncst/award/model/system/Role.java
  3. 34
      awardBE/src/main/java/edu/ncst/award/model/system/SysUserRole.java
  4. 47
      awardBE/src/main/java/edu/ncst/award/service/impl/system/SysRoleServiceImpl.java
  5. 47
      awardBE/src/main/resources/mapper/SysRoleMapper.xml

@ -0,0 +1,50 @@
package edu.ncst.award.mapper.system;
import edu.ncst.award.common.mapper.BaseMapperPlus;
import edu.ncst.award.model.system.Role;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 角色表 数据层
*
* @author Lion Li
*/
public interface SysRoleMapper extends BaseMapperPlus<SysRoleMapper, Role, Role> {
/**
* 根据条件分页查询角色数据
*
* @param role 角色信息
* @return 角色数据集合信息
*/
List<Role> selectRoleList(Role role);
//
// /**
// * 根据用户ID查询角色
// *
// * @param userId 用户ID
// * @return 角色列表
// */
// List<Role> selectRolePermissionByUserId(Long userId);
//
//
// /**
// * 根据用户ID获取角色选择框列表
// *
// * @param userId 用户ID
// * @return 选中角色ID列表
// */
// List<Long> selectRoleListByUserId(Long userId);
//
// /**
// * 根据用户ID查询角色
// *
// * @param userName 用户名
// * @return 角色列表
// */
// List<Role> selectRolesByUserName(String userName);
}

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import edu.ncst.award.common.constant.UserConstants;
import edu.ncst.award.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -12,7 +13,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.Objects;
/**
* 角色
@ -27,7 +27,7 @@ public class Role extends BaseEntity {
@ApiModelProperty(value = "角色ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Long roleId;
@ApiModelProperty(value = "角色名称")
private String name;
@ -42,29 +42,12 @@ public class Role extends BaseEntity {
@TableLogic
@JsonIgnore
private Date deleteTime;
public Role(Integer id) {
this.id = id;
}
public Role() {
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Role role = (Role) o;
return Objects.equals(name, role.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
@ApiModelProperty(value = "是否是管理员")
public boolean isAdmin(){
return UserConstants.ADMIN_ID.equals(this.roleId);
}
public static Role forName(String name) {
Role role = new Role();

@ -0,0 +1,34 @@
package edu.ncst.award.model.system;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户和角色关联 sys_user_role
*
* @author Lion Li
*/
@Data
@TableName("sys_user_role")
@ApiModel("用户和角色关联")
public class SysUserRole {
/**
* 用户ID
*/
@TableId(type = IdType.INPUT)
@ApiModelProperty(value = "用户ID")
private Long userId;
/**
* 角色ID
*/
@ApiModelProperty(value = "角色ID")
private Long roleId;
}

@ -0,0 +1,47 @@
package edu.ncst.award.service.impl.system;
import edu.ncst.award.mapper.system.SysRoleMapper;
import edu.ncst.award.model.system.Role;
import edu.ncst.award.service.ISysRoleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 角色 业务层处理
*
* @author Lion Li
*/
@RequiredArgsConstructor
@Service
public class SysRoleServiceImpl implements ISysRoleService {
private final SysRoleMapper baseMapper;
/**
* 查询所有角色
*
* @return 角色列表
*/
@Override
@Transactional
public List<Role> selectRoleAll() {
// 若依框架是这样写的但是不太理解
// SpringUtils.getAopProxy(this).selectRoleList(new Role());
// SpringUtils.getBean(SysRoleServiceImpl.class).selectRoleList(new Role());
return selectRoleList(new Role());
}
/**
* 根据条件分页查询角色数据
*
* @param role 角色信息
* @return 角色数据集合信息
*/
@Override
public List<Role> selectRoleList(Role role) {
return baseMapper.selectRoleList(role);
}
}

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="edu.ncst.award.mapper.system.SysRoleMapper">
<resultMap type="edu.ncst.award.model.system.Role" id="SysRoleResult">
<id property="roleId" column="id"/>
<result property="name" column="name"/>
<result property="enable" column="enable"/>
<result property="createUserId" column="create_user_id"/>
<result property="createTime" column="create_time"/>
<result property="lastModifyUserId" column="last_modify_user_id"/>
<result property="lastModifyTime" column="last_modify_time"/>
</resultMap>
<sql id="selectRoleVo">
select distinct r.id,
r.name,
r.enable,
r.create_time
from sys_role r
left join sys_user_role ur on ur.role_id = r.id
left join sys_user u on u.id = ur.user_id
left join sys_dept d on u.dept_id = d.id
</sql>
<select id="selectRoleList" parameterType="edu.ncst.award.model.system.Role" resultMap="SysRoleResult">
<include refid="selectRoleVo"/>
where true
<if test="roleId != null and roleId != 0">
AND r.role_id = #{roleId}
</if>
<if test="name != null and name != ''">
AND r.name like concat('%', #{name}, '%')
</if>
<if test="enable != null and enable != ''">
AND r.enable = #{enable}
</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(r.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
</if>
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
and date_format(r.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
</if>
</select>
</mapper>
Loading…
Cancel
Save