From ed5e357dffdffbbcac68820ef63e16b5518acf6d Mon Sep 17 00:00:00 2001 From: liyj <1617420630@qq.com> Date: Fri, 12 Dec 2025 15:12:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=87=AA=E5=8A=A8=E5=8C=96?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=A0=8D=E4=BB=B7=E9=80=BB=E8=BE=91=E5=92=8C?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=A4=A7=E8=BD=AC=E7=9B=98=E7=8E=A9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/common/utils/RollDiceUtils.java | 22 ++++++++++--------- .../impl/ShopActivityCutpriceServiceImpl.java | 7 ++++++ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/mall-common/src/main/java/com/suisung/mall/common/utils/RollDiceUtils.java b/mall-common/src/main/java/com/suisung/mall/common/utils/RollDiceUtils.java index 06691aff..63db8256 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/utils/RollDiceUtils.java +++ b/mall-common/src/main/java/com/suisung/mall/common/utils/RollDiceUtils.java @@ -182,8 +182,10 @@ public class RollDiceUtils { int point = (Integer) config.get("doubleValue"); distribution.put(point, 0); } - BigDecimal salePrice = new BigDecimal("47"); - int accNum=100; + BigDecimal limitPrice=new BigDecimal("9.9"); + BigDecimal salePrice = new BigDecimal("47").subtract(limitPrice).setScale(2, RoundingMode.HALF_UP); + + int accNum=rollCount; // 摇骰子多次并统计 for (int i = 0; i < rollCount; i++) { List arr= randMoney(salePrice, accNum); @@ -196,7 +198,7 @@ public class RollDiceUtils { distribution.put(result, distribution.get(result) + 1); accNum--; } - + System.out.println("最终金额:"+limitPrice); return distribution; } @@ -239,12 +241,12 @@ public class RollDiceUtils { List> configs = new ArrayList<>(); // 添加配置项 - configs.add(createDiceConfig(1, 45)); - configs.add(createDiceConfig(2, 45)); - configs.add(createDiceConfig(3, 3)); - configs.add(createDiceConfig(4, 2)); - configs.add(createDiceConfig(5, 3)); - configs.add(createDiceConfig(6, 2)); + configs.add(createDiceConfig(1, 40)); + configs.add(createDiceConfig(2, 40)); + configs.add(createDiceConfig(3, 5)); + configs.add(createDiceConfig(4, 5)); + configs.add(createDiceConfig(5, 5)); + configs.add(createDiceConfig(6, 5)); // 创建骰子游戏实例 DiceGame diceGame = new DiceGame(configs); @@ -261,7 +263,7 @@ public class RollDiceUtils { // 测试概率分布 System.out.println("\n=== 概率分布测试(100次) ==="); - int testCount = 100; + int testCount = 18; Map distribution = diceGame.testDistribution(testCount); System.out.println("点数\t出现次数\t实际概率\t预期概率"); diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java index e9b834e9..d691498d 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java @@ -958,6 +958,13 @@ public class ShopActivityCutpriceServiceImpl extends BaseServiceImpl