新每日特惠

back_recharge
xuexinpeng 2021-12-17 17:58:55 +08:00
parent 956c9cc2fe
commit 652097f613
1 changed files with 32 additions and 4 deletions

View File

@ -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();i<day ;i++){
//下线当天的活动处理
sendSpecailMail(user,title,content,mission);
for(int i = mission.getV()+1;i<day ;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("22:"+i);
@ -126,6 +128,32 @@ public class DailyPreferentialGiftActivity extends AbstractActivity{
}
}
//当天为领取特殊处理
public static void sendSpecailMail( User user,String title,String content, ActivityMission mission ){
Map<Integer, ActivityProgressInfo> progressMap = mission.getActivityMissionMap();
Map<Integer,Integer> rewardMap1 = new HashMap();
for (Map.Entry<Integer, ActivityProgressInfo> 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());