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);
|
updateString("equipMap." + equip.getId(), equip);
|
||||||
equipMap.put(equip.getId(),equip);
|
equipMap.put(equip.getId(),equip);
|
||||||
// addEquipHandBook(equip.getEquipId());
|
// 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()));
|
Poster.getPoster().dispatchEvent(new EquipEvent(user.getId(),equip.getEquipId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -600,10 +600,43 @@ public class StoreLogic implements IEventHandler {
|
||||||
}
|
}
|
||||||
StoreInfo storeInfo = storeInfoMap.get(storeId);
|
StoreInfo storeInfo = storeInfoMap.get(storeId);
|
||||||
SStoreTypeConfig sStoreTypeConfig = SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId);
|
SStoreTypeConfig sStoreTypeConfig = SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId);
|
||||||
if (sStoreTypeConfig.getIfManualRefresh() != 1){
|
int[] ifManualRefresh = sStoreTypeConfig.getIfManualRefresh();
|
||||||
LOGGER.info("handRefreStore==> uid={},storeId={},ifManualRefresh={}",uid,storeId,sStoreTypeConfig.getIfManualRefresh());
|
if (ifManualRefresh.length<1|| ifManualRefresh[0]==0){
|
||||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
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();
|
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
int refreshPrivilege = sStoreTypeConfig.getRefreshPrivilege();
|
int refreshPrivilege = sStoreTypeConfig.getRefreshPrivilege();
|
||||||
int refreshNum = playerInfoManager.getVipPrivilageValue(refreshPrivilege);
|
int refreshNum = playerInfoManager.getVipPrivilageValue(refreshPrivilege);
|
||||||
|
@ -615,13 +648,9 @@ public class StoreLogic implements IEventHandler {
|
||||||
if (!result){
|
if (!result){
|
||||||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
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 {
|
public static void automaticRefreStore(ISession iSession,int storeId) throws Exception {
|
||||||
int msgId = MessageTypeProto.MessageType.STORE_GOODS_REFRESH_RESPONSE_VALUE;
|
int msgId = MessageTypeProto.MessageType.STORE_GOODS_REFRESH_RESPONSE_VALUE;
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class SStoreTypeConfig implements BaseConfig {
|
||||||
|
|
||||||
private String endTime;
|
private String endTime;
|
||||||
|
|
||||||
private int ifManualRefresh;
|
private int[] ifManualRefresh;
|
||||||
|
|
||||||
private int storeType;
|
private int storeType;
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ public class SStoreTypeConfig implements BaseConfig {
|
||||||
public int getNumber() {
|
public int getNumber() {
|
||||||
return number;
|
return number;
|
||||||
}
|
}
|
||||||
public int getIfManualRefresh() {
|
public int[] getIfManualRefresh() {
|
||||||
return ifManualRefresh;
|
return ifManualRefresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue