parent
1b0bfdd9be
commit
8bec8568f2
|
@ -114,48 +114,49 @@ public class CommonStaticConfig extends AbstractClassStaticConfig {
|
|||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
if (2 == sGlobalSystemConfig.getType()) {
|
||||
long cacheOpenTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
sGlobalSystemConfig.setSeasonOpenLong(cacheOpenTime + Integer.parseInt(sGlobalSystemConfig.getSeasonOpen()) * 1000);
|
||||
sGlobalSystemConfig.setSeasonEndLong(cacheOpenTime + Integer.parseInt(sGlobalSystemConfig.getSeasonEnd()) * 1000);
|
||||
} else if( 4 == sGlobalSystemConfig.getType()){
|
||||
long cacheOpenTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(cacheOpenTime);
|
||||
calendar.set(Calendar.HOUR_OF_DAY,0);
|
||||
calendar.set(Calendar.MINUTE,0);
|
||||
calendar.set(Calendar.SECOND,0);
|
||||
long timeInMillis = calendar.getTimeInMillis();
|
||||
sGlobalSystemConfig.setSeasonOpenLong(timeInMillis + Integer.parseInt(sGlobalSystemConfig.getSeasonOpen()) * 1000L);
|
||||
sGlobalSystemConfig.setSeasonEndLong(timeInMillis + Integer.parseInt(sGlobalSystemConfig.getSeasonEnd()) * 1000L);
|
||||
}else if( 5 == sGlobalSystemConfig.getType()){
|
||||
long cacheOpenTime =TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSystemOpen(), TimeUtils.Stand_CeHua_Data_format);
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(cacheOpenTime);
|
||||
calendar.set(Calendar.HOUR_OF_DAY,5);
|
||||
calendar.set(Calendar.MINUTE,0);
|
||||
calendar.set(Calendar.SECOND,0);
|
||||
long timeInMillis = calendar.getTimeInMillis();
|
||||
sGlobalSystemConfig.setSeasonOpenLong(timeInMillis + Integer.parseInt(sGlobalSystemConfig.getSeasonOpen()) * 1000L);
|
||||
sGlobalSystemConfig.setSeasonEndLong(timeInMillis + Integer.parseInt(sGlobalSystemConfig.getSeasonEnd()) * 1000L);
|
||||
} else {
|
||||
sGlobalSystemConfig.setSeasonOpenLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSeasonOpen(), TimeUtils.Stand_CeHua_Data_format));
|
||||
sGlobalSystemConfig.setSeasonEndLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSeasonEnd(), TimeUtils.Stand_CeHua_Data_format));
|
||||
long cacheOpenTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
switch (sGlobalSystemConfig.getType()){
|
||||
case 2:
|
||||
sGlobalSystemConfig.setSeasonOpenLong(cacheOpenTime + Integer.parseInt(sGlobalSystemConfig.getSeasonOpen()) * 1000L);
|
||||
sGlobalSystemConfig.setSeasonEndLong(cacheOpenTime + Integer.parseInt(sGlobalSystemConfig.getSeasonEnd()) * 1000L);
|
||||
break;
|
||||
case 4:
|
||||
Calendar calendar1 = Calendar.getInstance();
|
||||
calendar1.setTimeInMillis(cacheOpenTime);
|
||||
calendar1.set(Calendar.HOUR_OF_DAY,0);
|
||||
calendar1.set(Calendar.MINUTE,0);
|
||||
calendar1.set(Calendar.SECOND,0);
|
||||
long timeInMillis = calendar1.getTimeInMillis();
|
||||
sGlobalSystemConfig.setSeasonOpenLong(timeInMillis + Integer.parseInt(sGlobalSystemConfig.getSeasonOpen()) * 1000L);
|
||||
sGlobalSystemConfig.setSeasonEndLong(timeInMillis + Integer.parseInt(sGlobalSystemConfig.getSeasonEnd()) * 1000L);
|
||||
break;
|
||||
case 5:
|
||||
Calendar calendar2 = Calendar.getInstance();
|
||||
calendar2.setTimeInMillis(cacheOpenTime);
|
||||
calendar2.set(Calendar.HOUR_OF_DAY,5);
|
||||
calendar2.set(Calendar.MINUTE,0);
|
||||
calendar2.set(Calendar.SECOND,0);
|
||||
long timeInMillis2 = calendar2.getTimeInMillis();
|
||||
sGlobalSystemConfig.setSeasonOpenLong(timeInMillis2 + Integer.parseInt(sGlobalSystemConfig.getSeasonOpen()) * 1000L);
|
||||
sGlobalSystemConfig.setSeasonEndLong(timeInMillis2 + Integer.parseInt(sGlobalSystemConfig.getSeasonEnd()) * 1000L);
|
||||
break;
|
||||
default:
|
||||
sGlobalSystemConfig.setSeasonOpenLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSeasonOpen(), TimeUtils.Stand_CeHua_Data_format));
|
||||
sGlobalSystemConfig.setSeasonEndLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSeasonEnd(), TimeUtils.Stand_CeHua_Data_format));
|
||||
break;
|
||||
}
|
||||
|
||||
sGlobalSystemConfig.setSystemOpenLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSystemOpen(), TimeUtils.Stand_CeHua_Data_format));
|
||||
sGlobalSystemConfig.setSystemEndLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSystemEnd(), TimeUtils.Stand_CeHua_Data_format));
|
||||
|
||||
int[] openRules = sGlobalSystemConfig.getOpenRules();
|
||||
int openType = openRules[0];
|
||||
int openCondition = openRules[1];
|
||||
if (!sGlobalSystemConfigMapByTypeAndConditionMapTmp.containsKey(openType)) {
|
||||
sGlobalSystemConfigMapByTypeAndConditionMapTmp.put(openType, new HashMap<>());
|
||||
for (int[] openRule : sGlobalSystemConfig.getOpenRules()) {
|
||||
int openType = openRule[0];
|
||||
int openCondition = openRule[1];
|
||||
if (!sGlobalSystemConfigMapByTypeAndConditionMapTmp.containsKey(openType)) {
|
||||
sGlobalSystemConfigMapByTypeAndConditionMapTmp.put(openType, new HashMap<>());
|
||||
}
|
||||
if (!sGlobalSystemConfigMapByTypeAndConditionMapTmp.get(openType).containsKey(openCondition)) {
|
||||
sGlobalSystemConfigMapByTypeAndConditionMapTmp.get(openType).put(openCondition, new ArrayList<>());
|
||||
}
|
||||
sGlobalSystemConfigMapByTypeAndConditionMapTmp.get(openType).get(openCondition).add(sGlobalSystemConfig);
|
||||
}
|
||||
if (!sGlobalSystemConfigMapByTypeAndConditionMapTmp.get(openType).containsKey(openCondition)) {
|
||||
sGlobalSystemConfigMapByTypeAndConditionMapTmp.get(openType).put(openCondition, new ArrayList<>());
|
||||
}
|
||||
sGlobalSystemConfigMapByTypeAndConditionMapTmp.get(openType).get(openCondition).add(sGlobalSystemConfig);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -32,9 +32,8 @@ public enum FunctionIdEnum {
|
|||
WorkShop(5,null,MessageTypeProto.MessageType.WORKSHOP_LEVELUP_RESPONSE_VALUE,MessageTypeProto.MessageType.WORKSHOP_FOUNDATION_REQUEST_VALUE,MessageTypeProto.MessageType.WORKSHOP_EQUIP_CREATE_REQUEST_VALUE),
|
||||
Foods(6,null,MessageTypeProto.MessageType.COOK_FOOD_REQUEST_VALUE),
|
||||
Adventure(7,null,
|
||||
MessageTypeProto.MessageType.ADVENTURE_CHALLENGE_REQUEST_VALUE,
|
||||
MessageTypeProto.MessageType.ADVENTURE_CHALLENGE_REQUEST_VALUE,
|
||||
MessageTypeProto.MessageType.ADVENTURE_UPLEVEL_REQUEST_VALUE,
|
||||
// MessageTypeProto.MessageType.ADVENTURE_REWARD_REQUEST_VALUE,
|
||||
MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_REQEUST_VALUE,
|
||||
MessageTypeProto.MessageType.ADVENTURE_BOSS_RANK_REQUEST_VALUE,
|
||||
MessageTypeProto.MessageType.ADVENTURE_BOSS_SHARE_REQUEST_VALUE),
|
||||
|
@ -42,7 +41,7 @@ public enum FunctionIdEnum {
|
|||
|
||||
DailyTasks(12,null),
|
||||
WorldBoss(13,null),
|
||||
Talking(14,null),
|
||||
Talking(14, null, MessageTypeProto.MessageType.SEND_CHAT_INFO_REQUEST_VALUE),
|
||||
|
||||
Store(20,null),
|
||||
Trial(30,new TrialFunction()),
|
||||
|
@ -75,6 +74,7 @@ public enum FunctionIdEnum {
|
|||
GodSoul(116,null),//神魂
|
||||
FaBaoSoul(119,null),//法宝聚灵
|
||||
LifeGrid(122,null),//命格
|
||||
CrossServerChat(127,null,MessageTypeProto.MessageType.SEND_CHAT_INFO_REQUEST_VALUE),//跨服聊天
|
||||
WeekGood(9091,null),
|
||||
;
|
||||
|
||||
|
|
|
@ -12,9 +12,14 @@ import com.ljsd.jieling.logic.OnlineUserManager;
|
|||
import com.ljsd.jieling.logic.dao.MainLevelManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.store.BuyGoodsNewLogic;
|
||||
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.AbstractWelfareBag;
|
||||
import com.ljsd.jieling.logic.store.newRechargeInfo.rechargeHandler.RechargeHandler;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.server.ProtocolsManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import config.SRechargeCommodityNewConfig;
|
||||
import org.springframework.expression.spel.ast.OpPlus;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.util.AyyncWorker;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
|
@ -256,25 +261,40 @@ public class HandlerLogicThread extends Thread{
|
|||
if(sGlobalSystemConfig == null || !GlobalDataManaager.getInstance().checkIsOpen(sGlobalSystemConfig.getId())){
|
||||
return false;
|
||||
}
|
||||
int level = user.getPlayerInfoManager().getLevel();
|
||||
int workShopLevel = user.getWorkShopController().getWorkShopLevel();
|
||||
MainLevelManager mainLevelManager = user.getMainLevelManager();
|
||||
int type = sGlobalSystemConfig.getOpenRules()[0];
|
||||
int condition = sGlobalSystemConfig.getOpenRules()[1];
|
||||
if (type ==1){
|
||||
if (!SMainLevelConfig.biggerThanFight(mainLevelManager.getFightId(),condition)) {
|
||||
return false;
|
||||
}
|
||||
}else if(type == 2){
|
||||
if (level < condition){
|
||||
return false;
|
||||
}
|
||||
}else if(type == 3){ //工坊
|
||||
if (workShopLevel < condition){
|
||||
return false;
|
||||
boolean result = true;
|
||||
outside: for (int[] openRule : sGlobalSystemConfig.getOpenRules()) {
|
||||
switch (openRule[0]){
|
||||
case 1:
|
||||
if (!SMainLevelConfig.biggerThanFight(user.getMainLevelManager().getFightId(),openRule[1])) {
|
||||
result = false;
|
||||
break outside;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (user.getPlayerInfoManager().getLevel() < openRule[1]){
|
||||
result = false;
|
||||
break outside;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (user.getHeroManager().getHongmengMaxLevelByInt() < openRule[1]){
|
||||
result = false;
|
||||
break outside;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(openRule[1]);
|
||||
RechargeHandler rechargeHandler = BuyGoodsNewLogic.getRechargeHandler(config.getOtype());
|
||||
AbstractWelfareBag bag = rechargeHandler.getRechargeMap(user).get(config.getId());
|
||||
if (bag == null || !bag.buyAgo()){
|
||||
result = false;
|
||||
break outside;
|
||||
}
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -4867,7 +4867,7 @@ public class HeroLogic {
|
|||
User user = UserManager.getUser(uid);
|
||||
List<Integer> config = SGlobalSystemConfig.idsByType.get(FunctionIdEnum.Pokemon.getFunctionType());
|
||||
SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(config.iterator().next());
|
||||
if (user.getPlayerInfoManager().getLevel() < sGlobalSystemConfig.getOpenRules()[1]) {
|
||||
if (!HandlerLogicThread.checkOpen(user,sGlobalSystemConfig)) {
|
||||
throw new ErrorCodeException(ErrorCode.PLAYER_LEVE_NOT);
|
||||
}
|
||||
PokemonManager pokemonManager = user.getPokemonManager();
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.store;
|
||||
|
||||
import com.ljsd.jieling.core.HandlerLogicThread;
|
||||
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
|
@ -628,8 +629,8 @@ public class BuyGoodsNewLogic {
|
|||
}
|
||||
}
|
||||
if (bag.getType() == RechargeType.receive.getType()){
|
||||
for (String[] strings : bag.getCondition()) {
|
||||
if (strings[0].equals("9")){
|
||||
for (int[] strings : bag.getCondition()) {
|
||||
if (strings[0] == 9){
|
||||
if(judgeOpen(strings, user)){
|
||||
bag.setOpen(false);
|
||||
}
|
||||
|
@ -638,8 +639,8 @@ public class BuyGoodsNewLogic {
|
|||
}
|
||||
//周礼包需求:根据不同的等级推送不同的礼包
|
||||
if (bag.getType() == RechargeType.perpetual.getType()){
|
||||
for (String[] strings : bag.getCondition()){
|
||||
if (strings[0].equals("1")){
|
||||
for (int[] strings : bag.getCondition()){
|
||||
if (strings[0] == 1){
|
||||
if(judgeOpen(strings, user)){
|
||||
bag.setOpen(false);
|
||||
}
|
||||
|
@ -653,9 +654,9 @@ public class BuyGoodsNewLogic {
|
|||
}
|
||||
if(bag.getType() == RechargeType.timeLimit.getType()){
|
||||
//活动类型特殊处理
|
||||
for(String[] s : configById.getCondition()){
|
||||
int anInt = Integer.parseInt(s[1]);
|
||||
if(!s[0].equals("3")){
|
||||
for(int[] s : configById.getOnSaleRule()){
|
||||
int anInt = s[1];
|
||||
if(s[0]==3){
|
||||
continue;
|
||||
}
|
||||
if(ActivityLogic.checkActivityOpen(user, anInt)){
|
||||
|
@ -669,7 +670,7 @@ public class BuyGoodsNewLogic {
|
|||
}else{
|
||||
if (bag.getTimeType() == 9) {
|
||||
boolean init = true;
|
||||
for(String[] con : bag.getCondition()){
|
||||
for(int[] con : bag.getCondition()){
|
||||
if(judgeOpen(con, user)){
|
||||
init = false;
|
||||
break;
|
||||
|
@ -677,9 +678,9 @@ public class BuyGoodsNewLogic {
|
|||
}
|
||||
if(init){
|
||||
long endTime = 0;
|
||||
for(String[] con : bag.getCondition()){
|
||||
if(con[0].equals("4")){
|
||||
endTime = Long.parseLong(con[2])*1000;
|
||||
for(int[] con : bag.getCondition()){
|
||||
if(con[0] == 4){
|
||||
endTime = con[2]*1000L;
|
||||
}
|
||||
}
|
||||
bag.setStartTime(now);
|
||||
|
@ -692,7 +693,7 @@ public class BuyGoodsNewLogic {
|
|||
}else{
|
||||
boolean open = true;
|
||||
if(now > bag.getStartTime()){
|
||||
for(String[] con : bag.getCondition()){
|
||||
for(int[] con : bag.getCondition()){
|
||||
if(judgeOpen(con, user)){
|
||||
open = false;
|
||||
break;
|
||||
|
@ -717,14 +718,20 @@ public class BuyGoodsNewLogic {
|
|||
public static AbstractWelfareBag initUnitWF(User user,SRechargeCommodityNewConfig config){
|
||||
AbstractWelfareBag bag = null;
|
||||
try{
|
||||
if(config.getOtype() == 1){
|
||||
bag = new PerpetualWelfareBag(user,config);
|
||||
}else if(config.getOtype() == 2){
|
||||
bag = new TimeLimitWelfareBag(user,config);
|
||||
}else if(config.getOtype() == 3){
|
||||
bag = new ReceiveWelfareBag(user,config);
|
||||
}else if(config.getOtype() == 4){
|
||||
bag = new PushWelfareBag(user,config);
|
||||
switch (config.getOtype()){
|
||||
case 1:
|
||||
bag = new PerpetualWelfareBag(user,config);
|
||||
break;
|
||||
case 2:
|
||||
bag = new TimeLimitWelfareBag(user,config);
|
||||
break;
|
||||
case 3:
|
||||
bag = new ReceiveWelfareBag(user,config);
|
||||
break;
|
||||
case 4:
|
||||
bag = new PushWelfareBag(user,config);
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
|
@ -747,40 +754,34 @@ public class BuyGoodsNewLogic {
|
|||
/**
|
||||
* 礼包开启条件判断(除了时间)
|
||||
*/
|
||||
public static boolean judgeOpen(String[] con,User user) {
|
||||
public static boolean judgeOpen(int[] con,User user) {
|
||||
boolean result = false;
|
||||
int level = user.getPlayerInfoManager().getLevel();
|
||||
switch (con[0]){
|
||||
case "1"://玩家等级
|
||||
if(Integer.parseInt(con[1]) <= level && level <= Integer.parseInt(con[2])){
|
||||
case 1://玩家等级
|
||||
if(con[1] <= level && level <= con[2]){
|
||||
result = true;
|
||||
}
|
||||
break;
|
||||
case "2"://功能开启
|
||||
if(GlobalDataManaager.getInstance().checkIsOpen(Integer.parseInt(con[1]))){
|
||||
SGlobalSystemConfig config = SGlobalSystemConfig.getConfigById(Integer.parseInt(con[1]));
|
||||
if(config == null){
|
||||
break;
|
||||
}
|
||||
int[] rule = config.getOpenRules();
|
||||
if(rule[0] == 2 && level < rule[1]){
|
||||
break;
|
||||
}
|
||||
case 2://功能开启
|
||||
SGlobalSystemConfig systemConfig = SGlobalSystemConfig.getConfigById(con[1]);
|
||||
boolean checkOpen = HandlerLogicThread.checkOpen(user, systemConfig);
|
||||
if (checkOpen){
|
||||
result = true;
|
||||
}
|
||||
break;
|
||||
case "3"://活动开启
|
||||
result = ActivityLogic.checkActivityOpen(user,Integer.parseInt(con[1]));
|
||||
case 3://活动开启
|
||||
result = ActivityLogic.checkActivityOpen(user,con[1]);
|
||||
break;
|
||||
case "5"://激活高级月卡
|
||||
case 5://激活高级月卡
|
||||
result = user.getPlayerInfoManager().getMonthCard().get(Global.LMONTHCARDID) != null;
|
||||
break;
|
||||
case "4"://时间类全部true
|
||||
case "7":
|
||||
case 4://时间类全部true
|
||||
case 7:
|
||||
result = true;
|
||||
break;
|
||||
case "9":
|
||||
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(Integer.parseInt(con[1]));
|
||||
case 9:
|
||||
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(con[1]);
|
||||
if (config == null){
|
||||
result = true;
|
||||
break;
|
||||
|
@ -952,19 +953,19 @@ public class BuyGoodsNewLogic {
|
|||
}
|
||||
}
|
||||
}
|
||||
for (String[] open : config.getCondition()) {
|
||||
for (int[] open : config.getOnSaleRule()) {
|
||||
// 活动未开启的礼包
|
||||
if ("3".equals(open[0])){
|
||||
if (open[0] == 3){
|
||||
if (mission.getActivityState() != ActivityType.OPEN_STATE){
|
||||
if (open[1].equals(String.valueOf(activityId))){
|
||||
if (open[1] == activityId){
|
||||
iterator.remove();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 功能未开启的表
|
||||
if ("2".equals(open[0])){
|
||||
if (!GlobalDataManaager.getInstance().checkIsOpen(Integer.parseInt(open[1]))){
|
||||
if (open[0] == 2){
|
||||
if (!GlobalDataManaager.getInstance().checkIsOpen(open[1])){
|
||||
iterator.remove();
|
||||
break;
|
||||
}
|
||||
|
@ -1228,9 +1229,9 @@ public class BuyGoodsNewLogic {
|
|||
*/
|
||||
private static int getTime(AbstractWelfareBag bag){
|
||||
int i = 2;
|
||||
for(String[] s : bag.getCondition()){
|
||||
if(s[0].equals("6")){
|
||||
i = Integer.parseInt(s[1]);
|
||||
for(int[] s : bag.getCondition()){
|
||||
if(s[0]==6){
|
||||
i = s[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ public class AbstractWelfareBag extends MongoBase{
|
|||
}
|
||||
|
||||
/**
|
||||
* 检查礼包是否可以购买
|
||||
* 检查并购买
|
||||
* @return
|
||||
*/
|
||||
public boolean buy() {
|
||||
|
@ -70,10 +70,18 @@ public class AbstractWelfareBag extends MongoBase{
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否买过
|
||||
* @return
|
||||
*/
|
||||
public boolean buyAgo(){
|
||||
return buyTimes >= getLimit();
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查是否可以购买
|
||||
* @return
|
||||
*/
|
||||
public boolean checkBuy() {
|
||||
if(!isOpen()){
|
||||
LOGGER.error("礼包:{}未开启",modId);
|
||||
|
@ -163,12 +171,12 @@ public class AbstractWelfareBag extends MongoBase{
|
|||
updateString("open",open);
|
||||
}
|
||||
|
||||
public String[][] getCondition() { return SRechargeCommodityNewConfig.getConditon(modId); }
|
||||
public int[][] getCondition() { return SRechargeCommodityNewConfig.getConditon(modId); }
|
||||
|
||||
public Set<Integer> getConditionType(){
|
||||
HashSet<Integer> set = new HashSet<>();
|
||||
for (String[] value : getCondition()) {
|
||||
set.add(Integer.valueOf(value[0]));
|
||||
for (int[] value : getCondition()) {
|
||||
set.add(value[0]);
|
||||
}
|
||||
return set;
|
||||
}
|
||||
|
@ -279,9 +287,9 @@ public class AbstractWelfareBag extends MongoBase{
|
|||
}
|
||||
|
||||
public boolean isUserBuyRefresh() {
|
||||
String[][] condition = getCondition();
|
||||
for (String[] rule : condition) {
|
||||
if(rule[0].equals("7")){
|
||||
int[][] condition = getCondition();
|
||||
for (int[] rule : condition) {
|
||||
if(rule[0] == 7){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,14 +13,14 @@ public class PerpetualWelfareBag extends AbstractWelfareBag {
|
|||
public PerpetualWelfareBag(User user, SRechargeCommodityNewConfig config) throws Exception{
|
||||
super(config);
|
||||
|
||||
for(String[] value : getCondition()){
|
||||
if(value[0].equals("4")){
|
||||
for(int[] value : getCondition()){
|
||||
if(value[0] == 4){
|
||||
switch (config.getTime()){
|
||||
case 1://绝对时间
|
||||
setStartTime(TimeUtils.parseTimeToMiles(value[1],TimeUtils.Stand_CeHua_Data_format));
|
||||
setStartTime(TimeUtils.parseTimeToMiles(String.valueOf(value[1]),TimeUtils.Stand_CeHua_Data_format));
|
||||
break;
|
||||
case 2://创角时间
|
||||
setStartTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(value[1]));
|
||||
setStartTime(user.getPlayerInfoManager().getCreateTime()+value[1]);
|
||||
break;
|
||||
case 3://开服时间
|
||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime());
|
||||
|
|
|
@ -36,9 +36,9 @@ public class PushWelfareBag extends AbstractWelfareBag {
|
|||
|
||||
private int getTime(){
|
||||
int i = 2;
|
||||
for(String[] s : getCondition()){
|
||||
if(s[0].equals("6")){
|
||||
i = Integer.parseInt(s[1]);
|
||||
for(int[] s : getCondition()){
|
||||
if(s[0] == 6){
|
||||
i = s[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,20 +19,20 @@ public class ReceiveWelfareBag extends AbstractWelfareBag {
|
|||
|
||||
public ReceiveWelfareBag(User user, SRechargeCommodityNewConfig config) throws Exception{
|
||||
super(config);
|
||||
for(String[] value : getCondition()){
|
||||
if(value[0].equals("4")){
|
||||
for(int[] value : getCondition()){
|
||||
if(value[0] == 4){
|
||||
switch (config.getTime()){
|
||||
case 1://绝对时间
|
||||
setStartTime(TimeUtils.parseTimeToMiles(value[1],TimeUtils.Stand_CeHua_Data_format));
|
||||
setEndTime(TimeUtils.parseTimeToMiles(value[2],TimeUtils.Stand_CeHua_Data_format));
|
||||
setStartTime(TimeUtils.parseTimeToMiles(String.valueOf(value[1]),TimeUtils.Stand_CeHua_Data_format));
|
||||
setEndTime(TimeUtils.parseTimeToMiles(String.valueOf(value[2]),TimeUtils.Stand_CeHua_Data_format));
|
||||
break;
|
||||
case 2://创角时间
|
||||
setStartTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(value[1]));
|
||||
setEndTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(value[2]));
|
||||
setStartTime(user.getPlayerInfoManager().getCreateTime()+value[1]);
|
||||
setEndTime(user.getPlayerInfoManager().getCreateTime()+value[2]);
|
||||
break;
|
||||
case 3://开服时间
|
||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime()+Long.parseLong(value[1]));
|
||||
setEndTime(GameApplication.serverConfig.getCacheOpenTime()+Long.parseLong(value[2]));
|
||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime()+value[1]);
|
||||
setEndTime(GameApplication.serverConfig.getCacheOpenTime()+value[2]);
|
||||
break;
|
||||
case 9://条件达成
|
||||
setStartTime(0);
|
||||
|
@ -40,7 +40,7 @@ public class ReceiveWelfareBag extends AbstractWelfareBag {
|
|||
default:
|
||||
break;
|
||||
}
|
||||
if(value[2].equals("0")){
|
||||
if(value[2] == 0){
|
||||
setEndTime(0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,9 +12,9 @@ public class TimeLimitWelfareBag extends AbstractWelfareBag {
|
|||
|
||||
public TimeLimitWelfareBag(User user, SRechargeCommodityNewConfig config){
|
||||
super(config);
|
||||
for(String[] value : getCondition()){
|
||||
if(value[0].equals("3")){
|
||||
int anInt = Integer.parseInt(value[1]);
|
||||
for(int[] value : getCondition()){
|
||||
if(value[0] == 3){
|
||||
int anInt = value[1];
|
||||
if(ActivityLogic.checkActivityOpen(user,anInt)){
|
||||
setOpen(true);
|
||||
long[] result = ActivityLogic.getStartAndEndTime(user, anInt);
|
||||
|
|
|
@ -15,7 +15,7 @@ public class SGlobalSystemConfig implements BaseConfig {
|
|||
|
||||
private String name;
|
||||
|
||||
private int[] openRules;
|
||||
private int[][] openRules;
|
||||
|
||||
private String systemOpen;
|
||||
|
||||
|
@ -82,7 +82,7 @@ public class SGlobalSystemConfig implements BaseConfig {
|
|||
return id;
|
||||
}
|
||||
|
||||
public int[] getOpenRules() {
|
||||
public int[][] getOpenRules() {
|
||||
return openRules;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,39 +39,28 @@ public class SRechargeCommodityNewConfig implements BaseConfig {
|
|||
|
||||
private int time;
|
||||
|
||||
private String onSaleRule;
|
||||
|
||||
private int[][] onSaleRule;
|
||||
private int dailyUpdate;
|
||||
|
||||
private int[] mail;
|
||||
|
||||
private int otype;
|
||||
private int isShowInWeb;
|
||||
private int[] forbid;
|
||||
private int isRecommond;
|
||||
private int[][] extraReward;
|
||||
private int[][] gainFame;
|
||||
private int[][] gainCrystal;
|
||||
|
||||
|
||||
private String rechargeId2;
|
||||
|
||||
private String rechargeId3;
|
||||
|
||||
private String rechargeId4;
|
||||
|
||||
private String rechargeId5;
|
||||
|
||||
private String rechargeId6;
|
||||
private String rechargeId7;
|
||||
private String rechargeId8;
|
||||
private String rechargeId9;
|
||||
private String rechargeId10;
|
||||
|
||||
private int isShowInWeb;
|
||||
|
||||
private int[] forbid;
|
||||
|
||||
private String[][] condition;
|
||||
|
||||
private int isRecommond;
|
||||
private int[][] extraReward;
|
||||
private int[][] gainFame;
|
||||
private int[][] gainCrystal;
|
||||
|
||||
public static Map<Integer,SRechargeCommodityNewConfig> configMap;
|
||||
public static Map<String,SRechargeCommodityNewConfig> sdkconfigMap;
|
||||
public static Map<Integer, List<Integer>> configTypeMap;
|
||||
|
@ -82,7 +71,6 @@ public class SRechargeCommodityNewConfig implements BaseConfig {
|
|||
Map<String,SRechargeCommodityNewConfig> tempSdkConfigMap = new HashMap<>();
|
||||
Map<Integer, List<Integer>> tempConfigTypeMap = new HashMap<>();
|
||||
for(SRechargeCommodityNewConfig newConfig : config.values()){
|
||||
newConfig.setCondition(initConditon(newConfig));
|
||||
tempConfigMap.put(newConfig.getId(),newConfig);
|
||||
tempSdkConfigMap.put(newConfig.getRechargeId(),newConfig);
|
||||
tempSdkConfigMap.put(newConfig.getRechargeId2(),newConfig);
|
||||
|
@ -100,29 +88,12 @@ public class SRechargeCommodityNewConfig implements BaseConfig {
|
|||
configTypeMap = tempConfigTypeMap;
|
||||
}
|
||||
|
||||
public static String[][] getConditon(int id){
|
||||
if (!configMap.containsKey(id)) {
|
||||
return new String[0][0];
|
||||
public static int[][] getConditon(int id){
|
||||
int[][] result = configMap.get(id).getOnSaleRule();
|
||||
if (result == null){
|
||||
return new int[0][0];
|
||||
}
|
||||
return configMap.get(id).getCondition();
|
||||
}
|
||||
|
||||
public String getOnSaleRule() { return onSaleRule; }
|
||||
|
||||
public String[][] initConditon(SRechargeCommodityNewConfig config){
|
||||
String[] s = config.getOnSaleRule().split("\\|");
|
||||
condition = new String[s.length][3];
|
||||
int i = 0;
|
||||
for (String s0 : s) {
|
||||
String[] s1 = s0.split("#");
|
||||
condition[i][0] = s1[0];
|
||||
condition[i][1] = s1[1];
|
||||
if(s1.length > 2){
|
||||
condition[i][2] = s1[2];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return condition;
|
||||
return result;
|
||||
}
|
||||
|
||||
public static SRechargeCommodityNewConfig getConfigById(int id){
|
||||
|
@ -207,12 +178,8 @@ public class SRechargeCommodityNewConfig implements BaseConfig {
|
|||
return rechargeId10;
|
||||
}
|
||||
|
||||
public String[][] getCondition() {
|
||||
return condition;
|
||||
}
|
||||
|
||||
public void setCondition(String[][] condition) {
|
||||
this.condition = condition;
|
||||
public int[][] getOnSaleRule() {
|
||||
return onSaleRule;
|
||||
}
|
||||
|
||||
public int getIsShowInWeb() {
|
||||
|
|
Loading…
Reference in New Issue