vip刷新逻辑修改
parent
ffea4a169f
commit
3b288bce05
|
@ -343,23 +343,16 @@ public class PlayerLogic {
|
|||
//如果这个权限是活动 且永久了 那么需要修复
|
||||
SPrivilegeTypeConfig config = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(key);
|
||||
if (config == null){
|
||||
LOGGER.info("特权刷新删除日志1:{}-{}-{}",user.getId(), key, info.getEffectTime());
|
||||
LOGGER.info("特权刷新,特权id不存在,uid:{},vipid:{}",user.getId(), key);
|
||||
removePrivileges.add(key);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(info.getEffectTime() == 0){
|
||||
int unlockType = config.getUnlockType();
|
||||
if(unlockType==5 || (unlockType==4 && config.getContinueTime().length>0)){
|
||||
playerInfoManager.addVipByTime(key, nowInt);
|
||||
}
|
||||
}
|
||||
else if(info.getEffectTime() <= nowInt){
|
||||
if(info.getEffectTime() != 0 && info.getEffectTime() <= nowInt){
|
||||
if(config.getPrivilegeType() == VipPrivilegeType.ADVENTURE_BASE_REWARD){
|
||||
CombatLogic.getInstance().getNewAdventureReward(user,true, info.getEffectTime());
|
||||
}
|
||||
removePrivileges.add(key);
|
||||
LOGGER.info("特权刷新删除日志2:{}-{}-{}",user.getId(), key, info.getEffectTime());
|
||||
LOGGER.info("特权刷新,特权到期,uid:{},id:{},过期时间:{}",user.getId(), key, info.getEffectTime());
|
||||
}
|
||||
}
|
||||
vipFlush(user, removePrivileges);
|
||||
|
@ -390,6 +383,7 @@ public class PlayerLogic {
|
|||
LOGGER.error("vip刷新,vipinfo为空,uid:{}",user.getId());
|
||||
return;
|
||||
}
|
||||
int nowInt = TimeUtils.nowInt();
|
||||
for (Map.Entry<Integer, VipInfo> entry : vipInfo.entrySet()) {
|
||||
Integer id = entry.getKey();
|
||||
if (removeIds.contains(id)){
|
||||
|
@ -397,10 +391,15 @@ public class PlayerLogic {
|
|||
}
|
||||
VipInfo info = entry.getValue();
|
||||
SPrivilegeTypeConfig sPrivilegeTypeConfig = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(id);
|
||||
if (sPrivilegeTypeConfig == null) {
|
||||
LOGGER.error("vip新增,vipid查询表不存在,已删除,uid:{},vipid:{}",user.getId(),id);
|
||||
removeIds.add(id);
|
||||
continue;
|
||||
int unlockType = sPrivilegeTypeConfig.getUnlockType();
|
||||
if(info.getEffectTime() == 0){
|
||||
if(unlockType==5 || (unlockType==4 && sPrivilegeTypeConfig.getContinueTime().length>0)){
|
||||
VipInfo refreshVipInfo = new VipInfo();
|
||||
refreshVipInfo.setCount(0);
|
||||
refreshVipInfo.setEffectTime(nowInt);
|
||||
vipInfo.put(id,refreshVipInfo);
|
||||
LOGGER.info("vip刷新,特殊vip刷新,uid:{},vipid:{},time:{}",user.getId(), id, nowInt);
|
||||
}
|
||||
}
|
||||
int refreshType = sPrivilegeTypeConfig.getRefreshType()[0];
|
||||
if (refreshType == 1 && info.getCount() > 0) {
|
||||
|
@ -408,14 +407,13 @@ public class PlayerLogic {
|
|||
refreshVipInfo.setCount(0);
|
||||
refreshVipInfo.setEffectTime(info.getEffectTime());
|
||||
vipInfo.put(id,refreshVipInfo);
|
||||
LOGGER.info("vip刷新,日常vip刷新,uid:{},vipid:{},time:{}",user.getId(), id, nowInt);
|
||||
}
|
||||
}
|
||||
LOGGER.error("vip刷新,删除前的vip数量,uid:{},vipnum:{},removeIds:{}",user.getId(),vipInfo.size(),removeIds);
|
||||
// 删除vip
|
||||
for (Integer remove : removeIds) {
|
||||
vipInfo.remove(remove);
|
||||
}
|
||||
LOGGER.error("vip刷新,删除后的vip数量,uid:{},vipnum:{}",user.getId(),vipInfo.size());
|
||||
playerManager.setVipInfo(vipInfo);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue