|
|
@@ -0,0 +1,71 @@
|
|
|
+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();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|