特权修改推送修改

back_recharge
lvxinran 2020-01-06 13:41:36 +08:00
parent 5bb8355fb6
commit bcde683628
2 changed files with 29 additions and 11 deletions

View File

@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.store;
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
@ -284,20 +285,29 @@ public class BuyGoodsLogic {
}
public static void addNewPrivilege(User user ,int privilege,PlayerInfoProto.PrivilegeIndication.Builder indication) throws Exception {
int privilegeType = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privilege).getPrivilegeType();
if(privilegeType== VipPrivilegeType.ADVENTURE_BASE_REWARD||privilegeType==VipPrivilegeType.FAST_MAP_LIMIT){
CombatLogic.getInstance().getNewAdventureReward(user,true);
}
user.getPlayerInfoManager().addVipInfo(privilege);
VipInfo vipInfo = user.getPlayerInfoManager().getVipInfo().get(privilege);
indication.addInfos(CommonProto.Privilege.newBuilder().setId(privilege).setUsedTimes(vipInfo.getCount()).setEffectTime(vipInfo.getEffectTime()).build());
}
/**
*
*/
public static void triggerEvent(User user,SRechargeCommodityConfig sRechargeCommodityConfig,int nowTime) throws Exception {
int goodsType = sRechargeCommodityConfig.getType();
int[] openPrivilege = sRechargeCommodityConfig.getOpenPrivilege();
if(openPrivilege!=null && openPrivilege.length>0){
if(openPrivilege!=null && openPrivilege.length>0) {
PlayerInfoProto.PrivilegeIndication.Builder indication = PlayerInfoProto.PrivilegeIndication.newBuilder();
for(int privilege:openPrivilege){
user.getPlayerInfoManager().addVipInfo(privilege);
VipInfo vipInfo = user.getPlayerInfoManager().getVipInfo().get(privilege);
indication.addInfos(CommonProto.Privilege.newBuilder().setId(privilege).setUsedTimes(vipInfo.getCount()).setEffectTime(vipInfo.getEffectTime()).build());
for (int privilege : openPrivilege) {
addNewPrivilege(user,privilege,indication);
}
MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1, MessageTypeProto.MessageType.PRIVILLEGE_ADD_INDICATION_VALUE,indication.build(),true);
MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()), 1, MessageTypeProto.MessageType.PRIVILLEGE_ADD_INDICATION_VALUE, indication.build(), true);
}
if(goodsType == GiftGoodsType.LUXURYMONTHCARD){
PlayerLogic.getInstance().sendDayilyMail(user,goodsType);

View File

@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.store;
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
import com.ljsd.jieling.core.HandlerLogicThread;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
@ -15,6 +16,7 @@ import com.ljsd.jieling.logic.activity.event.GoldEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.fight.CombatLogic;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.player.PlayerLogic;
@ -422,11 +424,17 @@ public class StoreLogic {
}
if(sStoreConfig.getOpenPrivilege()!=null){
PlayerInfoProto.PrivilegeIndication.Builder indication = PlayerInfoProto.PrivilegeIndication.newBuilder();
Arrays.stream(sStoreConfig.getOpenPrivilege()).forEach(n->{
user.getPlayerInfoManager().addVipInfo(n);
VipInfo vipInfo = user.getPlayerInfoManager().getVipInfo().get(n);
indication.addInfos(CommonProto.Privilege.newBuilder().setId(n).setUsedTimes(vipInfo.getCount()).setEffectTime(vipInfo.getEffectTime()).build());
});
int[] openPrivilege = sStoreConfig.getOpenPrivilege();
for(int privilege:openPrivilege){
// int privilegeType = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privilege).getPrivilegeType();
// if(privilegeType== VipPrivilegeType.ADVENTURE_BASE_REWARD||privilegeType==VipPrivilegeType.FAST_MAP_LIMIT){
// CombatLogic.getInstance().getNewAdventureReward(user,true);
// }
// user.getPlayerInfoManager().addVipInfo(privilege);
// VipInfo vipInfo = user.getPlayerInfoManager().getVipInfo().get(privilege);
// indication.addInfos(CommonProto.Privilege.newBuilder().setId(privilege).setUsedTimes(vipInfo.getCount()).setEffectTime(vipInfo.getEffectTime()).build());
BuyGoodsLogic.addNewPrivilege(user,privilege,indication);
}
MessageUtil.sendIndicationMessage(iSession,1, MessageTypeProto.MessageType.PRIVILLEGE_ADD_INDICATION_VALUE,indication.build(),true);
}