6 Commits

  1. 13
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java
  2. 25
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserDetailServiceImpl.java
  3. 44
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserServiceImpl.java
  4. 2
      lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java

13
lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java

@ -122,12 +122,13 @@ public class AdminUserController {
@PostMapping("/list/fix") @PostMapping("/list/fix")
public Result<PageInfo<UserVo>> getAllFixUser(@RequestBody UserQueryDto userQueryDto){ public Result<PageInfo<UserVo>> getAllFixUser(@RequestBody UserQueryDto userQueryDto){
LOGGER.info("分页查询所有内定用户"); LOGGER.info("分页查询所有内定用户");
if (userQueryDto.getPageNum() == null) {
userQueryDto.setPageNum(1);
}
if (userQueryDto.getPageSize() == null) {
userQueryDto.setPageSize(10);
}
//if (userQueryDto.getPageNum() == null) {
// userQueryDto.setPageNum(1);
//}
//if (userQueryDto.getPageSize() == null) {
// userQueryDto.setPageSize(10);
//}
System.out.println(userQueryDto.getPageNum() + " " +userQueryDto.getPageSize() + " " +userQueryDto);
return Result.success(adminUserDetailService.listFixUser(userQueryDto.getPageNum(),userQueryDto.getPageSize(),userQueryDto)); return Result.success(adminUserDetailService.listFixUser(userQueryDto.getPageNum(),userQueryDto.getPageSize(),userQueryDto));
} }

25
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserDetailServiceImpl.java

@ -194,7 +194,7 @@ public class AdminUserDetailServiceImpl extends ServiceImpl<IUserDetailMapper, U
// 10. 重新构建分页结果 // 10. 重新构建分页结果
PageInfo<UserVo> pageInfo = PageInfo.of(detailPageResult, userVoList); PageInfo<UserVo> pageInfo = PageInfo.of(detailPageResult, userVoList);
pageInfo.setList(userVoList); pageInfo.setList(userVoList);
pageInfo.setTotal(userVoList.size()); // 修正总数
pageInfo.setTotal(detailPageResult.getTotal()); // 修正总数
return pageInfo; return pageInfo;
} }
@ -514,8 +514,7 @@ public class AdminUserDetailServiceImpl extends ServiceImpl<IUserDetailMapper, U
@Override @Override
public boolean removeFixUserById(Long id) { public boolean removeFixUserById(Long id) {
return adminUserDetailMapper.removeFixUserById(id) > 0;
return this.removeById(id);
// return this.update( // return this.update(
// new LambdaUpdateWrapper<UserDetail>() // new LambdaUpdateWrapper<UserDetail>()
// .eq(UserDetail::getId, id) // .eq(UserDetail::getId, id)
@ -525,17 +524,15 @@ public class AdminUserDetailServiceImpl extends ServiceImpl<IUserDetailMapper, U
@Override @Override
public boolean removeFixUserBatchByIds(List<Long> ids) { public boolean removeFixUserBatchByIds(List<Long> ids) {
if (ids == null || ids.isEmpty()) {
return false;
}
// 使用 UpdateWrapper 批量更新 is_del 字段
LambdaUpdateWrapper<UserDetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(UserDetail::getId, ids) // WHERE id IN (ids)
.set(UserDetail::getIsDel, 1); // SET is_del = 1
// 执行更新不更新其他字段
return this.update(updateWrapper);
return this.removeByIds(ids);
//
//// 使用 UpdateWrapper 批量更新 is_del 字段
//LambdaUpdateWrapper<UserDetail> updateWrapper = new LambdaUpdateWrapper<>();
//updateWrapper.in(UserDetail::getId, ids) // WHERE id IN (ids)
// .set(UserDetail::getIsDel, 1); // SET is_del = 1
//
//// 执行更新不更新其他字段
//return this.update(updateWrapper);
} }
private void validateUser(UserImportDto dto, int rowNum, Set<String> processedCodes) { private void validateUser(UserImportDto dto, int rowNum, Set<String> processedCodes) {

44
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserServiceImpl.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lottery.LotteryApplication;
import com.lottery.admin.controller.AdminUserController; import com.lottery.admin.controller.AdminUserController;
import com.lottery.admin.mapper.AdminIsLoginMapper; import com.lottery.admin.mapper.AdminIsLoginMapper;
import com.lottery.admin.mapper.AdminUserDetailMapper; import com.lottery.admin.mapper.AdminUserDetailMapper;
@ -36,6 +37,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.json.JSONObject; import org.json.JSONObject;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
import javax.transaction.Transactional;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -259,11 +261,19 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, User> imp
@Override @Override
public void removeUserById(Long id) { public void removeUserById(Long id) {
//关联删除user_detail
LambdaUpdateWrapper<UserDetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(UserDetail::getUserId, id).set(UserDetail::getIsDel, 1);
adminUserDetailMapper.update(null, updateWrapper);
//关联硬删删除user_detail
//LambdaUpdateWrapper<UserDetail> updateWrapper = new LambdaUpdateWrapper<>();
//updateWrapper.eq(UserDetail::getUserId, id).set(UserDetail::getIsDel, 1);
LambdaQueryWrapper<User> userLambdaQueryWrapper = new LambdaQueryWrapper<>();
userLambdaQueryWrapper.eq(User::getId, id);
User one = this.getOne(userLambdaQueryWrapper);
LambdaQueryWrapper<UserDetail> userDetailLambdaQueryWrapper = new LambdaQueryWrapper<>();
userDetailLambdaQueryWrapper.eq(UserDetail::getUserId, one.getId());
adminUserDetailMapper.delete(userDetailLambdaQueryWrapper);
//关联删除winrecord //关联删除winrecord
LambdaUpdateWrapper<WinnerRecord> updateWrapper1 = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<WinnerRecord> updateWrapper1 = new LambdaUpdateWrapper<>();
@ -273,19 +283,29 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, User> imp
adminUserMapper.deleteUserById(id); adminUserMapper.deleteUserById(id);
} }
@Transactional
@Override @Override
public boolean removeUserBatchByIds(List<Long> ids) {
if (ids == null || ids.isEmpty()) {
public boolean removeUserBatchByIds(List<Long> userIds) {
if (userIds == null || userIds.isEmpty()) {
return false; return false;
} }
// 使用 UpdateWrapper 批量更新 is_del 字段
LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(User::getId, ids) // WHERE id IN (ids)
.set(User::getIsDel, 1); // SET is_del = 1
try {
// 1. 硬删除 user_detail 表的关联数据
LambdaQueryWrapper<UserDetail> detailWrapper = new LambdaQueryWrapper<>();
detailWrapper.in(UserDetail::getUserId, userIds);
adminUserDetailMapper.delete(detailWrapper); // 物理删除
// 执行更新不更新其他字段
return this.update(updateWrapper);
// 2. 软删除 user 表数据
LambdaUpdateWrapper<User> userWrapper = new LambdaUpdateWrapper<>();
userWrapper.in(User::getId, userIds)
.set(User::getIsDel, 1); // 逻辑删除
return this.update(userWrapper);
} catch (Exception e) {
// 事务会自动回滚
throw new RuntimeException("批量删除用户失败", e);
}
} }
@Override @Override

2
lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java

@ -304,7 +304,7 @@ public class UserDetailServiceImpl extends ServiceImpl<IUserDetailMapper, UserDe
// 3. 获取所有未中奖用户 // 3. 获取所有未中奖用户
LambdaQueryWrapper<User> userWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<User> userWrapper = new LambdaQueryWrapper<>();
userWrapper.eq(User::getIsWin, 0);
userWrapper.eq(User::getIsWin, 0).eq(User::getIsDel, 0);
List<User> allAvailableUsers = userMapper.selectList(userWrapper); List<User> allAvailableUsers = userMapper.selectList(userWrapper);
// 4. 过滤掉所有内定用户(当前等级内定用户已在前面处理) // 4. 过滤掉所有内定用户(当前等级内定用户已在前面处理)

Loading…
Cancel
Save