recharge协议合并策略

back_recharge
zhangshanxue 2019-11-25 21:17:29 +08:00
parent 27d7504a0e
commit 3cf23b39ff
2 changed files with 30 additions and 1 deletions

View File

@ -41,6 +41,14 @@ public class SimpleTransaction {
}
return combineList;
});
combineMsgId.put(MessageTypeProto.MessageType.ALL_GIFTGOODS_INDICATION_VALUE, (MessageUtil.CombinePolicy< PlayerInfoProto.AllGiftGoodsIndication>) list -> {
List<PlayerInfoProto.AllGiftGoodsIndication> combineList = new LinkedList<>();
if(list.size()>0){
combineList.add(list.get(0));
}
return combineList;
});
}
SimpleTransaction(ISession session) {

View File

@ -1,5 +1,8 @@
package com.ljsd.jieling.logic.activity.eventhandler;
import com.ljsd.jieling.core.HandlerLogicThread;
import com.ljsd.jieling.core.SimpleTransaction;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.IEventHandler;
import com.ljsd.jieling.logic.activity.event.HeroFiveStarGetEvent;
import com.ljsd.jieling.logic.activity.event.IEvent;
@ -7,6 +10,15 @@ import com.ljsd.jieling.logic.dao.RechargeInfo;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.store.BuyGoodsLogic;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import com.ljsd.jieling.util.MessageUtil;
import config.SRechargeCommodityConfig;
import java.util.ArrayList;
import java.util.List;
/**
* Description: des
@ -24,6 +36,15 @@ public class HeroFiveStarGetEventHandler implements IEventHandler {
RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo();
rechargeInfo.addTypeBagMap(5,System.currentTimeMillis());
BuyGoodsLogic.sendGiftGooodsIndication(user.getId());
List<CommonProto.GiftGoodsInfo> goodsBagInfo = new ArrayList<>(SRechargeCommodityConfig.rechargeCommodityConfigMap.size());
boolean change = BuyGoodsLogic.getGoodsBagInfo(user.getId(), goodsBagInfo,false);
ISession session = OnlineUserManager.getSessionByUid(user.getId());
if(session!=null && change){
if(null!= HandlerLogicThread.current()){
//获得多个英雄进行协议合并
PlayerInfoProto.AllGiftGoodsIndication.Builder build = PlayerInfoProto.AllGiftGoodsIndication.newBuilder().addAllGiftGoodsInfo(goodsBagInfo);
HandlerLogicThread.current().dealWhileCommit(new SimpleTransaction.SendTask(build.build(), MessageTypeProto.MessageType.ALL_GIFTGOODS_INDICATION_VALUE));
}
}
}
}