循环活动临时版
parent
d5d62aaf00
commit
7fc1d5c3a9
|
@ -62,8 +62,8 @@ public class Cmd_changename extends GmRoleAbstract {
|
|||
if(!storeInfoMap.containsKey(10) && !storeInfoMap.containsKey(15)){
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(10);
|
||||
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 2);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 1, 0);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 2, 0);
|
||||
StoreLogic.getInstance().initOnsStoereWithTime(user,10,startTime,endTime);
|
||||
LOGGER.info("hotfix user={} store end",user.getId());
|
||||
}
|
||||
|
|
|
@ -168,17 +168,23 @@ public class ActivityLogic implements IEventHandler{
|
|||
|
||||
//检查开启的活动 非相对创角时间
|
||||
for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) {
|
||||
int time = sGlobalActivity.getTime();
|
||||
int id = sGlobalActivity.getId();
|
||||
int time = sGlobalActivity.getTime();
|
||||
int type = sGlobalActivity.getType();
|
||||
long startTimeLong = sGlobalActivity.getStartTimeLong();
|
||||
long endTimeLong = sGlobalActivity.getEndTimeLong();
|
||||
int cycleMinute = sGlobalActivity.getCycleMinute();
|
||||
|
||||
AbstractActivity activity = ActivityTypeEnum.getActicityById(id);
|
||||
if (time == ActivityType.OPEN_TYPE_ROLE) {
|
||||
// 创角时间活动
|
||||
continue;
|
||||
}
|
||||
if(sGlobalActivity.getType() == ActivityType.DAILY_PREFERENTIAL_GIFT){
|
||||
if(type == ActivityType.DAILY_PREFERENTIAL_GIFT){
|
||||
continue;
|
||||
}
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2);
|
||||
long startTime = ToolsUtil.getTimeLong(startTimeLong, endTimeLong, time,0, 1, cycleMinute);
|
||||
long endTime = ToolsUtil.getTimeLong(startTimeLong, endTimeLong, time,0, 2, cycleMinute);
|
||||
if (now < startTime) {
|
||||
//如果没到活动开启时间,但是openActivityIds里有了这个活动,证明是热更延迟开启的活动,需要清除掉
|
||||
openActivityIds.remove(id);
|
||||
|
@ -355,8 +361,8 @@ public class ActivityLogic implements IEventHandler{
|
|||
LOGGER.info("checkActivityOfUser uid={} remove activity={}", user.getId(), openActivityId);
|
||||
continue;
|
||||
}
|
||||
int[] ifOpen = sGlobalActivity.getIfOpen();
|
||||
//创角
|
||||
int[] ifOpen = sGlobalActivity.getIfOpen();
|
||||
if(ifOpen!=null && ifOpen.length>0 && ifOpen[0]==1){
|
||||
if(userCreateTime + ifOpen[1]*TimeUtils.ONE_DAY > now){
|
||||
continue;
|
||||
|
@ -390,9 +396,10 @@ public class ActivityLogic implements IEventHandler{
|
|||
int time = sGlobalActivity.getTime();
|
||||
int gapTime = sGlobalActivity.getGapTime();
|
||||
int type = sGlobalActivity.getType();
|
||||
int cycleMinute = sGlobalActivity.getCycleMinute();
|
||||
|
||||
long startTime = ToolsUtil.getTimeLong(startTimeLong, endTimeLong, time, userCreateTime, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(startTimeLong, endTimeLong, time, userCreateTime, 2);
|
||||
long startTime = ToolsUtil.getTimeLong(startTimeLong, endTimeLong, time, userCreateTime, 1, cycleMinute);
|
||||
long endTime = ToolsUtil.getTimeLong(startTimeLong, endTimeLong, time, userCreateTime, 2, cycleMinute);
|
||||
long gepTimeLong = endTime + gapTime * TimeUtils.ONE_DAY;
|
||||
|
||||
if(type == ActivityType.DAILY_PREFERENTIAL_GIFT){
|
||||
|
@ -447,7 +454,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
}
|
||||
else if (time == ActivityType.OPEN_TYPE_CYCLE){//循环
|
||||
// 循环时间
|
||||
long cycleTime = sGlobalActivity.getCycleMinute() * TimeUtils.ONE_MINUTE;
|
||||
long cycleTime = cycleMinute * TimeUtils.ONE_MINUTE;
|
||||
// 最近的开始时间
|
||||
long latelyStartTime = TimeUtils.getLatelyTime(startTime, now, cycleTime);
|
||||
// 当前期活动未开始
|
||||
|
@ -586,11 +593,15 @@ public class ActivityLogic implements IEventHandler{
|
|||
if(sGlobalActivity == null){
|
||||
continue;
|
||||
}
|
||||
|
||||
long startTimeLong = sGlobalActivity.getStartTimeLong();
|
||||
long endTimeLong = sGlobalActivity.getEndTimeLong();
|
||||
int timeType = sGlobalActivity.getTime();
|
||||
int type = sGlobalActivity.getType();
|
||||
int gapTime = sGlobalActivity.getGapTime();
|
||||
|
||||
if(activityStatus == ActivityType.CLOSE_STATE){
|
||||
long prepareTime = ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, gapTime);
|
||||
long prepareTime = ToolsUtil.getEndTimeLong(startTimeLong, endTimeLong, timeType,0, gapTime);
|
||||
activityInfoList.add(CommonProto.ActivityInfo.newBuilder().setActivityId(activityId).setEndTime((int)(prepareTime/1000)).build());
|
||||
continue;
|
||||
}
|
||||
|
@ -614,14 +625,14 @@ public class ActivityLogic implements IEventHandler{
|
|||
if (sGlobalActivity.getIsSaving()==0 && activityStatus != ActivityType.OPEN_STATE) {
|
||||
continue;
|
||||
}
|
||||
int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1) / 1000);
|
||||
int endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2) / 1000);;
|
||||
int startTime = (int) (ToolsUtil.getTimeLong(startTimeLong, endTimeLong, timeType,createTime, 1, 0) / 1000);
|
||||
int endTime = (int) (ToolsUtil.getTimeLong(startTimeLong, endTimeLong, timeType,createTime, 2, 0) / 1000);;
|
||||
|
||||
if(type == ActivityType.DAILY_PREFERENTIAL_GIFT){ // 每日特惠活动
|
||||
startTime = (int)(activityState.getValue().getCreatTime()/1000);
|
||||
endTime = startTime+604800;
|
||||
}
|
||||
else if (sGlobalActivity.getTime() == ActivityType.OPEN_TYPE_CYCLE){
|
||||
else if (timeType == ActivityType.OPEN_TYPE_CYCLE){
|
||||
long now = TimeUtils.now();
|
||||
long intervalTime = (endTime - startTime) * 1000L;
|
||||
long cycleTime = sGlobalActivity.getCycleMinute() * TimeUtils.ONE_MINUTE;
|
||||
|
@ -810,8 +821,8 @@ public class ActivityLogic implements IEventHandler{
|
|||
}
|
||||
|
||||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1) / 1000);
|
||||
int endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2) / 1000);
|
||||
int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1, 0) / 1000);
|
||||
int endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2, 0) / 1000);
|
||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = abstractActivity.getAllMissInfo(user,activityMission);
|
||||
fBuilder.addActivityInfo(CommonProto.ActivityInfo.newBuilder().setValue(activityMission.getV()).setActivityId(activityId).addAllMission(missionInfos).setStartTime(startTime).setEndTime(endTime).setReallyOpen(activityMission.getOpenType()).build());
|
||||
fBuilder.setHadLuckTime(user.getPlayerInfoManager().getLuckWheelLimitTime());
|
||||
|
@ -1412,9 +1423,9 @@ public class ActivityLogic implements IEventHandler{
|
|||
if(sGlobalActivities.isEmpty()){
|
||||
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
|
||||
}
|
||||
Function<SGlobalActivity,Integer> function = v->(int)ToolsUtil.getTimeLong(v.getStartTimeLong(),v.getEndTimeLong(),v.getTime(),user.getPlayerInfoManager().getCreateTime(),1);
|
||||
Function<SGlobalActivity,Integer> function = v->(int)ToolsUtil.getTimeLong(v.getStartTimeLong(),v.getEndTimeLong(),v.getTime(),user.getPlayerInfoManager().getCreateTime(),1, 0);
|
||||
Stream<SGlobalActivity> stream = sGlobalActivities.stream().sorted(Comparator.comparing(function))
|
||||
.filter(v->ToolsUtil.getTimeLong(v.getStartTimeLong(), v.getEndTimeLong(), v.getTime(), user.getPlayerInfoManager().getCreateTime(), 1) > TimeUtils.now());
|
||||
.filter(v->ToolsUtil.getTimeLong(v.getStartTimeLong(), v.getEndTimeLong(), v.getTime(), user.getPlayerInfoManager().getCreateTime(), 1, 0) > TimeUtils.now());
|
||||
List<SGlobalActivity> collect = stream.collect(Collectors.toList());
|
||||
if(collect.isEmpty()){
|
||||
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
|
||||
|
@ -1424,7 +1435,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
if(sGlobalActivity==null){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(),1);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(),1, 0);
|
||||
PlayerInfoProto.NextActivityResponse response = PlayerInfoProto.NextActivityResponse.newBuilder().setId(id).setTime((int)(startTime/1000)).build();
|
||||
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);
|
||||
|
@ -1593,8 +1604,8 @@ public class ActivityLogic implements IEventHandler{
|
|||
createUserTime = user.getPlayerInfoManager().getCreateTime();
|
||||
}
|
||||
long[] result = new long[2];
|
||||
result[0] = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createUserTime, 1);
|
||||
result[1] = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createUserTime, 2);
|
||||
result[0] = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createUserTime, 1, 0);
|
||||
result[1] = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createUserTime, 2, 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -187,7 +187,7 @@ public class ContinuousGiftActivity extends AbstractActivity {
|
|||
}
|
||||
long now = TimeUtils.now();
|
||||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
long start = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1);
|
||||
long start = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, 0);
|
||||
// 更新记录天数
|
||||
activityMission.setV(TimeUtils.getSoFarWentDays(start, now)+1);
|
||||
// 库里存储的活动档位信息
|
||||
|
|
|
@ -45,7 +45,7 @@ public class FifteenActivity extends AbstractActivity {
|
|||
if(activityMission == null){
|
||||
return;
|
||||
}
|
||||
long startTime = ToolsUtil.getTimeLong(globalActivity.getStartTimeLong(),globalActivity.getEndTimeLong(),globalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
|
||||
long startTime = ToolsUtil.getTimeLong(globalActivity.getStartTimeLong(),globalActivity.getEndTimeLong(),globalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, 0);
|
||||
int time = (int)(startTime/1000);
|
||||
Map<Integer, ActivityProgressInfo> progressInfoMap = activityMission.getActivityMissionMap();
|
||||
for(Map.Entry<Integer,ActivityProgressInfo> entry : progressInfoMap.entrySet()){
|
||||
|
|
|
@ -50,8 +50,8 @@ public class FightMainEventHandler implements IEventHandler{
|
|||
activityMission.setActivityState(ActivityType.OPEN_STATE);
|
||||
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
|
||||
if(sGlobalActivity.getShopId().length>0){
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, 0);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2, 0);
|
||||
for (int shopId : sGlobalActivity.getShopId()) {
|
||||
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ class MissSearchExpectRankActivity extends ExpectRankActivity {
|
|||
public void initActivity(User user) throws Exception {
|
||||
super.initActivity(user);
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2, 0);
|
||||
user.getPlayerInfoManager().addVipByTime(155,(int)(endTime/1000));
|
||||
Set<Integer> vipInfo = new HashSet<>();
|
||||
vipInfo.add(155);
|
||||
|
|
|
@ -197,7 +197,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
if (info == null || activity == null){
|
||||
return 0;
|
||||
}
|
||||
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1);
|
||||
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1, 0);
|
||||
long rankEndTime = startTime + info.getCloseTime()*1000L;
|
||||
return rankEndTime-TimeUtils.now();
|
||||
}
|
||||
|
@ -211,7 +211,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
if (info == null || activity == null){
|
||||
return false;
|
||||
}
|
||||
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1);
|
||||
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1, 0);
|
||||
long rankStartTime = startTime + info.getOpenTime()*1000L;
|
||||
long rankEndTime = startTime + info.getCloseTime()*1000L;
|
||||
long now = TimeUtils.now();
|
||||
|
@ -229,7 +229,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
if (info == null || activity == null){
|
||||
return 0;
|
||||
}
|
||||
int endTime = (int)(ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 2)/1000);
|
||||
int endTime = (int)(ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 2, 0)/1000);
|
||||
return endTime-TimeUtils.nowInt();
|
||||
}
|
||||
|
||||
|
|
|
@ -6,8 +6,6 @@ import com.ljsd.jieling.logic.activity.event.Poster;
|
|||
import com.ljsd.jieling.logic.activity.event.SecretEvent;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.ToolsUtil;
|
||||
import config.SGlobalActivity;
|
||||
|
||||
|
@ -30,7 +28,7 @@ class SecretExpectRankActivity extends ExpectRankActivity {
|
|||
listValue.add(153);//额外购买次数
|
||||
listValue.add(154);//额外免费次数
|
||||
Set<Integer> changedSet = new HashSet<>();
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2, 0);
|
||||
int time = (int)(endTime / 1000);
|
||||
listValue.forEach(privilegeId -> {
|
||||
changedSet.add(privilegeId);
|
||||
|
|
|
@ -25,7 +25,7 @@ public class SevenHappyActivity extends DefaultEmptyActivity{
|
|||
user.getActivityManager().getActivityMissionMap().put(id, mission);
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.SERVENHAPPY_REFRESH,id);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, 0);
|
||||
user.getActivityManager().setSenvenStartTime(startTime);
|
||||
}
|
||||
|
||||
|
|
|
@ -172,7 +172,7 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
}
|
||||
long now = TimeUtils.now();
|
||||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
long start = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1);
|
||||
long start = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, 0);
|
||||
// 更新记录天数
|
||||
activityMission.setV(TimeUtils.getSoFarWentDays(start, now)+1);
|
||||
// 库里存储的活动档位信息
|
||||
|
|
|
@ -104,7 +104,7 @@ public class WeekCardActivity extends AbstractActivity {
|
|||
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
// 计算间隔时间
|
||||
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1);
|
||||
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, 0);
|
||||
int days = TimeUtils.differentDays(startTimeLong, TimeUtils.now()) + 1;
|
||||
|
||||
for (int[] ints : sWeekcardConfig.getBaseRewardID()) {
|
||||
|
@ -139,7 +139,7 @@ public class WeekCardActivity extends AbstractActivity {
|
|||
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
// 计算间隔时间
|
||||
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1);
|
||||
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, 0);
|
||||
int days = TimeUtils.differentDays(startTimeLong, TimeUtils.now())+1;
|
||||
for (Map.Entry<Integer, Map<Integer, Integer>> entry : weekCard.entrySet()) {
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ public class WeekCardLogic {
|
|||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
// 计算间隔时间
|
||||
long now = TimeUtils.now();
|
||||
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1);
|
||||
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, 0);
|
||||
long cycleTime = activity.getCycleMinute() * TimeUtils.ONE_MINUTE;
|
||||
if (cycleTime > 0){
|
||||
startTimeLong = TimeUtils.getLatelyTime(startTimeLong, now, cycleTime);
|
||||
|
|
|
@ -32,8 +32,8 @@ public class ActivityStateChangeHandler implements IEventHandler {
|
|||
if(state == ActivityType.OPEN_STATE){
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||
if(sGlobalActivity.getShopId().length>0){
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, 0);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2, 0);
|
||||
for (int shopId : sGlobalActivity.getShopId()) {
|
||||
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
|
||||
}
|
||||
|
|
|
@ -39,8 +39,8 @@ public class MissionLogic {
|
|||
return null;
|
||||
}
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1, 0);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2, 0);
|
||||
if(TimeUtils.now()>endTime){
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -1019,8 +1019,8 @@ public class PlayerLogic {
|
|||
if (timingMailIds.contains(sTestWelfare.getId())) {
|
||||
continue;
|
||||
}
|
||||
long startTime = ToolsUtil.getTimeLong(sTestWelfare.getStartTimeLong(),sTestWelfare.getEndTimeLong(),sTestWelfare.getTime(), 0, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sTestWelfare.getStartTimeLong(),sTestWelfare.getEndTimeLong(),sTestWelfare.getTime(), 0, 2);
|
||||
long startTime = ToolsUtil.getTimeLong(sTestWelfare.getStartTimeLong(),sTestWelfare.getEndTimeLong(),sTestWelfare.getTime(), 0, 1, 0);
|
||||
long endTime = ToolsUtil.getTimeLong(sTestWelfare.getStartTimeLong(),sTestWelfare.getEndTimeLong(),sTestWelfare.getTime(), 0, 2, 0);
|
||||
if (now < startTime) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -58,8 +58,8 @@ public class StoreLogic {
|
|||
long startTime, endTime;
|
||||
switch (sStoreTypeConfig.getStoreOpenRule()){
|
||||
case 3:
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_TIME, 0, 1);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_TIME, 0, 2);
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_TIME, 0, 1, 0);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_TIME, 0, 2, 0);
|
||||
if (startTime != 0 && endTime != 0 && now > startTime && now < endTime && !openStoreInfo.contains(sStoreTypeConfig.getId())) {
|
||||
for (ISession session : OnlineUserManager.sessionMap.values()) {
|
||||
if (session.getFiveReady() == 1) {
|
||||
|
@ -88,8 +88,8 @@ public class StoreLogic {
|
|||
continue;
|
||||
}
|
||||
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, userCreateTime, 1);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, userCreateTime, 2);
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, userCreateTime, 1, 0);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, userCreateTime, 2, 0);
|
||||
if (now < startTime || now > endTime) {
|
||||
continue;
|
||||
}
|
||||
|
@ -103,8 +103,8 @@ public class StoreLogic {
|
|||
}
|
||||
break;
|
||||
case 7:
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER, 0, 1);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER, 0, 2);
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER, 0, 1, 0);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER, 0, 2, 0);
|
||||
if (now < startTime || now > endTime) {
|
||||
continue;
|
||||
}
|
||||
|
@ -300,13 +300,13 @@ public class StoreLogic {
|
|||
}
|
||||
if(sStoreTypeConfig.getStoreOpenRule() == 6 ){
|
||||
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_ROLE,userCreateTime, 1);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE,userCreateTime, 2);
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_ROLE,userCreateTime, 1, 0);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE,userCreateTime, 2, 0);
|
||||
}
|
||||
if(sStoreTypeConfig.getStoreOpenRule() == 7 ){
|
||||
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_SERVER,userCreateTime, 1);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER,userCreateTime, 2);
|
||||
startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_SERVER,userCreateTime, 1, 0);
|
||||
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER,userCreateTime, 2, 0);
|
||||
}
|
||||
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
|
||||
storeManager.newStoreInfo(sStoreTypeConfig.getId(),System.currentTimeMillis(),startTime,endTime,itemNumMap);
|
||||
|
@ -389,8 +389,8 @@ public class StoreLogic {
|
|||
continue;
|
||||
}
|
||||
if(sStoreTypeConfig.getStoreOpenRule() == 7){
|
||||
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_SERVER,0, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER,0, 2);
|
||||
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_SERVER,0, 1, 0);
|
||||
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER,0, 2, 0);
|
||||
long now = TimeUtils.now();
|
||||
if(now>startTime&&now<endTime){
|
||||
Map<Integer, Integer> itemNumMap = getStoreItem(storeId,sStoreTypeConfig,user);
|
||||
|
|
|
@ -10,14 +10,16 @@ public class ToolsUtil {
|
|||
|
||||
/**
|
||||
* 根据不同类型获取活动时间
|
||||
*
|
||||
* @param startTimeLong 表里面得开始时间
|
||||
* @param endTimeLong 表里面得结束时间
|
||||
* @param time 时间类型
|
||||
* @param endTimeLong 表里面得结束时间
|
||||
* @param time 时间类型
|
||||
* @param createUserTime 创角时间
|
||||
* @param type 1 开始时间, 2 结束时间
|
||||
* @param type 1 开始时间, 2 结束时间
|
||||
* @param cycleTime 循环时间
|
||||
* @return 时间
|
||||
*/
|
||||
public static long getTimeLong(long startTimeLong, long endTimeLong, int time, long createUserTime, int type){
|
||||
public static long getTimeLong(long startTimeLong, long endTimeLong, int time, long createUserTime, int type, int cycleTime){
|
||||
long baseTime = startTimeLong;
|
||||
if(type == 2){
|
||||
baseTime = endTimeLong;
|
||||
|
@ -25,7 +27,6 @@ public class ToolsUtil {
|
|||
long resultTime=0;
|
||||
switch (time){
|
||||
case ActivityType.OPEN_TYPE_TIME://开服时间
|
||||
case ActivityType.OPEN_TYPE_CYCLE://循环活动
|
||||
resultTime = baseTime;
|
||||
break;
|
||||
case ActivityType.OPEN_TYPE_ROLE:
|
||||
|
@ -51,6 +52,19 @@ public class ToolsUtil {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case ActivityType.OPEN_TYPE_CYCLE://循环活动
|
||||
long now = TimeUtils.now();
|
||||
// 循环时间
|
||||
long cycleTimeMils = cycleTime * TimeUtils.ONE_MINUTE;
|
||||
// 最近的开始时间
|
||||
long latelyStartTime = TimeUtils.getLatelyTime(startTimeLong, now, cycleTimeMils);
|
||||
if (type == 1){
|
||||
resultTime = latelyStartTime;
|
||||
}else {
|
||||
// 最近的结束时间
|
||||
resultTime = latelyStartTime + (endTimeLong - startTimeLong);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// 开始时间
|
||||
if(type == 1){
|
||||
|
@ -66,7 +80,7 @@ public class ToolsUtil {
|
|||
}
|
||||
|
||||
public static long getEndTimeLong(long startTimeLong , long endTimeLong,int time,long createUserTime,int dayOut){
|
||||
long timeLong = getTimeLong(startTimeLong, endTimeLong, time, createUserTime, 2);
|
||||
long timeLong = getTimeLong(startTimeLong, endTimeLong, time, createUserTime, 2, 0);
|
||||
return timeLong + TimeUtils.DAY * dayOut;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue