限时招募进度条重置
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);
|
||||
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
||||
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
||||
// 检查是否需要重启奖励
|
||||
checkResetProgress(mission,missionId);
|
||||
// 状态推送
|
||||
sendActivityProgress(session, mission, null);
|
||||
// 打点上报
|
||||
|
@ -110,6 +112,38 @@ public class ChoiceDrawCardActivity extends AbstractActivity {
|
|||
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 默认奖励配置
|
||||
|
@ -173,7 +207,6 @@ public class ChoiceDrawCardActivity extends AbstractActivity {
|
|||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if (null != sGlobalActivity && sGlobalActivity.getResetGrade() == 1) {
|
||||
reSetValue(user);
|
||||
getAllMissRewards(user, session, itemAttrs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue