From 8807cc06ea39c4aee8d0be83b0e2f809ad1024a8 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Mon, 25 Nov 2019 12:10:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=BA=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/hero/HeroLogic.java | 14 +++++++---- .../java/config/SLotterySpecialConfig.java | 23 ++++++++++++------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 2e69be9cd..c13edb67b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -234,7 +234,7 @@ public class HeroLogic { int j=0; for(int i=0;i list = SLotterySpecialConfig.getLotterySpecialConfigListByType(type); + private int getSpecialPoolByRandcount(SLotterySetting sLotterySetting, int randCount,int poolCount) { + int id = sLotterySetting.getLotteryType(); + List list = SLotterySpecialConfig.getLotterySpecialConfigListByType(1,id); if (list == null) { - return 0; + list = SLotterySpecialConfig.getLotterySpecialConfigListByType(2,sLotterySetting.getMergePool()); + if(list == null){ + return 0; + } + } int poolId = 0; for (SLotterySpecialConfig data : list) { diff --git a/tablemanager/src/main/java/config/SLotterySpecialConfig.java b/tablemanager/src/main/java/config/SLotterySpecialConfig.java index cbe99aeaa..6aa4e87a9 100644 --- a/tablemanager/src/main/java/config/SLotterySpecialConfig.java +++ b/tablemanager/src/main/java/config/SLotterySpecialConfig.java @@ -26,25 +26,32 @@ public class SLotterySpecialConfig implements BaseConfig { private int pool_id; - private static Map> lotterySpecialConfigMap; + private static Map>> lotterySpecialConfigMap; @Override public void init() throws Exception { Map config = STableManager.getConfig(SLotterySpecialConfig.class); - Map> lotterySpecialConfigMapTmp = new HashMap<>(); + Map>> lotterySpecialConfigMapTmp = new HashMap<>(); for(SLotterySpecialConfig sLotterySpecialConfig : config.values()){ - int type = sLotterySpecialConfig.getType(); - if(!lotterySpecialConfigMapTmp.containsKey(type)){ - lotterySpecialConfigMapTmp.put(type,new ArrayList<>()); + int differentType = sLotterySpecialConfig.getDifferentType(); + if(!lotterySpecialConfigMapTmp.containsKey(differentType)){ + lotterySpecialConfigMapTmp.put(differentType,new HashMap<>()); } - lotterySpecialConfigMapTmp.get(type).add(sLotterySpecialConfig); + int type = sLotterySpecialConfig.getType(); + if(!lotterySpecialConfigMapTmp.get(differentType).containsKey(type)){ + lotterySpecialConfigMapTmp.get(differentType).put(type,new ArrayList<>()); + } + lotterySpecialConfigMapTmp.get(differentType).get(type).add(sLotterySpecialConfig); } lotterySpecialConfigMap = lotterySpecialConfigMapTmp; } - public static List getLotterySpecialConfigListByType(int type) { - return lotterySpecialConfigMap.get(type); + public static List getLotterySpecialConfigListByType(int differentType,int type) { + if(!lotterySpecialConfigMap.containsKey(differentType)){ + return null; + } + return lotterySpecialConfigMap.get(differentType).get(type); } public int getId() {