补偿机制
This commit is contained in:
@@ -31,7 +31,7 @@ import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.*;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@@ -47,6 +47,7 @@ public class DiscSpinningController {
|
||||
private final TaskCenterRecordService taskRecordService;
|
||||
private final UserService userService;
|
||||
private final RedisUtils redisUtils;
|
||||
ScheduledExecutorService executor = Executors.newScheduledThreadPool(5);
|
||||
@Autowired
|
||||
public DiscSpinningController(CommonInfoService commonRepository, DiscSpinningService discSpinningService,
|
||||
OrdersService ordersService, DiscSpinningRecordService recordService,
|
||||
@@ -219,14 +220,24 @@ public class DiscSpinningController {
|
||||
}
|
||||
redisUtils.set(redisKey, week, DateUtils.todayAfterSecond());
|
||||
}
|
||||
return new Result().put("data",
|
||||
discSpinningService.draws(i == null ? 1 : i + 1, amount, sourceId, userId, source));
|
||||
DiscSpinningRecord draws = discSpinningService.draws(i == null ? 1 : i + 1, amount, sourceId, userId, source);
|
||||
try {
|
||||
executor.schedule(() -> receive1(draws), 4, TimeUnit.SECONDS);
|
||||
}finally {
|
||||
executor.shutdown();
|
||||
}
|
||||
return new Result().put("data", draws);
|
||||
}
|
||||
|
||||
@ApiOperation("大转盘奖项领取")
|
||||
@Debounce(interval = 3000, value = "#receive.id")
|
||||
@Debounce(interval = 5000, value = "#receive.id")
|
||||
@PostMapping("/app/discSpinning/receive")
|
||||
public Result receive(@RequestBody DiscSpinningRecord receive) {
|
||||
return Result.success().put("data", 1);
|
||||
}
|
||||
|
||||
|
||||
public Result receive1(@RequestBody DiscSpinningRecord receive) {
|
||||
DiscSpinningRecord record = recordService.getById(receive.getId());
|
||||
if (record.getTargetId() != null) {
|
||||
return Result.error("不可重复领取");
|
||||
@@ -243,5 +254,6 @@ public class DiscSpinningController {
|
||||
}
|
||||
return Result.success().put("data", res);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user