SysUserServiceImpl.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.jzg.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.jzg.entity.po.SysRole;
  6. import com.jzg.entity.po.SysUser;
  7. import com.jzg.entity.po.SysUserRole;
  8. import com.jzg.entity.vo.SysUserVo;
  9. import com.jzg.mapper.SysRoleMapper;
  10. import com.jzg.mapper.SysUserMapper;
  11. import com.jzg.mapper.SysUserRoleMapper;
  12. import com.jzg.service.SysUserService;
  13. import com.jzg.util.StringUtils;
  14. import jodd.util.CollectionUtil;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import java.util.*;
  18. import java.util.function.BinaryOperator;
  19. import java.util.function.Function;
  20. import java.util.stream.Collectors;
  21. /**
  22. * @author dongxin
  23. * @description 针对表【sys_user(核心用户表)】的数据库操作Service实现
  24. * @createDate 2025-01-13 10:53:51
  25. */
  26. @Service
  27. public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
  28. implements SysUserService {
  29. @Autowired
  30. private SysRoleMapper sysRoleMapper;
  31. @Override
  32. public Page<SysUser> queryPage(Page page, SysUserVo sysUserVo) {
  33. LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
  34. wrapper.eq(StringUtils.isNotNull(sysUserVo.getAccountStatus()), SysUser::getAccountStatus, sysUserVo.getAccountStatus())
  35. .eq(StringUtils.isNotEmpty(sysUserVo.getSearchValue()), SysUser::getUsername, sysUserVo.getSearchValue()).or()
  36. .eq(StringUtils.isNotEmpty(sysUserVo.getSearchValue()), SysUser::getMobile, sysUserVo.getSearchValue()).or()
  37. .eq(StringUtils.isNotEmpty(sysUserVo.getSearchValue()), SysUser::getId, sysUserVo.getSearchValue());
  38. Page<SysUser> userPage = page(page, wrapper);
  39. List<SysUser> userList = userPage.getRecords();
  40. if (!userList.isEmpty()) {
  41. List<String> userIdList = userList.stream().map(user -> user.getId()).collect(Collectors.toList());
  42. // 批量查询 角色信息
  43. List<SysRole> roles = sysRoleMapper.queryByUserIds(userIdList);
  44. Map<String,String> nameMap = roles.stream()
  45. .collect(Collectors.toMap(item -> item.getUserId(), item -> item.getName(),
  46. (v1,v2) -> v1 + ',' + v2));
  47. userList.forEach(sysUser -> {
  48. if(nameMap.containsKey(sysUser.getId())){
  49. sysUser.setRoleNames(nameMap.get(sysUser.getId()));
  50. }
  51. });
  52. }
  53. return userPage;
  54. }
  55. @Override
  56. public List<SysUser> queryById(String id) {
  57. SysUser user = this.baseMapper.selectById(id);
  58. return List.of();
  59. }
  60. }