Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
913b1e780f
|
@ -1121,6 +1121,11 @@ public class RedisUtil {
|
||||||
return result;
|
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){
|
public <K,T> Map<K,T> getMapValues(String type,String key,Class<K> keyClazz,Type valueType){
|
||||||
Map<K,T> result = new HashMap<>();
|
Map<K,T> result = new HashMap<>();
|
||||||
String rkey = getKey(type, key);
|
String rkey = getKey(type, key);
|
||||||
|
|
|
@ -306,15 +306,11 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
||||||
}
|
}
|
||||||
Integer missionId = missionProgress.getKey();
|
Integer missionId = missionProgress.getKey();
|
||||||
ActivityProgressInfo activityProgressInfo = missionProgress.getValue();
|
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;
|
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.UserManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.protocols.CommonProto;
|
||||||
import config.SActivityRewardConfig;
|
import config.SActivityRewardConfig;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class LevelExpectActivity extends ExpectRankActivity {
|
public class LevelExpectActivity extends ExpectRankActivity {
|
||||||
public LevelExpectActivity(int id) {
|
public LevelExpectActivity(int id) {
|
||||||
|
@ -28,6 +27,9 @@ public class LevelExpectActivity extends ExpectRankActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityStart() throws Exception {
|
public void onActivityStart() throws Exception {
|
||||||
|
if(RedisUtil.getInstence().existsKey(RedisKey.ACTIVITY_GIFT_LIMIT,String.valueOf(id))){
|
||||||
|
return;
|
||||||
|
}
|
||||||
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||||
Map<String,Integer> numLimits = new HashMap<>(sActivityRewardConfigs.size());
|
Map<String,Integer> numLimits = new HashMap<>(sActivityRewardConfigs.size());
|
||||||
sActivityRewardConfigs.forEach(item->{
|
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
|
@Override
|
||||||
public void onActivityEnd() throws Exception {
|
public void onActivityEnd() throws Exception {
|
||||||
String rkey =RedisUtil.getInstence().getKey(RedisKey.ACTIVITY_GIFT_LIMIT,String.valueOf(id));
|
String rkey =RedisUtil.getInstence().getKey(RedisKey.ACTIVITY_GIFT_LIMIT,String.valueOf(id));
|
||||||
RedisUtil.getInstence().del(rkey);
|
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