连续礼包优化,bug修改提交

back_recharge
duhui 2021-12-02 16:44:17 +08:00
parent f0b55b5ffb
commit 910670c66c
2 changed files with 11 additions and 15 deletions

View File

@ -1,13 +1,9 @@
package com.ljsd.jieling.logic.activity; package com.ljsd.jieling.logic.activity;
import com.ljsd.GameApplication; import com.ljsd.GameApplication;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.jbean.ActivityProgressInfo;
import com.ljsd.jieling.logic.OnlineUserManager; 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.event.ActivityStateChangeEvent; import com.ljsd.jieling.logic.activity.event.ActivityStateChangeEvent;
import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.Poster;
@ -112,7 +108,7 @@ public class ContinuousGiftActivity extends AbstractActivity {
* , * ,
* @param user * @param user
*/ */
private int getProgress(User user,int missionId){ private int getState(User user, int missionId){
// 活动信息是否为null // 活动信息是否为null
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id); ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
int days = mission.getV(); int days = mission.getV();
@ -184,15 +180,15 @@ public class ContinuousGiftActivity extends AbstractActivity {
for (Map.Entry<Integer, SThemeActivityShop> entry : themeMap.entrySet()) { for (Map.Entry<Integer, SThemeActivityShop> entry : themeMap.entrySet()) {
// 参数初始化 // 参数初始化
int missionId = entry.getKey(); int missionId = entry.getKey();
int progress = getProgress(user,missionId); int state = getState(user,missionId);
if (progress == 0){ if (state == 0){
continue; continue;
} }
int state = progress==8?1:0; int progrss = progressInfoMap.getOrDefault(missionId, new ActivityProgressInfo()).getProgrss();
// 封装proto并返回 // 封装proto并返回
CommonProto.ActivityInfo.MissionInfo build = CommonProto.ActivityInfo.MissionInfo.newBuilder() CommonProto.ActivityInfo.MissionInfo build = CommonProto.ActivityInfo.MissionInfo.newBuilder()
.setMissionId(missionId) .setMissionId(missionId)
.setProgress(progress) .setProgress(progrss)
.setState(state) .setState(state)
.build(); .build();
missionInfos.add(build); missionInfos.add(build);
@ -282,7 +278,7 @@ public class ContinuousGiftActivity extends AbstractActivity {
Map<Integer, ActivityProgressInfo> missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap(); Map<Integer, ActivityProgressInfo> missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap();
SThemeActivityShop themes = STableManager.getConfig(SThemeActivityShop.class).get(boxId); SThemeActivityShop themes = STableManager.getConfig(SThemeActivityShop.class).get(boxId);
// 非空 // 非空
if (missionMap.isEmpty() || themes == null){ if (themes == null){
return false; return false;
} }
// 0表示没有前置条件 // 0表示没有前置条件
@ -290,7 +286,7 @@ public class ContinuousGiftActivity extends AbstractActivity {
return true; return true;
} }
// 前置礼包状态验证 // 前置礼包状态验证
ActivityProgressInfo info = missionMap.get(themes.getLimitPackFId()); ActivityProgressInfo info = Optional.ofNullable(missionMap).map(v->v.get(themes.getLimitPackFId())).orElse(null);
// info为null代表没有前置条件, state==1代表已买过 // info为null代表没有前置条件, state==1代表已买过
if (info != null && info.getState() == 8){ if (info != null && info.getState() == 8){
return true; return true;
@ -352,9 +348,9 @@ public class ContinuousGiftActivity extends AbstractActivity {
Map<Integer, SThemeActivityShop> themes = SThemeActivityShop.themeMap.get(id); Map<Integer, SThemeActivityShop> themes = SThemeActivityShop.themeMap.get(id);
for (Map.Entry<Integer, SThemeActivityShop> entry : themes.entrySet()) { for (Map.Entry<Integer, SThemeActivityShop> entry : themes.entrySet()) {
int progress = getProgress(user, entry.getKey()); int state = getState(user, entry.getKey());
// 不可购买的礼包 // 不可购买的礼包
if (progress != 1 || progress == 0){ if (state != 1){
set.add(entry.getValue().getGoodId()); set.add(entry.getValue().getGoodId());
} }
} }

View File

@ -282,7 +282,7 @@ public class SuperBoxActivity extends AbstractActivity {
Map<Integer, ActivityProgressInfo> missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap(); Map<Integer, ActivityProgressInfo> missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap();
SSurpriseBox box = STableManager.getConfig(SSurpriseBox.class).get(boxId); SSurpriseBox box = STableManager.getConfig(SSurpriseBox.class).get(boxId);
// 非空 // 非空
if (missionMap.isEmpty() || box == null){ if (box == null){
return false; return false;
} }
// 0表示没有前置条件 // 0表示没有前置条件
@ -290,7 +290,7 @@ public class SuperBoxActivity extends AbstractActivity {
return true; return true;
} }
// 前置礼包状态验证 // 前置礼包状态验证
ActivityProgressInfo info = missionMap.get(box.getLimitPackFId()); ActivityProgressInfo info = Optional.ofNullable(missionMap).map(v->v.get(box.getLimitPackFId())).orElse(null);
// info为null代表没有前置条件, state==1代表已买过 // info为null代表没有前置条件, state==1代表已买过
if (info != null && info.getState() == ActivityType.HAD_TAKED){ if (info != null && info.getState() == ActivityType.HAD_TAKED){
return true; return true;