| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package com.jzg.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.jzg.entity.po.SysRole;
- import com.jzg.entity.po.SysUser;
- import com.jzg.entity.po.SysUserRole;
- import com.jzg.entity.vo.SysUserVo;
- import com.jzg.mapper.SysRoleMapper;
- import com.jzg.mapper.SysUserMapper;
- import com.jzg.mapper.SysUserRoleMapper;
- import com.jzg.service.SysUserService;
- import com.jzg.util.StringUtils;
- import jodd.util.CollectionUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.*;
- import java.util.function.BinaryOperator;
- import java.util.function.Function;
- import java.util.stream.Collectors;
- /**
- * @author dongxin
- * @description 针对表【sys_user(核心用户表)】的数据库操作Service实现
- * @createDate 2025-01-13 10:53:51
- */
- @Service
- public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
- implements SysUserService {
- @Autowired
- private SysRoleMapper sysRoleMapper;
- @Override
- public Page<SysUser> queryPage(Page page, SysUserVo sysUserVo) {
- LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(StringUtils.isNotNull(sysUserVo.getAccountStatus()), SysUser::getAccountStatus, sysUserVo.getAccountStatus())
- .eq(StringUtils.isNotEmpty(sysUserVo.getSearchValue()), SysUser::getUsername, sysUserVo.getSearchValue()).or()
- .eq(StringUtils.isNotEmpty(sysUserVo.getSearchValue()), SysUser::getMobile, sysUserVo.getSearchValue()).or()
- .eq(StringUtils.isNotEmpty(sysUserVo.getSearchValue()), SysUser::getId, sysUserVo.getSearchValue());
- Page<SysUser> userPage = page(page, wrapper);
- List<SysUser> userList = userPage.getRecords();
- if (!userList.isEmpty()) {
- List<String> userIdList = userList.stream().map(user -> user.getId()).collect(Collectors.toList());
- // 批量查询 角色信息
- List<SysRole> roles = sysRoleMapper.queryByUserIds(userIdList);
- Map<String,String> nameMap = roles.stream()
- .collect(Collectors.toMap(item -> item.getUserId(), item -> item.getName(),
- (v1,v2) -> v1 + ',' + v2));
- userList.forEach(sysUser -> {
- if(nameMap.containsKey(sysUser.getId())){
- sysUser.setRoleNames(nameMap.get(sysUser.getId()));
- }
- });
- }
- return userPage;
- }
- @Override
- public List<SysUser> queryById(String id) {
- SysUser user = this.baseMapper.selectById(id);
- return List.of();
- }
- }
|