From 12dd7885cefdc8e82dc09c4a831c834aa42a4b2e Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 2 Jan 2020 16:12:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=B8=9C=E6=B5=B7=E5=AF=BB=E4=BB=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=8E=92=E8=A1=8C=E6=A6=9C=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/activity/GetLuckWheelHandler.java | 4 --- .../ljsd/jieling/handler/map/MapLogic.java | 8 ++--- .../map/behavior/FourtyTwoBehavior.java | 2 +- .../QuickStartMonsterFighter.java | 2 +- .../logic/activity/AbstractActivity.java | 6 +++- .../jieling/logic/activity/ActivityLogic.java | 20 ++++++++---- .../jieling/logic/activity/ActivityType.java | 2 +- .../logic/activity/ForceRankActivity.java | 18 +++++++++-- .../jieling/logic/activity/IActivity.java | 4 +++ .../activity/LimitRandomCardActivity.java | 11 +++---- .../activity/event/UserForceChangeEvent.java | 32 +++++++++++++++++++ .../jieling/logic/player/PlayerLogic.java | 4 ++- .../com/ljsd/jieling/logic/rank/IRank.java | 4 +-- .../ljsd/jieling/logic/rank/RankLogic.java | 2 +- .../logic/rank/rankImpl/AbstractRank.java | 13 ++++---- .../logic/rank/rankImpl/MainLevelRank.java | 4 +-- .../rank/rankImpl/RandomCardPerfectRank.java | 2 +- .../logic/rank/rankImpl/TowerRank.java | 4 +-- .../java/com/ljsd/jieling/util/ToolsUtil.java | 2 +- 19 files changed, 100 insertions(+), 44 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/UserForceChangeEvent.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/GetLuckWheelHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/GetLuckWheelHandler.java index 7d2901326..c319f9415 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/GetLuckWheelHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/GetLuckWheelHandler.java @@ -1,9 +1,5 @@ package com.ljsd.jieling.handler.activity; -import com.ljsd.jieling.chat.logic.ChatLogic; -import com.ljsd.jieling.config.*; -import com.ljsd.jieling.globals.BIReason; -import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.logic.activity.AbstractActivity; import com.ljsd.jieling.logic.activity.ActivityType; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 4853bf645..37b2085bf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -1084,7 +1084,7 @@ public class MapLogic { AbstractRank towerRank = RankContext.getRankEnum(RankEnum.TOWER_RANK.getType()); // TowerRankUtil.getRankNumber(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000)) if(towerRank.getScore(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000))>towerRank.getScoreById(user.getId())){ - towerRank.addRank(user.getId(),mapManager.getTower(),(int)mapManager.getCurrTowerTime()/1000); + towerRank.addRank(user.getId(),0,mapManager.getTower(),(int)mapManager.getCurrTowerTime()/1000); // RedisUtil.getInstence().zsetAddOne(RedisKey.getKey(RedisKey.TOWER_RANK,"",false),String.valueOf(user.getId()),TowerRankUtil.getRankNumber(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000))); } } @@ -2124,7 +2124,7 @@ public class MapLogic { MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true); // String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false); // RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId()); - RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid,sMainLevelConfig.getVirtureId()); + RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid,0,sMainLevelConfig.getVirtureId()); } // public void getMainLevelRankInfo(ISession session) throws Exception { @@ -2332,7 +2332,7 @@ public class MapLogic { //排行榜 // String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false); // RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), checkFightId); - RankContext.getRankEnum(RankEnum.MONSTER_ATTACK_RANK.getType()).addRank(uid,checkFightId); + RankContext.getRankEnum(RankEnum.MONSTER_ATTACK_RANK.getType()).addRank(uid,0,checkFightId); //归还水滴 Map itemMap = new HashMap<>(1); itemMap.put( Global.DROP,1); @@ -2886,7 +2886,7 @@ public class MapLogic { // User user = UserManager.getUser(session.getUid()); int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM); - PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),1, rankEndLine); + PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),0,1, rankEndLine); // Set> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.TOWER_RANK, "", 0, rankEndLine); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java index 5331529b8..4eb472ab5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java @@ -47,7 +47,7 @@ public class FourtyTwoBehavior extends BaseBehavior { if(towerRank.getScore(mapManager.getTower(),(int)time/1000)>towerRank.getScoreById(user.getId())){ // String key = RedisKey.getKey(RedisKey.TOWER_RANK,"",false); // RedisUtil.getInstence().zsetAddOne(key,String.valueOf(user.getId()),TowerRankUtil.getRankNumber(mapManager.getTower(),(int)time/1000)); - towerRank.addRank(user.getId(),mapManager.getTower(),(int)time/1000); + towerRank.addRank(user.getId(),0,mapManager.getTower(),(int)time/1000); } } user.getUserMissionManager().onGameEvent(user, GameEvent.COPY_TOWER_LEVEL, mapManager.getTower()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/monsterAttack/QuickStartMonsterFighter.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/monsterAttack/QuickStartMonsterFighter.java index 64a2694cc..d70fc89ef 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/monsterAttack/QuickStartMonsterFighter.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/monsterAttack/QuickStartMonsterFighter.java @@ -121,7 +121,7 @@ public class QuickStartMonsterFighter extends BaseHandler0){ - long endTime = ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, sGlobalActivity.getGapTime()); - if(TimeUtils.now()>=endTime){ - goRewardActivity(user,activityId,builder,false); - } - } +// if(sGlobalActivity.getGapTime()>0){ +// long endTime = ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, sGlobalActivity.getGapTime()); +// if(TimeUtils.now()>=endTime){ +// goRewardActivity(user,activityId,builder,false); +// } +// } int[] ifOpen = sGlobalActivity.getIfOpen(); if(ifOpen!=null && ifOpen.length>0){ if(ifOpen[0]==1){ //创角 @@ -389,7 +389,13 @@ public class ActivityLogic implements IEventHandler{ } SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(activityId); int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1) / 1000); - int endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2) / 1000); + int endTime; + if(sGlobalActivity.getGapTime()!=0){ + endTime = (int) (ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, sGlobalActivity.getGapTime()) / 1000); + + }else{ + endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2) / 1000); + } Map activityProgressInfoMap = activityMission.getActivityProgressInfoMap(); List missionInfos = new ArrayList<>(activityProgressInfoMap.size()); for (Map.Entry missionProgress : activityProgressInfoMap.entrySet()) { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index c4702922f..7e9376ee8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -8,8 +8,8 @@ public interface ActivityType { int FINISH_STATE = 2; int OPEN_TYPE_TIME = 1; // 活动开启类型:绝对时间 - int OPEN_TYPE_ROLE = 2; // 活动开启类型:创角时间 int OPEN_TYPE_SERVER = 3; // 活动开启类型:开服时间 + int OPEN_TYPE_ROLE = 2; // 活动开启类型:创角时间 int WILL_TAKE = 0; //未领取 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ForceRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ForceRankActivity.java index 85f42b35b..f2d50e76f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ForceRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ForceRankActivity.java @@ -4,6 +4,9 @@ package com.ljsd.jieling.logic.activity; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.globals.Global; +import com.ljsd.jieling.logic.activity.event.IEvent; +import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent; import com.ljsd.jieling.logic.dao.ActivityMission; import com.ljsd.jieling.logic.dao.ActivityProgressInfo; import com.ljsd.jieling.logic.dao.UserManager; @@ -27,6 +30,17 @@ class ForceRankActivity extends AbstractActivity { } + @Override + public void onEvent(IEvent event) throws Exception { + + if(!(event instanceof UserForceChangeEvent)){ + return; + } + UserForceChangeEvent forceChangeEvent = (UserForceChangeEvent) event; + RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).addRank(forceChangeEvent.getUid(),id,forceChangeEvent.getForce()); + + } + @Override public void onActivityStart() throws Exception { //上报所有玩家战力 @@ -45,7 +59,7 @@ class ForceRankActivity extends AbstractActivity { activityMission.setValue(count); // String key = RedisKey.getKey(RedisKey.FORCE_RANK, "", false); // RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), count); - RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).addRank(user.getId(),count); + RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).addRank(user.getId(),id,count); } } @@ -74,7 +88,7 @@ class ForceRankActivity extends AbstractActivity { } // Set> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.FORCE_RANK, "", 0, maxRank-1); - Set> rankInfo = RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).getRankByKey(0,maxRank - 1); + Set> rankInfo = RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).getRankByKey(id,0,maxRank - 1); int rank = 1; int nowTime = (int) (TimeUtils.now() / 1000); for (ZSetOperations.TypedTuple item : rankInfo) { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/IActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/IActivity.java index 7cceb3f7d..eb35a283f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/IActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/IActivity.java @@ -41,6 +41,10 @@ public interface IActivity { */ boolean takeReward(ISession session, int missionId) throws Exception; + /** + * 活动预期前结束 + */ + void onActivityPreEnd() throws Exception; /** * 活动结束 目前只有绝对时间活动 * @throws Exception diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LimitRandomCardActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LimitRandomCardActivity.java index 93742099a..62087d2bc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LimitRandomCardActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LimitRandomCardActivity.java @@ -57,10 +57,10 @@ public class LimitRandomCardActivity extends AbstractActivity { if(scoreById==-1){ scoreById=0; } - randomRank.addRank(cardEvent.getUid(),scoreById+cardEvent.getScore()); + randomRank.addRank(cardEvent.getUid(),id,scoreById+cardEvent.getScore()); Predicate pre = a-> (SCHero.getHeroByPieceId(a[0])!=null&&SCHero.getHeroByPieceId(a[0]).getNatural()>=13); - Consumer consumer = a->RankContext.getRankEnum(RankEnum.RANDOM_CARD_PERFECT_RANK.getType()).addRank(cardEvent.getUid(), TimeUtils.now()/1000,a[0]); + Consumer consumer = a->RankContext.getRankEnum(RankEnum.RANDOM_CARD_PERFECT_RANK.getType()).addRank(cardEvent.getUid(),id, TimeUtils.now()/1000,a[0]); Stream.of(cardEvent.getHeros()).filter(pre).forEach(consumer); update(UserManager.getUser(cardEvent.getUid()),cardEvent.getScore()); @@ -124,13 +124,10 @@ public class LimitRandomCardActivity extends AbstractActivity { SActivityRankingReward sActivityRankingReward1 = SActivityRankingReward.getsActivityRankingRewardMap().get(missionId); //sendmail - String title = SErrorCodeEerverConfig.getI18NMessage("expertrank_activity_title", new Object[]{sGlobalActivity.getSesc()}); - String content = SErrorCodeEerverConfig.getI18NMessage("expertrank_activity_txt", new Object[]{sGlobalActivity.getSesc(), rank++}); + String title = SErrorCodeEerverConfig.getI18NMessage("east_fairy_title", new Object[]{sGlobalActivity.getSesc()}); + String content = SErrorCodeEerverConfig.getI18NMessage("east_fairy_txt", new Object[]{sGlobalActivity.getSesc(), rank++}); String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward()); MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME); - RedisUtil.getInstence().del(RedisKey.getKey(RedisKey.RANDOM_CARD_PERFECT_RANK,"",false)); - RedisUtil.getInstence().del(RedisKey.getKey(RedisKey.RANDOM_CARD_RANK,"",false)); - } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/UserForceChangeEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/UserForceChangeEvent.java new file mode 100644 index 000000000..9e785d985 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/UserForceChangeEvent.java @@ -0,0 +1,32 @@ +package com.ljsd.jieling.logic.activity.event; + +/** + * @author lvxinran + * @date 2020/1/2 + * @discribe + */ +public class UserForceChangeEvent implements IEvent { + public int uid; + public int force; + + public int getForce() { + return force; + } + + public void setForce(int force) { + this.force = force; + } + + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } + + public UserForceChangeEvent(int uid,int force) { + this.uid=uid; + this.force = force; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index 9777feb18..4aca0f5c0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -15,6 +15,8 @@ import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.activity.ActivityType; +import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.family.GuildLogic; @@ -262,7 +264,7 @@ public class PlayerLogic { user.getPlayerInfoManager().setMaxForce(teamForce); // String key = RedisKey.getKey(RedisKey.FORCE_RANK, "", false); // RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), teamForce); - RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).addRank(user.getId(),teamForce); + Poster.getPoster().dispatchEvent(new UserForceChangeEvent(uid,teamForce)); user.getUserMissionManager().onGameEvent(user,GameEvent.USER_FORCE_CHANGE); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCERANK,teamForce); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCESTANDARD,teamForce); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/IRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/IRank.java index 8f55041ea..177f16760 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/IRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/IRank.java @@ -9,9 +9,9 @@ import com.ljsd.jieling.protocols.PlayerInfoProto; */ public interface IRank { - PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception ; + PlayerInfoProto.RankResponse getRank(int uid,int activityId,int page,int rankEndLine) throws Exception ; - void addRank(int uid,double... data); + void addRank(int uid,int activityId,double... data); int getParam1(double data); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/RankLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/RankLogic.java index 70b79be5f..2860512c6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/RankLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/RankLogic.java @@ -33,7 +33,7 @@ public class RankLogic { } public void getRank(ISession session, int type, MessageTypeProto.MessageType messageType) throws Exception { int page = 1; - PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),1, -1); + PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),0,1, -1); MessageUtil.sendMessage(session,1,messageType.getNumber(),rankResponse,true); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java index 583bf7fa3..bb270c2c9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java @@ -28,12 +28,13 @@ public abstract class AbstractRank implements IRank { /** * 获取排行榜数据,包括个人的排名和所有人的信息,获取调用此方法 + * @param activityId 活动id(活动有多期,排行榜保留) * @param uid 改用户id * @param rankEndLine 所有人条目上线 * @return 当前排行榜数据 * @throws Exception */ - public PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception { + public PlayerInfoProto.RankResponse getRank(int uid,int activityId,int page,int rankEndLine) throws Exception { if(rankEndLine==-1){ rankEndLine = 100; } @@ -42,7 +43,7 @@ public abstract class AbstractRank implements IRank { page = 1; } int start = (page - 1) * rankEndLine, end = page * rankEndLine - 1; - Set> zsetreverseRangeWithScores = getRankByKey(start,end); + Set> zsetreverseRangeWithScores = getRankByKey(activityId,start,end); if(start==0){ start=1; } @@ -57,8 +58,8 @@ public abstract class AbstractRank implements IRank { * @param uid 修改用户id * @param data 注意:此处为传入修改的分数需要的所有参数即可,里面调用getScore方法,注意参数顺序 */ - public void addRank(int uid,double... data){ - String key = RedisKey.getKey(redisKey,"",false); + public void addRank(int uid,int activityId,double... data){ + String key = RedisKey.getKey(redisKey,String.valueOf(activityId),false); RedisUtil.getInstence().zsetAddOne(key,String.valueOf(uid), getScore(data)); } public AbstractRank(int type,String redisKey){ @@ -73,8 +74,8 @@ public abstract class AbstractRank implements IRank { return type; } - public Set> getRankByKey(int start,int end){ - return RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey, "", start, end); + public Set> getRankByKey(int activityId,int start,int end){ + return RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey, String.valueOf(activityId), start, end); } protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set> zsetreverseRangeWithScores,int start) throws Exception{ PlayerInfoProto.RankResponse.Builder builder = PlayerInfoProto.RankResponse.newBuilder(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/MainLevelRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/MainLevelRank.java index 4441a12a2..641348529 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/MainLevelRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/MainLevelRank.java @@ -50,8 +50,8 @@ public class MainLevelRank extends AbstractRank { } @Override - public Set> getRankByKey(int start, int end) { - Set> rankByKey = super.getRankByKey(start, end); + public Set> getRankByKey(int activityId,int start, int end) { + Set> rankByKey = super.getRankByKey(0,start, end); return rankByKey; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/RandomCardPerfectRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/RandomCardPerfectRank.java index ab8392141..32a8e06fc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/RandomCardPerfectRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/RandomCardPerfectRank.java @@ -26,7 +26,7 @@ public class RandomCardPerfectRank extends AbstractRank { } @Override - public void addRank(int uid, double... data) { + public void addRank(int uid,int activityId, double... data) { String key = RedisKey.getKey(redisKey,"",false); double[] doubles = new double[3]; System.arraycopy(data, 0, doubles, 0, data.length); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/TowerRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/TowerRank.java index bb9733258..f7e6ceda8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/TowerRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/TowerRank.java @@ -15,9 +15,9 @@ public class TowerRank extends AbstractRank { } @Override - public PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception { + public PlayerInfoProto.RankResponse getRank(int uid,int activityId,int page,int rankEndLine) throws Exception { rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM); - return super.getRank(uid,1, rankEndLine); + return super.getRank(uid,activityId,1, rankEndLine); } @Override diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java index 607e91e17..acac0db7f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java @@ -24,7 +24,7 @@ public class ToolsUtil { } public static long getEndTimeLong(long startTimeLong , long endTimeLong,int time,long createUserTime,int dayOut){ long timeLong = getTimeLong(startTimeLong, endTimeLong, time, createUserTime, 2); - long endTime = timeLong - TimeUtils.DAY * dayOut; + long endTime = timeLong + TimeUtils.DAY * dayOut; return endTime; } From 9e542cd1cb828d43062496ef2e678703c2648dd1 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 2 Jan 2020 16:20:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=9B=91=E5=90=AC=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/activity/ForceRankActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ForceRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ForceRankActivity.java index f2d50e76f..886101208 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ForceRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ForceRankActivity.java @@ -27,6 +27,7 @@ class ForceRankActivity extends AbstractActivity { public ForceRankActivity(int id) { super(id); + Poster.getPoster().listenEvent(this,UserForceChangeEvent.class); }