秘盒时间控制
parent
69d2ba019d
commit
398b485c69
|
@ -7,6 +7,7 @@ import com.ljsd.jieling.db.mongo.MongoUtil;
|
|||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||
import com.ljsd.jieling.logic.STableManager;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.dao.MailingSystemManager;
|
||||
|
@ -115,6 +116,7 @@ public class GameApplication {
|
|||
KeyGenUtils.setMachineNum(serverConfiguration.getServerProperties().getNum());
|
||||
ActivityLogic.getInstance().checkActiviyStatus();
|
||||
// ProtocolsManager.ps = new PrintStream("tmp/login.txt");
|
||||
GlobalDataManaager.getInstance().whenServerStart();
|
||||
HeroLogic.getInstance().afterSet();
|
||||
try {
|
||||
LOGGER.info("main->CoreApplication start...");
|
||||
|
|
|
@ -4,10 +4,8 @@ import com.ljsd.jieling.logic.STableManager;
|
|||
import com.ljsd.jieling.logic.Table;
|
||||
import com.ljsd.jieling.util.TimeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.text.ParseException;
|
||||
import java.util.*;
|
||||
|
||||
@Table(name ="DifferDemonsBoxSetting")
|
||||
public class SDifferDemonsBoxSetting implements BaseConfig {
|
||||
|
@ -45,13 +43,14 @@ public class SDifferDemonsBoxSetting implements BaseConfig {
|
|||
|
||||
private static Map<Integer, List<Integer>> idBySeasonIdMap;
|
||||
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
Map<Integer, SDifferDemonsBoxSetting> configTmp = STableManager.getConfig(SDifferDemonsBoxSetting.class);
|
||||
Map<Integer, List<Integer>> idBySeasonIdMapTmp = new HashMap<>();
|
||||
for(SDifferDemonsBoxSetting sDifferDemonsBoxSetting :configTmp.values()){
|
||||
sDifferDemonsBoxSetting.setSeasonStartLong(TimeUtils.parseTimeToMiles(sDifferDemonsBoxSetting.getSeasonOpen(), "YYYYMMdd hhmmss"));
|
||||
sDifferDemonsBoxSetting.setSeasonEndLong(TimeUtils.parseTimeToMiles(sDifferDemonsBoxSetting.getSeasonOpen(), "YYYYMMdd hhmmss"));
|
||||
sDifferDemonsBoxSetting.setSeasonStartLong(TimeUtils.parseTimeToMiles(sDifferDemonsBoxSetting.getSeasonOpen(), TimeUtils.Stand_CeHua_Data_format));
|
||||
sDifferDemonsBoxSetting.setSeasonEndLong(TimeUtils.parseTimeToMiles(sDifferDemonsBoxSetting.getSeasonEnd(), TimeUtils.Stand_CeHua_Data_format));
|
||||
if(!idBySeasonIdMapTmp.containsKey(sDifferDemonsBoxSetting.getSeasonTimes())){
|
||||
idBySeasonIdMapTmp.put(sDifferDemonsBoxSetting.getSeasonTimes(),new ArrayList<>());
|
||||
}
|
||||
|
|
|
@ -53,10 +53,10 @@ public class SGlobalSystemConfig implements BaseConfig {
|
|||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
sGlobalSystemConfig.setSeasonOpenLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSeasonOpen(), "YYYYMMdd hhmmss"));
|
||||
sGlobalSystemConfig.setSeasonEndLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSeasonEnd(), "YYYYMMdd hhmmss"));
|
||||
sGlobalSystemConfig.setSystemOpenLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSystemOpen(), "YYYYMMdd hhmmss"));
|
||||
sGlobalSystemConfig.setSystemEndLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSystemEnd(), "YYYYMMdd hhmmss"));
|
||||
sGlobalSystemConfig.setSeasonOpenLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSeasonOpen(), TimeUtils.Stand_CeHua_Data_format));
|
||||
sGlobalSystemConfig.setSeasonEndLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSeasonEnd(), TimeUtils.Stand_CeHua_Data_format));
|
||||
sGlobalSystemConfig.setSystemOpenLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSystemOpen(), TimeUtils.Stand_CeHua_Data_format));
|
||||
sGlobalSystemConfig.setSystemEndLong(TimeUtils.parseTimeToMiles(sGlobalSystemConfig.getSystemEnd(), TimeUtils.Stand_CeHua_Data_format));
|
||||
}
|
||||
|
||||
sGlobalSystemConfigMap = config;
|
||||
|
|
|
@ -53,6 +53,8 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
ActivityLogic.getInstance().flushEveryDay(user);
|
||||
//商店刷新次数重置
|
||||
StoreLogic.resetStoreRefreshNum(userId);
|
||||
//竞技场免费次数刷新
|
||||
|
||||
}
|
||||
user.getPlayerInfoManager().setLoginTime(TimeUtils.now());
|
||||
Map<Integer, Integer> guidePoints = user.getPlayerInfoManager().getGuidePoints();
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.config.SGlobalSystemConfig;
|
|||
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
|
||||
import com.ljsd.jieling.logic.dao.root.GlobalSystemControl;
|
||||
|
@ -129,5 +130,9 @@ public class GlobalDataManaager {
|
|||
}
|
||||
}
|
||||
|
||||
public void whenServerStart(){
|
||||
ActivityLogic.getInstance().checkSecretBoxSeason();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -28,6 +28,8 @@ public class ActivityLogic {
|
|||
|
||||
public void flushEveryDay(User user) {
|
||||
updateActivityMissionProgress(user, ActivityType.SevenLogin,1);
|
||||
//秘盒免费次数刷新
|
||||
ActivityLogic.getInstance().flushSecretBoxFreeTimes(user);
|
||||
|
||||
}
|
||||
|
||||
|
@ -278,7 +280,11 @@ public class ActivityLogic {
|
|||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
SecretBoxManager secretBoxManager = user.getSecretBoxManager();
|
||||
if(secretBoxManager.getCurSeason() == 0){
|
||||
if(secretBoxSeasonTimes == 0){
|
||||
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.GET_SECRETBOX_RESPONSE_VALUE,"activity_close");
|
||||
return;
|
||||
}
|
||||
if(secretBoxManager.getCurSeason() != secretBoxSeasonTimes){
|
||||
flushSecretBox(secretBoxManager);
|
||||
}
|
||||
List<PlayerInfoProto.SecretBoxFreeUseInfo> secretBoxFreeUseInfoList = new ArrayList<>(2);
|
||||
|
@ -300,8 +306,7 @@ public class ActivityLogic {
|
|||
List<Integer> idsBySeasonId = SDifferDemonsBoxSetting.getIdsBySeasonId(secretBoxSeasonTimes);
|
||||
Map<Integer,Integer> freeUseMap = new HashMap<>(idsBySeasonId.size());
|
||||
for(int id:idsBySeasonId){
|
||||
SDifferDemonsBoxSetting sDifferDemonsBoxSetting = SDifferDemonsBoxSetting.getConfig().get(id);
|
||||
freeUseMap.put(id,sDifferDemonsBoxSetting.getFreeTime());
|
||||
freeUseMap.put(id,0);
|
||||
}
|
||||
secretBoxManager.setFreeUseInfos(freeUseMap);
|
||||
}
|
||||
|
@ -388,10 +393,19 @@ public class ActivityLogic {
|
|||
long seasonEndLong = sDifferDemonsBoxSetting.getSeasonEndLong();
|
||||
if(now>=seasonStartLong && now<=seasonEndLong){
|
||||
secretBoxSeasonTimes = sDifferDemonsBoxSetting.getSeasonTimes();
|
||||
break;
|
||||
return;
|
||||
}
|
||||
}
|
||||
secretBoxSeasonTimes=0;
|
||||
}
|
||||
|
||||
private void flushSecretBoxFreeTimes(User user){
|
||||
SecretBoxManager secretBoxManager = user.getSecretBoxManager();
|
||||
Map<Integer, Integer> freeUseInfos = secretBoxManager.getFreeUseInfos();
|
||||
if(freeUseInfos!=null && !freeUseInfos.isEmpty()){
|
||||
for(Integer key : freeUseInfos.keySet()){
|
||||
freeUseInfos.put(key,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ public class MinuteTask extends Thread {
|
|||
@Override
|
||||
public void run() {
|
||||
ActivityLogic.getInstance().checkActiviyStatus();
|
||||
ActivityLogic.getInstance().checkSecretBoxSeason();
|
||||
MapLogic.getInstance().minuteCheckAndRemoveMapRank();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue