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){ if(sStoreTypeConfig.getIfManualRefresh()[0]!=0){
refreshTimeDelay-=sStoreTypeConfig.getIfManualRefresh()[0]*sStoreTypeConfig.getIfManualRefresh()[1]*TimeUtils.HOUR; refreshTimeDelay-=sStoreTypeConfig.getIfManualRefresh()[0]*sStoreTypeConfig.getIfManualRefresh()[1]*TimeUtils.HOUR;
} }
StoreInfo storeInfo = storeManager.getStoreInfoMap().get(sStoreTypeConfig.getId());
if(sStoreTypeConfig.getStoreOpenRule() == 8){ if(sStoreTypeConfig.getStoreOpenRule() == 8){
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.getFunctionIdEnumByType(sStoreTypeConfig.getOpenLevel()[1])); TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.getFunctionIdEnumByType(sStoreTypeConfig.getOpenLevel()[1]));
if(openTimeOfFuntionCacheByType!=null ){ if(openTimeOfFuntionCacheByType!=null ){
StoreInfo storeInfo = storeManager.getStoreInfoMap().get(sStoreTypeConfig.getId());
if(storeInfo == null || storeInfo.getStartTime()!=openTimeOfFuntionCacheByType.getStartTime()){ if(storeInfo == null || storeInfo.getStartTime()!=openTimeOfFuntionCacheByType.getStartTime()){
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user); Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),refreshTimeDelay,openTimeOfFuntionCacheByType.getStartTime(),openTimeOfFuntionCacheByType.getEndTime(),itemNumMap); 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; continue;
} }
if(sStoreTypeConfig.getStoreOpenRule() == 7){ if(sStoreTypeConfig.getStoreOpenRule() == 7){
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_SERVER,0, 1); 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 endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_SERVER,0, 2);
long now = TimeUtils.now(); long now = TimeUtils.now();
@ -435,9 +445,8 @@ public class StoreLogic implements IEventHandler {
int[] openLv = sStoreConfig.getOpenLv(); int[] openLv = sStoreConfig.getOpenLv();
int minLv = openLv[0]; int minLv = openLv[0];
int maxLv = openLv[1]; int maxLv = openLv[1];
if (minLv <= playerInfoManager.getLevel() && maxLv >= playerInfoManager.getLevel()){ if (minLv > playerInfoManager.getLevel() || maxLv < playerInfoManager.getLevel()){
totalWeight += sStoreConfig.getWeight(); continue;
randomSstoreConfigList.add(sStoreConfig);
} }
// 额外开启条件 // 额外开启条件
int[] openRule = sStoreConfig.getOpenRule(); int[] openRule = sStoreConfig.getOpenRule();
@ -445,15 +454,15 @@ public class StoreLogic implements IEventHandler {
case 1: case 1:
// 杀敌数 // 杀敌数
int killNum = playerInfoManager.getExploreKillTotalNum(); int killNum = playerInfoManager.getExploreKillTotalNum();
if (killNum >= openRule[1]){ if (killNum < openRule[1]){
totalWeight += sStoreConfig.getWeight(); continue;
randomSstoreConfigList.add(sStoreConfig);
} }
break; break;
default: default:
break; break;
} }
totalWeight += sStoreConfig.getWeight();
randomSstoreConfigList.add(sStoreConfig);
} }
int weight = 0; int weight = 0;
int rewardId = 0; int rewardId = 0;