新礼包

back_recharge
mengchengzhen 2021-04-20 15:03:50 +08:00
parent 30814f86a5
commit c48ad44e27
5 changed files with 66 additions and 9 deletions

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -25,6 +25,7 @@ public class PerpetualWelfareBag extends AbstractWelfareBag {
}else if(config.getTime() == 8){//自然月
setStartTime(TimeUtils.getCurMonthStartTime(1));
}
setEndTime(0);
}
}
}

View File

@ -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;
}

View File

@ -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);
}
}