fix level activity
parent
f20ce8ad39
commit
d9d3baaa03
|
@ -1121,6 +1121,11 @@ public class RedisUtil {
|
|||
return result;
|
||||
}
|
||||
|
||||
public boolean existsKey(String type,String key){
|
||||
String rkey = getKey(type, key);
|
||||
return redisTemplate.hasKey(rkey);
|
||||
}
|
||||
|
||||
public <K,T> Map<K,T> getMapValues(String type,String key,Class<K> keyClazz,Type valueType){
|
||||
Map<K,T> result = new HashMap<>();
|
||||
String rkey = getKey(type, key);
|
||||
|
|
|
@ -306,15 +306,11 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
|||
}
|
||||
Integer missionId = missionProgress.getKey();
|
||||
ActivityProgressInfo activityProgressInfo = missionProgress.getValue();
|
||||
missionInfos.add(CommonProto.ActivityInfo.MissionInfo.newBuilder().setMissionId(missionId).setProgress(getProgress(missionId,activityProgressInfo)).setState(activityProgressInfo.getState()).build());
|
||||
missionInfos.add(CommonProto.ActivityInfo.MissionInfo.newBuilder().setMissionId(missionId).setProgress(activityProgressInfo.getProgrss()).setState(activityProgressInfo.getState()).build());
|
||||
}
|
||||
return missionInfos;
|
||||
}
|
||||
|
||||
public int getProgress(int missionId, ActivityProgressInfo activityProgressInfo ){
|
||||
return activityProgressInfo.getProgrss();
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新进度
|
||||
*
|
||||
|
|
|
@ -9,11 +9,10 @@ import com.ljsd.jieling.logic.activity.event.*;
|
|||
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 config.SActivityRewardConfig;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
public class LevelExpectActivity extends ExpectRankActivity {
|
||||
public LevelExpectActivity(int id) {
|
||||
|
@ -28,6 +27,9 @@ public class LevelExpectActivity extends ExpectRankActivity {
|
|||
|
||||
@Override
|
||||
public void onActivityStart() throws Exception {
|
||||
if(RedisUtil.getInstence().existsKey(RedisKey.ACTIVITY_GIFT_LIMIT,String.valueOf(id))){
|
||||
return;
|
||||
}
|
||||
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||
Map<String,Integer> numLimits = new HashMap<>(sActivityRewardConfigs.size());
|
||||
sActivityRewardConfigs.forEach(item->{
|
||||
|
@ -53,14 +55,28 @@ public class LevelExpectActivity extends ExpectRankActivity {
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getProgress(int missionId,ActivityProgressInfo activityProgressInfo) {
|
||||
return RedisUtil.getInstence().getMapValue(RedisKey.ACTIVITY_GIFT_LIMIT,String.valueOf(id),String.valueOf(missionId),Integer.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityEnd() throws Exception {
|
||||
String rkey =RedisUtil.getInstence().getKey(RedisKey.ACTIVITY_GIFT_LIMIT,String.valueOf(id));
|
||||
RedisUtil.getInstence().del(rkey);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission, Set<Integer> filter) {
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||
Map<Integer, Integer> mapValues = RedisUtil.getInstence().getMapValues(RedisKey.ACTIVITY_GIFT_LIMIT, String.valueOf(id), Integer.class, Integer.class);
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = new ArrayList<>(activityProgressInfoMap.size());
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> missionProgress : activityProgressInfoMap.entrySet()) {
|
||||
if (filter != null && !filter.contains(missionProgress.getKey())) {
|
||||
continue;
|
||||
}
|
||||
Integer missionId = missionProgress.getKey();
|
||||
ActivityProgressInfo activityProgressInfo = missionProgress.getValue();
|
||||
int progress = mapValues.getOrDefault(missionId, 0);
|
||||
progress=progress>0?progress:0;
|
||||
missionInfos.add(CommonProto.ActivityInfo.MissionInfo.newBuilder().setMissionId(missionId).setProgress(progress).setState(activityProgressInfo.getState()).build());
|
||||
}
|
||||
return missionInfos;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue