转盘更新
This commit is contained in:
@@ -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)) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user