Fixiaobai
2023-08-26 9e39021f891484b6accb2abc77d34c87bd65681a
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
@@ -4,8 +4,11 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
import com.yuanchu.limslaboratory.pojo.RoleMenu;
import com.yuanchu.limslaboratory.pojo.User;
import com.yuanchu.limslaboratory.mapper.UserMapper;
import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
import com.yuanchu.limslaboratory.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
@@ -20,6 +23,8 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * <p>
@@ -34,6 +39,9 @@
    @Resource
    private UserMapper userMapper;
    @Resource
    private RoleManageMapper roleManageMapper;
    @Override
    public Map<String, Object> getUserInfo(String token) {
@@ -52,6 +60,11 @@
            data.put("name",loginUser.get("name"));
            data.put("id",loginUser.get("id"));
            data.put("remind", remind);
            RoleAndMenuDto role = getRoleInfo(Long.valueOf(String.valueOf(loginUser.get("roleId"))));
            System.out.println("+++++++++++++++++++++++++++++++++++++++++++++");
            System.out.println(role);
            System.out.println("++++++++++++++++++++++++++++++++++++++++++++++");
            data.put("role",role);
            return data;
        }
        return null;
@@ -96,7 +109,7 @@
    public User AccordingUsernameSelectAll(String account) {
        LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(User::getAccount, account);
        wrapper.select(User::getPassword, User::getId, User::getName, User::getAccount, User::getEnterpriseId);
        wrapper.select(User::getPassword, User::getRoleId,User::getId, User::getName, User::getAccount, User::getEnterpriseId);
        return userMapper.selectOne(wrapper);
    }
@@ -132,4 +145,27 @@
        MyUtil.PrintLog(name + status + "=============");
        return userMapper.getNewPersonnelPage(name, page, status);
    }
    public RoleAndMenuDto getRoleInfo(Long roleId) {
        RoleAndMenuDto roleAndMenuDto = roleManageMapper.selectAllRoleAndMenuByRoleId(roleId);
        List<RoleMenu> collect = roleAndMenuDto.getRoleMenuList()
                .stream()
                .filter(t -> t.getParentId() == 0)
                .peek((menu) -> menu.setChildren(this.getRoleMenuChildren(menu, roleAndMenuDto.getRoleMenuList())))
                .collect(Collectors.toList());
        roleAndMenuDto.setRoleMenuList(collect);
        return roleAndMenuDto;
    }
    private List<RoleMenu> getRoleMenuChildren(RoleMenu root, List<RoleMenu> all) {
        return all.stream()
                .filter(t -> Objects.equals(t.getParentId(), root.getMenuId()))
                .peek(g -> {
                    //找子菜单
                    g.setChildren(getRoleMenuChildren(g, all));
                })
                .collect(Collectors.toList());
    }
}