From 652097f6130c730a7b3d49afdabf3f1dca93dea9 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Fri, 17 Dec 2021 17:58:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E6=AF=8F=E6=97=A5=E7=89=B9=E6=83=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DailyPreferentialGiftActivity.java | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DailyPreferentialGiftActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DailyPreferentialGiftActivity.java index a6a6d820f..460624867 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DailyPreferentialGiftActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DailyPreferentialGiftActivity.java @@ -17,13 +17,11 @@ import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import config.SActivityRewardConfig; import config.SErrorCodeEerverConfig; -import rpc.protocols.ArenaInfoProto; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; import rpc.protocols.PlayerInfoProto; import util.StringUtil; import util.TimeUtils; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -90,7 +88,9 @@ public class DailyPreferentialGiftActivity extends AbstractActivity{ String content = SErrorCodeEerverConfig.getI18NMessage("sevendaycard_mail_txt"); if(day >7){ //第八天登錄 發送所有獎勵 TODO - for(int i = mission.getV();i < 7;i++){ + //下线当天的活动处理 + sendSpecailMail(user,title,content,mission); + for(int i = mission.getV()+1;i <= 7;i++){ MailLogic.getInstance().sendMail(user.getId(), title, content, StringUtil.parseArrayToString(rewardMap.entrySet().stream().map(n->new int[]{n.getKey(),n.getValue()}) .toArray(int[][]::new)), TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME); LOGGER.info("11:"+i); @@ -105,7 +105,9 @@ public class DailyPreferentialGiftActivity extends AbstractActivity{ } return; }else{ - for(int i = mission.getV();inew int[]{n.getKey(),n.getValue()}) .toArray(int[][]::new)), TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME); LOGGER.info("22:"+i); @@ -126,6 +128,32 @@ public class DailyPreferentialGiftActivity extends AbstractActivity{ } } + //当天为领取特殊处理 + public static void sendSpecailMail( User user,String title,String content, ActivityMission mission ){ + Map progressMap = mission.getActivityMissionMap(); + Map rewardMap1 = new HashMap(); + for (Map.Entry progress:progressMap.entrySet()){ + if(progress.getValue().getState() == ActivityType.WILL_TAKE){ + SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(progress.getKey()); + if(sActivityRewardConfig == null){ + continue; + } + for(int[]reward:sActivityRewardConfig.getReward()){ + if(rewardMap1.containsKey(reward[0])){ + rewardMap1.put(reward[0],rewardMap1.get(reward[0])+reward[1]); + }else{ + rewardMap1.put(reward[0],reward[1]); + } + } + } + } + if(rewardMap1.size()>0){ + MailLogic.getInstance().sendMail(user.getId(), title, content, StringUtil.parseArrayToString(rewardMap1.entrySet().stream().map(n->new int[]{n.getKey(),n.getValue()}) + .toArray(int[][]::new)), TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME); + } + + } + @Override public boolean takeReward(ISession session, int missionId) throws Exception{ User user = UserManager.getUser(session.getUid());