上报代码提交

back_recharge
lvxinran 2020-08-04 20:37:39 +08:00
parent 6895ec3444
commit 4a50b29266
10 changed files with 182 additions and 41 deletions

View File

@ -7,6 +7,8 @@ import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
import com.ljsd.jieling.ktbeans.ReportEventEnum;
import com.ljsd.jieling.ktbeans.ReportUtil;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.expedition.ExpeditionLogic;
@ -124,6 +126,7 @@ public class StartExpeditionBattleRequest extends BaseHandler<Expedition.StartEx
.addMonsterList(deffightTeamInfo)
.build());
MessageUtil.sendMessage(iSession, 1,MessageTypeProto.MessageType.EXPEDITION_START_BATTLE_RESONSE_VALUE, fightStartResponse.build(), true);
// ReportUtil.onReportEvent(user, ReportEventEnum);
}

View File

@ -5,6 +5,8 @@ import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.ktbeans.ReportEventEnum;
import com.ljsd.jieling.ktbeans.ReportUtil;
import com.ljsd.jieling.logic.dao.Equip;
import com.ljsd.jieling.logic.dao.Item;
import com.ljsd.jieling.logic.dao.UserManager;
@ -86,10 +88,12 @@ public class ComplexEquipHandler extends BaseHandler<HeroInfoProto.ComplexEquipR
dropItems[0] = new int[2];
dropItems[0][0] = targetEquip;
dropItems[0][1] = proto.getNum();
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropItems, BIReason.COMPLEX_EQUIP);
HeroInfoProto.ComplexEquipResponse.Builder response = HeroInfoProto.ComplexEquipResponse.newBuilder();
response.setDrop(drop);
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EQUIP_COMPLEX_RESPONSE_VALUE, response.build(), true);
ReportUtil.onReportEvent(user, ReportEventEnum.EQUIP_SYNTHESIS.getType(),targetEquip,proto.getNum(),new ArrayList<>(consumeMap.keySet()),consumeMap.values());
} else {
@ -184,6 +188,7 @@ public class ComplexEquipHandler extends BaseHandler<HeroInfoProto.ComplexEquipR
CommonProto.Drop.Builder drop = ItemUtil.drop(user,createArray,BIReason.COMPLEX_EQUIP);
HeroInfoProto.ComplexEquipResponse.Builder response = HeroInfoProto.ComplexEquipResponse.newBuilder();
response.setDrop(drop);
ReportUtil.onReportEvent(user, ReportEventEnum.EQUIP_SYNTHESIS.getType(),new ArrayList<>(countMap.keySet()),"",new ArrayList<>(consumeMap.keySet()),consumeMap.values());
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EQUIP_COMPLEX_RESPONSE_VALUE, response.build(), true);
}
}

View File

@ -6,6 +6,8 @@ import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.ktbeans.ReportEventEnum;
import com.ljsd.jieling.ktbeans.ReportUtil;
import com.ljsd.jieling.logic.dao.Jewel;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
@ -114,6 +116,8 @@ public class ComplexJewelEquipRequestHandler extends BaseHandler<HeroInfoProto.C
}
response.setDrop(drop);
MessageUtil.sendIndicationMessage(user.getId(), response.build());
ReportUtil.onReportEvent(user, ReportEventEnum.TREASURE_SYNTHESIS.getType(),targetEquip,proto.getNum(),new ArrayList<>(consumeMap.keySet()),consumeMap.values());
} else {
@ -204,6 +208,7 @@ public class ComplexJewelEquipRequestHandler extends BaseHandler<HeroInfoProto.C
for (String id:newids) {
equips.add(CBean2Proto.getEquipProto( user.getEquipManager().getEquipMap().get(id)));
}
ReportUtil.onReportEvent(user, ReportEventEnum.TREASURE_SYNTHESIS.getType(),new ArrayList<>(consumeMap.keySet()),new ArrayList<>(consumeMap.values()),new ArrayList<>(consumeMap.keySet()),consumeMap.values());
ItemUtil.itemCost(user, consumeMap, BIReason.COMPLEX_EQUIP_CONSUME, 0);
}

View File

@ -2147,7 +2147,7 @@ public class MapLogic {
// String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false);
// RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId());
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid,"",sMainLevelConfig.getVirtureId(),user.getPlayerInfoManager().getMaxForce());
ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(),String.valueOf(fightId),"",sMainLevelConfig.getReward());
ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(),String.valueOf(fightId),"",sMainLevelConfig.getReward(),new Date());
}
@ -2229,6 +2229,7 @@ public class MapLogic {
BehaviorUtil.getLevelDifficultyifficuFightInfo(user,FightType.MonterFight, sFloodConfig.getMonster(), teamId, sFloodConfig.getBattleTime(), fightStartResponse, RedisKey.CHALLENGE_MONSTER_ATTACK);
user.getUserMissionManager().onGameEvent(user,GameEvent.MONSTER_ATTACK_PLAY);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true);
ReportUtil.onReportEvent(user,ReportEventEnum.START_XINMO.getType(),fightId,sFloodConfig.getMonster(),MonsterUtil.getMonsterForce(new int[]{sFloodConfig.getMonster()}),"");
}
@ -2283,6 +2284,15 @@ public class MapLogic {
user.getMapManager().setLastMonsterAttack(checkFightId + 1);
user.getUserMissionManager().onGameEvent(user,GameEvent.MONSTER_ATTACK_LEVEL);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
List<CommonProto.Item> itemDrop = drop.getItemlistList();
List<Integer> itemIdList = new ArrayList<>();
List<Integer> itemNumList = new ArrayList<>();
itemDrop.forEach(item->{
itemIdList.add(item.getItemId());
itemIdList.add(item.getItemNum());
});
ReportUtil.onReportEvent(user,ReportEventEnum.START_XINMO.getType(),checkFightId,sFloodConfig.getMonster(),MonsterUtil.getMonsterForce(new int[]{sFloodConfig.getMonster()}),new Date(),"",itemIdList,itemNumList);
}
@ -3013,6 +3023,7 @@ public class MapLogic {
// throw new ErrorCodeException(ErrorCode.REFRESH_WHEL_TIME_NOT);
// }
boolean consumeCount = false;
boolean isFailed = false;
Set<Integer> dailyPass = playerInfoManager.getDailyPass();
if(type==2){
if(!dailyPass.contains(id)){
@ -3067,17 +3078,30 @@ public class MapLogic {
builder.setDrop(drop);
playerInfoManager.addDailyPass(id);
consumeCount = true;
}else{
isFailed = true;
}
}else{
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
ReportUtil.onReportEvent(user,ReportEventEnum.START_DAILY_DUNGEON.getType(),id,sDailyChallengeConfig.getMonsterId(),MonsterUtil.getMonsterForce(new int[]{sDailyChallengeConfig.getMonsterId()}),"",0);
if(consumeCount){
boolean consume = PlayerLogic.getInstance().checkAndUpdate(user, sDailyChallengeConfig.getPrivilegeId()[1], 1);
if(!consume){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
CommonProto.Drop drop = builder.getDrop();
if(!isFailed){
List<CommonProto.Item> itemDrop = drop.getItemlistList();
List<Integer> itemIdList = new ArrayList<>();
List<Integer> itemNumList = new ArrayList<>();
itemDrop.forEach(item->{
itemIdList.add(item.getItemId());
itemIdList.add(item.getItemNum());
});
ReportUtil.onReportEvent(user,ReportEventEnum.COMPLETE_DAILY_DUNGEON.getType(),id,sDailyChallengeConfig.getMonsterId(),MonsterUtil.getMonsterForce(new int[]{sDailyChallengeConfig.getMonsterId()}),new Date(),"",0,itemIdList,itemNumList,type==1?"挑战":"扫荡");
}
user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_CHALLENGE,sDailyChallengeConfig.getType());
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build());
}

View File

@ -45,16 +45,13 @@ public enum ReportEventEnum {
ALLOW_FRIENDS_ASK(31,"allow_friends_ask", new CommonEventHandler(),new String[]{"target_id","target_name","target_level","entrance"}),
SEND_MESSAGE(32,"send_message", new CommonEventHandler(),new String[]{"message_type","message_content"}),
OPEN_MAIL(33,"open_mail", new CommonEventHandler(),new String[]{""}),
START_DAILY_DUNGEON(34,"start_daily_dungeon", new CommonEventHandler(),new String[]{""}),
COMPLETE_DAILY_DUNGEON(35,"complete_daily_dungeon", new CommonEventHandler(),new String[]{""}),
START_XINMO(36,"start_xinmo", new CommonEventHandler(),new String[]{""}),
START_DAILY_DUNGEON(34,"start_daily_dungeon", new CommonEventHandler(),new String[]{"stage_id","enemy_id","enemy_capacity","enemy_hero_list","left_challenge_nums"}),
COMPLETE_DAILY_DUNGEON(35,"complete_daily_dungeon", new CommonEventHandler(),new String[]{"stage_id","enemy_id","enemy_capacity","start_time","enemy_hero_list","left_challenge_nums","rewards_id_list","rewards_num_list","pass_type"}),
START_XINMO(36,"start_xinmo", new CommonEventHandler(),new String[]{"stage_id","enemy_id","enemy_capacity","enemy_hero_list"}),
COMPLETE_XINMO(37,"complete_xinmo", new CommonEventHandler(),new String[]{""}),
COMPLETE_XINMO(37,"complete_xinmo", new CommonEventHandler(),new String[]{"stage_id","enemy_id","enemy_capacity","start_time","enemy_hero_list","rewards_id_list","rewards_num_list"}),
START_CHECHI(38,"start_chechi", new CommonEventHandler(),new String[]{""}),
COMPLETE_CHECHI(39,"complete_chechi", new CommonEventHandler(),new String[]{""}),
COMPLETE_CHECHI(39,"complete_chechi", new CommonEventHandler(),new String[]{"stage_id","enemy_id","enemy_capacity","start_time","enemy_hero_list","left_challenge_nums","rewards_id_list","rewards_num_list"}),
START_PANOPTIC_MIRROR(40,"start_panoptic_mirror", new CommonEventHandler(),new String[]{""}),
@ -62,21 +59,22 @@ public enum ReportEventEnum {
COMPLETE_PANOPTIC_MIRROR(42,"complete_panoptic_mirror", new CommonEventHandler(),new String[]{""}),
EQUIP_SYNTHESIS(43,"equip_synthesis", new CommonEventHandler(),new String[]{""}),
EQUIP_SYNTHESIS(43,"equip_synthesis", new CommonEventHandler(),new String[]{"item_id","item_name","cost_item_id","cost_amount"}),
TREASURE_SYNTHESIS(44,"treasure_synthesis", new CommonEventHandler(),new String[]{""}),
TREASURE_SYNTHESIS(44,"treasure_synthesis", new CommonEventHandler(),new String[]{"item_id","item_name","cost_item_id","cost_amount"}),
FATALITY_SYNTHESIS(45,"fatality_synthesis", new CommonEventHandler(),new String[]{""}),
FATALITY_SYNTHESIS(45,"fatality_synthesis", new CommonEventHandler(),new String[]{"item_id","item_name","cost_item_id"}),
NORMAL_SUMMON(46,"Normal_summon", new CommonEventHandler(),new String[]{"hero_id","summon_type","cost_item_id","cost_amount","hero_id_quality_list"}),
FRIENDSHIP_SUMMON(47,"friendship_summon", new CommonEventHandler(),new String[]{"hero_id","summon_type","cost_item_id","cost_amount","hero_id_quality_list"}),
GODS_SUMMON(48,"gods_summon", new CommonEventHandler(),new String[]{"hero_id","summon_type","cost_item_id","cost_amount","hero_id_quality_list"}),
SUMMON_HERO(49,"summon_hero", new CommonEventHandler(),new String[]{""}),//四元阵
HERO_COMPOSITION(50,"hero_composition", new CommonEventHandler(),new String[]{""}),
SUMMON_HERO(49,"summon_hero", new CommonEventHandler(),new String[]{"item_id","hero_group","get_amount"}),//四元阵
SEND_HERO(51,"send_hero", new CommonEventHandler(),new String[]{""}),
HERO_COMPOSITION(50,"hero_composition", new CommonEventHandler(),new String[]{"hero_id","hero_level","hero_quality","reward_list","reward_nums_list"}),
SEND_HERO(51,"send_hero", new CommonEventHandler(),new String[]{"hero_id","hero_level","hero_quality","reward_list","reward_nums_list"}),
TREASURE_DECOMPOSITION(52,"treasure_decomposition", new CommonEventHandler(),new String[]{""}),
VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""});

View File

@ -211,10 +211,8 @@ public class GuildLogic {
if(StringUtil.isEmpty(familyName)){
throw new ErrorCodeException(ErrorCode.NULL_NAME);
}
boolean result = true;
if(!StringUtil.isEmpty(announce)){
result = ShieldedWordUtils.checkName(user,announce,false,ChatContentType.FAMILY_NAME);
if (!result) {
if (!ShieldedWordUtils.checkName(user,familyName,false,ChatContentType.FAMILY_NAME)||!ShieldedWordUtils.checkName(user,announce,false,ChatContentType.FAMILY_NAME)) {
throw new ErrorCodeException(ErrorCode.FAMILY_IN_SENSITIVE);
}
}

View File

@ -220,6 +220,7 @@ public class HeroLogic{
//检验消耗
boolean allowFree = false;
int[] costAmount = new int[1];
int privilege = sLotterySetting.getFreeTimes();
if(privilege!=0){
allowFree = PlayerLogic.getInstance().checkAndUpdate(user,privilege, perCount);
@ -230,6 +231,7 @@ public class HeroLogic{
int [][] costItems = new int[][]{cost};
enoughCost = ItemUtil.itemCost(user, costItems,BIReason.RANDOM_HERO_CONSUME,type);
if(enoughCost){
costAmount = cost;
break;
}
}
@ -250,6 +252,8 @@ public class HeroLogic{
resultRandom[i] =sLotteryRewardConfig.getReward();
index = i;
}
//上报抽卡
reportRandom(user,sLotterySetting,resultRandom,costAmount);
for(int i = 0;i<tenTimesMustGetItem.length;i++) {
resultRandom[i+index+1] = tenTimesMustGetItem[i];
}
@ -267,6 +271,48 @@ public class HeroLogic{
System.out.println(System.currentTimeMillis()-time);
}
private void reportRandom(User user,SLotterySetting sLotterySetting,int[][] resultRandom,int[] costItem){
int lotteryType = sLotterySetting.getLotteryType();
ReportEventEnum eventEnum = null;
switch (lotteryType){
case 5:
eventEnum = ReportEventEnum.NORMAL_SUMMON;
break;
case 4:
eventEnum = ReportEventEnum.FRIENDSHIP_SUMMON;
break;
case 1:
eventEnum = ReportEventEnum.GODS_SUMMON;
break;
case 2:
eventEnum = ReportEventEnum.SUMMON_HERO;
default:
break;
}
if(eventEnum==null){
return;
}
try {
if(eventEnum == ReportEventEnum.SUMMON_HERO){
ReportUtil.onReportEvent(user,eventEnum.getType(),String.valueOf(resultRandom[0][0]),resultRandom[0][1]);
return;
}
List<String> result = new ArrayList<>(resultRandom.length);
for(int[] random:resultRandom){
SCHero scHero = SCHero.getsCHero().get(random[0]);
if(scHero==null){
result.add(String.valueOf(random[0]));
}else{
result.add(random[0]+"-"+scHero.getStar());
}
}
ReportUtil.onReportEvent(user,eventEnum.getType(),"",String.valueOf(sLotterySetting.getPerCount()),String.valueOf(costItem[0]),String.valueOf(costItem[1]),result);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* @param user
@ -2357,6 +2403,14 @@ public class HeroLogic{
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
}
CommonProto.Drop.Builder drop = heroBackDrop(user, heroList, returnPercent, BIReason.HERO_BACK_REWARD,false);
List<CommonProto.Item> itemList = drop.getItemlistList();
List<Integer> itemId = new ArrayList<>(itemList.size());
List<Integer> itemNum = new ArrayList<>(itemList.size());
itemList.forEach(item->{
itemId.add(item.getItemId());
itemNum.add(item.getItemNum());
});
ReportUtil.onReportEvent(user,ReportEventEnum.HERO_COMPOSITION.getType(),String.valueOf(hero.getTemplateId()),hero.getLevel(),hero.getStar(),itemId,itemNum);
hero.setLevel(user,1);
hero.setBreakId(0);
HeroInfoProto.HeroReturnResponse build = HeroInfoProto.HeroReturnResponse.newBuilder().setDrop(drop).build();
@ -2420,7 +2474,6 @@ public class HeroLogic{
resultDrop[index] = new int[]{entry.getKey(),entry.getValue()};
index++;
}
CommonProto.Drop.Builder drop = ItemUtil.drop(user, resultDrop, reason);
return drop;
@ -2579,7 +2632,7 @@ public class HeroLogic{
HeroInfoProto.MergeSoulResponse build = HeroInfoProto.MergeSoulResponse.newBuilder().setDrop(dropBuilder).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.SOUL_MERGE_RESPONSE_VALUE,build,true);
ReportUtil.onReportEvent(user,ReportEventEnum.FATALITY_SYNTHESIS.getType(),targetId,"",soulIdList);
}
public static void unloadSoulEquipOpt(ISession iSession, String heroId, List<HeroInfoProto.SoulEquipPos> equipIdsList) throws Exception {

View File

@ -8,6 +8,8 @@ import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.ktbeans.ReportEventEnum;
import com.ljsd.jieling.ktbeans.ReportUtil;
import com.ljsd.jieling.logic.activity.event.EspecialEquipUpEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent;
@ -272,6 +274,9 @@ public class ItemLogic {
Map<String, PropertyItem> equipMap = user.getEquipManager().getEquipMap();
List<int[]> items = new ArrayList<>();
StringBuilder reward = new StringBuilder();
List<Integer> jewelIdReport = new ArrayList<>();
List<Integer> jewelLevelReport = new ArrayList<>();
List<Integer> jewelQualityReport = new ArrayList<>();
for (String jewelId : jewelList) {
if(!equipMap.containsKey(jewelId))
throw new ErrorCodeException(ErrorCode.ITEM_DECOMPOSE_NO_EQUIP);
@ -317,14 +322,21 @@ public class ItemLogic {
}
}
SItem sItem = SItem.getsItemMap().get(propertyItem.getEquipId());
jewelIdReport.add(propertyItem.getEquipId());
jewelLevelReport.add(propertyItem.getLevel());
jewelQualityReport.add(((Jewel) propertyItem).getBuildLevel());
reward = getStringBuilder(reward, 1, sItem.getResolveReward());
}
for (String jewelId : jewelList) {
user.getEquipManager().remove(jewelId);
}
int[][] dropItems = items.toArray(new int[items.size()][]);
Map<Integer, Integer> reportMap = ItemUtil.arrayToMap(dropItems);
ReportUtil.onReportEvent(user,ReportEventEnum.TREASURE_DECOMPOSITION.getType(),jewelIdReport,jewelLevelReport,jewelQualityReport,new ArrayList<>(reportMap.keySet()),reportMap.values());
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, 0,BIReason.JEWEL_DECOMPOSE);
ItemUtil.drop(user,dropItems,drop,BIReason.JEWEL_DECOMPOSE);
sendUseAndPriceItemMessage(session,MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE,drop);
@ -378,8 +390,14 @@ public class ItemLogic {
//2有过突破的卡 =当前等级返还升级材料+突破表返还材料
Map<Integer, Integer> baseItemMap = new HashMap<>();
int rankUpReturnPercent= SSpecialConfig.getIntegerValue(SSpecialConfig.HERO_SACRIFICE_PERCENT);
List<Integer> heroIdReport = new ArrayList<>();
List<Integer> heroLevelReport = new ArrayList<>();
List<Integer> heroStarReport = new ArrayList<>();
for (String heroId : heroIdsList) {
Hero hero = heroManager.getHeroMap().get(heroId);
heroIdReport.add(hero.getTemplateId());
heroLevelReport.add(hero.getLevel());
heroStarReport.add(hero.getStar());
heroManager.removeHero(uid,heroId);
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
SHeroSacrifice starSHeroSacrifice = STableManager.getFigureConfig(HeroStaticConfig.class).getsHeroSacrificeMap(1, hero.getStar());
@ -427,9 +445,37 @@ public class ItemLogic {
}else {
user.getUserMissionManager().onGameEvent(user,GameEvent.DESPOSE_HERO,heroIdsList.size());
}
if(reson== BIReason.DECOMPOS_HERO_REWARD){
ReportUtil.onReportEvent(user, ReportEventEnum.SEND_HERO.getType(),heroIdReport,heroLevelReport,heroStarReport,new ArrayList<>(baseItemMap.keySet()),baseItemMap.values());
}
return ItemUtil.drop(user,itemReturnPercent(itemArray,rankUpReturnPercent),reson);
}
/**
*
*/
private Map<Integer,Integer> heroEspecialEquipReturnItem(Hero hero){
int especialEquipLevel = hero.getEspecialEquipLevel();
if(especialEquipLevel==1||especialEquipLevel==0){
return null;
}
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
int[] equipTalismana = scHero.getEquipTalismana();
if(equipTalismana==null||equipTalismana.length<2){
return null;
}
Map<Integer,Integer> baseItemMap = new HashMap<>();
TreeMap<Integer, SEquipTalismana> levelMap = (TreeMap<Integer, SEquipTalismana>) (SEquipTalismana.equipTalismanaStarMap.get(equipTalismana[1]));
Map<Integer, SEquipTalismana> returnMap = levelMap.subMap(1, hero.getEspecialEquipLevel());
for(Map.Entry<Integer, SEquipTalismana> entry:returnMap.entrySet()){
int[][] rankupBasicMaterial = entry.getValue().getRankupBasicMaterial();
for(int[] rankUpConsume:rankupBasicMaterial){
baseItemMap.put(rankUpConsume[0],baseItemMap.getOrDefault(rankUpConsume[0],0)+rankUpConsume[1]);
}
}
return baseItemMap;
}
/**
*
* @param sumConsume
@ -582,7 +628,7 @@ public class ItemLogic {
* @param equipid
* @return
*/
public static int getEquipByID(User user, int equipId) throws Exception {
public static int getEquipByID(User user, int equipId){
Item item = user.getItemManager().getItemMap().get(equipId);
if(item==null){
return 0;

View File

@ -60,27 +60,35 @@ public class ForceCurrRank extends AbstractRank implements IEventHandler{
if(infoQueue.isEmpty()){
return;
}
int size = infoQueue.size();
List<UserMainTeamForceEvent> eventList = new ArrayList<>(size);
try{
int size = infoQueue.size();
List<UserMainTeamForceEvent> eventList = new ArrayList<>(size);
//看队列长度和每次最多传输多少比较,找最小
int transport = Math.min(size,TRANSPORT_SIZE);
//看队列长度和每次最多传输多少比较,找最小
int transport = Math.min(size,TRANSPORT_SIZE);
for(int i = 0 ; i < transport;i++){
eventList.add(infoQueue.poll());
}
Set<Integer> changeId = new HashSet<>();
eventList.forEach(n->changeId.add(n.getUid()));
changeId.forEach(i-> {
try {
User user = UserManager.getUser(i);
int force = HeroLogic.getInstance().calTeamTotalForce(user, 1, false);
addRank(i,"",force);
} catch (Exception e) {
e.printStackTrace();
for(int i = 0 ; i < transport;i++){
UserMainTeamForceEvent event = infoQueue.poll();
if(event!=null){
eventList.add(event);
}
}
});
Set<Integer> changeId = new HashSet<>();
eventList.forEach(n->changeId.add(n.getUid()));
changeId.forEach(i-> {
try {
User user = UserManager.getUser(i);
int force = HeroLogic.getInstance().calTeamTotalForce(user, 1, false);
addRank(i,"",force);
} catch (Exception e) {
e.printStackTrace();
}
});
}catch (Exception e){
e.printStackTrace();
}
}
}

View File

@ -598,7 +598,7 @@ public class ItemUtil {
// }
// KtEventUtils.onKtEvent(user, eventType,reason,GlobalsDef.addReason,entry.getKey(),itemNum,item.getItemNum());
ReportUtil.onReportEvent(user,ReportEventEnum.GET_ITEM.getType(),itemNum,String.valueOf(reason),item.getItemId());
baseItemReport(user,item.getItemId(),itemNum,2,reason);
baseItemReport(user,item.getItemId(),itemNum,1,reason);
if(sItem.getItemType() == GlobalItemType.POKENMON_COMONPENT && sItem.getQuantity()>=SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_lottery_differ_content_parm)){
SDifferDemonsConfig sDifferDemonsConfig = SDifferDemonsConfig.sDifferDemonsConfigMapByComId.get(sItem.getId());
@ -616,6 +616,7 @@ public class ItemUtil {
sendToFront.add(CBean2Proto.getItem(item,-1));
if(sItem.getItemType()==GlobalItemType.EQUIP){
user.getUserMissionManager().onGameEvent(user,GameEvent.GET_EQUIP,sItem.getId(),itemNum);
ReportUtil.onReportEvent(user,ReportEventEnum.GET_EQUIP.getType(),sItem.getId(),itemNum,reason);
}
}
if (dropBuilder != null) {