Merge remote-tracking branch 'origin/test' into test

# Conflicts:
#	src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java
This commit is contained in:
Tankaikai
2025-01-13 16:59:36 +08:00
2 changed files with 15 additions and 3 deletions

View File

@@ -102,14 +102,23 @@ public class DiscSpinningController {
@PostMapping("/discSpinning/updateDiscSpinning")
@ApiOperation("修改大转盘")
public Result updateDiscSpinning(@RequestBody DiscSpinning discSpinning) {
discSpinningService.updateById(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;
boolean isUp = false;
for (DiscSpinning prize : prizes) {
//当前
if (discSpinning.getId().equals(prize.getId())) {
isUp = true;
}
number = number.add(prize.getOdds());
prize.setNumber(number);
if (isUp) {
upPrizes.add(prize);
}
}
BigDecimal totalOdds = prizes.stream()
.map(DiscSpinning::getOdds)
.filter(Objects::nonNull)
@@ -117,7 +126,7 @@ public class DiscSpinningController {
if (totalOdds.compareTo(new BigDecimal(100)) > 0) {
return Result.error("中奖概率总和 不可超过100");
}
discSpinningService.updateBatchById(prizes);
discSpinningService.updateBatchById(upPrizes);
return Result.success();
}

View File

@@ -2,6 +2,8 @@ package com.sqx.modules.discSpinning.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.math.BigDecimal;
@@ -16,6 +18,7 @@ import java.math.BigDecimal;
@TableName("disc_spinning")
public class DiscSpinning extends Model<DiscSpinning> {
//主键
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
//图标
private String url;