| | |
| | | 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.pojo.User; |
| | | import com.yuanchu.limslaboratory.mapper.UserMapper; |
| | | import com.yuanchu.limslaboratory.service.UserService; |
| | | 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 com.yuanchu.limslaboratory.vo.NewPersonnelVo; |
| | | import com.yuanchu.limslaboratory.vo.PagePersonnelVo; |
| | | import com.yuanchu.limslaboratory.vo.UpdatePersonnelVo; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | |
| | | @Resource |
| | | private RoleManageMapper roleManageMapper; |
| | | |
| | | @Override |
| | | public Map<String, Object> getUserInfo(String token) { |
| | | //根据token获取用户信息 |
| | | Object obj = RedisUtil.get(token); |
| | | if (!ObjectUtils.isEmpty(obj)){ |
| | | Map loginUser = (Map) obj; |
| | | Map map = (Map)loginUser.get("data"); |
| | | Object residualTime = map.get("residualTime"); |
| | | int i = Integer.parseInt(residualTime.toString()); |
| | | String remind = null; |
| | | if (i <= 30) { |
| | | remind = "您所使用的系统即将过期!请联系管理员!"; |
| | | } |
| | | Map<String, Object> data = new HashMap<>(); |
| | | data.put("name",loginUser.get("name")); |
| | | data.put("remind", remind); |
| | | 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 List<Map> selectUser() { |
| | | public List<Map<String,Object>> selectUser() { |
| | | return userMapper.selectUser(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getUserNameAndId() { |
| | | public List<Map<String, Object>> |
| | | getUserNameAndId() { |
| | | LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.select(User::getId, User::getName); |
| | | wrapper.select(User::getId, User::getName).eq(User::getType,1); |
| | | return userMapper.selectMaps(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public RoleAndMenuDto getUserRoleInfo(String token) { |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | |
| | | 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); |
| | | } |
| | | |
| | | @Override |
| | | public Integer addNewPersonnel(NewPersonnelVo newPersonnelVo, String enterpriseId) { |
| | | User user = new User() |
| | | .setName(newPersonnelVo.getName()) |
| | | .setAccount(newPersonnelVo.getAccount()) |
| | | .setAge(newPersonnelVo.getAge()) |
| | | .setPhone(newPersonnelVo.getPhone()) |
| | | .setEmail(newPersonnelVo.getEmail()) |
| | | .setRoleId(newPersonnelVo.getRole_id()) |
| | | .setPassword(newPersonnelVo.getPassword()) |
| | | .setEnterpriseId(Integer.valueOf(enterpriseId)); |
| | | return userMapper.insert(user); |
| | | User unmarshal = JsonUtil.jsonToPojo(JsonUtil.jsonToString(newPersonnelVo), User.class); |
| | | unmarshal.setEnterpriseId(Integer.valueOf(enterpriseId)); |
| | | return userMapper.insert(unmarshal); |
| | | } |
| | | |
| | | @Override |
| | | public Integer updateNewPersonnel(UpdatePersonnelVo updatePersonnelVo) { |
| | | User user = new User() |
| | | .setName(updatePersonnelVo.getName()) |
| | | .setAccount(updatePersonnelVo.getAccount()) |
| | | .setAge(updatePersonnelVo.getAge()) |
| | | .setPhone(updatePersonnelVo.getPhone()) |
| | | .setEmail(updatePersonnelVo.getEmail()) |
| | | .setRoleId(updatePersonnelVo.getRole_id()) |
| | | .setPassword(updatePersonnelVo.getPassword()) |
| | | .setJobState(updatePersonnelVo.getJobState()); |
| | | LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(User::getId, updatePersonnelVo.getId()); |
| | | return userMapper.update(user, updateWrapper); |
| | | try { |
| | | MyUtil.PrintLog(updatePersonnelVo.toString()); |
| | | User unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(updatePersonnelVo), User.class); |
| | | |
| | | LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(User::getId, updatePersonnelVo.getId()); |
| | | return userMapper.update(unmarshal, updateWrapper); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public IPage<PagePersonnelVo> getNewPersonnelPage(String name, Page page) { |
| | | return userMapper.getNewPersonnelPage(name, page); |
| | | public IPage<Map<String, Object>> getNewPersonnelPage(String name, Page page, Integer status) { |
| | | return userMapper.getNewPersonnelPage(name, page, status); |
| | | } |
| | | |
| | | |
| | | public RoleAndMenuDto getRoleInfo(Long roleId) { |
| | | if(roleId==0){ |
| | | return null; |
| | | } |
| | | 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()); |
| | | } |
| | | } |