From 8c634d7df2140d9b30ff09bbe2aa255442da2957 Mon Sep 17 00:00:00 2001 From: duhui Date: Mon, 6 Mar 2023 17:33:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E4=BC=9A=E6=8F=B4=E5=8A=A9=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/GlobalDataManaager.java | 3 ++ .../ljsd/jieling/logic/family/GuildLogic.java | 17 ++++++- .../ljsd/jieling/thread/task/MinuteTask.java | 47 +++++++++++-------- 3 files changed, 46 insertions(+), 21 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index d6ee5ca1b..4ee222135 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -439,6 +439,9 @@ public class GlobalDataManaager implements IManager { SevenWorldLogic.getInstance().sevenWorldInfoIndication(session); // 御剑行 RidingSwardLogic.getInstance().zeroClearRidingSwardByUser(user); + // 公会援助 + GuildLogic.getInstance().guildHelpDayHandler(user); + WeekCardLogic.getInstance().weekCardInfoIndication(user,0,0); ChallengeLogic.getInstance().ChallengeInfoIndication(session); if(TimeUtils.isSpanTime(user.getPlayerInfoManager().getLoginTime(),TimeUtils.now(),1,0)){ 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 9b394290a..5423faf8d 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 @@ -1698,7 +1698,22 @@ public class GuildLogic { } String mailReward = ItemUtil.getMailReward(list); - MailLogic.getInstance().sendMail(user.getId(),title,content,mailReward,(int) (TimeUtils.now()/1000), Global.MAIL_EFFECTIVE_TIME); + MailLogic.getInstance().sendMail(user.getId(),title,content,mailReward,TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME); + } + + public void guildHelpDayHandler(User user){ + try { + GuildLogic.sendGuildHelpRewardEmail(user); + GuildMyInfo guildMyInfo = user.getGuildMyInfo(); + guildMyInfo.setGuidHelpInfo(new HashMap<>()); + guildMyInfo.setGuidHelpHadTakeInfo(new HashMap<>()); + guildMyInfo.setGuildHelpSendTime(0); + guildMyInfo.setGuildHelpReward(false); + guildMyInfo.setGuildHelpTime(0); + } catch (Exception e) { + throw new RuntimeException(e); + } + LOGGER.info("公会援助刷新uid=>{}", user.getId()); } //检测是否到了最大等级 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 0a0afe46f..27edaf13f 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 @@ -14,6 +14,7 @@ import com.ljsd.jieling.logic.GlobleSystemLogic; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.SituationLogic; import com.ljsd.jieling.logic.activity.ActivityLogic; +import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic; import com.ljsd.jieling.logic.activity.event.MinuteTaskEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic; @@ -23,6 +24,7 @@ import com.ljsd.jieling.logic.arena.CrossYuxulundaoLogic; import com.ljsd.jieling.logic.dao.GuildMyInfo; import com.ljsd.jieling.logic.dao.GuilidManager; import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.cross.CSPlayer; import com.ljsd.jieling.logic.dao.root.GuildInfo; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.explorerMap.ExplorerMapLogic; @@ -261,26 +263,31 @@ public class MinuteTask extends Thread { guildInfo.clearGuildHelpLog(); GuilidManager.saveOrUpdateGuildInfo(guildInfo); LOGGER.info("{}更新公会援助日志完毕",guildInfoEntry.getValue().getName()); - // 公会援助刷新 - Set sendUids = new HashSet<>(); - guildInfo.getMembers().values().forEach(sendUids::addAll); - for (Integer sendUid : sendUids) { - User target = UserManager.getUserNotCache(sendUid); - if (target == null){ - continue; - } - AyyncWorker ayyncWorker = new AyyncWorker(target, true, user -> { - GuildLogic.sendGuildHelpRewardEmail(target); - GuildMyInfo guildMyInfo = target.getGuildMyInfo(); - guildMyInfo.setGuidHelpInfo(new HashMap<>()); - guildMyInfo.setGuidHelpHadTakeInfo(new HashMap<>()); - guildMyInfo.setGuildHelpSendTime(0); - guildMyInfo.setGuildHelpReward(false); - guildMyInfo.setGuildHelpTime(0); - LOGGER.info("公会援助刷新uid=>{}", sendUid); - }); - ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker); - } +// // 公会援助刷新 +// Set sendUids = new HashSet<>(); +// guildInfo.getMembers().values().forEach(sendUids::addAll); +// for (Integer sendUid : sendUids) { +// CSPlayer player = CrossServiceLogic.getPlayerByRedis(sendUid); +// if (player == null || TimeUtils.now() > (player.getOffLineTime()+TimeUtils.WEEK)){ +// LOGGER.error("公会援助刷新,玩家未登陆时间超过七天,不予发奖,uid:{}",sendUid); +// continue; +// } +// User target = UserManager.getUserNotCache(sendUid); +// if (target == null){ +// continue; +// } +// AyyncWorker ayyncWorker = new AyyncWorker(target, true, user -> { +// GuildLogic.sendGuildHelpRewardEmail(target); +// GuildMyInfo guildMyInfo = target.getGuildMyInfo(); +// guildMyInfo.setGuidHelpInfo(new HashMap<>()); +// guildMyInfo.setGuidHelpHadTakeInfo(new HashMap<>()); +// guildMyInfo.setGuildHelpSendTime(0); +// guildMyInfo.setGuildHelpReward(false); +// guildMyInfo.setGuildHelpTime(0); +// LOGGER.info("公会援助刷新uid=>{}", sendUid); +// }); +// ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker); +// } }catch (Exception e){ e.printStackTrace(); }