心愿抽卡发邮件替换
parent
f61b9c81f6
commit
d93d9a1f6a
|
|
@ -3,6 +3,7 @@ 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.ActivityManager;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.activity.event.ChoiceDrawCardEvent;
|
||||
|
|
@ -14,6 +15,7 @@ import com.ljsd.jieling.network.session.ISession;
|
|||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import config.SActivityRewardConfig;
|
||||
import config.SGlobalActivity;
|
||||
import config.SWishActivityUp;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
|
|
@ -123,4 +125,55 @@ public class ChoiceDrawCardActivity extends AbstractActivity {
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs) throws Exception {
|
||||
List<Integer> misssIds = new LinkedList<>();
|
||||
List<SActivityRewardConfig> cfgs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||
if (null == cfgs) {
|
||||
LOGGER.error("奖励配置不存在{}",id);
|
||||
return;
|
||||
//throw new ErrorCodeException(ErrorCode.CFG_NULL);
|
||||
}
|
||||
for (SActivityRewardConfig sActivityRewardConfig : cfgs) {
|
||||
misssIds.add(sActivityRewardConfig.getId());
|
||||
}
|
||||
//checkAndUpdate state
|
||||
ActivityManager activityManager = user.getActivityManager();
|
||||
ActivityMission activityMission = activityManager.getActivityMissionMap().get(id);
|
||||
if (activityMission == null || activityMission.getActivityState() != ActivityType.OPEN_STATE || activityMission.getOpenType() == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
boolean isTake = false;
|
||||
for (Integer missionId : misssIds) {
|
||||
//checkAndUpdate cfg
|
||||
SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
|
||||
if (sActivityRewardConfig == null || sActivityRewardConfig.getActivityId() != id) {
|
||||
continue;
|
||||
}
|
||||
ActivityProgressInfo activityProgressInfo = activityMission.getActivityMissionMap().get(missionId);
|
||||
if (activityProgressInfo == null || activityProgressInfo.getState() == ActivityType.HAD_TAKED) {
|
||||
continue;
|
||||
}
|
||||
//take rewards checkAndUpdate
|
||||
if (!takeRewardsProcess(session, sActivityRewardConfig, activityProgressInfo)) {
|
||||
continue;
|
||||
}
|
||||
//up miss
|
||||
int[] incs = SWishActivityUp.rewardMap.get(id).get(activityMission.getChoiceRewardId());
|
||||
int[][] reward = getReward(sActivityRewardConfig.getReward(),incs[sActivityRewardConfig.getSort()-1]);
|
||||
itemAttrs.add(reward);
|
||||
isTake = true;
|
||||
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
||||
}
|
||||
if (!isTake) {
|
||||
return;
|
||||
}
|
||||
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if (null != sGlobalActivity && sGlobalActivity.getResetGrade() == 1) {
|
||||
reSetValue(user);
|
||||
getAllMissRewards(user, session, itemAttrs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,11 +39,6 @@ public class ActivityStateChangeHandler implements IEventHandler {
|
|||
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
|
||||
}
|
||||
}
|
||||
// if(sGlobalActivity.getCanBuyRechargeId()!=null&&sGlobalActivity.getCanBuyRechargeId().length>0){
|
||||
//
|
||||
// Arrays.stream(sGlobalActivity.getCanBuyRechargeId()).forEach(n->user.getPlayerInfoManager().getRechargeInfo().putDyGoodsCanBuyTimes(n,1));
|
||||
// BuyGoodsNewLogic.sendGiftGooodsIndication(uid);
|
||||
// }
|
||||
}else if(state == ActivityType.FINISH_STATE){
|
||||
List<SGlobalActivity> sGlobalActivities = SGlobalActivity.sGlobalActivityMapByOpenRules.getOrDefault(3, new ArrayList<>(0));
|
||||
sGlobalActivities.stream().filter(s->s.getOpenRules()[1] == activityId).forEach(s->{
|
||||
|
|
|
|||
Loading…
Reference in New Issue