diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/arena/ArenaChallengeHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/arena/ArenaChallengeHandler.java index 00c23c203..bce35ccd0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/arena/ArenaChallengeHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/arena/ArenaChallengeHandler.java @@ -14,11 +14,8 @@ import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; import com.ljsd.jieling.logic.activity.event.ArenaChallengeEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.arena.ArenaLogic; -import com.ljsd.jieling.logic.dao.ArenaEnemy; -import com.ljsd.jieling.logic.dao.ArenaManager; +import com.ljsd.jieling.logic.dao.*; import com.ljsd.fight.ArenaRecord; -import com.ljsd.jieling.logic.dao.Item; -import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.rank.RankContext; @@ -34,6 +31,7 @@ import config.SArenaSetting; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; @Component @@ -151,6 +149,61 @@ public class ArenaChallengeHandler extends BaseHandler teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); + String[] heroes = new String[]{"","","","","",""}; + + + for(TeamPosHeroInfo info:teamPosHeroInfos){ + StringBuilder builderHero = new StringBuilder(); + String heroId = info.getHeroId(); + int position = info.getPosition(); + + Hero hero = user.getHeroManager().getHero(heroId); + builderHero.append(hero.getTemplateId()).append("-").append(hero.getStar()).append("-").append(hero.getLevel()); + heroes[position-1] = builderHero.toString(); + } + PokemonManager pokemonManager = user.getPokemonManager(); + Map pokemonTeamMap = pokemonManager.getPokemonTeamMap(); + StringBuilder builderPokemon = new StringBuilder(); + for(Map.Entry entry:pokemonTeamMap.entrySet()){ + if(builderPokemon.length()!=0){ + builderPokemon.append(","); + } + String value = entry.getValue(); + Pokemon pokemon = pokemonManager.getPokemonMap().get(value); + builderPokemon.append(pokemon.getTmpId()).append("-").append(pokemon.getLevel()).append("-").append(pokemon.getStar()); + } + String[] defHeroes = new String[]{"","","","","",""}; + StringBuilder defBuilderPokemon = new StringBuilder(); + + if(defUser!=null){ + List defteamPosHeroInfos = defUser.getTeamPosManager().getTeamPosForHero().get(teamId); + for(TeamPosHeroInfo info:defteamPosHeroInfos){ + StringBuilder builderHero = new StringBuilder(); + String heroId = info.getHeroId(); + int position = info.getPosition(); + + Hero hero = defUser.getHeroManager().getHero(heroId); + builderHero.append(hero.getTemplateId()).append("-").append(hero.getStar()).append("-").append(hero.getLevel()); + defHeroes[position-1] = builderHero.toString(); + } + + Map defPokemonTeamMap = defUser.getPokemonManager().getPokemonTeamMap(); + for(Map.Entry entry:defPokemonTeamMap.entrySet()){ + if(defBuilderPokemon.length()!=0){ + defBuilderPokemon.append(","); + } + String value = entry.getValue(); + Pokemon pokemon = pokemonManager.getPokemonMap().get(value); + defBuilderPokemon.append(pokemon.getTmpId()).append("-").append(pokemon.getLevel()).append("-").append(pokemon.getStar()); + } + } + + + if(enemyType==GlobalsDef.ARENA_ROBOT_TYPE){ + ReportUtil.onReportEvent(user,ReportEventEnum.ARENA_CHALLENGE.getType(),fightResult==0?"失败":"成功",myscoreChange,dropBuilder.toString(),myscore+myscoreChange,rank.getRankIndexByKey(String.valueOf(curSeason),uid),challengeUid,defScoreChange,defScore-myscoreChange,rank.getRankIndexByKey(String.valueOf(curSeason),challengeUid),heroes[0],heroes[1],heroes[2],heroes[3],heroes[4],heroes[5],builderPokemon.toString()); + }else{ + ReportUtil.onReportEvent(user,ReportEventEnum.ARENA_CHALLENGE.getType(),fightResult==0?"失败":"成功",myscoreChange,dropBuilder.toString(),myscore+myscoreChange,rank.getRankIndexByKey(String.valueOf(curSeason),uid),challengeUid,defScoreChange,defScore-myscoreChange,rank.getRankIndexByKey(String.valueOf(curSeason),challengeUid),heroes[0],heroes[1],heroes[2],heroes[3],heroes[4],heroes[5],builderPokemon.toString(),defHeroes[0],defHeroes[1],defHeroes[2],defHeroes[3],defHeroes[4],defHeroes[5],defBuilderPokemon.toString()); + } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java index 371218a77..bc8998ff6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java @@ -92,7 +92,7 @@ public enum ReportEventEnum { GUESS_OVER(64,"guess_over",new CommonEventHandler(),new String[]{"season_id","guessing_type","stake_type","rewards_num"}), GET_TREASURE(65,"get_treasure",new CommonEventHandler(),new String[]{"treasure_id","get_entrance"}), - ARENA_CHALLENGE(66,"arena_challenge",new CommonEventHandler(),new String[]{"battle_result","own_integral_num","rewards_num","own_new_integral_num","own_ranking","role_id","enemy_integral_num","new_enemy_integral_num","enemy_ranking","hero1","hero2","hero3","hero4","hero5","hero6","attack_pokemon,","defend_hero1","defend_hero2","defend_hero3","defend_hero4","defend_hero5","defend_hero6","defend_pokemon"}), + ARENA_CHALLENGE(66,"arena_challenge",new CommonEventHandler(),new String[]{"battle_result","own_integral_num","rewards_num","own_new_integral_num","own_ranking","role_id","enemy_integral_num","new_enemy_integral_num","enemy_ranking","hero1","hero2","hero3","hero4","hero5","hero6","attack_pokemon","defend_hero1","defend_hero2","defend_hero3","defend_hero4","defend_hero5","defend_hero6","defend_pokemon"}), VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""}); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java index 4ce3b9f51..00c500e94 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java @@ -205,4 +205,8 @@ public abstract class AbstractRank implements IRank { return RedisUtil.getInstence().getZSetScore(redisKey,rkey, String.valueOf(uid)); } + public int getRankIndexByKey(String rkey,int uid){ + return RedisUtil.getInstence().getZSetreverseRank(redisKey,rkey,Integer.toString(uid)).intValue(); + } + } diff --git a/serverlogic/src/main/resources/mingan.txt b/serverlogic/src/main/resources/mingan.txt index b07935235..2daf2c140 100644 --- a/serverlogic/src/main/resources/mingan.txt +++ b/serverlogic/src/main/resources/mingan.txt @@ -431018,7 +431018,7 @@ www.50spcombaidu1828adyou97sace.co.cc 领导还没下令,你怎么能去世呢 李文亮|训诫 李文亮|死不瞑目 - +竞技守卫