活动改版,初版
parent
d97164a2db
commit
c91b204bdc
|
|
@ -32,7 +32,7 @@ public class GetSomeActivityInfoHandler extends BaseHandler<PlayerInfoProto.GetS
|
|||
activityUpdateMap.put(activityId, activityMissionMap.get(activityId));
|
||||
});
|
||||
|
||||
List<CommonProto.ActivityInfo> activityInfos =ActivityLogic.getInstance().getActivityInfos(activityUpdateMap, user.getPlayerInfoManager().getCreateTime());
|
||||
List<CommonProto.ActivityInfo> activityInfos =ActivityLogic.getInstance().getActivityInfos(user,activityUpdateMap, user.getPlayerInfoManager().getCreateTime());
|
||||
PlayerInfoProto.GetSomeActitityInfoRespone build = PlayerInfoProto.GetSomeActitityInfoRespone.newBuilder().addAllActivityInfo(activityInfos).build();
|
||||
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GET_SOME_ACTIVITY_INFO_RESPONSE_VALUE,build);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -370,12 +370,12 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
|||
takeAllReward(sessionByUid);
|
||||
}
|
||||
|
||||
List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission) {
|
||||
return getAllMissInfo(activityMission, null);
|
||||
List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(User user,ActivityMission activityMission) {
|
||||
return getAllMissInfo(user,activityMission,null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission, Set<Integer> filter) {
|
||||
public List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(User user,ActivityMission activityMission, Set<Integer> filter) {
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = new ArrayList<>(activityProgressInfoMap.size());
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> missionProgress : activityProgressInfoMap.entrySet()) {
|
||||
|
|
@ -396,10 +396,19 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
|||
*/
|
||||
public void sendActivityProgress(ISession session, ActivityMission activityMission, Set<Integer> filterMissId) {
|
||||
PlayerInfoProto.ActivityUpateProgressIndication.Builder builder = PlayerInfoProto.ActivityUpateProgressIndication.newBuilder();
|
||||
builder.setActivityInfo(CommonProto.ActivityInfo.newBuilder().setValue(activityMission.getV()).addAllMission(getAllMissInfo(activityMission, filterMissId)).setActivityId(id));
|
||||
if (session != null) {
|
||||
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.ACTIVITY_UPDATE_PROGRESS_INDICATION_VALUE, builder.build(), true);
|
||||
User user = UserManager.getUserInMem(session.getUid());
|
||||
if (user != null && activityMission != null){
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missInfo = getAllMissInfo(user, activityMission, filterMissId);
|
||||
CommonProto.ActivityInfo.Builder builder1 = CommonProto.ActivityInfo.newBuilder()
|
||||
.setValue(activityMission.getV())
|
||||
.addAllMission(missInfo)
|
||||
.setActivityId(id);
|
||||
builder.setActivityInfo(builder1);
|
||||
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.ACTIVITY_UPDATE_PROGRESS_INDICATION_VALUE, builder.build(), true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void sendActivityProgress(User user, ActivityMission activityMission, Set<Integer> filterMissId) {
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
sendLuckWheelPool=true;
|
||||
activityUpdateMap.put(activityId, activityMissionMap.get(activityId));
|
||||
}
|
||||
List<CommonProto.ActivityInfo> activityInfos = getActivityInfos(activityUpdateMap, user1.getPlayerInfoManager().getCreateTime());
|
||||
List<CommonProto.ActivityInfo> activityInfos = getActivityInfos(user1,activityUpdateMap, user1.getPlayerInfoManager().getCreateTime());
|
||||
builder.addAllActivityInfo(activityInfos);
|
||||
|
||||
if(sendLuckWheelPool){
|
||||
|
|
@ -519,7 +519,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
int rewardResponseValue = MessageTypeProto.MessageType.GET_ALL_ACTIVITY_RESPONSE_VALUE;
|
||||
checkActivityOfUser(user, null);
|
||||
List<CommonProto.ActivityInfo> activityInfoList = getActivityInfos(user.getActivityManager().getActivityMissionMap(), createTime);
|
||||
List<CommonProto.ActivityInfo> activityInfoList = getActivityInfos(user,user.getActivityManager().getActivityMissionMap(), createTime);
|
||||
PlayerInfoProto.GetAllActivityResponse.Builder builder = PlayerInfoProto.GetAllActivityResponse.newBuilder();
|
||||
|
||||
builder.addAllActivityInfo(activityInfoList);
|
||||
|
|
@ -543,7 +543,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
* @param createTime
|
||||
* @return
|
||||
*/
|
||||
public List<CommonProto.ActivityInfo> getActivityInfos(Map<Integer, ActivityMission> activityMissionMap, long createTime) {
|
||||
public List<CommonProto.ActivityInfo> getActivityInfos(User user,Map<Integer, ActivityMission> activityMissionMap, long createTime) {
|
||||
Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap();
|
||||
List<CommonProto.ActivityInfo> activityInfoList = new ArrayList<>(activityMissionMap.size());
|
||||
for (Map.Entry<Integer, ActivityMission> activityState : activityMissionMap.entrySet()) {
|
||||
|
|
@ -601,7 +601,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
LOGGER.error(sGlobalActivity.getId()+":活动类型不存在");
|
||||
continue;
|
||||
}
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos =abstractActivity.getAllMissInfo(activityMission);
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos =abstractActivity.getAllMissInfo(user,activityMission);
|
||||
CommonProto.ActivityInfo build = CommonProto.ActivityInfo.newBuilder()
|
||||
.setActivityId(activityId)
|
||||
.addAllMission(missionInfos)
|
||||
|
|
@ -627,7 +627,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
||ActivityType.LUCK_WHEEL_ADVANCE == SGlobalActivity.getsGlobalActivityMap().get(activityId).getType())
|
||||
sendLuckWheelPool=true;
|
||||
activityUpdateMap.put(activityId, activityMissionMap.get(activityId));
|
||||
List<CommonProto.ActivityInfo> activityInfos = getActivityInfos(activityUpdateMap, user.getPlayerInfoManager().getCreateTime());
|
||||
List<CommonProto.ActivityInfo> activityInfos = getActivityInfos(user,activityUpdateMap, user.getPlayerInfoManager().getCreateTime());
|
||||
builder.addAllActivityInfo(activityInfos);
|
||||
if(sendLuckWheelPool){
|
||||
sendLuckWheelPool(user,session);
|
||||
|
|
@ -767,7 +767,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1) / 1000);
|
||||
int endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2) / 1000);
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = abstractActivity.getAllMissInfo(activityMission);
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = abstractActivity.getAllMissInfo(user,activityMission);
|
||||
fBuilder.addActivityInfo(CommonProto.ActivityInfo.newBuilder().setValue(activityMission.getV()).setActivityId(activityId).addAllMission(missionInfos).setStartTime(startTime).setEndTime(endTime).setReallyOpen(activityMission.getOpenType()).build());
|
||||
fBuilder.setHadLuckTime( user.getPlayerInfoManager().getLuckWheelLimitTime());
|
||||
fBuilder.setHadAdvanceLuckTime(user.getPlayerInfoManager().getLuckAdvanceWheelLimitTime());
|
||||
|
|
|
|||
|
|
@ -54,6 +54,6 @@ public interface IActivity {
|
|||
|
||||
void onActivityEndOnMySelf(User user) throws Exception;
|
||||
|
||||
List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission, Set<Integer> filter);
|
||||
List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(User user,ActivityMission activityMission, Set<Integer> filter);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public class LevelExpectActivity extends ExpectRankActivity {
|
|||
|
||||
|
||||
@Override
|
||||
public List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission, Set<Integer> filter) {
|
||||
public List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(User user,ActivityMission activityMission, Set<Integer> filter) {
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||
Map<Integer, Integer> mapValues = RedisUtil.getInstence().getMapValues(RedisKey.ACTIVITY_GIFT_LIMIT, String.valueOf(id), Integer.class, Integer.class);
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = new ArrayList<>(activityProgressInfoMap.size());
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.globals.Global;
|
|||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.event.ActivityStateChangeEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.SuperBoxEvent;
|
||||
|
|
@ -19,6 +20,7 @@ import config.SGlobalActivity;
|
|||
import config.SRechargeCommodityNewConfig;
|
||||
import config.SSurpriseBox;
|
||||
import manager.STableManager;
|
||||
import rpc.protocols.CommonProto;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
|
@ -49,17 +51,9 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
@Override
|
||||
public void initActivity(User user) throws Exception {
|
||||
ActivityMission mission = new ActivityMission();
|
||||
// 读表获取阶段奖励信息
|
||||
Map<Integer, SSurpriseBox> boxMap = SSurpriseBox.map.getOrDefault(id,new HashMap<>());
|
||||
if (boxMap.isEmpty()){
|
||||
LOGGER.error("惊喜礼盒初始化失败,活动id:"+id);
|
||||
}
|
||||
List<Integer> list = boxMap.values().stream().mapToInt(SSurpriseBox::getId).boxed().collect(Collectors.toList());
|
||||
// 初始化阶段奖励
|
||||
ActivityLogic.getInstance().initOtherMission(mission, list);
|
||||
ActivityLogic.getInstance().initOtherMission(mission, new ArrayList<>());
|
||||
user.getActivityManager().getActivityMissionMap().put(id, mission);
|
||||
// 修改状态
|
||||
updateState(user);
|
||||
LOGGER.info("惊喜礼盒初始化..."+id);
|
||||
}
|
||||
|
||||
|
|
@ -74,8 +68,10 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
User user = UserManager.getUser(event1.getUserId());
|
||||
// 礼包处理
|
||||
giftHandle(user, event1.getGiftId());
|
||||
// 状态刷新
|
||||
updateState(user);
|
||||
|
||||
// 客户端推送
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
sendActivityProgress(session, user.getActivityManager().getActivityMissionMap().get(id), null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -100,10 +96,9 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
for (SSurpriseBox box : boxes) {
|
||||
if (box.getPackId() == giftId){
|
||||
// 当前礼包状态处理
|
||||
ActivityProgressInfo current = missionMap.get(box.getId());
|
||||
if (current != null && !checkBuyGiftCount(user,giftId)){
|
||||
if (!checkBuyGiftCount(user,giftId)){
|
||||
ActivityProgressInfo current = new ActivityProgressInfo();
|
||||
current.setState(ActivityType.HAD_TAKED);
|
||||
current.setProgrss(8);
|
||||
missionMap.put(box.getId(),current);
|
||||
}
|
||||
break;
|
||||
|
|
@ -117,71 +112,123 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
* 不要问我为啥写的这么恶心,因为我自己也不知怎么写出来的
|
||||
* @param user
|
||||
*/
|
||||
private void updateState(User user){
|
||||
private int getProgress(User user,int missionId){
|
||||
// 活动信息是否为null
|
||||
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
int days = mission.getV();
|
||||
// 库
|
||||
ActivityProgressInfo progressInfo = Optional.ofNullable(mission.getActivityMissionMap()).map(v->v.get(missionId)).orElse(null);
|
||||
// 表
|
||||
SSurpriseBox box = Optional.ofNullable(SSurpriseBox.map.get(id)).map(v -> v.get(missionId)).orElse(null);
|
||||
// 返回值
|
||||
int result = 0;
|
||||
// 极为恶心的循环,包含超多的if-else
|
||||
if (box != null){
|
||||
if (progressInfo != null && progressInfo.getState() == ActivityType.HAD_TAKED){
|
||||
// 已购买
|
||||
result = 8;
|
||||
}else {
|
||||
// 未购买, 是否解锁
|
||||
if (days >= box.getUnlockDay()){
|
||||
// 已解锁, 可买天数
|
||||
if (days >= box.getBuyDay()){
|
||||
// 可买, 是否购买前置礼包
|
||||
if (checkBuyAgo(user,box.getId())){
|
||||
// 已购买前置. 是否需要特权, 是否激活特权
|
||||
result = checkRule(user,box.getRule())?1:4;
|
||||
}else {
|
||||
// 未购买前置
|
||||
result = 3;
|
||||
}
|
||||
}else {
|
||||
// 不可买
|
||||
result = 2;
|
||||
}
|
||||
}else {
|
||||
// 未解锁, 是否可见
|
||||
if (days >= box.getVisibleDay()){
|
||||
// 可见, 是否可预览
|
||||
result = days >= box.getViewDay()?6:7;
|
||||
}else {
|
||||
// 不可见
|
||||
result = 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(User user,ActivityMission activityMission, Set<Integer> filter) {
|
||||
long now = TimeUtils.now();
|
||||
long start = getSrartTime();
|
||||
long end = getEndTime();
|
||||
// 验证活动是否开启
|
||||
if (now < start || now > end){
|
||||
return;
|
||||
return new ArrayList<>();
|
||||
}
|
||||
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if (mission == null){
|
||||
return;
|
||||
if (activityMission == null){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
// 计算过去了几天
|
||||
int days = TimeUtils.getSoFarWentDays(start, now)+1;
|
||||
mission.setV(days);
|
||||
// mission 单个礼包
|
||||
Map<Integer, ActivityProgressInfo> missionMap = mission.getActivityMissionMap();
|
||||
Map<Integer, SSurpriseBox> boxMap = SSurpriseBox.map.get(id);
|
||||
// 极为恶心的循环,包含超多的if-else
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> entry : missionMap.entrySet()) {
|
||||
int k = entry.getKey();
|
||||
ActivityProgressInfo v = entry.getValue();
|
||||
int progrss = v.getProgrss();
|
||||
// 是否已购买
|
||||
if (progrss == 8){
|
||||
// 已购买
|
||||
// 更新记录天数
|
||||
activityMission.setV(TimeUtils.getSoFarWentDays(start, now)+1);
|
||||
// 库里存储的活动档位信息
|
||||
Map<Integer, ActivityProgressInfo> progressInfoMap = activityMission.getActivityMissionMap();
|
||||
// 返回对象
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = new ArrayList<>(progressInfoMap.size());
|
||||
// 策划表的配置
|
||||
Map<Integer, SSurpriseBox> boxMap = SSurpriseBox.map.getOrDefault(id,new HashMap<>());
|
||||
for (Map.Entry<Integer, SSurpriseBox> entry : boxMap.entrySet()) {
|
||||
// 参数初始化
|
||||
int missionId = entry.getKey();
|
||||
int progress = getProgress(user,missionId);
|
||||
if (progress == 0){
|
||||
continue;
|
||||
}
|
||||
int state = progress==8?1:0;
|
||||
// 封装proto并返回
|
||||
CommonProto.ActivityInfo.MissionInfo build = CommonProto.ActivityInfo.MissionInfo.newBuilder()
|
||||
.setMissionId(missionId)
|
||||
.setProgress(progress)
|
||||
.setState(state)
|
||||
.build();
|
||||
missionInfos.add(build);
|
||||
}
|
||||
return missionInfos;
|
||||
}
|
||||
|
||||
SSurpriseBox box = boxMap.get(k);
|
||||
// 未购买, 是否解锁
|
||||
if (days >= box.getUnlockDay()){
|
||||
// 已解锁, 可买天数
|
||||
if (days >= box.getBuyDay()){
|
||||
// 可买, 是否购买前置礼包
|
||||
if (checkBuyAgo(user,box.getId())){
|
||||
// 已购买前置. 是否需要特权, 是否激活特权
|
||||
progrss = checkRule(user,box.getRule())?1:4;
|
||||
}else {
|
||||
// 未购买前置
|
||||
progrss = 3;
|
||||
}
|
||||
}else {
|
||||
// 不可买
|
||||
progrss = 2;
|
||||
}
|
||||
}else {
|
||||
// 未解锁, 是否可见
|
||||
if (days >= box.getVisibleDay()){
|
||||
// 可见, 是否可预览
|
||||
progrss = days >= box.getViewDay()?6:7;
|
||||
}else {
|
||||
// 不可见
|
||||
progrss = 5;
|
||||
}
|
||||
}
|
||||
v.setProgrss(progrss);
|
||||
mission.getActivityMissionMap().put(k,v);
|
||||
/**
|
||||
* 检查活动是否完成或者可以领取
|
||||
* @param uid
|
||||
* @param activityId
|
||||
* @param activityMission
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean checkActivityMissionFinishAndTake(int uid, int activityId, ActivityMission activityMission) {
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||
if (activityProgressInfoMap.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
LOGGER.info("========================惊喜礼盒状态刷新,uid={}",user.getId());
|
||||
// 策划表的配置
|
||||
Map<Integer, SSurpriseBox> boxMap = SSurpriseBox.map.getOrDefault(id,new HashMap<>());
|
||||
for (Map.Entry<Integer, SSurpriseBox> entry : boxMap.entrySet()) {
|
||||
ActivityProgressInfo progressInfo = activityProgressInfoMap.get(entry.getKey());
|
||||
if (progressInfo == null || progressInfo.getState() == ActivityType.WILL_TAKE){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 客户端推送
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
sendActivityProgress(session, mission, null);
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||
if(sGlobalActivity.getResetGrade()==0){
|
||||
activityMission.setActivityState(ActivityType.FINISH_STATE);
|
||||
Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(uid,activityId,ActivityType.FINISH_STATE));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -231,20 +278,24 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
* @return
|
||||
*/
|
||||
private boolean checkBuyAgo(User user, int boxId){
|
||||
boolean result = true;
|
||||
// 获取消息
|
||||
Map<Integer, ActivityProgressInfo> missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap();
|
||||
SSurpriseBox box = STableManager.getConfig(SSurpriseBox.class).get(boxId);
|
||||
// 非空
|
||||
if (!missionMap.isEmpty() && box != null){
|
||||
// 前置礼包状态验证
|
||||
ActivityProgressInfo info = missionMap.get(box.getLimitPackFId());
|
||||
// info为null代表没有前置条件, state==2代表已买过
|
||||
if (info != null && info.getState() == ActivityType.WILL_TAKE){
|
||||
result = false;
|
||||
}
|
||||
if (missionMap.isEmpty() || box == null){
|
||||
return false;
|
||||
}
|
||||
return result;
|
||||
// 0表示没有前置条件
|
||||
if (box.getLimitPackFId() == 0){
|
||||
return true;
|
||||
}
|
||||
// 前置礼包状态验证
|
||||
ActivityProgressInfo info = missionMap.get(box.getLimitPackFId());
|
||||
// info为null代表没有前置条件, state==1代表已买过
|
||||
if (info != null && info.getState() == ActivityType.HAD_TAKED){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -292,6 +343,11 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部不能购买的礼包
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Set<Integer> getCloseGoods(User user){
|
||||
HashSet<Integer> set = new HashSet<>();
|
||||
|
|
@ -302,14 +358,12 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
// 活动页签
|
||||
Map<Integer, ActivityProgressInfo> map = mission.getActivityMissionMap();
|
||||
Map<Integer, SSurpriseBox> boxMap = SSurpriseBox.map.get(id);
|
||||
// 活动奖励条件
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> entry2 : map.entrySet()) {
|
||||
if (entry2.getValue().getProgrss() != 1){
|
||||
SSurpriseBox box = boxMap.getOrDefault(entry2.getKey(), null);
|
||||
if (box == null){
|
||||
continue;
|
||||
}
|
||||
set.add(box.getPackId());
|
||||
|
||||
for (Map.Entry<Integer, SSurpriseBox> entry : boxMap.entrySet()) {
|
||||
int progress = getProgress(user, entry.getKey());
|
||||
// 不可购买的礼包
|
||||
if (progress != 1 || progress == 0){
|
||||
set.add(entry.getValue().getPackId());
|
||||
}
|
||||
}
|
||||
return set;
|
||||
|
|
|
|||
Loading…
Reference in New Issue