diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index a9a263b3a..37f9c2e93 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -65,6 +65,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ PlayerLogic.getInstance().sendDayilyMail(user,-1); QuestionLogic.getInstence().onLogin(user); PlayerManager playerInfoManager = user.getPlayerInfoManager(); + ActivityLogic.getInstance().flushForLogin(user,iSession); GlobalDataManaager.checkNeedReFlush(iSession,user,null); playerInfoManager.setLoginTime(TimeUtils.now()); Map guidePoints = playerInfoManager.getGuidePoints(); @@ -165,7 +166,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ .build(); try { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_PLAYERINFO_RESPONSE_VALUE, getPlayerInfoResponse, true); - ActivityLogic.getInstance().flushForLogin(user,iSession); + // DoFix.getInstance().loginFix(user); if(playerInfoManager.getIsdayFirst()==0){ playerInfoManager.setIsdayFirst(1); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java index ef4334c21..6697859f3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java @@ -104,7 +104,10 @@ public class NewWelfareActivity extends AbstractActivity { return; } } + for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){ + activityProgressInfo.setState(2); + } List sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); - itemAttrs.add(sActivityRewardConfigs.get(0).getValues()); + itemAttrs.add(sActivityRewardConfigs.get(0).getReward()); } } 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 274bee1bb..9992e1c33 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 @@ -191,13 +191,13 @@ public class HeroLogic{ } } - boolean isSpecial = false; + if(sLotterySetting.getOrderBoxPool()!=null && sLotterySetting.getOrderBoxPool().length>0){ pooId = getOrderBoxPoolId(sLotterySetting); if(pooId == 0){ throw new ErrorCodeException(ErrorCode.newDefineCode("pooId 0")); } - isSpecial =true; + } //检验消耗 @@ -240,28 +240,26 @@ 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.getId(); + List list = SLotterySpecialConfig.getLotterySpecialConfigListByType(1,id); + boolean isMergePool = false; if (list == null) { - return 0; + list = SLotterySpecialConfig.getLotterySpecialConfigListByType(2,sLotterySetting.getMergePool()); + if(list == null){ + return 0; + } + isMergePool = true; + } int poolId = 0; for (SLotterySpecialConfig data : list) { @@ -304,6 +309,9 @@ public class HeroLogic{ poolId = data.getpool_id(); break; } + if(isMergePool){ + continue; + } if (randCount % data.getCount() != 0) { continue; } @@ -319,7 +327,7 @@ public class HeroLogic{ return poolId; } - private int getPooId(SLotterySetting sLotterySetting, int pooId) throws Exception { + private int getPooId(SLotterySetting sLotterySetting) throws Exception { int[][] diamondBoxContain = sLotterySetting.getDiamondBoxContain(); int totalWeight = 0; for(int i=0;i> 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() {