商店免费刷新次数注册添加

back_recharge
lvxinran 2020-07-04 06:19:05 +08:00
parent 21b5709798
commit db72cde86e
3 changed files with 16 additions and 10 deletions

View File

@ -16,10 +16,10 @@ public class StoreInfo extends MongoBase {
private Map<Integer,Integer> itemNumMap;
public StoreInfo(int id,long startTime,long endTime,Map<Integer,Integer> itemNumMap ){
public StoreInfo(int id,long lastRefreshTime,long startTime,long endTime,Map<Integer,Integer> itemNumMap ){
// this.setRootCollection(User._COLLECTION_NAME);
this.id = id;
this.lastRefreshTime = System.currentTimeMillis();
this.lastRefreshTime = lastRefreshTime;
this.startTime = startTime;
this.endTime = endTime;
this.itemNumMap = itemNumMap;

View File

@ -33,10 +33,9 @@ public class StoreManager extends MongoBase {
}
}
public StoreInfo newStoreInfo(int id,long startTime,long endTime,Map<Integer,Integer> itemNumMap) throws Exception {
StoreInfo storeInfo = new StoreInfo(id,startTime,endTime,itemNumMap);
public void newStoreInfo(int id,long lastRefreshTime,long startTime,long endTime,Map<Integer,Integer> itemNumMap) throws Exception {
StoreInfo storeInfo = new StoreInfo(id,lastRefreshTime,startTime,endTime,itemNumMap);
addStoreInfo(storeInfo);
return storeInfo;
}
}

View File

@ -269,7 +269,7 @@ public class StoreLogic implements IEventHandler {
return;
}
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),startTime,endTime,itemNumMap);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),System.currentTimeMillis(),startTime,endTime,itemNumMap);
sendStoreUpdateIndication(user.getId(),storeManager.getStoreInfoMap().get(sStoreTypeConfig.getId()));
}
@ -298,7 +298,7 @@ public class StoreLogic implements IEventHandler {
endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER,userCreateTime, 2);
}
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),startTime,endTime,itemNumMap);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),System.currentTimeMillis(),startTime,endTime,itemNumMap);
sendStoreUpdateIndication(user.getId(),storeManager.getStoreInfoMap().get(sStoreTypeConfig.getId()));
}
@ -319,7 +319,7 @@ public class StoreLogic implements IEventHandler {
Map<Integer, Integer> itemNumMap = new LinkedHashMap<>();
int rewardId = getRewardId(storeType,sort,user);
itemNumMap.put(rewardId, 0);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),startTime,endTime,itemNumMap);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),System.currentTimeMillis(),startTime,endTime,itemNumMap);
}else{
Map<Integer, Integer> itemNumMap = storeInfo.getItemNumMap();
int rewardId = getRewardId(storeType,sort,user);
@ -337,13 +337,20 @@ public class StoreLogic implements IEventHandler {
Map<Integer, SStoreTypeConfig> sstoreTypeConfigMap = SStoreTypeConfig.getsStoreTypeConfigMap();
for ( Map.Entry<Integer, SStoreTypeConfig> entry :sstoreTypeConfigMap.entrySet()){
SStoreTypeConfig sStoreTypeConfig = entry.getValue();
long refreshTimeDelay = System.currentTimeMillis();
//如果有免费次数,在初始化时候把相对时间减去
if(sStoreTypeConfig.getIfManualRefresh()[0]!=0){
refreshTimeDelay-=sStoreTypeConfig.getIfManualRefresh()[0]*sStoreTypeConfig.getIfManualRefresh()[1]*TimeUtils.HOUR;
}
if(sStoreTypeConfig.getStoreOpenRule() == 8){
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.getFunctionIdEnumByType(sStoreTypeConfig.getOpenLevel()[1]));
if(openTimeOfFuntionCacheByType!=null ){
StoreInfo storeInfo = storeManager.getStoreInfoMap().get(sStoreTypeConfig.getId());
if(storeInfo == null || storeInfo.getStartTime()!=openTimeOfFuntionCacheByType.getStartTime()){
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),openTimeOfFuntionCacheByType.getStartTime(),openTimeOfFuntionCacheByType.getEndTime(),itemNumMap);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),refreshTimeDelay,openTimeOfFuntionCacheByType.getStartTime(),openTimeOfFuntionCacheByType.getEndTime(),itemNumMap);
}
}
}
@ -360,7 +367,7 @@ public class StoreLogic implements IEventHandler {
if (!sStoreTypeConfig.getEndTime().equals("0")){
endTime = TimeUtils.parseTimeToMiles(sStoreTypeConfig.getEndTime(), TimeUtils.Stand_CeHua_Data_format);
}
storeManager.newStoreInfo(sStoreTypeConfig.getId(),startTime,endTime,itemNumMap);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),refreshTimeDelay,startTime,endTime,itemNumMap);
}
}