关卡排行热更
parent
288c4d627e
commit
be83f871c0
|
@ -750,12 +750,7 @@ public class PlayerLogic {
|
|||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
}
|
||||
public boolean check(User user, int privilageTypeId, int checkNum){
|
||||
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){
|
||||
// return priviliageCheck(user,privilageTypeId,checkNum,false);
|
||||
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
|
||||
if(privilageTypeId == 0){
|
||||
return true;
|
||||
|
@ -783,13 +778,79 @@ public class PlayerLogic {
|
|||
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;
|
||||
}
|
||||
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){
|
||||
SPrivilegeTypeConfig sPrivilegeTypeConfig = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privilegeId);
|
||||
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};
|
||||
}
|
||||
|
||||
// @Override
|
||||
// protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores, int start) throws Exception {
|
||||
@Override
|
||||
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores, int start) throws Exception {
|
||||
// PlayerInfoProto.RankResponse.Builder allUserResponse = super.getAllUserResponse(zsetreverseRangeWithScores, start);
|
||||
// List<CommonProto.UserRank> ranksBuilderList = allUserResponse.getRanksList();
|
||||
// if(ranksBuilderList.size()<2){
|
||||
|
@ -53,7 +53,8 @@ public class MainLevelRank extends AbstractRank {
|
|||
// PlayerInfoProto.RankResponse.Builder response = PlayerInfoProto.RankResponse.newBuilder();
|
||||
// response.setMyRankInfo(allUserResponse.getMyRankInfo()).addAllRanks(buildersCopy);
|
||||
// return response;
|
||||
// }
|
||||
return super.getAllUserResponse(zsetreverseRangeWithScores,start);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(String rkey,int start, int end) {
|
||||
|
|
Loading…
Reference in New Issue