Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -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<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();
|
||||
}
|
||||
|
||||
@@ -102,7 +96,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;
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user