惊喜盒子,状态优化
parent
0b2df1665a
commit
8811d07ace
|
@ -41,15 +41,26 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
public void initActivity(User user) throws Exception {
|
||||
ActivityMission mission = new ActivityMission();
|
||||
// 读表获取阶段奖励信息
|
||||
Collection<SSurpriseBox> boxes = SSurpriseBox.map.get(id).values();
|
||||
if (boxes == null || boxes.isEmpty()){
|
||||
Map<Integer, SSurpriseBox> boxMap = SSurpriseBox.map.getOrDefault(id,new HashMap<>());
|
||||
if (boxMap.isEmpty()){
|
||||
LOGGER.error("惊喜礼盒初始化失败,活动id:"+id);
|
||||
boxes = new ArrayList<>();
|
||||
}
|
||||
List<Integer> list = boxes.stream().mapToInt(SSurpriseBox::getId).boxed().collect(Collectors.toList());
|
||||
List<Integer> list = boxMap.values().stream().mapToInt(SSurpriseBox::getId).boxed().collect(Collectors.toList());
|
||||
// 初始化阶段奖励
|
||||
ActivityLogic.getInstance().initOtherMission(mission, list);
|
||||
|
||||
// 第一位的礼包初始化参数
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> entry : mission.getActivityMissionMap().entrySet()) {
|
||||
SSurpriseBox box = boxMap.get(entry.getKey());
|
||||
if (box != null && box.getLimitPackFId() == 0){
|
||||
entry.getValue().setProgrss(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
user.getActivityManager().getActivityMissionMap().put(id, mission);
|
||||
// 修改状态
|
||||
updateState(user);
|
||||
LOGGER.info("惊喜礼盒初始化..."+id);
|
||||
}
|
||||
|
||||
|
@ -86,14 +97,17 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
for (SSurpriseBox box : boxes) {
|
||||
if (box.getPackId() == giftId){
|
||||
// 当前礼包状态处理
|
||||
ActivityProgressInfo current = missionMap.get(box.getPackId());
|
||||
current.setState(8);
|
||||
missionMap.put(box.getId(),current);
|
||||
|
||||
ActivityProgressInfo current = missionMap.get(box.getId());
|
||||
if (current != null){
|
||||
current.setState(8);
|
||||
missionMap.put(box.getId(),current);
|
||||
}
|
||||
// 下位礼包数据处理
|
||||
ActivityProgressInfo next = missionMap.get(box.getLimitPackId());
|
||||
next.setProgrss(1);
|
||||
missionMap.put(box.getId(),next);
|
||||
ActivityProgressInfo next = missionMap.get(box.getLimitPackBId());
|
||||
if (next != null){
|
||||
next.setProgrss(1);
|
||||
missionMap.put(box.getId(),next);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,9 @@ public class SSurpriseBox implements BaseConfig {
|
|||
|
||||
private int buyDay;
|
||||
|
||||
private int limitPackId;
|
||||
private int limitPackFId;
|
||||
|
||||
private int limitPackBId;
|
||||
|
||||
private int rule;
|
||||
|
||||
|
@ -65,11 +67,15 @@ public class SSurpriseBox implements BaseConfig {
|
|||
return buyDay;
|
||||
}
|
||||
|
||||
public int getLimitPackId() {
|
||||
return limitPackId;
|
||||
public int getLimitPackFId() {
|
||||
return limitPackFId;
|
||||
}
|
||||
|
||||
public int getRule() {
|
||||
public int getLimitPackBId() {
|
||||
return limitPackBId;
|
||||
}
|
||||
|
||||
public int getRule() {
|
||||
return rule;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue