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