新加活动类型:5

back_recharge
xuexinpeng 2021-07-16 17:07:17 +08:00
parent d93d9a1f6a
commit f30d36473d
4 changed files with 35 additions and 4 deletions

View File

@ -16,6 +16,9 @@ import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import java.util.concurrent.TimeUnit;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
//import com.google.common.collect.Lists;
@ -115,8 +118,8 @@ public class TimeUtils {
/**
* 1970-07-10
*/
//private static final DateFormat ymdFormat = new SimpleDateFormat("yyyy-MM-dd");
//private static final DateFormat ymdFormatN= new SimpleDateFormat("yyyy-MM-dd");
private static final String ymdFormatN = "yyyy-MM-dd";
/**
* 19700710
*/
@ -1493,4 +1496,22 @@ public class TimeUtils {
long timestamp = cal.getTimeInMillis();
return timestamp;
}
/**
*
* @return
*/
public static long getGapMonthsByTwoTime(String startTime,String endTime){
DateTimeFormatter form = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate start = LocalDate.parse(startTime, form);
long mm = ChronoUnit.MONTHS.between(start, LocalDate.parse(endTime, form));
return mm;
}
/**
* yyyy-MM-dd
*/
public static String getTimeStampYMDnew(Long time) {
return new SimpleDateFormat(ymdFormatN).format(new Date(time));
}
}

View File

@ -143,6 +143,13 @@ public class ActivityLogic implements IEventHandler{
if (time == ActivityType.OPEN_TYPE_ROLE) {
continue;
}
if(time == ActivityType.OPEN_TYPE_MONTHS){
//now = 当前是开服第几个月
//开服日期
String openTime = GameApplication.serverConfig.getOpenTime().split(" ")[0];
String nowTime = TimeUtils.getTimeStampYMDnew(TimeUtils.now());
now = TimeUtils.getGapMonthsByTwoTime(openTime, nowTime)+1;
}
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 gapEndTime = endTime+sGlobalActivity.getGapTime()*TimeUtils.DAY;

View File

@ -8,8 +8,11 @@ public interface ActivityType {
int FINISH_STATE = 2;
int OPEN_TYPE_TIME = 1; // 活动开启类型:绝对时间
int OPEN_TYPE_SERVER = 3; // 活动开启类型:开服时间
int OPEN_TYPE_ROLE = 2; // 活动开启类型:创角时间
int OPEN_TYPE_SERVER = 3; // 活动开启类型:开服时间
int OPEN_TYPE_MONTHS = 5 ; // 活动开启类型:开服自然月
int WILL_TAKE = 0; //未领取

View File

@ -12,7 +12,7 @@ public class ToolsUtil {
baseTime = endTimeLong;
}
long startTime=0;
if(time == ActivityType.OPEN_TYPE_TIME){
if(time == ActivityType.OPEN_TYPE_TIME || time == ActivityType.OPEN_TYPE_MONTHS){
startTime = baseTime;
}else if(time == ActivityType.OPEN_TYPE_SERVER){
long serverOpenTime = GameApplication.serverConfig.getCacheOpenTime();