新增福利红包类型

back_recharge
mengchengzhen 2021-06-09 17:49:36 +08:00
parent 689913e17c
commit a56e74e306
7 changed files with 35 additions and 12 deletions

View File

@ -94,7 +94,7 @@ public class FamilyFeteRequestHandler extends BaseHandler<Family.FamilyFeteReque
Map<Integer, SGuildLevelConfig> levelConfigMap = STableManager.getConfig(SGuildLevelConfig.class);
if (GuildLogic.checkGuildLevelMax(guildInfo)&&guildInfo.getExp() + addexp >= levelConfigMap.get(guildInfo.getLevel()).getExp()) {
guildInfo.updateExp(guildInfo.getExp() + addexp - levelConfigMap.get(guildInfo.getLevel()).getExp());
guildInfo.updateLevel(guildInfo.getLevel() + 1);
GuildLogic.upLevel(guildInfo,guildInfo.getLevel() + 1);
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildInfo.getId()), new GuildCache(GameApplication.serverId, guildInfo.getIcon(), guildInfo.getLevel(), guildInfo.getName()));
} else {
guildInfo.updateExp(guildInfo.getExp() + addexp);

View File

@ -34,7 +34,7 @@ public class Cmd_addfete extends GmRoleAbstract {
guildInfo.addFete(addexp);
Map<Integer, SGuildLevelConfig> levelConfigMap = STableManager.getConfig(SGuildLevelConfig.class);
if (GuildLogic.checkGuildLevelMax(guildInfo)&&guildInfo.getExp() + addexp >= levelConfigMap.get(guildInfo.getLevel()).getExp()) {
guildInfo.updateLevel(guildInfo.getLevel() + 1);
GuildLogic.upLevel(guildInfo,guildInfo.getLevel() + 1);
guildInfo.updateExp(guildInfo.getExp() + addexp - levelConfigMap.get(guildInfo.getLevel()).getExp());
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildInfo.getId()), new GuildCache(GameApplication.serverId, guildInfo.getIcon(), guildInfo.getLevel(), guildInfo.getName()));
} else {

View File

@ -217,7 +217,7 @@ public class GuildChallengeLogic {
Map<Integer, SGuildLevelConfig> levelConfigMap = STableManager.getConfig(SGuildLevelConfig.class);
if (GuildLogic.checkGuildLevelMax(guildInfo)&&guildInfo.getExp() + config.getLegionExp() >= levelConfigMap.get(guildInfo.getLevel()).getExp()) {
guildInfo.updateExp(guildInfo.getExp() + config.getLegionExp() - levelConfigMap.get(guildInfo.getLevel()).getExp());
guildInfo.updateLevel(guildInfo.getLevel() + 1);
GuildLogic.upLevel(guildInfo,guildInfo.getLevel() + 1);
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildInfo.getId()), new GuildCache(GameApplication.serverId, guildInfo.getIcon(), guildInfo.getLevel(), guildInfo.getName()));
} else {
guildInfo.updateExp(guildInfo.getExp() + config.getLegionExp());
@ -248,7 +248,7 @@ public class GuildChallengeLogic {
Map<Integer, SGuildLevelConfig> levelConfigMap = STableManager.getConfig(SGuildLevelConfig.class);
if (GuildLogic.checkGuildLevelMax(guildInfo)&&guildInfo.getExp() + config.getLegionExp() >= levelConfigMap.get(guildInfo.getLevel()).getExp()) {
guildInfo.updateExp(guildInfo.getExp() + config.getLegionExp() - levelConfigMap.get(guildInfo.getLevel()).getExp());
guildInfo.updateLevel(guildInfo.getLevel() + 1);
GuildLogic.upLevel(guildInfo,guildInfo.getLevel() + 1);
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildInfo.getId()), new GuildCache(GameApplication.serverId, guildInfo.getIcon(), guildInfo.getLevel(), guildInfo.getName()));
} else {
guildInfo.updateExp(guildInfo.getExp() + config.getLegionExp());

View File

@ -818,7 +818,7 @@ public class GuildFightLogic {
redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT_TOTAL_EXP,"",str,getExp);
if(guildInfo.getExp()+getExp>=levelConfigMap.get(guildInfo.getLevel()).getExp()){
guildInfo.updateExp(guildInfo.getExp()+getExp-levelConfigMap.get(guildInfo.getLevel()).getExp());
guildInfo.updateLevel(guildInfo.getLevel()+1);
GuildLogic.upLevel(guildInfo,guildInfo.getLevel() + 1);
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_INFO,"", String.valueOf(guildInfo.getId()),new GuildCache(GameApplication.serverId,guildInfo.getIcon(),guildInfo.getLevel(),guildInfo.getName()));
}else{
guildInfo.updateExp(guildInfo.getExp()+getExp);

View File

@ -1248,21 +1248,28 @@ public class GuildLogic {
break;
case 3:
List<SGuildRedPackConfig> serise = SGuildRedPackConfig.welfareRedPackBySerise.get(config.getGroupId());
serise.stream().sorted((v1,v2)->{
if(v1.getId()>v2.getId()){
return -1;
}else{
return 1;
}
});
for(SGuildRedPackConfig c : serise){
if(redPacketsMap.containsKey(c.getId())){
if(redPacketsMap.get(c.getId())>-1){
if(c.getId() == config.getId()){
redPacketsMap.put(c.getId(),1);
break;
}
}else{
continue;
redPacketsMap.put(c.getId(),1);
}
if(c.getId() == config.getId()){
break;
}
continue;
}else{
if(c.getId() == config.getId()){
redPacketsMap.put(config.getId(),1);
}else{
break;
}else{
redPacketsMap.put(c.getId(),1);
}
}
}
@ -1727,4 +1734,14 @@ public class GuildLogic {
}
}
public static void upLevel(GuildInfo guildInfo,int level) throws Exception{
guildInfo.updateLevel(level);
for(int id : guildInfo.getMembers().get(GlobalsDef.CHAIRMAN)) {
User user = UserManager.getUser(id);
if (user == null)
continue;
Poster.getPoster().dispatchEvent(new WelfareRedPackEvent(user.getId(), WelfareRedPacketType.state_level.getType(),level));
}
}
}

View File

@ -1,11 +1,14 @@
package com.ljsd.jieling.logic.mission.event;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.GameMisionType;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
import com.ljsd.jieling.logic.redpacket.WelfareRedPackEvent;
import com.ljsd.jieling.logic.redpacket.WelfareRedPacketType;
import com.ljsd.jieling.logic.store.BuyGoodsNewLogic;
import com.ljsd.jieling.network.session.ISession;
@ -25,5 +28,6 @@ public class UserLevelEventProcessor implements BaseGameEventProcessor{
ISession session = OnlineUserManager.getSessionByUid(user.getId());
BuyGoodsNewLogic.openPush(session,user,3,upLevel,0);
BuyGoodsNewLogic.sendGiftGooodsIndication(user.getId());
Poster.getPoster().dispatchEvent(new WelfareRedPackEvent(user.getId(), WelfareRedPacketType.player_level.getType(),upLevel));
}
}

View File

@ -8,6 +8,8 @@ public enum WelfareRedPacketType {
game_pokemon(5),
hero_star(6),
soul_demon(7),
player_level(8),
state_level(9),
;
private int type;
WelfareRedPacketType(int type){