商店免费刷新次数注册添加
parent
21b5709798
commit
db72cde86e
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue