新礼包

back_recharge
mengchengzhen 2021-04-19 15:37:34 +08:00
parent 2f03e2c24e
commit 0b59e617c8
1 changed files with 25 additions and 12 deletions

View File

@ -66,7 +66,8 @@ public class BuyGoodsNewLogic {
/**
*
*/
public static void refreshWelfareState(User user){
public static boolean refreshWelfareState(User user){
boolean needChange = false;
List<AbstractWelfareBag> pAddList = new ArrayList<>();
List<Integer> garbageList = new ArrayList<>();
NewRechargeInfo info = user.getPlayerInfoManager().getNewRechargeInfo();
@ -76,17 +77,27 @@ public class BuyGoodsNewLogic {
Map<Integer, ReceiveWelfareBag> receiveWelfareBagMap = info.getReceiveMap();
Map<Integer, PushWelfareBag> pushWelfareBagMap = info.getPushMap();
if(perpetualWelfareBagMap.containsKey(entry.getKey())){
refreshUnitWF(perpetualWelfareBagMap.get(entry.getKey()),garbageList,user);
if(refreshUnitWF(perpetualWelfareBagMap.get(entry.getKey()),garbageList,user) && !needChange){
needChange = true;
}
}else if(timeLimitWelfareBagMap.containsKey(entry.getKey())){
refreshUnitWF(timeLimitWelfareBagMap.get(entry.getKey()),garbageList,user);
if(refreshUnitWF(timeLimitWelfareBagMap.get(entry.getKey()),garbageList,user) && !needChange){
needChange = true;
}
}else if(receiveWelfareBagMap.containsKey(entry.getKey())){
refreshUnitWF(receiveWelfareBagMap.get(entry.getKey()),garbageList,user);
if(refreshUnitWF(receiveWelfareBagMap.get(entry.getKey()),garbageList,user) && !needChange){
needChange = true;
}
}else if(pushWelfareBagMap.containsKey(entry.getKey())){
refreshUnitWF(pushWelfareBagMap.get(entry.getKey()),garbageList,user);
if(refreshUnitWF(pushWelfareBagMap.get(entry.getKey()),garbageList,user) && !needChange){
needChange = true;
}
}else{
AbstractWelfareBag bag = initUnitWF(user,entry.getValue());
pAddList.add(bag);
refreshUnitWF(bag,garbageList,user);
if(refreshUnitWF(bag,garbageList,user) && !needChange){
needChange = true;
}
}
}
//添加新增礼包
@ -109,6 +120,7 @@ public class BuyGoodsNewLogic {
info.getTimeLimitMap().remove(i);
}
}
return needChange;
}
/**
@ -407,10 +419,10 @@ public class BuyGoodsNewLogic {
/**
*
*/
public static void refreshUnitWF(AbstractWelfareBag bag,List<Integer> garbageList,User user){
if(bag.isProhibited()){
public static boolean refreshUnitWF(AbstractWelfareBag bag,List<Integer> garbageList,User user){
if(bag.isProhibited() && !garbageList.contains(bag.getModId())){
garbageList.add(bag.getModId());
return;
return false;
}
if(bag.isOpen()){
if(bag.getEndTime() == 0){
@ -440,8 +452,10 @@ public class BuyGoodsNewLogic {
}
if(open){
bag.setOpen(true);
return true;
}
}
return false;
}
/**
@ -507,10 +521,9 @@ public class BuyGoodsNewLogic {
return true;
}
public static boolean getGoodsBagInfo(int uid,List<CommonProto.GiftGoodsInfo> giftGoodsInfoList,boolean needClear) throws Exception {
boolean needChange = false;
public static boolean getGoodsBagInfo(int uid,List<CommonProto.GiftGoodsInfo> giftGoodsInfoList) throws Exception {
User user = UserManager.getUser(uid);
refreshWelfareState(user);
boolean needChange = refreshWelfareState(user);
NewRechargeInfo rechargeInfo = user.getPlayerInfoManager().getNewRechargeInfo();
for(AbstractWelfareBag bag : rechargeInfo.getPerpetualMap().values()){
if(bag.isOpen()){