杜辉提交,心愿抽卡主题活动兼容

back_recharge
DESKTOP-98AVA47\Administrator 2021-07-16 00:51:40 +08:00
parent dab1f34d8a
commit bc3ec7b772
3 changed files with 19 additions and 5 deletions

View File

@ -7,6 +7,8 @@ import java.util.Set;
import java.util.HashSet;
import java.util.List;
import java.util.LinkedList;
import config.SWishActivityUp;
import org.springframework.data.annotation.Transient;
import com.ljsd.common.mogodb.dblog.*;
@ -83,6 +85,18 @@ public final class ActivityMission extends MongoBase {
return choiceRewardId;
}
public int getChoiceRewardIdByActivity(int activityId) {
Map<Integer, int[]> map = SWishActivityUp.upMap.get(activityId);
if (map == null){
return 0;
}
int[] ints = map.get(choiceRewardId);
if (ints == null){
choiceRewardId = SWishActivityUp.defaultMap.get(activityId);
}
return choiceRewardId;
}
public void setChoiceRewardId(int choiceRewardId) {
this.choiceRewardId = choiceRewardId;
updateString("choiceRewardId",choiceRewardId);

View File

@ -580,7 +580,7 @@ public class ActivityLogic implements IEventHandler{
.setEndTime(endTime)
.setValue(activityMission.getV())
.setReallyOpen(activityMission.getOpenType())
.setChoiceRewardId(activityMission.getChoiceRewardId())
.setChoiceRewardId(activityMission.getChoiceRewardIdByActivity(activityId))
.build();
activityInfoList.add(build);
}
@ -1605,7 +1605,7 @@ public class ActivityLogic implements IEventHandler{
// 事件分发
Poster.getPoster().dispatchEvent(new ChoiceDrawCardEvent(user.getId(),activityId,num));
// 数数上报
int choiceRewardId = user.getActivityManager().getActivityMissionMap().get(activityId).getChoiceRewardId();
int choiceRewardId = user.getActivityManager().getActivityMissionMap().get(activityId).getChoiceRewardIdByActivity(activityId);
//限时招募 计次数
user.getUserMissionManager().onGameEvent(user, GameEvent.LIMIT_TIME_CHOICE_CARD,num);
List<String> list = rewardArrayToList(markRewards);
@ -1652,7 +1652,7 @@ public class ActivityLogic implements IEventHandler{
// 累计得抽奖次数
int count = mission.getV();
// up奖励id
int upRewardId = mission.getChoiceRewardId();
int upRewardId = mission.getChoiceRewardIdByActivity(activityId);
// 根据活动获取本期得全部up信息
Map<Integer, int[]> up = SWishActivityUp.upMap.get(activityId);
// 根据玩家选取得up奖励id获取详细信息

View File

@ -91,7 +91,7 @@ public class ChoiceDrawCardActivity extends AbstractActivity {
throw new ErrorCodeException(ErrorCode.newDefineCode("未达到领取条件"));
}
// 验证配置表
int[] incs = SWishActivityUp.rewardMap.get(id).get(mission.getChoiceRewardId());
int[] incs = SWishActivityUp.rewardMap.get(id).get(mission.getChoiceRewardIdByActivity(id));
if (incs == null){
throw new ErrorCodeException(ErrorCode.newDefineCode("数据错误"));
}
@ -160,7 +160,7 @@ public class ChoiceDrawCardActivity extends AbstractActivity {
continue;
}
//up miss
int[] incs = SWishActivityUp.rewardMap.get(id).get(activityMission.getChoiceRewardId());
int[] incs = SWishActivityUp.rewardMap.get(id).get(activityMission.getChoiceRewardIdByActivity(id));
int[][] reward = getReward(sActivityRewardConfig.getReward(),incs[sActivityRewardConfig.getSort()-1]);
itemAttrs.add(reward);
isTake = true;