限时招募进度条重置
parent
a2fc1eda05
commit
8260b6fd83
|
@ -103,6 +103,8 @@ public class ChoiceDrawCardActivity extends AbstractActivity {
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
|
||||||
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
||||||
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
||||||
|
// 检查是否需要重启奖励
|
||||||
|
checkResetProgress(mission,missionId);
|
||||||
// 状态推送
|
// 状态推送
|
||||||
sendActivityProgress(session, mission, null);
|
sendActivityProgress(session, mission, null);
|
||||||
// 打点上报
|
// 打点上报
|
||||||
|
@ -110,6 +112,38 @@ public class ChoiceDrawCardActivity extends AbstractActivity {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 充值奖励
|
||||||
|
* @param mission
|
||||||
|
* @param missionId
|
||||||
|
*/
|
||||||
|
private void checkResetProgress(ActivityMission mission,int missionId){
|
||||||
|
// 获取全部未领取的mission
|
||||||
|
List<ActivityProgressInfo> collect = mission.getActivityMissionMap().values().stream().filter(v -> v.getState() == 0).collect(Collectors.toList());
|
||||||
|
// 为空,表示全部领取,重置奖励
|
||||||
|
if (collect.isEmpty()){
|
||||||
|
// 配置表
|
||||||
|
List<SActivityRewardConfig> configs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||||
|
// 获取最大奖励值
|
||||||
|
List<Integer> collect2 = configs.stream().mapToInt(v -> v.getValues()[0][0]).boxed().collect(Collectors.toList());
|
||||||
|
Integer max = Collections.max(collect2);
|
||||||
|
// 获取盈余的积分
|
||||||
|
int progrss = mission.getActivityMissionMap().get(missionId).getProgrss();
|
||||||
|
int count = (progrss-max)>0?(progrss-max):0;
|
||||||
|
// 重置全部mission为新积分
|
||||||
|
List<Integer> missionIds = configs.stream().mapToInt(SActivityRewardConfig::getId).boxed().collect(Collectors.toList());
|
||||||
|
for(Integer id : missionIds){
|
||||||
|
ActivityProgressInfo activityProgressInfo = new ActivityProgressInfo();
|
||||||
|
activityProgressInfo.setProgrss(count);
|
||||||
|
activityProgressInfo.setState(0);
|
||||||
|
mission.getActivityMissionMap().put(id, activityProgressInfo);
|
||||||
|
}
|
||||||
|
mission.setOpenType(1);
|
||||||
|
mission.setV(0);
|
||||||
|
mission.setActivityState(ActivityType.OPEN_STATE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 特殊处理奖励
|
* 特殊处理奖励
|
||||||
* @param reward 默认奖励配置
|
* @param reward 默认奖励配置
|
||||||
|
@ -173,7 +207,6 @@ public class ChoiceDrawCardActivity extends AbstractActivity {
|
||||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||||
if (null != sGlobalActivity && sGlobalActivity.getResetGrade() == 1) {
|
if (null != sGlobalActivity && sGlobalActivity.getResetGrade() == 1) {
|
||||||
reSetValue(user);
|
reSetValue(user);
|
||||||
getAllMissRewards(user, session, itemAttrs);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue