From 4880f595357655684fe75aa9e79795c29fe3e291 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Fri, 31 May 2024 11:06:19 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=8F=91=E5=A5=96=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/activity/ActivityLogic.java | 5 +++++ .../logic/activity/OnlineRewardActivity.java | 14 ++------------ .../com/ljsd/jieling/logic/family/GuildLogic.java | 2 +- .../ljsd/jieling/logic/store/BuyGoodsNewLogic.java | 5 +++++ 4 files changed, 13 insertions(+), 13 deletions(-) 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 333a77925..83a63b1aa 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 @@ -451,6 +451,11 @@ public class ActivityLogic implements IEventHandler{ goRewardActivity(user,activityId,builder, isRemove); continue; } + // todo 影响所有创角类型活动,已有的暂时不受影响,新增活动注意initactivtiy方法 +// ActivityMission activityMission = activityMissionMap.get(activityId); +// if (activityMission != null) { +// continue; +// } boolean checked = checkStateAndInitFromActivity(user, activityId); if (checked){ continue; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OnlineRewardActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OnlineRewardActivity.java index f0000d9f0..fb96f7ab8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OnlineRewardActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OnlineRewardActivity.java @@ -27,27 +27,17 @@ class OnlineRewardActivity extends AbstractActivity { User user = UserManager.getUser(session.getUid()); List reward = new ArrayList<>(); getAllMissRewards(user,session,reward); - Map itemMap = new HashMap<>(); - reward.forEach(n-> Arrays.stream(n).forEach(m->itemMap.put(m[0],itemMap.getOrDefault(m[0], 0)+m[1]))); - - int[][] rewardArray = ItemUtil.mapToArray(itemMap); - CommonProto.Drop.Builder drop = ItemUtil.drop(user, rewardArray, BIReason.TAKE_ACTIVITY_REWARD); - + CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD); PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); - - reportTakeActivityReward(user,rewardArray,missionId); - +// reportTakeActivityReward(user,rewardArray,missionId); MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true); - return true; - } @Override boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { - int[][] values = sActivityRewardConfig.getValues(); int missionProgress = activityProgressInfo.getProgrss(); long now = TimeUtils.now(); 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 16c8485c2..4ece81dbb 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 @@ -1682,7 +1682,7 @@ public class GuildLogic { @SuppressWarnings("SuspiciousMethodCalls") private static void exploreActivity(User user, GuildInfo guildInfo){ Set openActivityIdsByType = ActivityLogic.getInstance().getOpenActivityIdsByType(user, ActivityTypeEnum.EXPLORE_EXPECT_ACTIVITY.getType(), false); - if(openActivityIdsByType.size()!= 0){ + if(!openActivityIdsByType.isEmpty()){ ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(openActivityIdsByType.toArray()[0]); if(guildInfo!=null){ activityMission.setV(0); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 870c31a75..862036698 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -243,15 +243,18 @@ public class BuyGoodsNewLogic { ISession session = OnlineUserManager.getSessionByUid(uid); if (session == null) { resultRes.setResultMsg("Session is null"); + LOGGER.error("sendGoods 玩家不在缓存中, uid={}",uid); return resultRes; } if (!StringUtil.isNumeric(sdkGoodsId)){ resultRes.setResultMsg("sdkGoodsId is error"); + LOGGER.error("sendGoods 礼包id不是纯数字, uid={}, goodId={}",uid, sdkGoodsId); return resultRes; } SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.configMap.get(Integer.parseInt(sdkGoodsId)); if(null == config){ resultRes.setResultMsg("SRechargeCommodityNewConfig is null"); + LOGGER.error("sendGoods 礼包表找不到, uid={}, goodId={}",uid, sdkGoodsId); return resultRes; } @@ -269,6 +272,7 @@ public class BuyGoodsNewLogic { User user = UserManager.getUser(uid); if (user == null) { resultRes.setResultMsg("User not found"); + LOGGER.error("sendGoods 玩家找不到, uid={}",uid); return resultRes; } @@ -276,6 +280,7 @@ public class BuyGoodsNewLogic { AbstractWelfareBag bag = rechargeHandler.getBag(user, goodsId); if (bag == null) { resultRes.setResultMsg("Welfare bag not found"); + LOGGER.error("sendGoods 玩家身上找不到礼包, uid={}, goodId={}",uid, goodsId); return resultRes; } From d46f236d108a8b6095ffcd87092bae63e8c7df5e Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Fri, 31 May 2024 13:58:01 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=83=AD=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/hotfix.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conf/hotfix.json b/conf/hotfix.json index 7a5bc18f8..d928f5607 100644 --- a/conf/hotfix.json +++ b/conf/hotfix.json @@ -1,5 +1,6 @@ { - "version":"5", + "version":"6", "classes": [ + {"name":"BuyGoodsNewLogic.class","fullName":"com.ljsd.jieling.logic.store.BuyGoodsNewLogic"} ] } \ No newline at end of file From 559a40e9f1f752d96a5cc13a9e4536ba405c3723 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Fri, 31 May 2024 14:57:37 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=83=AD=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/c_database_version.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/c_database_version.json b/conf/c_database_version.json index 2b4b31e47..2cef3a1c3 100644 --- a/conf/c_database_version.json +++ b/conf/c_database_version.json @@ -1,4 +1,4 @@ { - "version":"5", - "tables":"" + "version":"6", + "tables":"GameSetting" } \ No newline at end of file From b2daffb239176e26be2d2d86aa533e75163aba98 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Fri, 31 May 2024 17:05:01 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E7=83=AD=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/hotfix.json | 5 ++-- .../task/RetrySendIndicationThread.java | 23 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/conf/hotfix.json b/conf/hotfix.json index d928f5607..65c99f184 100644 --- a/conf/hotfix.json +++ b/conf/hotfix.json @@ -1,6 +1,7 @@ { - "version":"6", + "version":"7", "classes": [ - {"name":"BuyGoodsNewLogic.class","fullName":"com.ljsd.jieling.logic.store.BuyGoodsNewLogic"} + {"name":"BuyGoodsNewLogic.class","fullName":"com.ljsd.jieling.logic.store.BuyGoodsNewLogic"}, + {"name":"RetrySendIndicationThread.class","fullName":"com.ljsd.jieling.thread.task.RetrySendIndicationThread"} ] } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RetrySendIndicationThread.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RetrySendIndicationThread.java index 5b109d985..017c763ea 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RetrySendIndicationThread.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RetrySendIndicationThread.java @@ -51,18 +51,19 @@ public class RetrySendIndicationThread extends Thread{ } ConcurrentHashMap indexToIndication = session.getIndexToIndication(); for(ISession.IndicationMsg indicationMsg : indexToIndication.values()){ -// long create = indicationMsg.getCreate(); -// int retryTimes = indicationMsg.getRetryTimes()+1; -// if(retryTimes>3){ -// continue; -// } -// if(now-create > retryTimes*3000L){ -// MessageUtil.retrySendIndication(session,indicationMsg.getMsg()); -// indicationMsg.setRetryTimes(retryTimes); -// } - MessageUtil.retrySendIndication(session,indicationMsg.getMsg()); + long create = indicationMsg.getCreate(); + int retryTimes = indicationMsg.getRetryTimes()+1; + if(retryTimes>3){ + continue; + } + if(now-create > retryTimes*3000L){ + MessageUtil.retrySendIndication(session,indicationMsg.getMsg()); + indicationMsg.setRetryTimes(retryTimes); + } +// LOGGER.info("indication :{}",indicationMsg.getMsg()); +// MessageUtil.retrySendIndication(session,indicationMsg.getMsg()); } - session.cleanIndication(); +// session.cleanIndication(); }else{ removeIds.add(session.getUid()); } From ea38873779d7ff9703ccc7d914c787a286c1e575 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Fri, 31 May 2024 17:37:12 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=B0=8F=E5=85=B5=E5=85=B3=E5=8D=A1?= =?UTF-8?q?=E5=BC=80=E5=90=AF=E6=9D=A1=E4=BB=B6=E5=8A=A0=E5=BC=80=E6=9C=8D?= =?UTF-8?q?=E5=A4=A9=E6=95=B0=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/handler/map/MapLogic.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 dcc233b78..6012ed345 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 @@ -1,5 +1,6 @@ package com.ljsd.jieling.handler.map; +import com.ljsd.GameApplication; import com.ljsd.fight.FightType; import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig; import com.ljsd.jieling.core.FunctionIdEnum; @@ -1860,6 +1861,12 @@ public class MapLogic { return false; } break; + case 10://开服天数 + long openTime = GameApplication.serverConfig.getCacheOpenTime(); + int count = TimeUtils.differentDays(openTime, TimeUtils.now()) + 1; + if (count < ints[1]){ + return false; + } } } return isOpen;