From 4d0a4d312daddc1476ce58427dc90776d4bf8d40 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Tue, 9 Jul 2019 05:06:41 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BA=94=E7=82=B9=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E7=99=BD=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/core/HandlerLogicThread.java | 4 +--- .../main/java/com/ljsd/jieling/handler/map/MapLogic.java | 7 +++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java b/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java index a378292be..ec9971d06 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java @@ -76,9 +76,7 @@ public class HandlerLogicThread extends Thread{ //日后删除 whiteMsg.add(MessageTypeProto.MessageType.GET_CHAT_MESSAGE_REQUEST_VALUE); - - - + whiteMsg.add(MessageTypeProto.MessageType.SERVER_FIVE_REQEUST_VALUE); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 998f87527..6822055a8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -565,8 +565,11 @@ public class MapLogic { cost[0]= new int[]{costId,costNum}; boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1); if(!costResult){ - MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!"); - return; + costNum = user.getItemManager().getItem(costId).getItemNum(); + cost[0][1]= costNum; + ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1); +// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!"); +// return; } } From 49ad73610dbbde0066665f31f872f198daa9c853 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 8 Aug 2019 15:50:56 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=8A=9F=E7=BB=A9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/handler/map/MapMissionManager.java | 9 ++++++--- .../FinishOptionsDifficultMapProcessor.java | 9 ++++++--- .../KillBossInTimeDifficultProcessor.java | 5 ++++- .../map/missionProcessor/KillMonsterAccProcessor.java | 9 +++------ 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapMissionManager.java index f65884d9b..3bc50c641 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapMissionManager.java @@ -126,7 +126,7 @@ public class MapMissionManager { continue; } int[][] values = sAccomplishmentConfig.getValues(); - int targetEventValue = values[1][0]; + int targetEventValue = values[values.length-1][0]; allMissionProgress.put(missionId,updateValue); needUpdate = true; MissionState misisionState = MissionState.DOING; @@ -134,12 +134,15 @@ public class MapMissionManager { int score = sAccomplishmentConfig.getScore(); addScore+=score; misisionState= MissionState.FINISH; +// missionValue = updateValue; } if(updateValue == -1){ - missionValue=1; + updateValue=1; + }else if(updateValue < -1){ + updateValue=0; } if(copyMissionUpdate){ - MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,missionValue); + MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,updateValue); readySendCopyMission(missionStateChangeInfo); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/FinishOptionsDifficultMapProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/FinishOptionsDifficultMapProcessor.java index 5f63b9484..132292c25 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/FinishOptionsDifficultMapProcessor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/FinishOptionsDifficultMapProcessor.java @@ -12,9 +12,12 @@ public class FinishOptionsDifficultMapProcessor implements BaseMissionProcesor{ public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType,int missionValue) { MapManager mapManager = user.getMapManager(); SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()); - if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[1][0]){ + if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[sAccomplishmentConfig.getValues().length-1][0]){ return GlobalsDef.MAP_MISSION_RETURN; } + if(missionValue==-1){ + return GlobalsDef.MAP_MISSION_RETURN; + } int[][] value = sAccomplishmentConfig.getValues(); missionValue = 0-missionValue; for(int i = 0 ; i >(value.length+1)==1){ - return 1; + if((missionValue+2>>value.length)==1){ + missionValue = -1; }else{ missionValue = 0-missionValue; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/KillBossInTimeDifficultProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/KillBossInTimeDifficultProcessor.java index f606bfe7e..90fad71af 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/KillBossInTimeDifficultProcessor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/KillBossInTimeDifficultProcessor.java @@ -10,6 +10,9 @@ import com.ljsd.jieling.logic.dao.root.User; public class KillBossInTimeDifficultProcessor implements BaseMissionProcesor { @Override public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType,int missionValue) { + if(missionValue==-1){ + return GlobalsDef.MAP_MISSION_RETURN; + } MapManager mapManager = user.getMapManager(); SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()); if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[0][0]){ @@ -19,7 +22,7 @@ public class KillBossInTimeDifficultProcessor implements BaseMissionProcesor { return GlobalsDef.MAP_MISSION_RETURN; } if(time Date: Thu, 8 Aug 2019 16:22:30 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=8A=9F=E7=BB=A920=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NotEventFinishEventDifficultMapProcessor.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/NotEventFinishEventDifficultMapProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/NotEventFinishEventDifficultMapProcessor.java index 703a1d199..3643e5110 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/NotEventFinishEventDifficultMapProcessor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/NotEventFinishEventDifficultMapProcessor.java @@ -10,7 +10,7 @@ import com.ljsd.jieling.logic.dao.root.User; public class NotEventFinishEventDifficultMapProcessor implements BaseMissionProcesor { @Override public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType, int missionValue) { - if(missionValue==-1){ + if(missionValue==-1||missionValue==GlobalsDef.MAP_MISSION_FAILURE){ return GlobalsDef.MAP_MISSION_RETURN; } @@ -31,20 +31,19 @@ public class NotEventFinishEventDifficultMapProcessor implements BaseMissionProc break; } if(eventId==skipEvent[i]){ - missionValue = skipEvent[i]; + missionValue = -10000; + return missionValue; } } if(flag){ for(int i = 0 ; i < finishEvent.length;i++){ if(eventId==finishEvent[i]){ if(missionValue<0){ - if(missionValue==-1){ - break; - } - missionValue = missionValue/2; + missionValue++; }else{ - missionValue =0-1<<(configValues[1][1]-1); + missionValue =0-configValues[2][1]; } + break; } } } From cb51c86ab66290195aff96ea2624deab0a837ba4 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 8 Aug 2019 16:26:35 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=8A=9F=E7=BB=A9=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java index 7fc007c34..5adf3a112 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java @@ -3,6 +3,7 @@ package com.ljsd.jieling.core; public interface GlobalsDef { String DEFAULT_NAME = "无名妖灵师"; int MAP_MISSION_RETURN = -9999; + int MAP_MISSION_FAILURE = -10000; int CHAIRMAN = 1; int ADMINISTRATORS =2; From 00d007663eb5fef2ad6092855d0b12b2255c19a7 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 9 Aug 2019 16:50:55 +0800 Subject: [PATCH 5/8] acitvity --- .../jieling/logic/activity/ActivityLogic.java | 23 ++++++++-------- .../activity/HeroUpExpectRankActivity.java | 26 +++++++------------ .../ljsd/jieling/logic/store/StoreLogic.java | 2 +- 3 files changed, 23 insertions(+), 28 deletions(-) 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 0c84054e2..56e3fdf69 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 @@ -121,11 +121,9 @@ public class ActivityLogic { ActivityManager activityManager = user.getActivityManager(); Map sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap(); for (Integer openActivityId : openActivityIds) { - if (activityManager.initAllActivityMission(openActivityId)) { - continue; - } - if(activityManager.getActivityMissionMap().containsKey(openActivityId)){ - continue; + SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(openActivityId); + if(!initOtherActivity(user, sGlobalActivity)){ + activityManager.initAllActivityMission(openActivityId); } AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId); if (abstractActivity == null) { @@ -164,8 +162,9 @@ public class ActivityLogic { if (activityMission != null) { continue; } - activityManager.initAllActivityMission(activityId); - initOtherActivity(user, sGlobalActivity); + if(!initOtherActivity(user, sGlobalActivity)){ + activityManager.initAllActivityMission(activityId); + } openNewActivityIds.add(activityId); } else { ActivityMission activityMission = activityMissionMap.get(activityId); @@ -183,22 +182,24 @@ public class ActivityLogic { } - public void initOtherActivity(User user, SGlobalActivity sGlobalActivity) throws Exception { + public boolean initOtherActivity(User user, SGlobalActivity sGlobalActivity) throws Exception { int type = sGlobalActivity.getType(); switch (type) { case ActivityType.BLESSACTIVITY: blessInfoInit(user.getActivityManager(), sGlobalActivity.getId()); - break; + return true; case ActivityType.TREASURE: case ActivityType.LUCKYCAT: case ActivityType.SERVERHAPPY: AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId()); if (abstractActivity == null) { - break; + return false; } abstractActivity.initActivity(user); + return true; + default: + return false; } - } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroUpExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroUpExpectRankActivity.java index ab68315d4..50ba4976b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroUpExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroUpExpectRankActivity.java @@ -22,28 +22,22 @@ class HeroUpExpectRankActivity extends ExpectRankActivity { @Override public void onEvent(IEvent event) throws Exception { - if (!(event instanceof HeroUpExpectRankActivity)) + if (!(event instanceof HeroUpStarEvent)) return; - User user = UserManager.getUser(((HeroUpStarEvent) event).getUid()); - HeroManager heroManager = user.getHeroManager(); +// User user = UserManager.getUser(((HeroUpStarEvent) event).getUid()); +// HeroManager heroManager = user.getHeroManager(); SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).get(0); if(sActivityRewardConfig==null) return; - int count = 0; - for (Hero targetHero:heroManager.getHeroMap().values()) { - if(targetHero.getStar()>=sActivityRewardConfig.getValues()[0][0]){ - count++; - } - } - update(UserManager.getUser(((HeroUpStarEvent) event).getUid()), count); +// int count = 0; +// for (Hero targetHero:heroManager.getHeroMap().values()) { +// if(targetHero.getStar()>=sActivityRewardConfig.getValues()[0][0]){ +// count++; +// } +// } + update(UserManager.getUser(((HeroUpStarEvent) event).getUid()), 1); } - @Override - void updateProgress(User user, ActivityMission activityMission, int count) { - activityMission.setValue(count+activityMission.getValue()); - String key = RedisKey.getKey(RedisKey.EXPERT_RANK, String.valueOf(id), false); - RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), count); - } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java index 90a0012da..5be318cd9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java @@ -282,7 +282,7 @@ public class StoreLogic { if(SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId).getStoreType() != StoreType.GIFT_STORE.getType()){ user.getUserMissionManager().onGameEvent(user, GameEvent.BUY_MATERIAL,sStoreConfig.getGoods()[0][0],itemNum); } - if(itemId==10015){ + if(itemId==10005){ Poster.getPoster().dispatchEvent(new GoldEvent(user.getId())); } From d43c1dbb6d87205e91b4d2abb25d5407ce53470f Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Tue, 13 Aug 2019 05:13:22 +0800 Subject: [PATCH 6/8] activity --- .../java/com/ljsd/jieling/config/SActivityRankingReward.java | 2 +- .../java/com/ljsd/jieling/logic/activity/ActivityLogic.java | 1 + .../ljsd/jieling/logic/activity/CopyExpectRankActivity.java | 3 ++- .../com/ljsd/jieling/logic/activity/ExpectRankActivity.java | 2 ++ .../ljsd/jieling/logic/activity/StaminaExpectRankActivity.java | 3 ++- 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SActivityRankingReward.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SActivityRankingReward.java index 1018c983a..26974f325 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SActivityRankingReward.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SActivityRankingReward.java @@ -44,7 +44,7 @@ public class SActivityRankingReward implements BaseConfig { } public static List getsActivityRankingRewardMapByActivityId(int Id) { - return sActivityRankingRewardMapByActivityId.get(Id); + return sActivityRankingRewardMapByActivityId.getOrDefault(Id,null); } public int getId() { 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 56e3fdf69..dd7b23dd2 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 @@ -57,6 +57,7 @@ public class ActivityLogic { user.getPlayerInfoManager().setRechargedaily(0); updateActivityMissionProgress(user, ActivityType.SevenLogin, 1); upFivePlayerActivity(user, ActivityType.SevenLogin, fBuilder); + upFivePlayerActivity(user, ActivityType.RECHARGE_SUM_DAY, fBuilder); upFivePlayerActivity(user, ActivityType.DAILY_RECHARGE, fBuilder); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/CopyExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/CopyExpectRankActivity.java index 9d6e1ee94..b9278cc51 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/CopyExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/CopyExpectRankActivity.java @@ -10,7 +10,8 @@ class CopyExpectRankActivity extends ExpectRankActivity { public CopyExpectRankActivity(int id) { super(id); - Poster.getPoster().listenEvent(this, StoryEvent.class); + //策划说 这个排行榜不开 以后可能会有 + // Poster.getPoster().listenEvent(this, StoryEvent.class); } @Override 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 61b6d3970..c4a73c351 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 @@ -59,6 +59,8 @@ class ExpectRankActivity extends AbstractActivity { public void onActivityEnd() throws Exception { List sActivityRankingReward = SActivityRankingReward.getsActivityRankingRewardMapByActivityId(id); + if(null==sActivityRankingReward) + return; int maxRank = 0; Map rank2miss = new HashMap<>(); for (SActivityRankingReward sActivityRankingReward1 : sActivityRankingReward) { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/StaminaExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/StaminaExpectRankActivity.java index cbc39cf50..9fd17f8ac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/StaminaExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/StaminaExpectRankActivity.java @@ -11,7 +11,8 @@ class StaminaExpectRankActivity extends ExpectRankActivity { public StaminaExpectRankActivity(int id) { super(id); - Poster.getPoster().listenEvent(this, UseItemEvent.class); + //策划说 这个排行榜不开 以后可能会有 + //Poster.getPoster().listenEvent(this, UseItemEvent.class); } @Override From b858e5f40af3100f03abe807504a68b8bea5a75e Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Tue, 13 Aug 2019 06:22:01 +0800 Subject: [PATCH 7/8] activity --- .../java/com/ljsd/jieling/logic/activity/ActivityLogic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 dd7b23dd2..1b81ea5cd 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 @@ -128,7 +128,7 @@ public class ActivityLogic { } AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId); if (abstractActivity == null) { - break; + continue; } abstractActivity.initActivity(user); } From b7ef0d56fb9bc4d25997841f642c566a41c31c75 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Thu, 8 Aug 2019 20:50:15 +0800 Subject: [PATCH 8/8] activity --- .../activity/HeroUpExpectRankActivity.java | 56 +++++++++++++------ .../logic/activity/event/HeroUpStarEvent.java | 8 ++- .../ljsd/jieling/logic/hero/HeroLogic.java | 3 +- .../ljsd/jieling/thread/task/MinuteTask.java | 1 + 4 files changed, 50 insertions(+), 18 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroUpExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroUpExpectRankActivity.java index 50ba4976b..158a2612c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroUpExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroUpExpectRankActivity.java @@ -2,16 +2,18 @@ package com.ljsd.jieling.logic.activity; import com.ljsd.jieling.config.SActivityRewardConfig; -import com.ljsd.jieling.db.redis.RedisKey; -import com.ljsd.jieling.db.redis.RedisUtil; +import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.dao.ActivityMission; -import com.ljsd.jieling.logic.dao.Hero; -import com.ljsd.jieling.logic.dao.HeroManager; +import com.ljsd.jieling.logic.dao.ActivityProgressInfo; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.util.MessageUtil; + +import java.util.Map; class HeroUpExpectRankActivity extends ExpectRankActivity { @@ -24,20 +26,42 @@ class HeroUpExpectRankActivity extends ExpectRankActivity { public void onEvent(IEvent event) throws Exception { if (!(event instanceof HeroUpStarEvent)) return; -// User user = UserManager.getUser(((HeroUpStarEvent) event).getUid()); -// HeroManager heroManager = user.getHeroManager(); - SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).get(0); - if(sActivityRewardConfig==null) - return; -// int count = 0; -// for (Hero targetHero:heroManager.getHeroMap().values()) { -// if(targetHero.getStar()>=sActivityRewardConfig.getValues()[0][0]){ -// count++; -// } -// } - update(UserManager.getUser(((HeroUpStarEvent) event).getUid()), 1); + + User user = UserManager.getUser(((HeroUpStarEvent) event).getUid()); + ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); + Map activityProgressInfoMap = activityMission.getActivityProgressInfoMap(); + + for (SActivityRewardConfig sActivityRewardConfig : SActivityRewardConfig.getsActivityRewardConfigByActivityId(id)) { + if (((HeroUpStarEvent) event).getStar() == sActivityRewardConfig.getValues()[0][0]) { + ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null); + if (null == activityProgressInfo) + continue; + activityProgressInfo.setProgrss(activityProgressInfo.getProgrss() + 1); + activityMission.updateProgressInfo(sActivityRewardConfig.getId(), activityProgressInfo); + } + } + //更新进度 + ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); + sendActivityProgress(sessionByUid, activityMission, null); } + @Override + public void update(User user, int count) { + + } + + + @Override + boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { + int[][] values = sActivityRewardConfig.getValues(); + int missionProgress = activityProgressInfo.getProgrss(); + if (missionProgress < values[1][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; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/HeroUpStarEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/HeroUpStarEvent.java index 287a602d5..ef5a4bf05 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/HeroUpStarEvent.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/HeroUpStarEvent.java @@ -6,9 +6,15 @@ package com.ljsd.jieling.logic.activity.event; public class HeroUpStarEvent implements IEvent { private int uid; + private int star; - public HeroUpStarEvent(int uid) { + public HeroUpStarEvent(int uid, int star) { this.uid = uid; + this.star = star; + } + + public int getStar() { + return star; } public int getUid() { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 2b37d9883..f6375f8f4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -627,10 +627,11 @@ public class HeroLogic { MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,""); return; } - Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId())); + //删除hero recyleHeroBySystem(user,removeHeroIds); targetHero.upStar( 1 ); + Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getStar())); targetHero.setStarBreakId(scHeroRankUpConfig.getId()); user.getUserMissionManager().onGameEvent(user,GameEvent.HERO_UP,2,targetHero.getTemplateId()); MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true); 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 0fcba4f51..95a861875 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 @@ -34,6 +34,7 @@ public class MinuteTask extends Thread { public void run() { try { LOGGER.info("MinuteTask start..."); + LOGGER.info("online use num::"+ OnlineUserManager.sessionMap.entrySet().size()); HotfixUtil.getInstance().doWork("../conf/hotfix.json"); ActivityLogic.getInstance().checkActiviyStatus(); STableManager.updateTablesWithTableNames(true);