back_recharge
zhangshanxue 2019-11-04 18:25:51 +08:00
commit 4da9bc7b7d
6 changed files with 45 additions and 23 deletions

View File

@ -866,6 +866,19 @@ public class RedisUtil {
return -1D; return -1D;
} }
public void updateZsetScores(String type,String key, Set<ZSetOperations.TypedTuple<String>> tuples){
String rkey = getKey(type, key);
for (int i = 0; i < MAX_TRY_TIMES; i++) {
try {
redisTemplate.opsForZSet().add(rkey,tuples);
return;
} catch (Exception e) {
TimeUtils.sleep(FAILED_SLEEP);
}
}
}
public void incrementZsetScore(String type,String key, String value, int changeScore){ public void incrementZsetScore(String type,String key, String value, int changeScore){
String rkey = getKey(type, key); String rkey = getKey(type, key);
for (int i = 0; i < MAX_TRY_TIMES; i++) { for (int i = 0; i < MAX_TRY_TIMES; i++) {

View File

@ -82,6 +82,9 @@ public class GMRequestHandler extends BaseHandler{
CommonProto.GmResponse.Builder gmBuilder = CommonProto.GmResponse.newBuilder(); CommonProto.GmResponse.Builder gmBuilder = CommonProto.GmResponse.newBuilder();
switch (gmCommandType){ switch (gmCommandType){
case GlobalGm.ADD_ITEM: case GlobalGm.ADD_ITEM:
if (prarm1 ==1){
prarm2 = Integer.parseInt(commandArray[2]);
}
gmBuilder.setDrop(ItemUtil.drop(cUser,new int[][]{{prarm1,prarm2}}, BIReason.GM_REWARD)); gmBuilder.setDrop(ItemUtil.drop(cUser,new int[][]{{prarm1,prarm2}}, BIReason.GM_REWARD));
break; break;
case GlobalGm.ADD_CARD: case GlobalGm.ADD_CARD:

View File

@ -171,10 +171,9 @@ public class GetPlayerInfoHandler extends BaseHandler{
playerInfoManager.setIsdayFirst(1); playerInfoManager.setIsdayFirst(1);
} }
RedisUtil.getInstence().set(RedisKey.USER_LOGIN_URL + userId, RPCServerTask.userCallBackUrl); RedisUtil.getInstence().set(RedisKey.USER_LOGIN_URL + userId, RPCServerTask.userCallBackUrl);
LOGGER.info("back to client!"); /*if(user.getPlayerInfoManager().getGuidePoints().get(1)!=-1){
if(user.getPlayerInfoManager().getGuidePoints().get(1)!=-1){
user.getPlayerInfoManager().updateGuidePoint(1,-1); user.getPlayerInfoManager().updateGuidePoint(1,-1);
} }*/
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -510,28 +510,31 @@ public class MapLogic {
return false; return false;
} }
public boolean updateMapByOnlyConsumeActionPower(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception { public boolean updateMapByOnlyConsumeActionPower(ISession session, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
if (triggerXY == -1000) { if (triggerXY == -1000) {
int uid = session.getUid(); int uid = session.getUid();
User user = UserManager.getUser(uid); User user = UserManager.getUser(uid);
MapManager mapManager = user.getMapManager(); if(!cells.isEmpty()){
mapManager.addWalkCells(new HashSet<>(cells)); int curXY = cells.get(cells.size()-1);
if(mapManager.getCurMapId()!=0){ MapManager mapManager = user.getMapManager();
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){ mapManager.addWalkCells(new HashSet<>(cells));
int[][] cost = new int[1][]; if(mapManager.getCurMapId()!=0){
int costId = SChallengeSetting.getChallengeSetting().getActionPowerId(); if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){
int costNum = cells.size(); int[][] cost = new int[1][];
mapManager.updateEndlessConsumeExecution(mapManager.getEndlessMapInfo().getConsumeExecution()+costNum); int costId = SChallengeSetting.getChallengeSetting().getActionPowerId();
cost[0]= new int[]{costId,costNum}; int costNum = cells.size();
boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1); mapManager.updateEndlessConsumeExecution(mapManager.getEndlessMapInfo().getConsumeExecution()+costNum);
if(!costResult){ cost[0]= new int[]{costId,costNum};
costNum = user.getItemManager().getItem(costId).getItemNum(); boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
cost[0][1]= costNum; if(!costResult){
ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1); costNum = user.getItemManager().getItem(costId).getItemNum();
cost[0][1]= costNum;
ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
}
} }
} }
mapManager.setCurXY(curXY);
} }
mapManager.setCurXY(curXY);
MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder() MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder()
.setLeftTime(getLeftTime(user, true)) .setLeftTime(getLeftTime(user, true))
.build(); .build();
@ -544,7 +547,7 @@ public class MapLogic {
public void updateMap(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception { public void updateMap(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
LOGGER.info("updateMap() curXY=>{},triggerXY=>{},cells={}", curXY, triggerXY,cells); LOGGER.info("updateMap() curXY=>{},triggerXY=>{},cells={}", curXY, triggerXY,cells);
if (updateMapByOnlyConsumeActionPower(session, curXY, triggerXY, cells, messageType)) { if (updateMapByOnlyConsumeActionPower(session, triggerXY, cells, messageType)) {
return; return;
} }
if (triggerXY != curXY) { if (triggerXY != curXY) {

View File

@ -604,6 +604,7 @@ public class ArenaLogic {
title = SErrorCodeEerverConfig.getI18NMessage("arena_season_reward_title"); title = SErrorCodeEerverConfig.getI18NMessage("arena_season_reward_title");
} }
Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.ARENA_RANK,Integer.toString(curSeason), 0, -1); Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.ARENA_RANK,Integer.toString(curSeason), 0, -1);
int nextSeason = curSeason + 1;
if(type == GlobalsDef.ARENA_SEASON_REWARD){ if(type == GlobalsDef.ARENA_SEASON_REWARD){
curSeason=0; curSeason=0;
} }
@ -617,7 +618,6 @@ public class ArenaLogic {
continue; continue;
} }
if(type == GlobalsDef.ARENA_DAILY_REWARD){ if(type == GlobalsDef.ARENA_DAILY_REWARD){
MissionEventDistributor.requestStart(); MissionEventDistributor.requestStart();
user.getUserMissionManager().onGameEvent(user,GameEvent.ARENA_UPDATE_RANK,rank); user.getUserMissionManager().onGameEvent(user,GameEvent.ARENA_UPDATE_RANK,rank);
ISession sessionByUid = OnlineUserManager.getSessionByUid(uid); ISession sessionByUid = OnlineUserManager.getSessionByUid(uid);
@ -633,12 +633,16 @@ public class ArenaLogic {
user.getPlayerInfoManager().removeRed(GlobalsDef.ARENA_CHALLENGE_TYPE); user.getPlayerInfoManager().removeRed(GlobalsDef.ARENA_CHALLENGE_TYPE);
String key = RedisUtil.getInstence().getKey(RedisKey.ARENA_RRECORD, Integer.toString(uid)); String key = RedisUtil.getInstence().getKey(RedisKey.ARENA_RRECORD, Integer.toString(uid));
RedisUtil.getInstence().del(key); RedisUtil.getInstence().del(key);
} }
String rewardByRank = getRewardByRank(rank++, type); String rewardByRank = getRewardByRank(rank++, type);
if(!"".equals(rewardByRank)){ if(!"".equals(rewardByRank)){
MailLogic.getInstance().sendMail(user.getId(),title,content,rewardByRank,nowTime, Global.MAIL_EFFECTIVE_TIME); MailLogic.getInstance().sendMail(user.getId(),title,content,rewardByRank,nowTime, Global.MAIL_EFFECTIVE_TIME);
} }
} }
if(type == GlobalsDef.ARENA_SEASON_REWARD){
RedisUtil.getInstence().updateZsetScores(RedisKey.ARENA_RANK,Integer.toString(nextSeason),arenaRankInfo);
}
MongoUtil.getInstence().lastUpdate(); MongoUtil.getInstence().lastUpdate();
} }

View File

@ -11,10 +11,10 @@ public class BuyGoodsManager implements BaseDataManager {
int itemId = (int)parm[0]; int itemId = (int)parm[0];
int itemNum = (int)parm[1]; int itemNum = (int)parm[1];
int storeType = (int)parm[2]; int storeType = (int)parm[2];
if(missionType == MissionType.BUY_GOLD_TIMES && itemId == Global.GOLD){ if(storeType == StoreType.FUNCTION_STORE.getType() && missionType == MissionType.BUY_GOLD_TIMES && itemId == Global.GOLD){
data.buyGoldTimes = data.buyGoldTimes + itemNum; data.buyGoldTimes = data.buyGoldTimes + itemNum;
return new CumulationData.Result(missionType); return new CumulationData.Result(missionType);
}else if(missionType == MissionType.BUY_STAMINA_TIMES && itemId == Global.STAMINA){ }else if(storeType == StoreType.FUNCTION_STORE.getType() && missionType == MissionType.BUY_STAMINA_TIMES && itemId == Global.STAMINA){
data.buyStaminaTimes = data.buyStaminaTimes + itemNum; data.buyStaminaTimes = data.buyStaminaTimes + itemNum;
return new CumulationData.Result(missionType); return new CumulationData.Result(missionType);
}else if(missionType == MissionType.BUY_GROCERY_TIMES){ }else if(missionType == MissionType.BUY_GROCERY_TIMES){