战力排行

back_recharge
zhangshanxue 2019-08-03 09:59:18 +08:00
parent 5f5c7ba5f1
commit 3167653418
2 changed files with 21 additions and 4 deletions

View File

@ -41,7 +41,7 @@ public abstract class AbstractActivity implements IActivity {
updateProgress(user, activityMission, count);
//更新进度
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
sendActivityProgress(sessionByUid, activityMission,new HashSet<>());
sendActivityProgress(sessionByUid, activityMission,null);
}
@ -88,17 +88,17 @@ public abstract class AbstractActivity implements IActivity {
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "had taked");
return;
}
//take rewards
//take rewards check
if (!takeRewardsProcess(session, sActivityRewardConfig, activityProgressInfo)) {
return;
}
sendActivityProgress(session, activityMission, Collections.singleton(missionId));
//upto client and db
int[][] reward = sActivityRewardConfig.getReward();
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
activityProgressInfo.setState(ActivityType.HAD_TAKED);
activityMission.updateProgressInfo(missionId, activityProgressInfo);
sendActivityProgress(session, activityMission, Collections.singleton(missionId));
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);

View File

@ -1,7 +1,12 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.config.SActivityRewardConfig;
import com.ljsd.jieling.logic.dao.ActivityMission;
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.MessageUtil;
class ForceStandardActivity extends AbstractActivity {
@ -15,6 +20,18 @@ class ForceStandardActivity extends AbstractActivity {
update(user,user.getPlayerInfoManager().getMaxForce());
}
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(session.getUid());
int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getValue();
if (value < values[0][0]) {
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not");
return false;
}
return true;
}
@Override
void updateProgress(ActivityMission activityMission, int count) {
//历史最高