|
|
@ -3,6 +3,7 @@ package com.lottery.admin.service.Impl; |
|
|
|
import com.alibaba.excel.EasyExcel; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
@ -57,28 +58,84 @@ public class AdminUserDetailServiceImpl extends ServiceImpl<IUserDetailMapper, U |
|
|
|
@Override |
|
|
|
public PageInfo<UserVo> listFixUser(int pageNum, int pageSize, UserQueryDto userQueryDto) { |
|
|
|
|
|
|
|
//查UserDetail表吧所有的userid取出来,然后在从user表根据id查就行了。 |
|
|
|
List<UserDetail> list = this.list(); |
|
|
|
List<Long> UserIds = list.stream().map(UserDetail::getUserId).collect(Collectors.toList()); |
|
|
|
|
|
|
|
Page<User> page = new Page<>(pageNum, pageSize); |
|
|
|
|
|
|
|
//user表根据id批量查询 |
|
|
|
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
queryWrapper.eq(User::getIsDel, 0); |
|
|
|
queryWrapper.in(User::getId, UserIds); |
|
|
|
// //查UserDetail表吧所有的userid取出来,然后在从user表根据id查就行了。 |
|
|
|
// List<UserDetail> list = this.list(); |
|
|
|
// List<Long> UserIds = list.stream().map(UserDetail::getUserId).collect(Collectors.toList()); |
|
|
|
// |
|
|
|
// Page<User> page = new Page<>(pageNum, pageSize); |
|
|
|
// |
|
|
|
// //user表根据id批量查询 |
|
|
|
// LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
// queryWrapper.in(User::getId, UserIds); |
|
|
|
// |
|
|
|
// |
|
|
|
// if (StringUtils.isNotBlank(userQueryDto.getUsername())) { |
|
|
|
// queryWrapper.like(User::getUsername, userQueryDto.getUsername()); |
|
|
|
// } |
|
|
|
// if(StringUtils.isNotBlank(userQueryDto.getJwcode())){ |
|
|
|
// queryWrapper.like(User::getPassword, userQueryDto.getJwcode()); |
|
|
|
// } |
|
|
|
// |
|
|
|
// Page<User> userPage = this.adminUserMapper.selectPage(page, queryWrapper); |
|
|
|
// List<UserVo> userVolist = ConvertBeanUtil.convertList(userPage.getRecords(), UserVo.class); |
|
|
|
// return PageInfo.of(userPage, userVolist); |
|
|
|
|
|
|
|
// 1. 先查询有效的用户ID列表(过滤掉 is_del = 1 的记录) |
|
|
|
LambdaQueryWrapper<UserDetail> detailWrapper = new LambdaQueryWrapper<>(); |
|
|
|
detailWrapper.select(UserDetail::getUserId) // 只查询user_id字段 |
|
|
|
.eq(UserDetail::getIsDel, 0); // 未删除的记录 |
|
|
|
|
|
|
|
List<Long> validUserIds = this.list(detailWrapper) |
|
|
|
.stream() |
|
|
|
.map(UserDetail::getUserId) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
// 如果没有有效用户,返回空分页结果 |
|
|
|
if (CollectionUtils.isEmpty(validUserIds)) { |
|
|
|
return emptyPageInfo(pageNum, pageSize); |
|
|
|
} |
|
|
|
|
|
|
|
// 2. 构建用户表查询条件 |
|
|
|
LambdaQueryWrapper<User> userWrapper = new LambdaQueryWrapper<>(); |
|
|
|
userWrapper.in(User::getId, validUserIds); // 限定在有效用户范围内 |
|
|
|
|
|
|
|
// 添加动态查询条件 |
|
|
|
if (StringUtils.isNotBlank(userQueryDto.getUsername())) { |
|
|
|
queryWrapper.like(User::getUsername, userQueryDto.getUsername()); |
|
|
|
userWrapper.like(User::getUsername, userQueryDto.getUsername()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(userQueryDto.getJwcode())){ |
|
|
|
queryWrapper.like(User::getPassword, userQueryDto.getJwcode()); |
|
|
|
if (StringUtils.isNotBlank(userQueryDto.getJwcode())) { |
|
|
|
userWrapper.like(User::getJwcode, userQueryDto.getJwcode()); // 注意字段名是否匹配 |
|
|
|
} |
|
|
|
|
|
|
|
// 3. 执行分页查询 |
|
|
|
Page<User> page = new Page<>(pageNum, pageSize); |
|
|
|
Page<User> userPage = adminUserMapper.selectPage(page, userWrapper); |
|
|
|
|
|
|
|
// 4. 转换为VO对象 |
|
|
|
List<UserVo> userVoList = userPage.getRecords().stream() |
|
|
|
.map(user -> { |
|
|
|
UserVo vo = new UserVo(); |
|
|
|
// 这里做属性拷贝,可以使用BeanUtils或MapStruct等工具 |
|
|
|
vo.setId(user.getId()); |
|
|
|
vo.setUsername(user.getUsername()); |
|
|
|
// ...其他字段拷贝 |
|
|
|
return vo; |
|
|
|
}) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
// 5. 构建分页结果 |
|
|
|
return PageInfo.of(userPage, userVoList); |
|
|
|
} |
|
|
|
|
|
|
|
Page<User> userPage = this.adminUserMapper.selectPage(page, queryWrapper); |
|
|
|
List<UserVo> userVolist = ConvertBeanUtil.convertList(userPage.getRecords(), UserVo.class); |
|
|
|
return PageInfo.of(userPage, userVolist); |
|
|
|
// 返回空分页结果的辅助方法 |
|
|
|
private <T> PageInfo<T> emptyPageInfo(int pageNum, int pageSize) { |
|
|
|
PageInfo<T> pageInfo = new PageInfo<>(); |
|
|
|
pageInfo.setList(Collections.emptyList()); |
|
|
|
pageInfo.setTotal(0L); |
|
|
|
pageInfo.setPageNum(pageNum); |
|
|
|
pageInfo.setPageSize(pageSize); |
|
|
|
pageInfo.setPages(0); |
|
|
|
return pageInfo; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -141,7 +198,8 @@ public class AdminUserDetailServiceImpl extends ServiceImpl<IUserDetailMapper, U |
|
|
|
UserDetail detail = new UserDetail(); |
|
|
|
detail.setUserId(user.getId()); |
|
|
|
detail.setGradeId(gradeId); |
|
|
|
detail.setIsFixed(1); // 标记为内定用户 |
|
|
|
detail.setIsFixed(1); |
|
|
|
detail.setIsDel(0);// 标记为内定用户 |
|
|
|
userDetails.add(detail); |
|
|
|
} |
|
|
|
|
|
|
@ -159,8 +217,14 @@ public class AdminUserDetailServiceImpl extends ServiceImpl<IUserDetailMapper, U |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void removeFixUserById(Long id) { |
|
|
|
adminUserDetailMapper.removeFixUserById(id); |
|
|
|
public boolean removeFixUserById(Long id) { |
|
|
|
return adminUserDetailMapper.removeFixUserById(id) > 0; |
|
|
|
|
|
|
|
// return this.update( |
|
|
|
// new LambdaUpdateWrapper<UserDetail>() |
|
|
|
// .eq(UserDetail::getId, id) |
|
|
|
// .set(UserDetail::getIsDel, 1) |
|
|
|
// ); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|