添加转盘问题

This commit is contained in:
wangw 2025-01-13 16:57:52 +08:00
parent 4498c12409
commit b593c7804a
1 changed files with 5 additions and 11 deletions

View File

@ -70,24 +70,19 @@ public class DiscSpinningController {
@ApiOperation("添加大转盘")
@Transactional
public Result insertDiscSpinning(@RequestBody DiscSpinning discSpinning) {
discSpinning.setCreateTime(DateUtils.format(new Date()));
discSpinning.setNumber(discSpinning.getOdds());
discSpinningService.save(discSpinning);
List<DiscSpinning> prizes = discSpinningService.list(new QueryWrapper<DiscSpinning>().eq("disc_type", discSpinning.getDiscType()).orderByAsc("type", "id"));
BigDecimal number = BigDecimal.ZERO;
for (DiscSpinning prize : prizes) {
number = number.add(prize.getOdds());
prize.setNumber(number);
}
BigDecimal totalOdds = prizes.stream()
.map(DiscSpinning::getOdds)
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add);
if (totalOdds.compareTo(new BigDecimal(100)) > 0) {
discSpinning.setNumber(number.add(discSpinning.getOdds()));
if (discSpinning.getNumber().compareTo(new BigDecimal(100)) > 0) {
return Result.error("中奖概率总和 不可超过100");
}
discSpinningService.updateBatchById(prizes);
discSpinning.setCreateTime(DateUtils.format(new Date()));
discSpinning.setNumber(discSpinning.getOdds());
discSpinningService.save(discSpinning);
return Result.success();
}
@ -100,7 +95,6 @@ public class DiscSpinningController {
@PostMapping("/discSpinning/updateDiscSpinning")
@ApiOperation("修改大转盘")
public Result updateDiscSpinning(@RequestBody DiscSpinning discSpinning) {
// DiscSpinning current = discSpinningService.getById(discSpinning.getId());
List<DiscSpinning> prizes = discSpinningService.list(new QueryWrapper<DiscSpinning>().eq("disc_type", discSpinning.getDiscType()).orderByAsc("type", "id"));
List<DiscSpinning> upPrizes = new ArrayList<>();
BigDecimal number = BigDecimal.ZERO;