新礼包
parent
9f00d7a855
commit
c9db588348
|
|
@ -418,8 +418,6 @@ public class BuyGoodsNewLogic {
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
//判断刷新时间
|
//判断刷新时间
|
||||||
if(bag.getRefreshTime() != 0 && bag.getRefreshTime() < System.currentTimeMillis()){
|
if(bag.getRefreshTime() != 0 && bag.getRefreshTime() < System.currentTimeMillis()){
|
||||||
bag.setOpen(true);
|
|
||||||
bag.setStartTime(TimeUtils.getTodayZero());
|
|
||||||
bag.refresh();
|
bag.refresh();
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
|
@ -458,14 +456,16 @@ public class BuyGoodsNewLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bag.setStartTime(System.currentTimeMillis());
|
bag.setStartTime(System.currentTimeMillis());
|
||||||
|
if(endTime != 0){
|
||||||
bag.setEndTime(bag.getStartTime() + endTime);
|
bag.setEndTime(bag.getStartTime() + endTime);
|
||||||
|
}
|
||||||
bag.setOpen(true);
|
bag.setOpen(true);
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
boolean open = true;
|
boolean open = true;
|
||||||
if(System.currentTimeMillis() > bag.getStartTime()){
|
if(System.currentTimeMillis() > bag.getStartTime()){
|
||||||
if(bag.getType() > RechargeType.timeLimit.getType()){
|
if(bag.getType() != RechargeType.timeLimit.getType()){
|
||||||
for(String[] con : bag.getCondition()){
|
for(String[] con : bag.getCondition()){
|
||||||
if(!judgeOpen(con,user)){
|
if(!judgeOpen(con,user)){
|
||||||
open = false;
|
open = false;
|
||||||
|
|
@ -529,13 +529,29 @@ public class BuyGoodsNewLogic {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}else if(con[0].equals("2")){//功能开启
|
}else if(con[0].equals("2")){//功能开启
|
||||||
return GlobalDataManaager.getInstance().checkIsOpen(Integer.parseInt(con[1]));
|
if(GlobalDataManaager.getInstance().checkIsOpen(Integer.parseInt(con[1]))){
|
||||||
|
SGlobalSystemConfig config = SGlobalSystemConfig.getConfigById(Integer.parseInt(con[1]));
|
||||||
|
if(config == null){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
int[] rule = config.getOpenRules();
|
||||||
|
if(rule[0] == 2){
|
||||||
|
int level = user.getPlayerInfoManager().getLevel();
|
||||||
|
if(level < rule[1]){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}else if(con[0].equals("3")){//活动开启
|
}else if(con[0].equals("3")){//活动开启
|
||||||
return ActivityLogic.checkActivityOpen(user,Integer.parseInt(con[1]));
|
return ActivityLogic.checkActivityOpen(user,Integer.parseInt(con[1]));
|
||||||
}else if(con[0].equals("4")){//时间类全部true
|
}else if(con[0].equals("4")){//时间类全部true
|
||||||
return true;
|
return true;
|
||||||
}else if(con[0].equals("5")){//激活高级月卡
|
}else if(con[0].equals("5")){//激活高级月卡
|
||||||
return user.getPlayerInfoManager().getMonthCard().get(Global.LMONTHCARDID)==null?false:true;
|
return user.getPlayerInfoManager().getMonthCard().get(Global.LMONTHCARDID)==null?false:true;
|
||||||
|
}else if(con[0].equals("7")){
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,9 @@ public class AbstractWelfareBag extends MongoBase{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (String s0 : s) {
|
for (String s0 : s) {
|
||||||
String[] s1 = s0.split("#");
|
String[] s1 = s0.split("#");
|
||||||
|
if(s1[0].equals("7")){
|
||||||
|
setUserBuyRefresh(true);
|
||||||
|
}
|
||||||
condition[i][0] = s1[0];
|
condition[i][0] = s1[0];
|
||||||
condition[i][1] = s1[1];
|
condition[i][1] = s1[1];
|
||||||
if(s1.length > 2){
|
if(s1.length > 2){
|
||||||
|
|
@ -84,7 +87,7 @@ public class AbstractWelfareBag extends MongoBase{
|
||||||
LOGGER.error("礼包:{}购买次数为:{}超过限制:{}",modId,buyTimes,limit);
|
LOGGER.error("礼包:{}购买次数为:{}超过限制:{}",modId,buyTimes,limit);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(isUserBuyRefresh){
|
if(isUserBuyRefresh && getRefreshTime() == 0){
|
||||||
setRefreshTime(TimeUtils.getTodayZero() + getDailyUpdate() * TimeUtils.DAY);
|
setRefreshTime(TimeUtils.getTodayZero() + getDailyUpdate() * TimeUtils.DAY);
|
||||||
}
|
}
|
||||||
setBuyTimes(getBuyTimes()+1);
|
setBuyTimes(getBuyTimes()+1);
|
||||||
|
|
@ -127,17 +130,17 @@ public class AbstractWelfareBag extends MongoBase{
|
||||||
}else if(getTimeType() == 8){//每月刷新
|
}else if(getTimeType() == 8){//每月刷新
|
||||||
setStartTime(TimeUtils.getCurMonthStartTime(1));
|
setStartTime(TimeUtils.getCurMonthStartTime(1));
|
||||||
setRefreshTime(TimeUtils.getMonthStartTime(1,1));
|
setRefreshTime(TimeUtils.getMonthStartTime(1,1));
|
||||||
}else if(getTimeType() == 5){//玩家购买刷新
|
|
||||||
setRefreshTime(0);
|
|
||||||
}else{
|
}else{
|
||||||
for(String[] I : getCondition()){
|
for(String[] I : getCondition()){
|
||||||
if(I[0].equals("4")){
|
if(I[0].equals("4")){
|
||||||
setEndTime(getStartTime()+Long.parseLong(I[2]));
|
setRefreshTime(System.currentTimeMillis() + getDailyUpdate() * TimeUtils.DAY);
|
||||||
setRefreshTime(getStartTime() + getDailyUpdate() * TimeUtils.DAY);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(isUserBuyRefresh()){//玩家购买刷新
|
||||||
|
setRefreshTime(0);
|
||||||
|
}
|
||||||
setBuyTimes(0);
|
setBuyTimes(0);
|
||||||
setLastBuyTime(0);
|
setLastBuyTime(0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,9 +22,6 @@ public class PerpetualWelfareBag extends AbstractWelfareBag {
|
||||||
setStartTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(I[1]));
|
setStartTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(I[1]));
|
||||||
}else if(config.getTime() == 3){//开服时间
|
}else if(config.getTime() == 3){//开服时间
|
||||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime());
|
setStartTime(GameApplication.serverConfig.getCacheOpenTime());
|
||||||
}else if(config.getTime() == 5){//开服时间开,玩家购买刷新
|
|
||||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime());
|
|
||||||
setUserBuyRefresh(true);
|
|
||||||
}else if(config.getTime() == 9){//条件达成
|
}else if(config.getTime() == 9){//条件达成
|
||||||
setStartTime(0);
|
setStartTime(0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,6 @@ public class ReceiveWelfareBag extends AbstractWelfareBag {
|
||||||
}else{
|
}else{
|
||||||
setEndTime(GameApplication.serverConfig.getCacheOpenTime()+Long.parseLong(I[2]));
|
setEndTime(GameApplication.serverConfig.getCacheOpenTime()+Long.parseLong(I[2]));
|
||||||
}
|
}
|
||||||
}else if(config.getTime() == 5){//开服时间开,玩家购买刷新
|
|
||||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime());
|
|
||||||
setUserBuyRefresh(true);
|
|
||||||
}else if(config.getTime() == 9){//条件达成
|
}else if(config.getTime() == 9){//条件达成
|
||||||
setStartTime(0);
|
setStartTime(0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,17 +47,25 @@ public class SGlobalSystemConfig implements BaseConfig {
|
||||||
private int guideId;
|
private int guideId;
|
||||||
|
|
||||||
public static Map<Integer, List<Integer>> idsByType;
|
public static Map<Integer, List<Integer>> idsByType;
|
||||||
|
private static Map<Integer,SGlobalSystemConfig> configMap;
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
Map<Integer, SGlobalSystemConfig> config = STableManager.getConfig(SGlobalSystemConfig.class);
|
Map<Integer, SGlobalSystemConfig> config = STableManager.getConfig(SGlobalSystemConfig.class);
|
||||||
Map<Integer, List<Integer>> idsByTypeTmp = new HashMap<>();
|
Map<Integer, List<Integer>> idsByTypeTmp = new HashMap<>();
|
||||||
|
Map<Integer,SGlobalSystemConfig> tempConfigMap = new HashMap<>();
|
||||||
STableManager.getConfig(SGlobalSystemConfig.class).forEach((id,item)->{
|
STableManager.getConfig(SGlobalSystemConfig.class).forEach((id,item)->{
|
||||||
|
tempConfigMap.put(item.getId(),item);
|
||||||
if(!idsByTypeTmp.containsKey(item.getIsIDdSame())){
|
if(!idsByTypeTmp.containsKey(item.getIsIDdSame())){
|
||||||
idsByTypeTmp.put(item.getIsIDdSame(),new ArrayList<>());
|
idsByTypeTmp.put(item.getIsIDdSame(),new ArrayList<>());
|
||||||
}
|
}
|
||||||
idsByTypeTmp.get(item.getIsIDdSame()).add(item.getId());
|
idsByTypeTmp.get(item.getIsIDdSame()).add(item.getId());
|
||||||
});
|
});
|
||||||
idsByType = idsByTypeTmp;
|
idsByType = idsByTypeTmp;
|
||||||
|
configMap = tempConfigMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SGlobalSystemConfig getConfigById(int id){
|
||||||
|
return configMap.get(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue