diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index fdb030be5..a54064248 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -11,7 +11,7 @@ public interface BIReason { int HERO_RANDOM = 7 ;//抽卡 - int WORKSHOP_CREATEMATERIAL = 8; // + int WORKSHOP_CREATEMATERIAL = 8; //基础打造 int WORKSHOP_CREATEQUIP = 9; // 装备打造 int WORKSHOP_MAKEFOOD = 10; // 装备打造 @@ -55,70 +55,70 @@ public interface BIReason { int TOWER_SWEEP_REWARD = 34;//爬塔扫荡奖励 - int WORK_SHOP_TECHNOGY_RESET_DROP =35 ; + int WORK_SHOP_TECHNOGY_RESET_DROP =35 ; //工坊科技重置返回奖励 - int TAKE_STAR_REWARD = 36; + int TAKE_STAR_REWARD = 36; // 领取星级奖励 - int TOWER_FLOOR_REWARD = 37; + int TOWER_FLOOR_REWARD = 37; //领取试炼层级奖励 - int MONTH_CARD_REWARD = 38; - int BLESS_REWARD = 39; + int MONTH_CARD_REWARD = 38;//月卡奖励 + int BLESS_REWARD = 39;//云梦抽取奖励 - int SEVEN_SCORE_REWARD = 40; + int SEVEN_SCORE_REWARD = 40;//领取七日狂欢奖励 + + int TIME_REWARD=41; //道具按时回复 + + int TEMPORARY_REWARD=42;//临时背包到背包 + + int SUDDENLY_REWARD = 43; // 精英怪奖励 //道具消耗原因 1000开头 int ADVENTURE_UPLEVEL_CONSUME = 1000; //秘境升级 int SECRETBOX_CONSUME = 1001; //秘盒抽卡 - int DECOMPOSE_ITEM_CONSUME = 1002; - int UP_HEROSTAR_CONSUME = 1003; + int DECOMPOSE_ITEM_CONSUME = 1002; //分解道具消耗 + int UP_HEROSTAR_CONSUME = 1003;//升星消耗 int WORKSHOP_REBUILD_EQUIP_CONSUME = 1004; int WORKSHOP_CREATEMATERIAL_CONSUME = 1005; - int WORKSHOP_EQUIP_CONSUME = 1005; - int WORKSHOP_TECHNOLOGY_CONSUME = 1005; - int ACTIVE_BLUE_CONSUME = 1006; + int WORKSHOP_EQUIP_CONSUME = 1005;// + int WORKSHOP_TECHNOLOGY_CONSUME = 1005;//工坊科技树科技消耗 + int ACTIVE_BLUE_CONSUME = 1006; //激活蓝图消耗 int STORE_HAND_REFRESH = 1007;//手动刷新商店 int USER_ITEM = 1008; // 使用道具 int RANDOM_HERO_CONSUME = 1008;//聚灵 - int UP_HERO_LEVEL_CONSUME = 1009; - int START_DIFFICULT = 1010; - int END_DIFFICULT = 1011; - int COMPOS_HERO_CONSUME = 1012; - int POKEMON_LOAD_CONSUME = 1013; - int POKEMON_ADVANCE_CONSUME = 1014; - int POKEMON_UPLEVEL_CONSUME = 1015; + int UP_HERO_LEVEL_CONSUME = 1009; // 卡牌升级消耗 + int START_DIFFICULT = 1010;//关卡开始战斗消耗 + int END_DIFFICULT = 1011;// 关卡结束战斗消耗 + int COMPOS_HERO_CONSUME = 1012;// 合成英雄消耗 + int POKEMON_LOAD_CONSUME = 1013;// 放置异妖组件消耗 + int POKEMON_ADVANCE_CONSUME = 1014;//异妖进阶消耗 + int POKEMON_UPLEVEL_CONSUME = 1015;//异妖升级消耗 - int BUY_GOODS_CONSUME = 1016; - int SWEEP_FIGHT_CONSUME = 1017; - int MAP_ENTER_CONSUME = 1018; - int MAP_EVENT_CONSUME = 1019; + int BUY_GOODS_CONSUME = 1016;//购买商品消耗 + int SWEEP_FIGHT_CONSUME = 1017;//扫荡消耗 + int MAP_ENTER_CONSUME = 1018;//进入滴入消耗 + int MAP_EVENT_CONSUME = 1019;//地图事件点消耗 - int ARENA_CHALLENGE_CONSUME = 1020; + int ARENA_CHALLENGE_CONSUME = 1020; // 竞技场挑战消耗 - int RINGFIRE_LOAD_CONSUME = 1021; - int SUDDENLY_REWARD = 1022; - - int BOMB_CONSUME = 1023; - - int CHALLENGE_INVASIONBOSS_CONSUME = 1024; + int RINGFIRE_LOAD_CONSUME = 1021; // 放置天赋异妖 - int MAP_CONSUME = 1025; + int BOMB_CONSUME = 1023; // 使用次元炸弹 - int TIME_REWARD=1026; + int CHALLENGE_INVASIONBOSS_CONSUME = 1024; //挑战秘境外敌boss消耗 - int TEMPORARY_REWARD=1027; - int BLESS_CHOOSE_CONSUME = 1028; + int MAP_CONSUME = 1025; // 地图行为消耗 - int BUY_TREASURE_CONSUME = 1029; - int LUCKYCAT_CONSUME = 1030; + int BLESS_CHOOSE_CONSUME = 1028;//云梦抽取 + + int BUY_TREASURE_CONSUME = 1029;//购买孙龙的宝藏消耗 + int LUCKYCAT_CONSUME = 1030; // 招财猫消耗 int CREATE_GUILD_CONSUME = 1031; // 创建宗门消耗 int ENDLESS_CONSUME_EXECUTION = 1032; //无尽副本消耗行动力 - int EMAIL_AUTO_TAKE_REWARD = 1033 ;// 活动结束邮件补发未领取奖 - } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java index b9fdb74cc..72be5ba63 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java @@ -120,6 +120,8 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { } //take rewards check if (!takeRewardsProcess(session, sActivityRewardConfig, activityProgressInfo)) { + LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", session.getUid(), sActivityRewardConfig.getId(), activityProgressInfo.getProgrss(), sActivityRewardConfig.getValues()); + MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "value illegality"); return false; } //up miss @@ -173,6 +175,8 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { itemArrs.add(reward); } + if(itemArrs.size()==0) + return; SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); if (null == sGlobalActivity) return; @@ -197,8 +201,6 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { int[][] values = sActivityRewardConfig.getValues(); int missionProgress = activityProgressInfo.getProgrss(); if (missionProgress < values[0][0]) { - LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", session.getUid(), sActivityRewardConfig.getId(), missionProgress, values[0][0]); - MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not"); return false; } return true; @@ -212,7 +214,6 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { User user = UserManager.getUser(session.getUid()); int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getValue(); if (value < values[0][0]) { - MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not"); return false; } return true; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index c03537525..b87fe522e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -13,6 +13,7 @@ import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mission.GameEvent; +import com.ljsd.jieling.logic.mission.event.MissionEventDistributor; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MapInfoProto; @@ -97,6 +98,7 @@ public class ActivityLogic { for (Map.Entry entry : OnlineUserManager.sessionMap.entrySet()) { User user = UserManager.getUserInMem(entry.getKey()); PlayerInfoProto.ActivityUpateIndication.Builder builder = PlayerInfoProto.ActivityUpateIndication.newBuilder(); + MissionEventDistributor.requestStart(); Set openNews = checkActivityOfUser(user, builder); if (!openNews.isEmpty()) { Map activityMissionMap = user.getActivityManager().getActivityMissionMap(); @@ -110,6 +112,7 @@ public class ActivityLogic { if (builder.getActivityInfoCount() > 0 || builder.getCloseActivityIdCount() > 0) { MessageUtil.sendIndicationMessage(entry.getValue(), 1, MessageTypeProto.MessageType.ACTIVITY_UPDATE_INDICATION_VALUE, builder.build(), true); } + MissionEventDistributor.requestEnd(entry.getValue(),true); } } @@ -157,8 +160,8 @@ public class ActivityLogic { if (endTime != 0 && now > endTime) { ActivityMission activityMission = activityMissionMap.get(activityId); if (activityMission != null) { - activityManager.removeActivity(activityId); ActivityTypeEnum.getActicityType(sGlobalActivity.getId()).onActivityEndSelfWithDealReward(user); + activityManager.removeActivity(activityId); LOGGER.info("the uid={},remove the activity id ={}", user.getId(), activityId); if (builder != null) { builder.addCloseActivityId(activityId); @@ -177,8 +180,8 @@ public class ActivityLogic { } else { ActivityMission activityMission = activityMissionMap.get(activityId); if (activityMission != null) { - activityManager.removeActivity(activityId); ActivityTypeEnum.getActicityType(sGlobalActivity.getId()).onActivityEndSelfWithDealReward(user); + activityManager.removeActivity(activityId); LOGGER.info("the uid={},remove the activity id ={}", user.getId(), activityId); if (builder != null) { builder.addCloseActivityId(activityId); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ChapterRewardActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ChapterRewardActivity.java index 521a57a00..9c1d2c8d1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ChapterRewardActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ChapterRewardActivity.java @@ -21,7 +21,6 @@ class ChapterRewardActivity extends AbstractActivity { User user = UserManager.getUser(session.getUid()); LevelDifficulty levelDifficulty = user.getLevelDifficultyManager().getLevelDifficultyInfosMap().get(values[0][0]); if (levelDifficulty == null || levelDifficulty.getState() != Global.FIGHT_CLEARANCE) { - MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "not pass"); return false; } return true; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java index 68cbe0170..1beecd6d3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java @@ -48,7 +48,7 @@ class ExpectRankActivity extends AbstractActivity { User user = UserManager.getUser(session.getUid()); int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getValue(); if (value < values[1][0]) { - MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not"); + // MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not"); return false; } return true; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java index 5ba74e160..9d712da7e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java @@ -24,13 +24,11 @@ class GrowthFundActivity extends AbstractActivity { if(type == 9){ int level = user.getPlayerInfoManager().getLevel(); if(level servenMissionmStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.SEVENMISSION); for(STreasureTaskConfig sTreasureTaskConfig : sTreasureTaskConfigs){ sevenHappyMissionType.getDoingMissionIds().add(sTreasureTaskConfig.getId()); - servenMissionmStateChangeInfos.add(new MissionStateChangeInfo(sTreasureTaskConfig.getId(), MissionState.DOING,0)); } sevenHappyCumulationData.reset(); + sevenHappyMissionType.checkAndUpdateMision(user,sTreasureTaskConfigs,servenMissionmStateChangeInfos,sevenHappyCumulationData); updateString("sevenHappyMissionType", sevenHappyMissionType); updateString("sevenHappyCumulationData", sevenHappyCumulationData); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java index 502f77144..884698196 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java @@ -311,13 +311,17 @@ public class MissionEventDistributor { } if(gameMisionType == GameMisionType.SEVENMISSION){ STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionStateChangeInfo.getMissionId()); - if(sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){ - continue; - } - progress= sTreasureTaskConfig.getTaskValue()[1][0]; - if(progress<0){ - progress=1; + if(sTreasureTaskConfig.getTaskType() != MissionType.SENVER_HAPPY.getMissionTypeValue()){ + progress= sTreasureTaskConfig.getTaskValue()[1][0]; + if(progress<0){ + progress=1; + } + }else{ + if(progress ==0){ + continue; + } } + } } builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionStateChangeInfo.getMissionId()).setType(gameMisionType.getType()).setState(state).setProgress(progress).setTakeTimes(missionStateChangeInfo.getHadTakes())); 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 95a861875..2fd289346 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 @@ -2,6 +2,7 @@ package com.ljsd.jieling.thread.task; import com.ljsd.jieling.config.reportData.DataMessageUtils; import com.ljsd.jieling.core.GlobalsDef; +import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.hotfix.HotfixUtil; import com.ljsd.jieling.ktbeans.BeanBuilder.KtBeanBuilderUtils; @@ -47,6 +48,7 @@ public class MinuteTask extends Thread { everyMondyFiveClockTask(); fiveMinuteOnlineSend(); CheckFight.getInstance().luaHotFix(); + MongoUtil.getInstence().lastUpdate(); LOGGER.info("MinuteTask end..."); } catch (Exception e) { LOGGER.error("e",e);