Merge branch 'master_test_hw' into master_online_hw

back_recharge
zhangshanxue 2020-09-16 16:19:02 +08:00
commit 554c524c4b
2 changed files with 48 additions and 12 deletions

View File

@ -1,15 +1,49 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.jbean.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.protocols.CommonProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import config.SActivityRewardConfig;
import util.TimeUtils;
import java.util.*;
class OnlineRewardActivity extends AbstractActivity {
public OnlineRewardActivity(int id) {
super(id);
}
@Override
public boolean takeReward(ISession session, int missionId) throws Exception {
if(missionId!=-1){
return super.takeReward(session, missionId);
}
User user = UserManager.getUser(session.getUid());
List<int[][]> reward = new ArrayList<>();
getAllMissRewards(user,session,reward);
Map<Integer,Integer> itemMap = new HashMap<>();
reward.forEach(n-> Arrays.stream(n).forEach(m->itemMap.put(m[0],itemMap.getOrDefault(m[0],0)+m[1])));
int[][] rewardArray = ItemUtil.mapToArray(itemMap);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, rewardArray, BIReason.TAKE_ACTIVITY_REWARD);
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
reportTakeActivityReward(user,rewardArray,missionId);
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
return true;
}
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
@ -20,7 +54,7 @@ class OnlineRewardActivity extends AbstractActivity {
long loginTime = session.getUserLoginTime();
int limitTime = values[0][0];
long remainTime = now - loginTime - limitTime * TimeUtils.ONE_MINUTE + missionProgress * TimeUtils.ONE_SECOND;
if (now - loginTime - limitTime * TimeUtils.ONE_MINUTE + missionProgress * TimeUtils.ONE_SECOND < 0) {
if (remainTime < 0) {
LOGGER.error("the uid={} remain time is={}ms,the require time is={}ms", session.getUid(), remainTime, limitTime * TimeUtils.ONE_MINUTE);
return false;
}

View File

@ -905,19 +905,21 @@ public class ExpeditionLogic {
}
int i1 = ranndomFromWeight(cfg);
SExpeditionRecruitConfig sExpeditionRecruitConfig = STableManager.getConfig(SExpeditionRecruitConfig.class).get(i1);
SCHero hero1 = SCHero.getsCHero().get(sExpeditionRecruitConfig.getHeroId());
i++;
if(hero1==null){
LOGGER.error("英雄配置不存在"+i1);
continue;
}
int propertyName = hero1.getPropertyName();
if(tempType.contains(propertyName)){
continue;
}
if(type == 1){
SCHero hero1 = SCHero.getsCHero().get(sExpeditionRecruitConfig.getHeroId());
i++;
if(hero1==null){
LOGGER.error("英雄配置不存在"+i1);
continue;
}
int propertyName = hero1.getPropertyName();
if(tempType.contains(propertyName)){
continue;
}
tempType.add(propertyName);
}
tempid.add(i1);
tempType.add(propertyName);
i++;
}