vip刷新逻辑修改

master_longzhu
grimm 2024-08-01 17:13:58 +08:00
parent ffea4a169f
commit 3b288bce05
1 changed files with 14 additions and 16 deletions

View File

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