转盘更新

This commit is contained in:
2025-01-13 16:52:10 +08:00
parent 53c5bd3fb8
commit 4498c12409
2 changed files with 18 additions and 6 deletions

View File

@@ -54,7 +54,7 @@ public class DiscSpinningController {
public DiscSpinningController(CommonInfoService commonRepository, DiscSpinningService discSpinningService, public DiscSpinningController(CommonInfoService commonRepository, DiscSpinningService discSpinningService,
OrdersService ordersService, DiscSpinningRecordService recordService, OrdersService ordersService, DiscSpinningRecordService recordService,
TaskCenterService taskCenterService, UserService userService, RedisUtils redisUtils, TaskCenterService taskCenterService, UserService userService, RedisUtils redisUtils,
TaskCenterRecordService taskRecordService,UserInfoService userInfoService) { TaskCenterRecordService taskRecordService, UserInfoService userInfoService) {
this.commonRepository = commonRepository; this.commonRepository = commonRepository;
this.discSpinningService = discSpinningService; this.discSpinningService = discSpinningService;
this.ordersService = ordersService; this.ordersService = ordersService;
@@ -100,14 +100,23 @@ public class DiscSpinningController {
@PostMapping("/discSpinning/updateDiscSpinning") @PostMapping("/discSpinning/updateDiscSpinning")
@ApiOperation("修改大转盘") @ApiOperation("修改大转盘")
public Result updateDiscSpinning(@RequestBody DiscSpinning discSpinning) { 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> prizes = discSpinningService.list(new QueryWrapper<DiscSpinning>().eq("disc_type", discSpinning.getDiscType()).orderByAsc("type", "id"));
List<DiscSpinning> upPrizes = new ArrayList<>();
BigDecimal number = BigDecimal.ZERO; BigDecimal number = BigDecimal.ZERO;
boolean isUp = false;
for (DiscSpinning prize : prizes) { for (DiscSpinning prize : prizes) {
//当前
if (discSpinning.getId().equals(prize.getId())) {
isUp = true;
}
number = number.add(prize.getOdds()); number = number.add(prize.getOdds());
prize.setNumber(number); prize.setNumber(number);
if (isUp) {
upPrizes.add(prize);
}
} }
BigDecimal totalOdds = prizes.stream() BigDecimal totalOdds = prizes.stream()
.map(DiscSpinning::getOdds) .map(DiscSpinning::getOdds)
.filter(Objects::nonNull) .filter(Objects::nonNull)
@@ -115,7 +124,7 @@ public class DiscSpinningController {
if (totalOdds.compareTo(new BigDecimal(100)) > 0) { if (totalOdds.compareTo(new BigDecimal(100)) > 0) {
return Result.error("中奖概率总和 不可超过100"); return Result.error("中奖概率总和 不可超过100");
} }
discSpinningService.updateBatchById(prizes); discSpinningService.updateBatchById(upPrizes);
return Result.success(); return Result.success();
} }
@@ -180,7 +189,7 @@ public class DiscSpinningController {
Integer i = recordService.countDraw(userId); Integer i = recordService.countDraw(userId);
if ((i != null && i.equals(2)) || !source.equals(1)) { if ((i != null && i.equals(2)) || !source.equals(1)) {
boolean auth = userInfoService.isAuth(userId); boolean auth = userInfoService.isAuth(userId);
if(!auth) { if (!auth) {
return Result.error("剩余抽奖活动需要实名认证后进行"); return Result.error("剩余抽奖活动需要实名认证后进行");
} }
} }
@@ -235,7 +244,7 @@ public class DiscSpinningController {
if (source == 1 && sourceId == null) { if (source == 1 && sourceId == null) {
throw new CzgException("异常请求"); throw new CzgException("异常请求");
} }
if(sourceId == null){ if (sourceId == null) {
return Result.error("请求失败,请联系管理员"); return Result.error("请求失败,请联系管理员");
} }
if (DataLimitUtil.isAllowed(RedisKeys.getDateKey("spinning:draw:") + sourceId, 120)) { if (DataLimitUtil.isAllowed(RedisKeys.getDateKey("spinning:draw:") + sourceId, 120)) {

View File

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