无尽秘宝刷新推送

lvxinran 2021-08-01 00:00:50 +08:00
parent 407b087763
commit a4942479a0
2 changed files with 23 additions and 13 deletions

View File

@ -3420,24 +3420,30 @@ public class MapLogic {
EndlessTreasureReward worldTreasureReward = user.getMapManager().getEndlessTreasureReward();
//检测一下刷新
flushEndlessTreasure(user);
MapInfoProto.EndlessTreasureInfoResponse.Builder response = MapInfoProto.EndlessTreasureInfoResponse.newBuilder();
// if(worldTreasureReward.getFirstStartTime()!=0&&worldTreasureReward.getFirstStartTime()<=TimeUtils.nowInt()&&worldTreasureReward.getCreateTime()>TimeUtils.now()/1000){
Map<Integer, Integer> rewardStatusMap = worldTreasureReward.getRewardStatusMap();
Map<Integer, SEndlessTreasure> worldBossTreasureStaticConfig = STableManager.getConfig(SEndlessTreasure.class);
List<MapInfoProto.EndlessTreasureRewardState> states = new ArrayList<>(100);
worldBossTreasureStaticConfig.forEach((k,v)->{
MapInfoProto.EndlessTreasureRewardState.Builder builder = MapInfoProto.EndlessTreasureRewardState.newBuilder().setId(k).setState(rewardStatusMap.getOrDefault(k,0));
states.add(builder.build());
});
response.addAllTreasureRewardState(states);
response.setResetTime(worldTreasureReward.getCreateTime());
response.setIsBuy(worldTreasureReward.getIsBuy());
MapInfoProto.EndlessTreasureInfoResponse.Builder response = getEndlessResponseBuilder(worldTreasureReward);
// }else {
// response.setResetTime(-1);
// }
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
}
public MapInfoProto.EndlessTreasureInfoResponse.Builder getEndlessResponseBuilder(EndlessTreasureReward worldTreasureReward){
MapInfoProto.EndlessTreasureInfoResponse.Builder response = MapInfoProto.EndlessTreasureInfoResponse.newBuilder();
// if(worldTreasureReward.getFirstStartTime()!=0&&worldTreasureReward.getFirstStartTime()<=TimeUtils.nowInt()&&worldTreasureReward.getCreateTime()>TimeUtils.now()/1000){
Map<Integer, Integer> rewardStatusMap = worldTreasureReward.getRewardStatusMap();
Map<Integer, SEndlessTreasure> worldBossTreasureStaticConfig = STableManager.getConfig(SEndlessTreasure.class);
List<MapInfoProto.EndlessTreasureRewardState> states = new ArrayList<>(100);
worldBossTreasureStaticConfig.forEach((k,v)->{
MapInfoProto.EndlessTreasureRewardState.Builder builder = MapInfoProto.EndlessTreasureRewardState.newBuilder().setId(k).setState(rewardStatusMap.getOrDefault(k,0));
states.add(builder.build());
});
response.addAllTreasureRewardState(states);
response.setResetTime(worldTreasureReward.getCreateTime());
response.setIsBuy(worldTreasureReward.getIsBuy());
return response;
}
public void flushEndlessTreasure(User user) throws Exception {
if(user.getMapManager().getEndlessTreasureReward().getCreateTime()<TimeUtils.nowInt()){
user.getMapManager().resetEndlessTreasure();
@ -3445,6 +3451,10 @@ public class MapLogic {
if(item!=null&&item.getItemNum()>0){
item.setItemNum(0);
}
LOGGER.info("刷新无尽秘宝uid=>{}",user.getId());
MapInfoProto.EndlessTreasureInfoResponse.Builder response = getEndlessResponseBuilder(user.getMapManager().getEndlessTreasureReward());
MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1, MessageTypeProto.MessageType.ENDLESS_TREASURE_REFRESH_INDICATION_VALUE,response.build(),true);
}
}
}

View File

@ -80,7 +80,7 @@ public enum ActivityTypeEnum {
MISTYTRIP(ActivityType.MISTY_TRIP,MistyTripActivity::new),
SUPERFUND128(ActivityType.SUPERFUND128,SuperFundActivity::new),//超值基金128
SUPERFUND328(ActivityType.SUPERFUND328,SuperFundActivity::new),//超值基金328
PREPARE_FIFTEEN_ACTIVITY(ActivityType.PREPARE_FIFTEEN_ACTIVITY,DefaultEmptyActivity::new),//超值基金328
PREPARE_FIFTEEN_ACTIVITY(ActivityType.PREPARE_FIFTEEN_ACTIVITY,DefaultEmptyActivity::new);//超值基金328
private int type;
private Function<Integer, AbstractActivity> toActivityFunction;