关卡排行热更
parent
288c4d627e
commit
be83f871c0
|
@ -750,12 +750,7 @@ public class PlayerLogic {
|
||||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||||
}
|
}
|
||||||
public boolean check(User user, int privilageTypeId, int checkNum){
|
public boolean check(User user, int privilageTypeId, int checkNum){
|
||||||
return priviliageCheck(user,privilageTypeId,checkNum,false);
|
// return priviliageCheck(user,privilageTypeId,checkNum,false);
|
||||||
}
|
|
||||||
public boolean checkAndUpdate(User user, int privilageTypeId, int updateNum){
|
|
||||||
return priviliageCheck(user,privilageTypeId,updateNum,true);
|
|
||||||
}
|
|
||||||
private boolean priviliageCheck(User user, int privilageTypeId, int checkNum,boolean isUpdate){
|
|
||||||
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
|
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
|
||||||
if(privilageTypeId == 0){
|
if(privilageTypeId == 0){
|
||||||
return true;
|
return true;
|
||||||
|
@ -783,13 +778,79 @@ public class PlayerLogic {
|
||||||
if((info.getCount()+checkNum>mCount)|| (info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime())){
|
if((info.getCount()+checkNum>mCount)|| (info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime())){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (isUpdate){
|
|
||||||
user.getPlayerInfoManager().updateVipPrivilage(privilageId, checkNum);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
public boolean checkAndUpdate(User user, int privilageTypeId, int updateNum){
|
||||||
|
// return priviliageCheck(user,privilageTypeId,updateNum,true);
|
||||||
|
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
|
||||||
|
if(privilageTypeId == 0){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilageTypeId);
|
||||||
|
List<Integer> typePrivileges = new ArrayList<>();
|
||||||
|
for(SPrivilegeTypeConfig config:sPrivilegeTypeConfigs){
|
||||||
|
if(!vipInfo.containsKey(config.getId())){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
typePrivileges.add(config.getId());
|
||||||
|
}
|
||||||
|
if(typePrivileges.isEmpty()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for(Integer privilageId:typePrivileges){
|
||||||
|
VipInfo info = vipInfo.get(privilageId);
|
||||||
|
if(info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime()){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int mCount = getMaxCountByPrivilege(user,privilageId);
|
||||||
|
if(mCount==-1){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if((info.getCount()+updateNum>mCount)|| (info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime())){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
user.getPlayerInfoManager().updateVipPrivilage(privilageId, updateNum);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// private boolean priviliageCheck(User user, int privilageTypeId, int checkNum,boolean isUpdate){
|
||||||
|
// Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
|
||||||
|
// if(privilageTypeId == 0){
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilageTypeId);
|
||||||
|
// List<Integer> typePrivileges = new ArrayList<>();
|
||||||
|
// for(SPrivilegeTypeConfig config:sPrivilegeTypeConfigs){
|
||||||
|
// if(!vipInfo.containsKey(config.getId())){
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
// typePrivileges.add(config.getId());
|
||||||
|
// }
|
||||||
|
// if(typePrivileges.isEmpty()){
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// for(Integer privilageId:typePrivileges){
|
||||||
|
// VipInfo info = vipInfo.get(privilageId);
|
||||||
|
// if(info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime()){
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
// int mCount = getMaxCountByPrivilege(user,privilageId);
|
||||||
|
// if(mCount==-1){
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// if((info.getCount()+checkNum>mCount)|| (info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime())){
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
// if (isUpdate){
|
||||||
|
// user.getPlayerInfoManager().updateVipPrivilage(privilageId, checkNum);
|
||||||
|
// }
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
private int getMaxCountByPrivilege(User user,int privilegeId){
|
private int getMaxCountByPrivilege(User user,int privilegeId){
|
||||||
SPrivilegeTypeConfig sPrivilegeTypeConfig = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privilegeId);
|
SPrivilegeTypeConfig sPrivilegeTypeConfig = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privilegeId);
|
||||||
Map<Integer, Map<Integer, Integer>> conditionMap = SPrivilegeTypeConfig.conditionMap.get(sPrivilegeTypeConfig.getUnlockType());
|
Map<Integer, Map<Integer, Integer>> conditionMap = SPrivilegeTypeConfig.conditionMap.get(sPrivilegeTypeConfig.getUnlockType());
|
||||||
|
|
|
@ -27,8 +27,8 @@ public class MainLevelRank extends AbstractRank {
|
||||||
return new int[]{i%10_000_000};
|
return new int[]{i%10_000_000};
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
@Override
|
||||||
// protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores, int start) throws Exception {
|
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores, int start) throws Exception {
|
||||||
// PlayerInfoProto.RankResponse.Builder allUserResponse = super.getAllUserResponse(zsetreverseRangeWithScores, start);
|
// PlayerInfoProto.RankResponse.Builder allUserResponse = super.getAllUserResponse(zsetreverseRangeWithScores, start);
|
||||||
// List<CommonProto.UserRank> ranksBuilderList = allUserResponse.getRanksList();
|
// List<CommonProto.UserRank> ranksBuilderList = allUserResponse.getRanksList();
|
||||||
// if(ranksBuilderList.size()<2){
|
// if(ranksBuilderList.size()<2){
|
||||||
|
@ -53,7 +53,8 @@ public class MainLevelRank extends AbstractRank {
|
||||||
// PlayerInfoProto.RankResponse.Builder response = PlayerInfoProto.RankResponse.newBuilder();
|
// PlayerInfoProto.RankResponse.Builder response = PlayerInfoProto.RankResponse.newBuilder();
|
||||||
// response.setMyRankInfo(allUserResponse.getMyRankInfo()).addAllRanks(buildersCopy);
|
// response.setMyRankInfo(allUserResponse.getMyRankInfo()).addAllRanks(buildersCopy);
|
||||||
// return response;
|
// return response;
|
||||||
// }
|
return super.getAllUserResponse(zsetreverseRangeWithScores,start);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(String rkey,int start, int end) {
|
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(String rkey,int start, int end) {
|
||||||
|
|
Loading…
Reference in New Issue