src/main/java/com/byh/biyesheji/service/impl/RoleServiceImpl.java

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package com.byh.biyesheji.service.impl;


import com.byh.biyesheji.dao.RoleMapper;
import com.byh.biyesheji.dao.UserRoleMapper;
import com.byh.biyesheji.pojo.*;
import com.byh.biyesheji.service.RoleService;
import com.byh.biyesheji.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@Service
public class RoleServiceImpl implements RoleService {
    @Autowired
    RoleMapper roleMapper;
    @Autowired
    UserRoleMapper userRoleMapper;
    @Autowired
    UserService userService;

    @Override  //name的所有角色
    public Set<String> listRoleNames(String userName) {
        Set<String> result = new HashSet<>();
        //查出管理员相应的角色
        List<Role> roles = listRoles(userName);
        //把每个角色名放到set集合中
        for (Role role : roles) {
            result.add(role.getName());
        }
        return result;
    }

    @Override  //查出管理员相应的角色
    public List<Role> listRoles(String userName) {
        List<Role> roles = new ArrayList<>();
        //通过name获得user实体
        User user = userService.getByName(userName);
        if(null==user)
            return roles;
        roles = listRoles(user);//调用下面的方法
        return roles;
    }

    @Override  //查出管理员相应的角色
    public List<Role> listRoles(User user) {
        List<Role> roles = new ArrayList<>();
        //通过管理员id获取管理员的角色
        UserRoleExample example = new UserRoleExample();
        example.createCriteria().andUidEqualTo(user.getId());
        List<UserRole> userRoles = userRoleMapper.selectByExample(example);//关联查询  查出用户id对应的角色id的记录

        //通过关联查询 ,查出表Role的给出指定主键id的记录
        for (UserRole userRole : userRoles){
            Role role = roleMapper.selectByPrimaryKey(userRole.getRid());
            roles.add(role);
后面还有 31 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。