惊喜礼盒,逻辑修改
parent
8811d07ace
commit
374cd9d58d
|
@ -12,6 +12,7 @@ import com.ljsd.jieling.logic.dao.root.User;
|
|||
import com.ljsd.jieling.network.session.ISession;
|
||||
import config.SGlobalActivity;
|
||||
import config.SSurpriseBox;
|
||||
import manager.STableManager;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
@ -48,16 +49,6 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
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);
|
||||
|
@ -99,15 +90,10 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
// 当前礼包状态处理
|
||||
ActivityProgressInfo current = missionMap.get(box.getId());
|
||||
if (current != null){
|
||||
current.setState(8);
|
||||
current.setState(ActivityType.HAD_TAKED);
|
||||
current.setProgrss(8);
|
||||
missionMap.put(box.getId(),current);
|
||||
}
|
||||
// 下位礼包数据处理
|
||||
ActivityProgressInfo next = missionMap.get(box.getLimitPackBId());
|
||||
if (next != null){
|
||||
next.setProgrss(1);
|
||||
missionMap.put(box.getId(),next);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -137,9 +123,9 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
for (Map.Entry<Integer, ActivityProgressInfo> entry : missionMap.entrySet()) {
|
||||
int k = entry.getKey();
|
||||
ActivityProgressInfo v = entry.getValue();
|
||||
int state = v.getState();
|
||||
int progrss = v.getProgrss();
|
||||
// 是否已购买
|
||||
if (state == 8){
|
||||
if (progrss == 8){
|
||||
// 已购买
|
||||
continue;
|
||||
}
|
||||
|
@ -150,28 +136,28 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
// 已解锁, 可买天数
|
||||
if (days >= box.getBuyDay()){
|
||||
// 可买, 是否购买前置礼包
|
||||
if (v.getProgrss() == 1){
|
||||
if (checkBuyAgo(user,box.getId())){
|
||||
// 已购买前置. 是否需要特权, 是否激活特权
|
||||
state = checkRule(user,box.getRule())?1:4;
|
||||
progrss = checkRule(user,box.getRule())?1:4;
|
||||
}else {
|
||||
// 未购买前置
|
||||
state = 3;
|
||||
progrss = 3;
|
||||
}
|
||||
}else {
|
||||
// 不可买
|
||||
state = 2;
|
||||
progrss = 2;
|
||||
}
|
||||
}else {
|
||||
// 未解锁, 是否可见
|
||||
if (days >= box.getVisibleDay()){
|
||||
// 可见, 是否可预览
|
||||
state = days >= box.getViewDay()?6:7;
|
||||
progrss = days >= box.getViewDay()?6:7;
|
||||
}else {
|
||||
// 不可见
|
||||
state = 5;
|
||||
progrss = 5;
|
||||
}
|
||||
}
|
||||
v.setState(state);
|
||||
v.setProgrss(progrss);
|
||||
}
|
||||
|
||||
// 客户端推送
|
||||
|
@ -179,6 +165,29 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
sendActivityProgress(session, mission, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证前置礼包购买状态
|
||||
* @param user
|
||||
* @param boxId
|
||||
* @return
|
||||
*/
|
||||
private boolean checkBuyAgo(User user, int boxId){
|
||||
boolean result = true;
|
||||
// 获取消息
|
||||
Map<Integer, ActivityProgressInfo> missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap();
|
||||
SSurpriseBox box = STableManager.getConfig(SSurpriseBox.class).get(boxId);
|
||||
// 非空
|
||||
if (!missionMap.isEmpty() && box != null){
|
||||
// 前置礼包状态验证
|
||||
ActivityProgressInfo info = missionMap.get(box.getLimitPackFId());
|
||||
// info为null代表没有前置条件, state==2代表已买过
|
||||
if (info != null && info.getState() == ActivityType.WILL_TAKE){
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测特殊权限
|
||||
* 0走默认 true
|
||||
|
|
Loading…
Reference in New Issue