diff --git a/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java b/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java index 399c5316..7eacd8b2 100644 --- a/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java +++ b/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java @@ -70,26 +70,20 @@ public class DiscSpinningController { @PostMapping("/discSpinning/insertDiscSpinning") @ApiOperation("添加大转盘") - @Transactional public Result insertDiscSpinning(@RequestBody DiscSpinning discSpinning) { - discSpinning.setCreateTime(DateUtils.format(new Date())); - discSpinning.setNumber(discSpinning.getOdds()); - discSpinningService.save(discSpinning); - List prizes = discSpinningService.list(new QueryWrapper().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(); } @@ -102,7 +96,6 @@ public class DiscSpinningController { @PostMapping("/discSpinning/updateDiscSpinning") @ApiOperation("修改大转盘") public Result updateDiscSpinning(@RequestBody DiscSpinning discSpinning) { -// DiscSpinning current = discSpinningService.getById(discSpinning.getId()); List prizes = discSpinningService.list(new QueryWrapper().eq("disc_type", discSpinning.getDiscType()).orderByAsc("type", "id")); List upPrizes = new ArrayList<>(); BigDecimal number = BigDecimal.ZERO; @@ -118,12 +111,7 @@ public class DiscSpinningController { upPrizes.add(prize); } } - - BigDecimal totalOdds = prizes.stream() - .map(DiscSpinning::getOdds) - .filter(Objects::nonNull) - .reduce(BigDecimal.ZERO, BigDecimal::add); - if (totalOdds.compareTo(new BigDecimal(100)) > 0) { + if (number.compareTo(new BigDecimal(100)) > 0) { return Result.error("中奖概率总和 不可超过100"); } discSpinningService.updateBatchById(upPrizes);