|
@ -47,49 +47,7 @@ public class PrizeServiceImpl extends ServiceImpl<IPrizeMapper, Prize> implement |
|
|
|
|
|
|
|
|
List<PrizeAndGradeVo> prizeAndGradeVos = prizeMapper.selectPrizeAndGrade(); |
|
|
List<PrizeAndGradeVo> prizeAndGradeVos = prizeMapper.selectPrizeAndGrade(); |
|
|
|
|
|
|
|
|
// for (PrizeAndGradeVo vo : prizeAndGradeVos) { |
|
|
|
|
|
// String redisKey = REDIS_KEY_PREFIX + vo.getGradeId(); |
|
|
|
|
|
// |
|
|
// |
|
|
// // 从Redis获取已抽取数量,如果没有则返回0 |
|
|
|
|
|
// Integer drawedCount = redisTemplate.opsForValue().get(redisKey); |
|
|
|
|
|
// if (drawedCount == null) { |
|
|
|
|
|
// drawedCount = 0; |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// // 计算剩余数量 = 总数 - 已抽取数 - 每轮抽取数 |
|
|
|
|
|
// int remainNum = vo.getAmount() - drawedCount - vo.getPerWin(); |
|
|
|
|
|
// vo.setRemainNum(remainNum); |
|
|
|
|
|
// |
|
|
|
|
|
// // 计算是否还有下一轮(剩余数量 >= 0) 也放在抽奖之后 |
|
|
|
|
|
// Integer isRound = 0; |
|
|
|
|
|
// if ((vo.getAmount() - drawedCount) - vo.getPerWin() >= 0){ |
|
|
|
|
|
// isRound = 1; |
|
|
|
|
|
// } |
|
|
|
|
|
// vo.setIsRound(isRound); |
|
|
|
|
|
// |
|
|
|
|
|
// // 计算当前轮次 |
|
|
|
|
|
// int currentRound = (drawedCount / vo.getPerWin()) + 1; |
|
|
|
|
|
// vo.setCurrentRound(currentRound); |
|
|
|
|
|
// } |
|
|
|
|
|
// return prizeAndGradeVos; |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// |
|
|
|
|
|
// @Transactional |
|
|
|
|
|
// public List<PrizeAndGradeVo> drawWinners(Long gradeId, int winnerCount) { |
|
|
|
|
|
// String redisKey = REDIS_KEY_PREFIX + gradeId; |
|
|
|
|
|
// |
|
|
|
|
|
// // 原子性增加已抽取数量 |
|
|
|
|
|
// redisTemplate.opsForValue().increment(redisKey, winnerCount); |
|
|
|
|
|
// |
|
|
|
|
|
// // 返回更新后的奖品信息 |
|
|
|
|
|
// return getAllPrizeAndGrade(); |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// public void resetDrawCount(Long gradeId) { |
|
|
|
|
|
// String redisKey = REDIS_KEY_PREFIX + gradeId; |
|
|
|
|
|
// redisTemplate.delete(redisKey); |
|
|
|
|
|
// } |
|
|
|
|
|
return prizeAndGradeVos; |
|
|
return prizeAndGradeVos; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |