抽奖 终版

This commit is contained in:
wangw 2025-01-13 18:34:32 +08:00
parent d650d3b44e
commit eea862961b
2 changed files with 10 additions and 11 deletions

View File

@ -273,13 +273,5 @@ public class DiscSpinningController {
// userService.addBlackUser(userId, "转盘奖项领取");
return Result.success().put("data", 1);
}
@ApiOperation("大转盘奖项领取")
@RequestMapping("/app/discSpinning/receive1")
public Result receive1() {
DiscSpinningRecord draws = discSpinningService.draws(1, 0, 1876099750242897979L, 1073589141326935825L, 2);
return Result.success().put("data", draws);
}
}

View File

@ -109,11 +109,18 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
BigDecimal maxNumber = prizes.stream()
.map(DiscSpinning::getNumber)
.max(BigDecimal::compareTo)
.orElse(null);
BigDecimal randomNum = new BigDecimal(RandomUtil.randomDouble(0.01, maxNumber.doubleValue()));
.orElse(BigDecimal.ZERO);
if (maxNumber.equals(BigDecimal.ZERO)) {
DiscSpinningRecord record = new DiscSpinningRecord(result.getName(), sourceId, userId, result.getUrl(), result.getType(),
result.getNumber(), DateUtils.formatYMD(new Date()), DateUtils.format(new Date()), source);
recordService.save(record);
return record;
}
Random random = new Random();
BigDecimal randomNum = new BigDecimal(random.nextInt(maxNumber.intValue()));
List<DiscSpinningAmount> amounts = new ArrayList<>();
Map<String, List<DiscSpinningAmount>> amountMaps = redisUtils.getMapData(RedisKeys.getDateKey("spinning:amount:") + source, "setDiscSpinningAmounts", DiscSpinningAmount.class);
if(CollectionUtil.isNotEmpty(amountMaps)){
if (CollectionUtil.isNotEmpty(amountMaps)) {
for (int i = drawCount; i >= 0; i--) {
if (amountMaps.containsKey(i + "")) {
amounts = amountMaps.get(i + "");