新礼包
parent
30814f86a5
commit
c48ad44e27
|
@ -826,6 +826,20 @@ public class TimeUtils {
|
|||
return c.getTimeInMillis();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前月份第几天0点时间戳
|
||||
*/
|
||||
public static long getCurMonthStartTime(int x){
|
||||
Calendar c = Calendar.getInstance();
|
||||
c.setTime(new Date());
|
||||
c.set(Calendar.DAY_OF_MONTH, x);
|
||||
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||
c.set(Calendar.MINUTE, 0);
|
||||
c.set(Calendar.SECOND,0);
|
||||
c.set(Calendar.MILLISECOND, 0);
|
||||
return c.getTimeInMillis();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取距离现在最早的下一个周几的时间
|
||||
* @param targetWeekday
|
||||
|
@ -1434,4 +1448,10 @@ public class TimeUtils {
|
|||
}
|
||||
return (int) Math.floor((under-last)/(HOUR*24D));
|
||||
}
|
||||
|
||||
public static long getTodayZero(){
|
||||
long current = System.currentTimeMillis();
|
||||
long zero = current/(1000*3600*24)*(1000*3600*24) - TimeZone.getDefault().getRawOffset();
|
||||
return zero;
|
||||
}
|
||||
}
|
|
@ -86,6 +86,8 @@ public class BuyGoodsNewLogic {
|
|||
if(refreshUnitWF(pushWelfareBagMap.get(entry.getKey()),garbageList,user) && !needChange){
|
||||
needChange = true;
|
||||
}
|
||||
}else if(info.getGarbage().contains(entry.getKey())){
|
||||
continue;
|
||||
}else{
|
||||
AbstractWelfareBag bag = initUnitWF(user,entry.getValue());
|
||||
pAddList.add(bag);
|
||||
|
@ -480,9 +482,16 @@ public class BuyGoodsNewLogic {
|
|||
bag.setOpen((false));
|
||||
if(bag.getType() == RechargeType.timeLimit.getType() && bag.getDailyUpdate()<1){
|
||||
bag.setProhibited(true);
|
||||
}else if(bag.getType() == RechargeType.receive.getType() && bag.getLastBuyTime() > 0 &&
|
||||
System.currentTimeMillis() < bag.getLastBuyTime() + TimeUtils.DAY * bag.getContinueDays()){
|
||||
bag.setOpen(true);
|
||||
}
|
||||
if(bag.getRefreshTime() > System.currentTimeMillis()){
|
||||
bag.setStartTime(bag.getRefreshTime());
|
||||
for(String[] I : bag.getCondition()){
|
||||
if(I[0].equals("4")){
|
||||
bag.setEndTime(bag.getStartTime()+Long.parseLong(I[2]));
|
||||
break;
|
||||
}
|
||||
}
|
||||
bag.setRefreshTime(bag.getStartTime() + bag.getDailyUpdate() * TimeUtils.DAY);
|
||||
}
|
||||
bag.setBuyTimes(0);
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ public class PerpetualWelfareBag extends AbstractWelfareBag {
|
|||
}else if(config.getTime() == 8){//自然月
|
||||
setStartTime(TimeUtils.getCurMonthStartTime(1));
|
||||
}
|
||||
setEndTime(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,20 +19,43 @@ public class ReceiveWelfareBag extends AbstractWelfareBag {
|
|||
if(I[0].equals("4")){
|
||||
if(config.getTime() == 1){//绝对时间
|
||||
setStartTime(TimeUtils.parseTimeToMiles(I[1],TimeUtils.Stand_CeHua_Data_format));
|
||||
setEndTime(TimeUtils.parseTimeToMiles(I[2],TimeUtils.Stand_CeHua_Data_format));
|
||||
if(I[2].equals("0")){
|
||||
setEndTime(0);
|
||||
}else{
|
||||
setEndTime(TimeUtils.parseTimeToMiles(I[2],TimeUtils.Stand_CeHua_Data_format));
|
||||
}
|
||||
}else if(config.getTime() == 2){//创角时间
|
||||
setStartTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(I[1]));
|
||||
setEndTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(I[2]));
|
||||
if(I[2].equals("0")){
|
||||
setEndTime(0);
|
||||
}else{
|
||||
setEndTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(I[2]));
|
||||
}
|
||||
}else if(config.getTime() == 3){//开服时间
|
||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime());
|
||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime()+Long.parseLong(I[1]));
|
||||
if(I[2].equals("0")){
|
||||
setEndTime(0);
|
||||
}else{
|
||||
setEndTime(GameApplication.serverConfig.getCacheOpenTime()+Long.parseLong(I[2]));
|
||||
}
|
||||
}else if(config.getTime() == 7){//自然周
|
||||
setStartTime(TimeUtils.getCurWeekdayStartTime(1,0));
|
||||
if(I[2].equals("0")){
|
||||
setEndTime(0);
|
||||
}else{
|
||||
setEndTime(TimeUtils.getCurWeekdayStartTime(1,0)+Long.parseLong(I[2]));
|
||||
}
|
||||
}else if(config.getTime() == 8){//自然月
|
||||
setStartTime(TimeUtils.getCurMonthStartTime(1));
|
||||
if(I[2].equals("0")){
|
||||
setEndTime(0);
|
||||
}else{
|
||||
setEndTime(TimeUtils.getCurMonthStartTime(1)+Long.parseLong(I[2]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(getDailyUpdate()>0){
|
||||
if(getDailyUpdate()>0 && getEndTime() != 0){
|
||||
setRefreshTime(getStartTime() + getDailyUpdate() * TimeUtils.DAY);
|
||||
}
|
||||
}
|
||||
|
@ -46,6 +69,7 @@ public class ReceiveWelfareBag extends AbstractWelfareBag {
|
|||
}
|
||||
}
|
||||
bought = true;
|
||||
setEndTime(TimeUtils.getTodayZero() + getContinueDays() * TimeUtils.DAY);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,15 +21,18 @@ public class TimeLimitWelfareBag extends AbstractWelfareBag {
|
|||
setStartTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(I[1]));
|
||||
setEndTime(user.getPlayerInfoManager().getCreateTime()+Long.parseLong(I[2]));
|
||||
}else if(config.getTime() == 3){//开服时间
|
||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime());
|
||||
setStartTime(GameApplication.serverConfig.getCacheOpenTime()+Long.parseLong(I[1]));
|
||||
setEndTime(GameApplication.serverConfig.getCacheOpenTime()+Long.parseLong(I[2]));
|
||||
}else if(config.getTime() == 7){//自然周
|
||||
setStartTime(TimeUtils.getCurWeekdayStartTime(1,0));
|
||||
setEndTime(TimeUtils.getCurWeekdayStartTime(1,0)+Long.parseLong(I[2]));
|
||||
}else if(config.getTime() == 8){//自然月
|
||||
setStartTime(TimeUtils.getCurMonthStartTime(1));
|
||||
setEndTime(TimeUtils.getCurMonthStartTime(1)+Long.parseLong(I[2]));
|
||||
}
|
||||
}
|
||||
}
|
||||
if(getDailyUpdate()>0){
|
||||
if(getDailyUpdate()>0 && getEndTime() != 0){
|
||||
setRefreshTime(getStartTime() + getDailyUpdate() * TimeUtils.DAY);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue