diff --git a/awardBE/src/main/java/edu/ncst/award/mapper/system/SysRoleMapper.java b/awardBE/src/main/java/edu/ncst/award/mapper/system/SysRoleMapper.java new file mode 100644 index 0000000..4393311 --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/mapper/system/SysRoleMapper.java @@ -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 { + + + /** + * 根据条件分页查询角色数据 + * + * @param role 角色信息 + * @return 角色数据集合信息 + */ + List selectRoleList(Role role); +// +// /** +// * 根据用户ID查询角色 +// * +// * @param userId 用户ID +// * @return 角色列表 +// */ +// List selectRolePermissionByUserId(Long userId); +// +// +// /** +// * 根据用户ID获取角色选择框列表 +// * +// * @param userId 用户ID +// * @return 选中角色ID列表 +// */ +// List selectRoleListByUserId(Long userId); +// +// /** +// * 根据用户ID查询角色 +// * +// * @param userName 用户名 +// * @return 角色列表 +// */ +// List selectRolesByUserName(String userName); + +} diff --git a/awardBE/src/main/java/edu/ncst/award/model/system/Role.java b/awardBE/src/main/java/edu/ncst/award/model/system/Role.java index 9ffef7f..e236b01 100644 --- a/awardBE/src/main/java/edu/ncst/award/model/system/Role.java +++ b/awardBE/src/main/java/edu/ncst/award/model/system/Role.java @@ -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(); diff --git a/awardBE/src/main/java/edu/ncst/award/model/system/SysUserRole.java b/awardBE/src/main/java/edu/ncst/award/model/system/SysUserRole.java new file mode 100644 index 0000000..34ae94a --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/model/system/SysUserRole.java @@ -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; + +} diff --git a/awardBE/src/main/java/edu/ncst/award/service/impl/system/SysRoleServiceImpl.java b/awardBE/src/main/java/edu/ncst/award/service/impl/system/SysRoleServiceImpl.java new file mode 100644 index 0000000..c4307a6 --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/service/impl/system/SysRoleServiceImpl.java @@ -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 selectRoleAll() { +// 若依框架是这样写的但是不太理解 +// SpringUtils.getAopProxy(this).selectRoleList(new Role()); +// SpringUtils.getBean(SysRoleServiceImpl.class).selectRoleList(new Role()); + return selectRoleList(new Role()); + } + + /** + * 根据条件分页查询角色数据 + * + * @param role 角色信息 + * @return 角色数据集合信息 + */ + @Override + public List selectRoleList(Role role) { + return baseMapper.selectRoleList(role); + } +} diff --git a/awardBE/src/main/resources/mapper/SysRoleMapper.xml b/awardBE/src/main/resources/mapper/SysRoleMapper.xml new file mode 100644 index 0000000..c36a57b --- /dev/null +++ b/awardBE/src/main/resources/mapper/SysRoleMapper.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + 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 + + + +