Просмотр исходного кода

回传策略更新,支持拆单回传

wcc 1 год назад
Родитель
Сommit
de0f6bc95a

+ 14 - 4
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/utils/BackPolicyUtil.java

@@ -230,14 +230,24 @@ public class BackPolicyUtil {
         if (CollectionUtils.isEmpty(splitStrategyList)) {
             return Tuple3.with(false, backMoney, null);
         }
+        GameBackPolicyVO.SplitStrategy backSplitStrategy = null;
+        for (GameBackPolicyVO.SplitStrategy splitStrategy : splitStrategyList) {
+            if (NumberUtil.multiply100(splitStrategy.getPayMoney()).longValue() == backMoney) {
+                backSplitStrategy = splitStrategy;
+                break;
+            }
+        }
+        if (backSplitStrategy == null) {
+            return Tuple3.with(false, backMoney, null);
+        }
         List<Tuple2<Long, LocalDateTime>> result = new ArrayList<>();
         LocalDateTime beginTime = LocalDateTime.now();
-        Long sumMoney = 0L;
-        for (GameBackPolicyVO.SplitStrategy splitStrategy : splitStrategyList) {
-            long money = NumberUtil.multiply100(splitStrategy.getPayMoney()).longValue();
+        long sumMoney = 0L;
+        for (BigDecimal splitMoney : backSplitStrategy.getSplitList()) {
+            long money = NumberUtil.multiply100(splitMoney).longValue();
             sumMoney += money;
             result.add(Tuple2.with(money, beginTime));
-            int randomMinute = RandomUtils.nextInt(splitStrategy.getBetweenMinuteMin(), splitStrategy.getBetweenMinuteMax());
+            int randomMinute = RandomUtils.nextInt(backSplitStrategy.getBetweenMinuteMin(), backSplitStrategy.getBetweenMinuteMax());
             beginTime = beginTime.minusMinutes(randomMinute);
         }
         return Tuple3.with(true, sumMoney, result);