灵兽宝阁活动冲突
parent
a0050f326b
commit
e1e551f1f1
|
@ -1,31 +1,17 @@
|
||||||
package com.ljsd.jieling.logic.activity;
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
import com.ljsd.jieling.core.VipPrivilegeType;
|
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
|
||||||
import com.ljsd.jieling.globals.Global;
|
|
||||||
import com.ljsd.jieling.jbean.ActivityMission;
|
import com.ljsd.jieling.jbean.ActivityMission;
|
||||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
|
||||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
import com.ljsd.jieling.logic.activity.event.RandomCardEvent;
|
import com.ljsd.jieling.logic.activity.event.RandomCardEvent;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
import config.SLotterySetting;
|
||||||
import com.ljsd.jieling.logic.rank.RankContext;
|
import config.SLotterySpecialConfig;
|
||||||
import com.ljsd.jieling.logic.rank.RankEnum;
|
|
||||||
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
|
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
|
||||||
import com.ljsd.jieling.util.ItemUtil;
|
|
||||||
import config.*;
|
|
||||||
import manager.STableManager;
|
import manager.STableManager;
|
||||||
import org.springframework.data.redis.core.ZSetOperations;
|
|
||||||
import util.TimeUtils;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Consumer;
|
|
||||||
import java.util.function.Predicate;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author lvxinran
|
* @author lvxinran
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
package com.ljsd.jieling.logic.activity;
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
import com.ljsd.jieling.exception.ErrorCode;
|
|
||||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
|
||||||
import com.ljsd.jieling.globals.BIReason;
|
|
||||||
import com.ljsd.jieling.jbean.ActivityMission;
|
import com.ljsd.jieling.jbean.ActivityMission;
|
||||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
import com.ljsd.jieling.util.ItemUtil;
|
|
||||||
import com.ljsd.jieling.util.MessageUtil;
|
|
||||||
import config.SActivityRewardConfig;
|
|
||||||
import rpc.protocols.CommonProto;
|
|
||||||
import rpc.protocols.PlayerInfoProto;
|
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
|
@ -5,21 +5,22 @@ import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
import com.ljsd.jieling.globals.BIReason;
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.jbean.ActivityMission;
|
import com.ljsd.jieling.jbean.ActivityMission;
|
||||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.RandomCardEvent;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
import com.ljsd.jieling.util.ItemUtil;
|
import com.ljsd.jieling.util.ItemUtil;
|
||||||
import com.ljsd.jieling.util.MessageUtil;
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
import config.SActivityRewardConfig;
|
import config.SActivityRewardConfig;
|
||||||
|
import config.SLotterySpecialConfig;
|
||||||
import config.SSpiritAnimalSummon;
|
import config.SSpiritAnimalSummon;
|
||||||
import manager.STableManager;
|
import manager.STableManager;
|
||||||
import rpc.protocols.CommonProto;
|
import rpc.protocols.CommonProto;
|
||||||
import rpc.protocols.PlayerInfoProto;
|
import rpc.protocols.PlayerInfoProto;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,6 +32,51 @@ public class LimitRandomSpecialMonsterActivityNew extends LimitRandomCardActivit
|
||||||
|
|
||||||
public LimitRandomSpecialMonsterActivityNew(int id) {
|
public LimitRandomSpecialMonsterActivityNew(int id) {
|
||||||
super(id);
|
super(id);
|
||||||
|
Poster.getPoster().listenEvent(this, RandomCardEvent.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEvent(IEvent event) throws Exception {
|
||||||
|
if(event instanceof RandomCardEvent){
|
||||||
|
RandomCardEvent cardEvent =(RandomCardEvent) event;
|
||||||
|
if(cardEvent.getType()==0||cardEvent.getType()!=id){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
User user = UserManager.getUser(cardEvent.getUid());
|
||||||
|
if(user.getActivityManager().getActivityMissionMap().get(id)==null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<Integer, Integer> mustAppear = cardEvent.getMustAppear();
|
||||||
|
int allCount = 0;
|
||||||
|
if(mustAppear.size()>2){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int index = 1;
|
||||||
|
List<SLotterySpecialConfig> configList = new ArrayList<>();
|
||||||
|
for(Map.Entry<Integer,Integer> entry:mustAppear.entrySet()){
|
||||||
|
int key = entry.getKey();
|
||||||
|
List<SLotterySpecialConfig> lotterySpecialConfigListByType = SLotterySpecialConfig.getLotteryListByDifferentType(key);
|
||||||
|
if(lotterySpecialConfigListByType==null||lotterySpecialConfigListByType.isEmpty()){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
configList.addAll(lotterySpecialConfigListByType);
|
||||||
|
}
|
||||||
|
configList.sort(Comparator.comparingInt(SLotterySpecialConfig::getDifferentType));
|
||||||
|
for(SLotterySpecialConfig config:configList){
|
||||||
|
if(config==null||config.getIsNeedShow()==0){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
allCount +=mustAppear.get(config.getDifferentType())*index;
|
||||||
|
index*=1000;
|
||||||
|
}
|
||||||
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||||
|
|
||||||
|
activityMission.setV(allCount);
|
||||||
|
update(UserManager.getUser(cardEvent.getUid()),cardEvent.getCount());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue