| 
					
				 | 
			
			
				@@ -3,8 +3,10 @@ package com.zanxiang.game.back.serve.utils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.github.sd4324530.jtuple.Tuple2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.github.sd4324530.jtuple.Tuples; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zanxiang.module.util.NumberUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang3.RandomUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Arrays; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Objects; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.function.Function; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -73,6 +75,9 @@ public class BackPolicyUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String[] temp = backRate.split(":"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             int backCount = Integer.parseInt(temp[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             int ignoreCount = Integer.parseInt(temp[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (backCount == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ignoreCount == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -80,7 +85,7 @@ public class BackPolicyUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return isBackCount < backCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else if (Objects.equals(backType, GameBackPolicy.POLICY_TYPE_RANDOM_RATE)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 随机概率回传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return RandomUtils.nextInt(0, 100) <= Integer.parseInt(backRate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return RandomUtils.nextInt(0, 100) <= NumberUtil.multiply100(new BigDecimal(backRate)).intValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new RuntimeException("回传策略[" + gameBackPolicy.getId() + "]配置错误,未知的回传类型:" + backType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |