轩辕宝镜和逍遥游埋点

back_recharge
duhui 2021-01-28 15:42:27 +08:00
parent 674c00ff98
commit 2fb09e6844
4 changed files with 74 additions and 7 deletions

View File

@ -4,6 +4,8 @@ import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.ktbeans.ReportEventEnum;
import com.ljsd.jieling.ktbeans.ReportUtil;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.fight.FightDispatcher;
@ -268,7 +270,9 @@ public class JourneyMap {
}
/**
*
*
* 0 1 2 3 4 5 6 7
* @param session
* @param messageType
*/
@ -308,13 +312,15 @@ public class JourneyMap {
//取总点数和最大格子数,算出走的步数
diceAmount =Math.min(diceAmount,pathInfo.getAllPathInfo().length-pathInfo.getCurrentPath());
// 服务器调试,一次走一格
// diceAmount = 1;
// randomNum.clear();
// randomNum.add(1);
if(diceAmount==0){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
// randomNum.clear();
// randomNum.add(1);
pathInfo.setCurrentPath(pathInfo.getCurrentPath()+diceAmount);
Path arrivePath = pathInfo.getAllPathInfo()[pathInfo.getCurrentPath() - 1];
int mapPointId = arrivePath.getMapPointId();
@ -444,6 +450,16 @@ public class JourneyMap {
break;
}
builder.setPathType(pathType);
// 逍遥游仙缘埋点
if (pathType == 4 || pathType == 5 || pathType == 6){
ReportUtil.onReportEvent(user, ReportEventEnum.START_IMMORTAL_BOOD.getType(), pathType, mapId);
}
// 逍遥游最终奖励埋点
if (pathType == 7){
ReportUtil.onReportEvent(user, ReportEventEnum.COMPLETE_TRAVEL.getType(), pathType, mapId);
}
}
drop = ItemUtil.drop(user,commonRewardArray,1,0, BIReason.JOURNEY_COMMON_REWARD);
@ -513,10 +529,15 @@ public class JourneyMap {
int[] checkResult = fightResult.getCheckResult();
MapInfoProto.JourneyFightResponse.Builder response =MapInfoProto.JourneyFightResponse.newBuilder();
String combat_results = "失败";
if(checkResult[0]==1){
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[]{monster.getReward()}, 1, 0, BIReason.JOURNEY_FIGHT_REWARD);
response.setDrop(drop);
pathInfo.removeMonster(bossIndex);
// 埋点数据
combat_results = "成功";
}else if(checkResult[0]==0){
long allHp = 0;
for(int i = 2;i<checkResult.length;i++){
@ -537,6 +558,10 @@ public class JourneyMap {
throw new ErrorCodeException(ErrorCode.FIGHT_EXCEPTION);
}
// 逍遥游幻魔入侵埋点
SMonsterGroup group = SMonsterGroup.getsMonsterGroupMap().get(monster.getMonsterId());
ReportUtil.onReportEvent(user, ReportEventEnum.START_DEMON_INVASION.getType(), mapId, group.getContents(), combat_results);
ItemUtil.itemCost(user,new int[][]{bossConsume},BIReason.JOURNEY_FIGHT_CONSUME,1);
response.setFightData(fightResult.getFightData());

View File

@ -94,13 +94,22 @@ public enum ReportEventEnum {
GET_TREASURE(65,"get_treasure",CommonEventHandler.getInstance(),new String[]{"treasure_id","get_entrance"}),
ARENA_CHALLENGE(66,"arena_challenge",CommonEventHandler.getInstance(),new String[]{"battle_result","own_integral_num","rewards_id_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"}),
CEREMONY(67,"ceremony",CommonEventHandler.getInstance(),new String[]{"cost_item_id","integral_num","new_integral_num","own_ranking","guild_ranking"}),
TREASURE_SUMMON(68,"treasure_summon",CommonEventHandler.getInstance(),new String[]{"beast_id","summon_type","cost_item_id","cost_amount","reward_nums_list"}),// 降妖夺宝
VANQUISH_BOSS(69,"vanquish_boss",CommonEventHandler.getInstance(),new String[]{"boss_id","damage_num","reward_nums_list"}),// 新将来袭
// 降妖夺宝
TREASURE_SUMMON(68,"treasure_summon",CommonEventHandler.getInstance(),new String[]{"beast_id","summon_type","cost_item_id","cost_amount","reward_nums_list"}),
// 新将来袭
VANQUISH_BOSS(69,"vanquish_boss",CommonEventHandler.getInstance(),new String[]{"boss_id","damage_num","reward_nums_list"}),
// 参与轩辕宝镜副本
START_SKY_REALM(70,"start_sky_realm",CommonEventHandler.getInstance(),new String[]{"stage_type_sky_realm","stage_id_sky_realm","combat_results","reward_nums_list"}),
// 逍遥游触发仙缘
START_IMMORTAL_BOOD(71,"start_immortal_bood",CommonEventHandler.getInstance(),new String[]{"stage_type_immortal_bood","stage_id_travel"}),
// 逍遥游幻魔入侵
START_DEMON_INVASION(72,"start_demon_invasion",CommonEventHandler.getInstance(),new String[]{"stage_id_travel","boss_ids","combat_results"}),
// 通过逍遥游
COMPLETE_TRAVEL(73,"complete_travel",CommonEventHandler.getInstance(),new String[]{"stage_id_travel"}),
VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""});
private int type;
private String eventName;

View File

@ -10,11 +10,13 @@ import com.ljsd.jieling.logic.dao.GuilidManager;
import com.ljsd.jieling.logic.dao.Item;
import com.ljsd.jieling.logic.dao.root.GuildInfo;
import com.ljsd.jieling.logic.dao.root.User;
import rpc.protocols.CommonProto;
import rpc.protocols.PlayerInfoProto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
@ -150,4 +152,17 @@ public class ReportUtil {
LOGGER.info("保存{}用户信息:{}",uid,reportBaseBean.toString());
baseBeanMap.put(uid,reportBaseBean);
}
/**
* droplist
* @param drop
* @param dropResult
*/
public static void dropToString(CommonProto.Drop.Builder drop, List<String> dropResult){
List<CommonProto.Item> list = drop.build().getItemlistList();
for (int i = 0; i < list.size(); i++) {
String str = list.get(i).getItemId() + "#" + list.get(i).getItemNum();
dropResult.add(str);
}
}
}

View File

@ -9,6 +9,8 @@ import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.ktbeans.ReportEventEnum;
import com.ljsd.jieling.ktbeans.ReportUtil;
import com.ljsd.jieling.logic.dao.PlayerManager;
import com.ljsd.jieling.logic.dao.TeamPosHeroInfo;
import com.ljsd.jieling.logic.dao.UserManager;
@ -195,6 +197,10 @@ public class SituationLogic {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
// 埋点用的
List<String> dropResult = new ArrayList<>();
String combat_results = "失败";
boolean consumeCount = false;
if(type==2){
if(!situationPass.containsKey(sRaceTowerConfig.getType())||situationPass.get(sRaceTowerConfig.getType())<id){
@ -202,6 +208,10 @@ public class SituationLogic {
}
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sRaceTowerConfig.getReward(), 1, 0, BIReason.SITUATION_CHALLENGE_REWARD);
builder.setDrop(drop);
ReportUtil.dropToString(drop,dropResult);
combat_results = "成功";
consumeCount = true;
}else if(type==1){
//判断本关是否已过
@ -256,6 +266,11 @@ public class SituationLogic {
if(checkResult[0]>0){
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sRaceTowerConfig.getFirstReward(), 1, 0, BIReason.SITUATION_CHALLENGE_REWARD);
builder.setDrop(drop);
// 埋点用的
ReportUtil.dropToString(drop,dropResult);
combat_results = "成功";
situationPass.put(sRaceTowerConfig.getType(),id);
playerInfoManager.updateSituationPass(situationPass);
AbstractRank rankEnum = RankContext.getRankEnum(RankEnum.SITUATION_RANK.getType());
@ -273,6 +288,9 @@ public class SituationLogic {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
// 埋点报送
ReportUtil.onReportEvent(user, ReportEventEnum.START_SKY_REALM.getType(), sRaceTowerConfig.getType(),id,combat_results,dropResult);
// user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_CHALLENGE,sDailyChallengeConfig.getType());
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build());
}