Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
6519567756
|
@ -33,7 +33,7 @@ public class EquipManager extends MongoBase {
|
|||
updateString("equipMap." + equip.getId(), equip);
|
||||
equipMap.put(equip.getId(),equip);
|
||||
// addEquipHandBook(equip.getEquipId());
|
||||
// user.getUserMissionManager().onGameEvent(user, GameEvent.GET_EQUIP,equip.getEquipId());
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.GET_EQUIP,equip.getEquipId());
|
||||
Poster.getPoster().dispatchEvent(new EquipEvent(user.getId(),equip.getEquipId()));
|
||||
}
|
||||
|
||||
|
|
|
@ -600,10 +600,43 @@ public class StoreLogic implements IEventHandler {
|
|||
}
|
||||
StoreInfo storeInfo = storeInfoMap.get(storeId);
|
||||
SStoreTypeConfig sStoreTypeConfig = SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId);
|
||||
if (sStoreTypeConfig.getIfManualRefresh() != 1){
|
||||
LOGGER.info("handRefreStore==> uid={},storeId={},ifManualRefresh={}",uid,storeId,sStoreTypeConfig.getIfManualRefresh());
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
int[] ifManualRefresh = sStoreTypeConfig.getIfManualRefresh();
|
||||
if (ifManualRefresh.length<1|| ifManualRefresh[0]==0){
|
||||
if(ifManualRefresh[1]==0){
|
||||
LOGGER.info("handRefreStore==> uid={},storeId={},ifManualRefresh={}",uid,storeId, ifManualRefresh);
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}else{
|
||||
noFreeRefreshStore(user,sStoreTypeConfig,storeId);
|
||||
}
|
||||
}else{
|
||||
long lastRefreshTime = storeInfo.getLastRefreshTime();
|
||||
long now = TimeUtils.now();
|
||||
//当前免费次数
|
||||
long freeCount = (now - lastRefreshTime) / TimeUtils.HOUR / ifManualRefresh[1];
|
||||
if(freeCount<1){
|
||||
//无免费次数
|
||||
noFreeRefreshStore(user,sStoreTypeConfig,storeId);
|
||||
}else if(freeCount<ifManualRefresh[0]){
|
||||
//免费次数不是满的
|
||||
long refreshTime = lastRefreshTime + TimeUtils.HOUR * ifManualRefresh[1];
|
||||
storeInfo.setLastRefreshTime(refreshTime);
|
||||
}else{
|
||||
//免费次数为满
|
||||
long refreshTime = now - (TimeUtils.HOUR * (ifManualRefresh[0]-1) * ifManualRefresh[1]);
|
||||
storeInfo.setLastRefreshTime(refreshTime);
|
||||
}
|
||||
}
|
||||
|
||||
// playerInfoManager.updateVipPrivilage(refreshPrivilege,1);
|
||||
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
|
||||
storeInfo.setItemNumMap(itemNumMap);
|
||||
CommonProto.StoreInfo.Builder storeBuilder = getBuilder(storeInfo);
|
||||
PlayerInfoProto.StoreGoodsRefreshResponse builder = PlayerInfoProto.StoreGoodsRefreshResponse.newBuilder().setStoreInfo(storeBuilder).build();
|
||||
MessageUtil.sendMessage(iSession, 1,msgId, builder, true);
|
||||
}
|
||||
|
||||
//无免费刷新
|
||||
private static void noFreeRefreshStore(User user,SStoreTypeConfig sStoreTypeConfig,int storeId) throws Exception {
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
int refreshPrivilege = sStoreTypeConfig.getRefreshPrivilege();
|
||||
int refreshNum = playerInfoManager.getVipPrivilageValue(refreshPrivilege);
|
||||
|
@ -615,13 +648,9 @@ public class StoreLogic implements IEventHandler {
|
|||
if (!result){
|
||||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||
}
|
||||
// playerInfoManager.updateVipPrivilage(refreshPrivilege,1);
|
||||
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
|
||||
storeInfo.setItemNumMap(itemNumMap);
|
||||
CommonProto.StoreInfo.Builder storeBuilder = getBuilder(storeInfo);
|
||||
PlayerInfoProto.StoreGoodsRefreshResponse builder = PlayerInfoProto.StoreGoodsRefreshResponse.newBuilder().setStoreInfo(storeBuilder).build();
|
||||
MessageUtil.sendMessage(iSession, 1,msgId, builder, true);
|
||||
}
|
||||
|
||||
|
||||
//自动刷新商店
|
||||
public static void automaticRefreStore(ISession iSession,int storeId) throws Exception {
|
||||
int msgId = MessageTypeProto.MessageType.STORE_GOODS_REFRESH_RESPONSE_VALUE;
|
||||
|
|
|
@ -27,7 +27,7 @@ public class SStoreTypeConfig implements BaseConfig {
|
|||
|
||||
private String endTime;
|
||||
|
||||
private int ifManualRefresh;
|
||||
private int[] ifManualRefresh;
|
||||
|
||||
private int storeType;
|
||||
|
||||
|
@ -99,7 +99,7 @@ public class SStoreTypeConfig implements BaseConfig {
|
|||
public int getNumber() {
|
||||
return number;
|
||||
}
|
||||
public int getIfManualRefresh() {
|
||||
public int[] getIfManualRefresh() {
|
||||
return ifManualRefresh;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue