package com.yuanchu.limslaboratory.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
import com.yuanchu.limslaboratory.mapper.UserMapper;
import com.yuanchu.limslaboratory.pojo.RoleMenu;
import com.yuanchu.limslaboratory.pojo.User;
import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
import com.yuanchu.limslaboratory.pojo.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.UpdatePersonnelVo;
import com.yuanchu.limslaboratory.service.UserService;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
import com.yuanchu.limslaboratory.utils.JsonUtil;
import com.yuanchu.limslaboratory.utils.MyUtil;
import com.yuanchu.limslaboratory.utils.RedisUtil;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
*
* 服务实现类
*
*
* @author 江苏鵷雏网络科技有限公司
* @since 2023-07-07
*/
@Service
public class UserServiceImpl extends ServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
@Resource
private RoleManageMapper roleManageMapper;
@Override
public Map getUserInfo(String token) {
//根据token获取用户信息
Object obj = RedisUtil.get(token);
if (!ObjectUtils.isEmpty(obj)){
Map loginUser = (Map) obj;
Map data = new HashMap<>();
data.put("name",loginUser.get("name"));
data.put("account", loginUser.get("account"));
data.put("id",loginUser.get("id"));
data.put("roleId",loginUser.get("roleId"));
data.put("sessionLayerId",loginUser.get("sessionLayerId"));
RoleAndMenuDto role = getRoleInfo(Long.valueOf(String.valueOf(loginUser.get("roleId"))));
data.put("role",role);
return data;
}
return null;
}
@Override
public Boolean userIsNull(Integer Id) {
LambdaQueryWrapper userLambdaQueryWrapper = new LambdaQueryWrapper<>();
userLambdaQueryWrapper.eq(User::getId, Id);
userLambdaQueryWrapper.select(User::getName);
User user = userMapper.selectOne(userLambdaQueryWrapper);
return !ObjectUtils.isEmpty(user);
}
@Override
public String selectByUserId(Integer userId) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getId, userId);
wrapper.select(User::getName);
User user = userMapper.selectOne(wrapper);
return user.getName();
}
@Override
public List