diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index 18a409d3f..7b15d6d9f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -1185,7 +1185,7 @@ public class GuildLogic { if(redPacket.getRuleType() != 1){ map.put(redId,-1); if(redPacket.getRuleType() == 3){ - openNext(map,redPacket.getGroupId(),redId); + openNext(map,redPacket.getRuleId()[0],redId); } }else{ map.put(redId,old-1); @@ -1247,7 +1247,7 @@ public class GuildLogic { } break; case 3: - List serise = SGuildRedPackConfig.welfareRedPackBySerise.get(config.getGroupId()); + List serise = SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0]); serise.stream().sorted((v1,v2)->{ if(v1.getId()>v2.getId()){ return -1; @@ -1281,9 +1281,7 @@ public class GuildLogic { public static void sendWelfareRedPacketInfo(User user){ Map redPacketsMap = user.getPlayerInfoManager().getWelfareRedPackets(); - if(redPacketsMap.size() == 0){//初始化 - initWelfareRedPacketInfo(user); - } + initWelfareRedPacketInfo(user); PlayerInfoProto.WelfareRedPacketPush.Builder build = PlayerInfoProto.WelfareRedPacketPush.newBuilder(); for(Map.Entry entry : redPacketsMap.entrySet()){ if(entry.getValue() >= 0){ @@ -1312,10 +1310,12 @@ public class GuildLogic { public static void initWelfareRedPacketInfo(User user){ Map redPacketsMap = user.getPlayerInfoManager().getWelfareRedPackets(); for(SGuildRedPackConfig config : SGuildRedPackConfig.sWelfareRedPackByRule.values()){ + if(redPacketsMap.containsKey(config.getId())) + continue; if(config.getRuleType() == 3){ if(config.getGroupId() == 2){ int num = user.getMapManager().getLastMonsterAttack(); - for(SGuildRedPackConfig config1 : SGuildRedPackConfig.welfareRedPackBySerise.get(config.getGroupId())){ + for(SGuildRedPackConfig config1 : SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0])){ if(num >= config1.getRuleId()[1]){ redPacketsMap.put(config.getId(),1); }else{ @@ -1324,7 +1324,7 @@ public class GuildLogic { } } }else{ - if(config.getId()==SGuildRedPackConfig.welfareRedPackBySerise.get(config.getGroupId()).get(0).getId()) + if(config.getId()==SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0]).get(0).getId()) redPacketsMap.put(config.getId(),0); } }else{ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageChapter.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageChapter.java index 0fbb180b5..d131308ef 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageChapter.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageChapter.java @@ -12,7 +12,7 @@ public class HardStageChapter extends MongoBase { private int stars; - private Map rewardMap = new TreeMap<>(); + private Map rewardMap = new HashMap<>(); public int getChapterId() { return chapterId; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/redpacket/WelfareRedPackSendHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/redpacket/WelfareRedPackSendHandler.java index 1c5bb533d..d8c013c0a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/redpacket/WelfareRedPackSendHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/redpacket/WelfareRedPackSendHandler.java @@ -23,7 +23,7 @@ public class WelfareRedPackSendHandler implements IEventHandler { SGuildRedPackConfig sGuildRedPackConfig = SGuildRedPackConfig.sWelfareRedPackByRule.get(directEvent.getType()); if(sGuildRedPackConfig.getRuleType() == 3){ boolean f = false; - for(SGuildRedPackConfig config : SGuildRedPackConfig.welfareRedPackBySerise.get(sGuildRedPackConfig.getGroupId())){ + for(SGuildRedPackConfig config : SGuildRedPackConfig.welfareRedPackBySerise.get(sGuildRedPackConfig.getRuleId()[0])){ if(config.getRuleId()[1] == directEvent.getNum()){ sGuildRedPackConfig = config; f=true; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 6fd4067c9..464035c5d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -138,6 +138,8 @@ public class BuyGoodsNewLogic { price = 0; orderId = "free-order"; openId = "free-openId"; + }else{ + price= (int)sRechargeCommodityConfig.getPrice() *100; } MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TEST_BUY_GIGT_GOODS_RESPONSE_VALUE,null,true); sendGoods(uid, goodsId, openId, orderId,System.currentTimeMillis(), price); diff --git a/tablemanager/src/main/java/config/SGuildRedPackConfig.java b/tablemanager/src/main/java/config/SGuildRedPackConfig.java index 1dbde0186..5e020d193 100644 --- a/tablemanager/src/main/java/config/SGuildRedPackConfig.java +++ b/tablemanager/src/main/java/config/SGuildRedPackConfig.java @@ -70,12 +70,12 @@ public class SGuildRedPackConfig implements BaseConfig { sWelfareRedPackByRule.put(entry.getValue().getRuleId()[0],entry.getValue()); } if(entry.getValue().getRuleType() == 3){ - if(welfareRedPackBySerise.containsKey(entry.getValue().getGroupId())){ - welfareRedPackBySerise.get(entry.getValue().getGroupId()).add(entry.getValue()); + if(welfareRedPackBySerise.containsKey(entry.getValue().getRuleId()[0])){ + welfareRedPackBySerise.get(entry.getValue().getRuleId()[0]).add(entry.getValue()); }else{ List list = new ArrayList<>(); list.add(entry.getValue()); - welfareRedPackBySerise.put(entry.getValue().getGroupId(),list); + welfareRedPackBySerise.put(entry.getValue().getRuleId()[0],list); } } }