网页支付,礼包优化
parent
e62e7a4ed9
commit
c7e2243818
|
@ -11,17 +11,18 @@ import com.ljsd.jieling.exception.ErrorCode;
|
|||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.ktbeans.ReportEventEnum;
|
||||
import com.ljsd.jieling.ktbeans.ReportUtil;
|
||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.AbstractActivity;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import com.ljsd.jieling.logic.activity.ActivityTypeEnum;
|
||||
import com.ljsd.jieling.logic.activity.event.*;
|
||||
import com.ljsd.jieling.logic.dao.PlayerManager;
|
||||
import com.ljsd.jieling.logic.dao.RechargeInfo;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.VipInfo;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.expedition.ExpeditionLogic;
|
||||
import com.ljsd.jieling.logic.fight.CombatLogic;
|
||||
|
@ -636,27 +637,106 @@ public class BuyGoodsNewLogic {
|
|||
public static Set<Integer> getGoodsBagInfoFromDelive(int uid) throws Exception {
|
||||
User user = UserManager.getUser(uid);
|
||||
Set<Integer> list = new HashSet<>();
|
||||
// 礼包是否打开
|
||||
NewRechargeInfo rechargeInfo = user.getPlayerInfoManager().getNewRechargeInfo();
|
||||
for(AbstractWelfareBag bag : rechargeInfo.getPerpetualMap().values()){
|
||||
ArrayList<AbstractWelfareBag> welfareBags = new ArrayList<>(rechargeInfo.getPerpetualMap().values());
|
||||
welfareBags.addAll(rechargeInfo.getTimeLimitMap().values());
|
||||
welfareBags.addAll(rechargeInfo.getPushMap().values());
|
||||
|
||||
for (AbstractWelfareBag bag : welfareBags) {
|
||||
if(bag.isOpen()){
|
||||
list.add(bag.getModId());
|
||||
if (bag.getLimit() != 0 && bag.getLimit() > bag.getBuyTimes()){
|
||||
list.add(bag.getModId());
|
||||
}
|
||||
}
|
||||
}
|
||||
for(AbstractWelfareBag bag : rechargeInfo.getTimeLimitMap().values()){
|
||||
if(bag.isOpen()){
|
||||
list.add(bag.getModId());
|
||||
|
||||
for (AbstractWelfareBag value : rechargeInfo.getReceiveMap().values()) {
|
||||
ReceiveWelfareBag bag = (ReceiveWelfareBag)value;
|
||||
if(bag.isOpen() && bag.isBought()){
|
||||
if (bag.getLimit() != 0 && bag.getLimit() > bag.getBuyTimes()){
|
||||
list.add(bag.getModId());
|
||||
}
|
||||
}
|
||||
}
|
||||
for(AbstractWelfareBag bag : rechargeInfo.getReceiveMap().values()){
|
||||
if(bag.isOpen()){
|
||||
list.add(bag.getModId());
|
||||
|
||||
// 登封造极活动信息
|
||||
List<SGlobalActivity> activity1 = SGlobalActivity.getsGlobalActivityMapByType(ActivityType.HERO_STAR);
|
||||
Map<Integer, ActivityMission> missionMap = user.getActivityManager().getActivityMissionMap();
|
||||
// 循环相同类型的全部活动
|
||||
for (SGlobalActivity activity : activity1) {
|
||||
// 单个活动
|
||||
ActivityMission orDefault = missionMap.getOrDefault(activity.getId(), null);
|
||||
if (orDefault == null){
|
||||
continue;
|
||||
}
|
||||
// 活动页签
|
||||
Map<Integer, ActivityProgressInfo> map = orDefault.getActivityMissionMap();
|
||||
// 活动奖励条件
|
||||
List<SActivityRewardConfig> rewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(activity.getId());
|
||||
for (SActivityRewardConfig rewardConfig : rewardConfigs) {
|
||||
ActivityProgressInfo progressInfo = map.get(rewardConfig.getId());
|
||||
// 页签不存在或者状态不为可领取状态
|
||||
if (progressInfo == null || progressInfo.getState() != 1){
|
||||
int goodsId = rewardConfig.getValues()[2][0];
|
||||
list.remove(goodsId);
|
||||
}
|
||||
}
|
||||
}
|
||||
for(AbstractWelfareBag bag : rechargeInfo.getPushMap().values()){
|
||||
if(bag.isOpen()){
|
||||
list.add(bag.getModId());
|
||||
|
||||
// 惊喜礼盒,特惠神装
|
||||
List<SGlobalActivity> activity2 = new ArrayList<>(SGlobalActivity.getsGlobalActivityMapByType(ActivityType.SUPER_BOX));
|
||||
activity2.addAll(SGlobalActivity.getsGlobalActivityMapByType(ActivityType.SUPER_DISCOUNT_SKIN));
|
||||
// 循环相同类型的全部活动
|
||||
for (SGlobalActivity activity : activity2) {
|
||||
// 单个活动
|
||||
ActivityMission orDefault = missionMap.getOrDefault(activity.getId(), null);
|
||||
if (orDefault == null){
|
||||
continue;
|
||||
}
|
||||
// 活动页签
|
||||
Map<Integer, ActivityProgressInfo> map = orDefault.getActivityMissionMap();
|
||||
Map<Integer, SSurpriseBox> boxMap = SSurpriseBox.map.get(activity.getId());
|
||||
// 活动奖励条件
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> entry : map.entrySet()) {
|
||||
if (entry.getValue().getProgrss() != 1){
|
||||
SSurpriseBox box = boxMap.getOrDefault(entry.getKey(), null);
|
||||
if (box == null){
|
||||
continue;
|
||||
}
|
||||
list.remove(box.getPackId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 缥缈之旅
|
||||
List<SGlobalActivity> activity3 = SGlobalActivity.getsGlobalActivityMapByType(ActivityType.MISTY_TRIP);
|
||||
// 循环相同类型的全部活动
|
||||
for (SGlobalActivity activity : activity3) {
|
||||
// 单个活动
|
||||
ActivityMission orDefault = missionMap.getOrDefault(activity.getId(), null);
|
||||
if (orDefault == null){
|
||||
continue;
|
||||
}
|
||||
// 活动详细配置
|
||||
Map<Integer, ActivityProgressInfo> map = orDefault.getActivityMissionMap();
|
||||
List<SActivityRewardConfig> rewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(activity.getId());
|
||||
// 创角色第几天
|
||||
int days = TimeUtils.getSoFarWentDays(user.getPlayerInfoManager().getCreateTime(), TimeUtils.now());
|
||||
for (SActivityRewardConfig config : rewardConfigs) {
|
||||
// 单个页签信息
|
||||
ActivityProgressInfo info = map.getOrDefault(config.getId(), null);
|
||||
if (info == null){
|
||||
continue;
|
||||
}
|
||||
int[][] values = config.getValues();
|
||||
// 条件,天数和任务数量
|
||||
if (days < values[0][1] || info.getProgrss() < values[0][0]){
|
||||
list.remove(values[1][0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue