抽奖 终版
This commit is contained in:
parent
d650d3b44e
commit
eea862961b
|
|
@ -273,13 +273,5 @@ public class DiscSpinningController {
|
||||||
// userService.addBlackUser(userId, "转盘奖项领取");
|
// userService.addBlackUser(userId, "转盘奖项领取");
|
||||||
return Result.success().put("data", 1);
|
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,11 +109,18 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
||||||
BigDecimal maxNumber = prizes.stream()
|
BigDecimal maxNumber = prizes.stream()
|
||||||
.map(DiscSpinning::getNumber)
|
.map(DiscSpinning::getNumber)
|
||||||
.max(BigDecimal::compareTo)
|
.max(BigDecimal::compareTo)
|
||||||
.orElse(null);
|
.orElse(BigDecimal.ZERO);
|
||||||
BigDecimal randomNum = new BigDecimal(RandomUtil.randomDouble(0.01, maxNumber.doubleValue()));
|
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<>();
|
List<DiscSpinningAmount> amounts = new ArrayList<>();
|
||||||
Map<String, List<DiscSpinningAmount>> amountMaps = redisUtils.getMapData(RedisKeys.getDateKey("spinning:amount:") + source, "setDiscSpinningAmounts", DiscSpinningAmount.class);
|
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--) {
|
for (int i = drawCount; i >= 0; i--) {
|
||||||
if (amountMaps.containsKey(i + "")) {
|
if (amountMaps.containsKey(i + "")) {
|
||||||
amounts = amountMaps.get(i + "");
|
amounts = amountMaps.get(i + "");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue