From c9fa6a7185eae697e76196d2ce2bad795431d04c Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 11 Dec 2024 17:51:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=BD=E5=A5=96=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DiscSpinningController.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java b/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java index e9153d92..9e61d099 100644 --- a/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java +++ b/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java @@ -267,10 +267,25 @@ public class DiscSpinningController { cashOutService.saveBody(cashOut); } + @Login + @GetMapping("/app/discSpinning/draw1") + @ApiImplicitParams({ + @ApiImplicitParam(name = "source", value = "`task`任务拉起抽奖 或者 `order` 订单拉起抽奖", dataTypeClass = String.class, paramType = "body"), + }) + @ApiOperation("抽取大转盘") + public Result draw() { + for (int i = 0; i < 100; i++) { + DiscSpinningRecord task = draws(0, null, null, "task"); + System.out.println(task.getNumber()); + + } + return null; + } + @Transactional public DiscSpinningRecord draws(double orderAmount, Long orderId, Long userId, String source) { DiscSpinning result = new DiscSpinning("谢谢惠顾", 1, null); - List prizes = discSpinningService.list(new QueryWrapper().eq("disc_type", "order".equals(source) ? 1 : 2).orderByAsc("odds")); + List prizes = discSpinningService.list(new QueryWrapper().eq("disc_type", 1).orderByAsc("odds")); Random random = new Random(); double randomDouble; do { @@ -289,11 +304,12 @@ public class DiscSpinningController { for (DiscSpinningAmount amount : amounts) { if (baseRandom < amount.getRandom()) { resultAmount = baseAmount + random.nextDouble() * (amount.getMaxAmount() - baseAmount); + break; } baseAmount = amount.getMaxAmount(); } - if (resultAmount == 0) { + if (resultAmount < 0.01) { resultAmount = 0.01; } resultAmount = orderAmount + resultAmount; @@ -311,7 +327,8 @@ public class DiscSpinningController { } DiscSpinningRecord record = new DiscSpinningRecord(result.getName(), orderId, userId, result.getType(), result.getNumber(), DateUtils.formatYMD(new Date()), DateUtils.format(new Date()), source); - recordService.save(record); +// recordService.save(record); + System.out.println(record); return record; } }