From 1a60f70002f90d5c41592d1771503a9f7e249b60 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Thu, 25 Nov 2021 09:22:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=A8=E6=9C=8D=E7=81=B5=E8=84=89=E7=A7=98?= =?UTF-8?q?=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/fight/LingMaiSecretArea.java | 11 ++++++++++- serverlogic/src/main/java/com/ljsd/CoreService.java | 2 +- .../CrossLingmaiSecretAreaBattleHandler.java | 5 +++-- .../CrossLingmaiSecretAreaInfoHandler.java | 7 +++---- .../ljsd/jieling/logic/arena/CrossLingmaiLogic.java | 8 ++++---- .../java/com/ljsd/jieling/thread/task/MinuteTask.java | 9 +++++---- .../src/main/java/config/SMServerLodeSetting.java | 4 ++-- 7 files changed, 28 insertions(+), 18 deletions(-) diff --git a/fightmanager/src/main/java/com/ljsd/fight/LingMaiSecretArea.java b/fightmanager/src/main/java/com/ljsd/fight/LingMaiSecretArea.java index a5f0e39e3..2e766023f 100644 --- a/fightmanager/src/main/java/com/ljsd/fight/LingMaiSecretArea.java +++ b/fightmanager/src/main/java/com/ljsd/fight/LingMaiSecretArea.java @@ -5,7 +5,8 @@ public class LingMaiSecretArea { private int uid; private String serverName; private String name; - private long getAwardTimeOrOccupyTime;//得到奖励的时间或者占领的灵脉的时间 + private long getAwardTimeOrOccupyTime;//得到奖励的时间(10分钟倒计时/被打下去或者打别人 时候有修改)或者占领的灵脉的时间 + private long beginOccupyTime;//占领的时间点 占领第一次的时候、打下别人的时候、被别人打下的时候 //当日总积分 = score1+基础收益*occupyTime private int score1;//当前结算分 被人打下去后 这个分才会有值 private int occupyTime;//占领的时长 以分钟为单位 @@ -66,4 +67,12 @@ public class LingMaiSecretArea { public void setOccupyTime(int occupyTime) { this.occupyTime = occupyTime; } + + public long getBeginOccupyTime() { + return beginOccupyTime; + } + + public void setBeginOccupyTime(long beginOccupyTime) { + this.beginOccupyTime = beginOccupyTime; + } } diff --git a/serverlogic/src/main/java/com/ljsd/CoreService.java b/serverlogic/src/main/java/com/ljsd/CoreService.java index fb859bf7a..7d9fd68cf 100644 --- a/serverlogic/src/main/java/com/ljsd/CoreService.java +++ b/serverlogic/src/main/java/com/ljsd/CoreService.java @@ -138,7 +138,7 @@ public class CoreService implements RPCRequestIFace.Iface { List lmmj = user.getTeamPosManager().getTeamPosForHero().getOrDefault(TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(),new ArrayList<>()); List rpclmmj = new ArrayList(); lmmj.forEach(n->rpclmmj.add(new TeamPosHeroInfo().setHeroId(n.getHeroId()).setPosition(n.getPosition()))); - teams.put(TeamEnum.CROSS_YU_XU_LUN_DAO_THREE.getTeamId(),rpclmmj); + teams.put(TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(),rpclmmj); set.addAll(rpclmmj); // 英雄 Map heroes = new HashMap<>(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossLingmaiSecretAreaBattleHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossLingmaiSecretAreaBattleHandler.java index 3d337678d..72c4947dc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossLingmaiSecretAreaBattleHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossLingmaiSecretAreaBattleHandler.java @@ -134,7 +134,7 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler lingMaiMap = RedisUtil.getInstence().getMapValues(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.class, LingMaiSecretArea.class); if (page == 0) { - int id = lingMaiMap.values().stream().filter(n -> n.getUid() == uid).mapToInt(n -> n.getId()).sum(); - //lingMaiMap.values().stream().anyMatch(n -> n.getUid() == uid). + int id = lingMaiMap.values().stream().filter(n -> n.getUid() == uid).limit(1).mapToInt(n -> n.getId()).sum(); if (SLodeConfig.lodeConfig.get(id) != null) { page = SLodeConfig.lodeConfig.get(id).getPageNo(); } else { @@ -97,7 +96,7 @@ public class CrossLingmaiSecretAreaInfoHandler extends BaseHandler matchMyInfoList = lingMaiMap.values().stream().filter(n -> n.getUid() == uid).collect(Collectors.toList()); if (matchMyInfoList != null && matchMyInfoList.size() > 0) { myOccupyId = matchMyInfoList.get(0).getId(); - myOccupyTime = (int) matchMyInfoList.get(0).getGetAwardTimeOrOccupyTime(); + myOccupyTime = (int) matchMyInfoList.get(0).getBeginOccupyTime(); } //当前页面数据 for (SLodeConfig config : pageConfig) { @@ -129,7 +128,7 @@ public class CrossLingmaiSecretAreaInfoHandler extends BaseHandler0){ lingMaiSecretArea.setScore1((int) disappearScore); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index 940f8f5fb..c02892d5f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -314,10 +314,10 @@ public class MinuteTask extends Thread { int minute = calendar.get(Calendar.MINUTE); int w = calendar.get(Calendar.DAY_OF_WEEK) - 1; - //周二 四 六 日开放 9点-21点 - if(w==0 || w ==2|| w==4 || w == 6){ + //周二 四 六 开放 9点-21点 + if( w ==2|| w==4 || w == 6){ //占领奖励 - if(hour>9&&hour<21){ + if(hour>=9&&hour<=21){ int mod = minute%10; if(mod ==0 ){ CrossLingmaiLogic.getInstance().sendOccypyReward(); @@ -327,7 +327,8 @@ public class MinuteTask extends Thread { if(hour ==21 && minute==0){ CrossLingmaiLogic.getInstance().sendMailReward(); } - if(hour == 9&& minute==0){ + //0点清除数据 + if(hour == 0&& minute==0){ CrossLingmaiLogic.getInstance().initData(); } diff --git a/tablemanager/src/main/java/config/SMServerLodeSetting.java b/tablemanager/src/main/java/config/SMServerLodeSetting.java index ff40a7ec5..107785611 100644 --- a/tablemanager/src/main/java/config/SMServerLodeSetting.java +++ b/tablemanager/src/main/java/config/SMServerLodeSetting.java @@ -44,7 +44,7 @@ public class SMServerLodeSetting implements BaseConfig { public static int getGroupByLevel(int level){ SMServerLodeSetting config = lodeConfig.get(1); if(config==null){ - return 0; + return 2; } int[][]group = config.getGroup(); if(level>=group[0][1]&&level<=group[0][2]){ @@ -53,7 +53,7 @@ public class SMServerLodeSetting implements BaseConfig { if(level>=group[1][1]&&level<=group[1][2]){ return group[1][0]; } - return 1; + return 2; } public int getId() {