活动特权修复

back_recharge
lvxinran 2020-09-26 17:59:40 +08:00
parent 742dfb5cbb
commit 6fda647587
2 changed files with 12 additions and 3 deletions

View File

@ -407,9 +407,10 @@ public class PlayerManager extends MongoBase {
* @param time s
*/
public void addVipByTime(int privilageId,int time){
VipInfo vipInfo = new VipInfo();
vipInfo.setEffectTime(time);
this.vipInfo.put(privilageId,vipInfo);
VipInfo addInfo = new VipInfo();
addInfo.setEffectTime(time);
vipInfo.put(privilageId,addInfo);
updateString("vipInfo", this.vipInfo);
}
public boolean containPrivilageId(int privilageId) {

View File

@ -306,7 +306,12 @@ public class PlayerLogic {
sendVipDailyOrLevlUpReward(user, vipLevel,BIReason.VIP_DAY_REWARD);
List<CommonProto.Privilege> privilegeList = new ArrayList<>();
Map<Integer, VipInfo> vipInfo = playerInfoManager.getVipInfo();
Set<Integer> fixVipId = new HashSet<>();
for(Map.Entry<Integer,VipInfo> vipInfoItem : vipInfo.entrySet()){
//如果这个权限是活动 且永久了 那么需要修复
if(vipInfoItem.getValue().getEffectTime()==0&&SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getPrivilegeType()==5){
fixVipId.add(vipInfoItem.getKey());
}
if(vipInfoItem.getValue().getEffectTime()!=0 && vipInfoItem.getValue().getEffectTime()<=(TimeUtils.now()/1000)){
if(SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getPrivilegeType()==VipPrivilegeType.ADVENTURE_BASE_REWARD){
CombatLogic.getInstance().getNewAdventureReward(user,true,vipInfoItem.getValue().getEffectTime());
@ -315,6 +320,9 @@ public class PlayerLogic {
continue;
}
}
if(!fixVipId.isEmpty()){
fixVipId.forEach(n->playerInfoManager.addVipByTime(n,(int)((TimeUtils.now()+TimeUtils.WEEK)/1000)));
}
playerInfoManager.vipFlush(removePrivileges);
//vip刷新后才能发给前端
if(fBuilder!=null){