From 376f96e6018c3b32cff0ea70d19c7e33b0dc2262 Mon Sep 17 00:00:00 2001 From: lihuilin Date: Fri, 25 Jul 2025 16:57:46 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=BF=98=E8=AE=B0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=95=A5=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lottery/admin/service/Impl/AdminUserDetailServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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..b32c5ef 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; } From 83c890d99c0503b057b4c3bc81ef4303e1d15f53 Mon Sep 17 00:00:00 2001 From: lihuilin Date: Fri, 25 Jul 2025 16:58:05 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=80=BB=E6=95=B0=EF=BC=8C=E6=90=9C?= =?UTF-8?q?=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lottery/admin/controller/AdminUserController.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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)); } From 4f212ebfda23036654865b71e13cd2ede821c5e6 Mon Sep 17 00:00:00 2001 From: willy <2462310981@qq.com> Date: Fri, 25 Jul 2025 17:19:43 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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..0ca49fd 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 @@ -294,7 +294,7 @@ public class UserDetailServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(UserDetail::getIsFixed, 1); + wrapper.eq(UserDetail::getIsFixed, 1).eq(UserDetail::getIsDel, 0); List allFixedUsers = userDetailMapper.selectList(wrapper); // 2. 获取所有内定用户的ID @@ -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. 过滤掉所有内定用户(当前等级内定用户已在前面处理) From 1a95fb8e4eec0d37d5f66ad3c1a24ffc24e319ab Mon Sep 17 00:00:00 2001 From: lihuilin Date: Fri, 25 Jul 2025 17:57:34 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/Impl/AdminUserDetailServiceImpl.java | 23 +++++------ .../admin/service/Impl/AdminUserServiceImpl.java | 44 ++++++++++++++++------ .../api/service/Impl/UserDetailServiceImpl.java | 2 +- 3 files changed, 43 insertions(+), 26 deletions(-) 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 b32c5ef..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 @@ -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 0ca49fd..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 @@ -294,7 +294,7 @@ public class UserDetailServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(UserDetail::getIsFixed, 1).eq(UserDetail::getIsDel, 0); + wrapper.eq(UserDetail::getIsFixed, 1); List allFixedUsers = userDetailMapper.selectList(wrapper); // 2. 获取所有内定用户的ID