新每日特惠

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 com.ljsd.jieling.util.MessageUtil;
import config.SActivityRewardConfig; import config.SActivityRewardConfig;
import config.SErrorCodeEerverConfig; import config.SErrorCodeEerverConfig;
import rpc.protocols.ArenaInfoProto;
import rpc.protocols.CommonProto; import rpc.protocols.CommonProto;
import rpc.protocols.MessageTypeProto; import rpc.protocols.MessageTypeProto;
import rpc.protocols.PlayerInfoProto; import rpc.protocols.PlayerInfoProto;
import util.StringUtil; import util.StringUtil;
import util.TimeUtils; import util.TimeUtils;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -90,7 +88,9 @@ public class DailyPreferentialGiftActivity extends AbstractActivity{
String content = SErrorCodeEerverConfig.getI18NMessage("sevendaycard_mail_txt"); String content = SErrorCodeEerverConfig.getI18NMessage("sevendaycard_mail_txt");
if(day >7){ if(day >7){
//第八天登錄 發送所有獎勵 TODO //第八天登錄 發送所有獎勵 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()}) 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); .toArray(int[][]::new)), TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
LOGGER.info("11:"+i); LOGGER.info("11:"+i);
@ -105,7 +105,9 @@ public class DailyPreferentialGiftActivity extends AbstractActivity{
} }
return; return;
}else{ }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()}) 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); .toArray(int[][]::new)), TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
LOGGER.info("22:"+i); 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 @Override
public boolean takeReward(ISession session, int missionId) throws Exception{ public boolean takeReward(ISession session, int missionId) throws Exception{
User user = UserManager.getUser(session.getUid()); User user = UserManager.getUser(session.getUid());