Merge branch 'master_test_gn' of http://60.1.1.230/backend/jieling_server into master_test_gn

back_recharge
xuexinpeng 2022-04-25 17:41:04 +08:00
commit 4a083edf92
1 changed files with 19 additions and 10 deletions

View File

@ -368,21 +368,31 @@ public class StoreLogic implements IEventHandler {
if(sStoreTypeConfig.getIfManualRefresh()[0]!=0){
refreshTimeDelay-=sStoreTypeConfig.getIfManualRefresh()[0]*sStoreTypeConfig.getIfManualRefresh()[1]*TimeUtils.HOUR;
}
StoreInfo storeInfo = storeManager.getStoreInfoMap().get(sStoreTypeConfig.getId());
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(),refreshTimeDelay,openTimeOfFuntionCacheByType.getStartTime(),openTimeOfFuntionCacheByType.getEndTime(),itemNumMap);
}
}
}
if(storeManager.getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
if(storeInfo != null){
//根据条件更新商品
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
if (!itemNumMap.isEmpty()){
Map<Integer, Integer> map = storeInfo.getItemNumMap();
for (Integer itemId : itemNumMap.keySet()) {
if (storeInfo.getItemNumMap().get(itemId) == null){
map.put(itemId,0);
}
}
storeInfo.setItemNumMap(map);
}
continue;
}
if(sStoreTypeConfig.getStoreOpenRule() == 7){
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_SERVER,0, 1);
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER,0, 2);
long now = TimeUtils.now();
@ -435,9 +445,8 @@ public class StoreLogic implements IEventHandler {
int[] openLv = sStoreConfig.getOpenLv();
int minLv = openLv[0];
int maxLv = openLv[1];
if (minLv <= playerInfoManager.getLevel() && maxLv >= playerInfoManager.getLevel()){
totalWeight += sStoreConfig.getWeight();
randomSstoreConfigList.add(sStoreConfig);
if (minLv > playerInfoManager.getLevel() || maxLv < playerInfoManager.getLevel()){
continue;
}
// 额外开启条件
int[] openRule = sStoreConfig.getOpenRule();
@ -445,15 +454,15 @@ public class StoreLogic implements IEventHandler {
case 1:
// 杀敌数
int killNum = playerInfoManager.getExploreKillTotalNum();
if (killNum >= openRule[1]){
totalWeight += sStoreConfig.getWeight();
randomSstoreConfigList.add(sStoreConfig);
if (killNum < openRule[1]){
continue;
}
break;
default:
break;
}
totalWeight += sStoreConfig.getWeight();
randomSstoreConfigList.add(sStoreConfig);
}
int weight = 0;
int rewardId = 0;