心愿抽卡发邮件替换

back_recharge
lvxinran 2021-07-16 15:25:15 +08:00
parent f61b9c81f6
commit d93d9a1f6a
2 changed files with 53 additions and 5 deletions

View File

@ -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);
}
}
}

View File

@ -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->{