diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java index 06e2ee4..350e6cb 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java @@ -122,12 +122,13 @@ public class AdminUserController { @PostMapping("/list/fix") public Result> getAllFixUser(@RequestBody UserQueryDto userQueryDto){ 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)); } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserDetailServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserDetailServiceImpl.java index f99a31c..1d75e91 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserDetailServiceImpl.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserDetailServiceImpl.java @@ -194,7 +194,7 @@ public class AdminUserDetailServiceImpl extends ServiceImpl pageInfo = PageInfo.of(detailPageResult, userVoList); pageInfo.setList(userVoList); - pageInfo.setTotal(userVoList.size()); // 修正总数 + pageInfo.setTotal(detailPageResult.getTotal()); // 修正总数 return pageInfo; } @@ -514,8 +514,7 @@ public class AdminUserDetailServiceImpl extends ServiceImpl 0; - + return this.removeById(id); // return this.update( // new LambdaUpdateWrapper() // .eq(UserDetail::getId, id) @@ -525,17 +524,15 @@ public class AdminUserDetailServiceImpl extends ServiceImpl ids) { - if (ids == null || ids.isEmpty()) { - return false; - } - - // 使用 UpdateWrapper 批量更新 is_del 字段 - LambdaUpdateWrapper 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 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 processedCodes) { diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserServiceImpl.java index 66dc7c7..ee443b2 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserServiceImpl.java +++ b/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.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lottery.LotteryApplication; import com.lottery.admin.controller.AdminUserController; import com.lottery.admin.mapper.AdminIsLoginMapper; import com.lottery.admin.mapper.AdminUserDetailMapper; @@ -36,6 +37,7 @@ import org.springframework.web.multipart.MultipartFile; import org.json.JSONObject; import javax.persistence.criteria.CriteriaBuilder; +import javax.transaction.Transactional; import javax.validation.Valid; import java.util.*; import java.util.concurrent.TimeUnit; @@ -259,11 +261,19 @@ public class AdminUserServiceImpl extends ServiceImpl imp @Override public void removeUserById(Long id) { - //关联删除user_detail - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(UserDetail::getUserId, id).set(UserDetail::getIsDel, 1); - adminUserDetailMapper.update(null, updateWrapper); + //关联硬删删除user_detail + //LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + //updateWrapper.eq(UserDetail::getUserId, id).set(UserDetail::getIsDel, 1); + LambdaQueryWrapper userLambdaQueryWrapper = new LambdaQueryWrapper<>(); + userLambdaQueryWrapper.eq(User::getId, id); + + User one = this.getOne(userLambdaQueryWrapper); + + LambdaQueryWrapper userDetailLambdaQueryWrapper = new LambdaQueryWrapper<>(); + + userDetailLambdaQueryWrapper.eq(UserDetail::getUserId, one.getId()); + adminUserDetailMapper.delete(userDetailLambdaQueryWrapper); //关联删除winrecord LambdaUpdateWrapper updateWrapper1 = new LambdaUpdateWrapper<>(); @@ -273,19 +283,29 @@ public class AdminUserServiceImpl extends ServiceImpl imp adminUserMapper.deleteUserById(id); } + @Transactional @Override - public boolean removeUserBatchByIds(List ids) { - if (ids == null || ids.isEmpty()) { + public boolean removeUserBatchByIds(List userIds) { + if (userIds == null || userIds.isEmpty()) { return false; } - // 使用 UpdateWrapper 批量更新 is_del 字段 - LambdaUpdateWrapper 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 detailWrapper = new LambdaQueryWrapper<>(); + detailWrapper.in(UserDetail::getUserId, userIds); + adminUserDetailMapper.delete(detailWrapper); // 物理删除 - // 执行更新(不更新其他字段) - return this.update(updateWrapper); + // 2. 软删除 user 表数据 + LambdaUpdateWrapper userWrapper = new LambdaUpdateWrapper<>(); + userWrapper.in(User::getId, userIds) + .set(User::getIsDel, 1); // 逻辑删除 + return this.update(userWrapper); + + } catch (Exception e) { + // 事务会自动回滚 + throw new RuntimeException("批量删除用户失败", e); + } } @Override diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java index 40c3f3e..0979a43 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java @@ -304,7 +304,7 @@ public class UserDetailServiceImpl extends ServiceImpl userWrapper = new LambdaQueryWrapper<>(); - userWrapper.eq(User::getIsWin, 0); + userWrapper.eq(User::getIsWin, 0).eq(User::getIsDel, 0); List allAvailableUsers = userMapper.selectList(userWrapper); // 4. 过滤掉所有内定用户(当前等级内定用户已在前面处理)