From 56017c2dee0fd71176c98f7f97b702c3e9e82797 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Tue, 1 Oct 2019 05:01:31 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=AD=BE=E5=88=B0=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/ActivityLogic.java | 2 +- .../java/com/ljsd/jieling/util/TimeUtils.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index 1cb71f413..f64f87903 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -41,7 +41,7 @@ public class ActivityLogic { public void flushEveryDay(User user, PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder) throws Exception { //跟新签到天数 - if (!TimeUtils.isSameMonthWithNow(user.getPlayerInfoManager().getOffLineTime())) { + if (!TimeUtils.isSameMonthFiveWithNow(user.getPlayerInfoManager().getOffLineTime())) { user.getPlayerInfoManager().setSign(0); user.getPlayerInfoManager().setSignTotay(0); } else if (user.getPlayerInfoManager().getSignTotay() == 1) { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/TimeUtils.java b/serverlogic/src/main/java/com/ljsd/jieling/util/TimeUtils.java index b707c6cd3..49a882ebd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/TimeUtils.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/TimeUtils.java @@ -828,6 +828,23 @@ public class TimeUtils { return (y1 == y2) && (m1 == m2); } + // 是否5点月刷新 + public static boolean isSameMonthFiveWithNow(long r1) { + Calendar c1 = Calendar.getInstance(); + c1.setTimeInMillis(r1-5*60*60*1000); + int y1 = c1.get(Calendar.YEAR); + int m1 = c1.get(Calendar.MONTH) + 1; + + Calendar c2 = Calendar.getInstance(); + c2.setTimeInMillis(now()-5*60*60*1000); + int y2 = c2.get(Calendar.YEAR); + int m2 = c2.get(Calendar.MONTH) + 1; +// int d2 = c2.get(Calendar.DAY_OF_MONTH); + + return (y1 == y2) && (m1 == m2); + } + + /** * 获得当天指定时间 From 7a275f2ae02f328c6f9d9ebc60d46a7a5655d4bd Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Sat, 10 Aug 2019 14:34:18 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=AD=BE=E5=88=B0=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/util/TimeUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/TimeUtils.java b/serverlogic/src/main/java/com/ljsd/jieling/util/TimeUtils.java index 49a882ebd..61d14700c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/TimeUtils.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/TimeUtils.java @@ -831,12 +831,12 @@ public class TimeUtils { // 是否5点月刷新 public static boolean isSameMonthFiveWithNow(long r1) { Calendar c1 = Calendar.getInstance(); - c1.setTimeInMillis(r1-5*60*60*1000); + c1.setTimeInMillis(r1-5*ONE_HOUR); int y1 = c1.get(Calendar.YEAR); int m1 = c1.get(Calendar.MONTH) + 1; Calendar c2 = Calendar.getInstance(); - c2.setTimeInMillis(now()-5*60*60*1000); + c2.setTimeInMillis(now()-5*ONE_HOUR); int y2 = c2.get(Calendar.YEAR); int m2 = c2.get(Calendar.MONTH) + 1; // int d2 = c2.get(Calendar.DAY_OF_MONTH); From 6ede1219a965bf6d3d14f8da6a16a02398bb3582 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sat, 10 Aug 2019 14:46:53 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=85=AC=E4=BC=9A=E6=88=98=E5=B8=83?= =?UTF-8?q?=E9=98=B2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../family/FamilyDefendDetailInfoHandler.java | 25 +++++++++++++++++++ .../family/FamilyDefendInfoHandler.java | 23 +++++++++++++++++ .../family/FamilyQuickSetDefendHandler.java | 25 +++++++++++++++++++ .../ljsd/jieling/logic/family/GuildLogic.java | 22 ++++++++++------ 4 files changed, 87 insertions(+), 8 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendDetailInfoHandler.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendInfoHandler.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyQuickSetDefendHandler.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendDetailInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendDetailInfoHandler.java new file mode 100644 index 000000000..13d8168fd --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendDetailInfoHandler.java @@ -0,0 +1,25 @@ +package com.ljsd.jieling.handler.family; + +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.family.GuildLogic; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.Family; +import com.ljsd.jieling.protocols.MessageTypeProto; +import org.springframework.stereotype.Component; + +@Component +public class FamilyDefendDetailInfoHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.FAMILY_VIEW_DEFEND_DETAIL_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + byte[] bytes = netData.parseClientProtoNetData(); + Family.FamilyDefendDetailViewRequest request = Family.FamilyDefendDetailViewRequest.parseFrom(bytes); + + GuildLogic.viewDefendDetailInfo(iSession,request.getPlayerId(), MessageTypeProto.MessageType.FAMILY_VIEW_DEFEND_DETAIL_RESPONSE); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendInfoHandler.java new file mode 100644 index 000000000..076e52332 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendInfoHandler.java @@ -0,0 +1,23 @@ +package com.ljsd.jieling.handler.family; + +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.family.GuildLogic; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.Family; +import com.ljsd.jieling.protocols.MessageTypeProto; +import org.springframework.stereotype.Component; + +@Component +public class FamilyDefendInfoHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.FAMILY_VIEW_DEFEND_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + byte[] bytes = netData.parseClientProtoNetData(); + GuildLogic.viewDefendInfo(iSession,MessageTypeProto.MessageType.FAMILY_VIEW_DEFEND_RESPONSE); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyQuickSetDefendHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyQuickSetDefendHandler.java new file mode 100644 index 000000000..81f62d212 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyQuickSetDefendHandler.java @@ -0,0 +1,25 @@ +package com.ljsd.jieling.handler.family; + +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.family.GuildLogic; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.Family; +import com.ljsd.jieling.protocols.MessageTypeProto; +import org.springframework.stereotype.Component; + +@Component +public class FamilyQuickSetDefendHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.FAMILY_QUICK_SET_DEFEND_REQEUST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + byte[] bytes = netData.parseClientProtoNetData(); + Family.FamilyQuickDefendRequest request = Family.FamilyQuickDefendRequest.parseFrom(bytes); + + GuildLogic.quickSetDefend(iSession,request.getBuildId(),request.getUid(), MessageTypeProto.MessageType.FAMILY_QUICK_SET_DEFEND_RESPONSE); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index e0a6ff813..f3d342938 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -7,6 +7,7 @@ import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.handler.map.MapManager; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.GuildApply; @@ -747,9 +748,9 @@ public class GuildLogic { Family.FamilyDefendViewResponse.Builder response = Family.FamilyDefendViewResponse.newBuilder(); for(Map.Entry entry:defendInfo.entrySet()){ Family.FamilyDefendInfo.Builder defend = Family.FamilyDefendInfo.newBuilder(); - defend.setStarCount(entry.getValue()%1000); + defend.setStarCount(5); defend.setUid(entry.getKey()); - defend.setBuildId(entry.getValue()/1000); + defend.setBuildId(entry.getValue()); defend.setCurForce(HeroLogic.getInstance().calTeamTotalForce(UserManager.getUser(entry.getKey()),501,false)); response.addInfo(defend); } @@ -792,13 +793,14 @@ public class GuildLogic { public static void quickSetDefend(ISession session,int buildId,int uid, MessageTypeProto.MessageType messageType) throws Exception { User user = UserManager.getUser(uid); TeamPosManager teamPosManager = user.getTeamPosManager(); - teamPosManager.updateTeamPosByTeamId(501,teamPosManager.getTeamPosForHero().get(1)); + if(teamPosManager.getTeamPosForHero().get(501)==null||teamPosManager.getTeamPosForHero().get(501).size()<1){ + teamPosManager.updateTeamPosByTeamId(501,teamPosManager.getTeamPosForHero().get(1)); + } if(buildId==0){ buildId = 1; } GuildInfo guildInfo = GuilidManager.guildInfoMap.get(user.getPlayerInfoManager().getGuildId()); - //设置建筑要*1000,把星数带进去 - guildInfo.updateDefendInfo(uid,buildId*1000+5);//星数未定 + guildInfo.updateDefendInfo(uid,buildId); Family.FamilyDefendInfo.Builder defend = Family.FamilyDefendInfo.newBuilder(); defend.setBuildId(buildId); defend.setUid(uid); @@ -833,21 +835,25 @@ public class GuildLogic { for(Integer gid:guildIds){ GuildInfo guildInfo = GuilidManager.guildInfoMap.get(gid); Map defendInfo = guildInfo.getDefendInfo(); + if(defendInfo==null||defendInfo.size()<1){ + continue; + } for(Map.Entry entry:defendInfo.entrySet()){ User user = UserManager.getUser(entry.getKey()); HeroManager heroManager = user.getHeroManager(); - List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(501); + TeamPosManager teamPosManager = user.getTeamPosManager(); + List teamPosHeroInfos = teamPosManager.getTeamPosForHero().get(501); Iterator it = teamPosHeroInfos.iterator(); - FamilyFightInfo fightInfo = new FamilyFightInfo(); + FamilyFightInfo fightInfo = new FamilyFightInfo(); Map> heroAllAttribute = new HashMap<>(); while (it.hasNext()){ TeamPosHeroInfo heroInfo = it.next(); heroManager.getHero(heroInfo.getHeroId()); + teamPosManager.setCurTeamPosId(501); Map heroAttributeMap = HeroLogic.getInstance().calHeroNotBufferAttribute(user, heroManager.getHero(heroInfo.getHeroId()), false); heroAllAttribute.put(heroInfo.getHeroId(),heroAttributeMap); } fightInfo.setHeroAttribute(heroAllAttribute); - fightInfo.setStarCount(entry.getValue()%1000); RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(guildInfo.getId()),String.valueOf(entry.getKey()),fightInfo); } }