活动邮件

back_recharge
wangyuan 2019-08-07 17:32:51 +08:00
parent a1db43c4e3
commit 4105d7359c
6 changed files with 46 additions and 2 deletions

View File

@ -51,7 +51,7 @@ public class STreasureTaskConfig implements BaseConfig {
treasureTaskConfigByActivityMap.get(activityId).add(sTreasureTaskConfig);
sTreasureTaskConfigListByTypeMapTmp.get(sTreasureTaskConfig.getTaskType()).add(sTreasureTaskConfig);
if(sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){
sTreasureSevenTaskConfigByActivityMapTmp.put(sTreasureTaskConfig.getActivityId(),sTreasureTaskConfig);
}
}
sTreasureTaskConfigListByActivityMap = treasureTaskConfigByActivityMap;

View File

@ -158,6 +158,12 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
}
@Override
public void onActivityEndOnMySelf(User user) throws Exception {
}
public List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission) {
return getAllMissInfo(activityMission, null);
}

View File

@ -144,6 +144,7 @@ public class ActivityLogic {
ActivityMission activityMission = activityMissionMap.get(activityId);
if (activityMission != null) {
activityManager.removeActivity(activityId);
ActivityTypeEnum.getActicityType(sGlobalActivity.getId()).onActivityEndOnMySelf(user);
LOGGER.info("the uid={},remove the activity id ={}", user.getId(), activityId);
if (builder != null) {
builder.addCloseActivityId(activityId);
@ -162,6 +163,7 @@ public class ActivityLogic {
ActivityMission activityMission = activityMissionMap.get(activityId);
if (activityMission != null) {
activityManager.removeActivity(activityId);
ActivityTypeEnum.getActicityType(sGlobalActivity.getId()).onActivityEndOnMySelf(user);
LOGGER.info("the uid={},remove the activity id ={}", user.getId(), activityId);
if (builder != null) {
builder.addCloseActivityId(activityId);

View File

@ -1,9 +1,18 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.config.SErrorCodeEerverConfig;
import com.ljsd.jieling.config.SGlobalActivity;
import com.ljsd.jieling.config.SSevenDaysScore;
import com.ljsd.jieling.config.STreasureTaskConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.dao.ActivityMission;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.main.TreasureMissionType;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import java.util.ArrayList;
@ -25,4 +34,25 @@ public class DefaultEmptyActivity extends AbstractActivity{
user.getActivityManager().setSenvenTime(endTime);
}
}
@Override
public void onActivityEndOnMySelf(User user) throws Exception {
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if(sGlobalActivity.getType() == ActivityType.SERVERHAPPY){
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureSevenTaskConfigByActivityMap.get(id);
TreasureMissionType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
if(!sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getRewardedMissionIds().set(sTreasureTaskConfig.getId());
user.getUserMissionManager().setSevenHappyMissionType(sevenHappyMissionType);
SSevenDaysScore sSevenDaysScore = SSevenDaysScore.SSevenDaysScoreByActivityIdAndScoreMap.get(id).get(senvenScores);
String mailReward = ItemUtil.getMailReward(sSevenDaysScore.getReward());
String title=SErrorCodeEerverConfig.getI18NMessage("opencarnival_activity_"+id+"_title");
String content = SErrorCodeEerverConfig.getI18NMessage("opencarnival_activity_"+id+"_txt");
MailLogic.getInstance().sendMail(user.getId(),title,content,mailReward,(int)(System.currentTimeMillis()/1000), Global.MAIL_EFFECTIVE_TIME);
}
}
}
}

View File

@ -42,6 +42,8 @@ public interface IActivity {
*/
void onActivityEnd() throws Exception;
public void onActivityEndOnMySelf(User user) throws Exception;
List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission, Set<Integer> filter);
}

View File

@ -402,8 +402,12 @@ public class PlayerLogic {
return;
}
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureSevenTaskConfigByActivityMap.get(treasureActivityId);
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
TreasureMissionType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
if(sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
MessageUtil.sendErrorResponse(iSession,0,msgId,"奖励已领取");
return;
}
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getRewardedMissionIds().set(sTreasureTaskConfig.getId());