|
|
@ -6,16 +6,10 @@ import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWra |
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
import com.lottery.LotteryApplication; |
|
|
|
import com.lottery.admin.mapper.AdminGradeMapper; |
|
|
|
import com.lottery.admin.mapper.AdminPrizeMapper; |
|
|
|
import com.lottery.admin.mapper.AdminUserDetailMapper; |
|
|
|
import com.lottery.admin.mapper.AdminWinMapper; |
|
|
|
import com.lottery.admin.mapper.*; |
|
|
|
import com.lottery.admin.service.AdminGradeService; |
|
|
|
import com.lottery.dto.GradeDto; |
|
|
|
import com.lottery.entity.Grade; |
|
|
|
import com.lottery.entity.Prize; |
|
|
|
import com.lottery.entity.UserDetail; |
|
|
|
import com.lottery.entity.WinnerRecord; |
|
|
|
import com.lottery.entity.*; |
|
|
|
import com.lottery.exception.SomeException; |
|
|
|
import com.lottery.result.Result; |
|
|
|
import com.lottery.utils.ConvertBeanUtil; |
|
|
@ -56,6 +50,8 @@ public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade> |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private AdminWinMapper adminWinMapper; |
|
|
|
@Autowired |
|
|
|
private AdminUserMapper adminUserMapper; |
|
|
|
|
|
|
|
public AdminGradeServiceImpl(AdminGradeMapper adminGradeMapper) { |
|
|
|
this.adminGradeMapper = adminGradeMapper; |
|
|
@ -119,18 +115,32 @@ public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade> |
|
|
|
.select(Prize::getId) |
|
|
|
); |
|
|
|
|
|
|
|
// 2. 批量逻辑删除关联的 win_record |
|
|
|
if (!prizes.isEmpty()) { |
|
|
|
List<Long> prizeIds = prizes.stream() |
|
|
|
.map(Prize::getId) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
//修改user的isWin |
|
|
|
LambdaQueryWrapper<WinnerRecord> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
LambdaQueryWrapper<WinnerRecord> in = queryWrapper.in(WinnerRecord::getPrizeId, prizeIds); |
|
|
|
List<WinnerRecord> winnerRecords = adminWinMapper.selectList(in); |
|
|
|
List<Long> userIds = winnerRecords.stream().map(WinnerRecord::getUserId).collect(Collectors.toList()); |
|
|
|
|
|
|
|
LambdaUpdateWrapper<User> userLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); |
|
|
|
userLambdaUpdateWrapper.in(User::getId, userIds).set(User::getIsWin, 0); |
|
|
|
|
|
|
|
adminUserMapper.update(null, userLambdaUpdateWrapper); |
|
|
|
|
|
|
|
|
|
|
|
// 2. 批量逻辑删除关联的 win_record |
|
|
|
LambdaUpdateWrapper<WinnerRecord> winRecordWrapper = new LambdaUpdateWrapper<>(); |
|
|
|
winRecordWrapper.in(WinnerRecord::getPrizeId, prizeIds) |
|
|
|
.set(WinnerRecord::getIsDel, 1); |
|
|
|
adminWinMapper.update(null, winRecordWrapper); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 3. 逻辑删除关联的 prize |
|
|
|
LambdaUpdateWrapper<Prize> prizeWrapper = new LambdaUpdateWrapper<>(); |
|
|
|
prizeWrapper.eq(Prize::getGradeId, id) |
|
|
@ -145,7 +155,6 @@ public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade> |
|
|
|
userDetailWrapper.eq(UserDetail::getGradeId, id); |
|
|
|
adminUserDetailMapper.delete(userDetailWrapper); |
|
|
|
|
|
|
|
|
|
|
|
// 5. 逻辑删除 grade |
|
|
|
adminGradeMapper.deleteGradeById(id); |
|
|
|
return true; |
|
|
|