diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/BlessRefreshHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/BlessRefreshHandler.java index 834549b1f..beee95872 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/BlessRefreshHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/BlessRefreshHandler.java @@ -16,6 +16,6 @@ public class BlessRefreshHandler extends BaseHandler { @Override public void process(ISession iSession, PacketNetData netData) throws Exception { - ActivityLogic.getInstance().blessRefreshReward(iSession,MessageTypeProto.MessageType.BLESS_REFRESH_RESPONSE); +// ActivityLogic.getInstance().blessRefreshReward(iSession,MessageTypeProto.MessageType.BLESS_REFRESH_RESPONSE); } } 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 d6ae6fd71..015c0ff12 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 @@ -205,9 +205,9 @@ public class ActivityLogic { if (activityMission != null) { continue; } - if(!initOtherActivity(user, sGlobalActivity)){ +// if(!initOtherActivity(user, sGlobalActivity)){ activityManager.initAllActivityMission(openActivityId); - } +// } AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId); if (null==abstractActivity) { continue; @@ -268,9 +268,9 @@ public class ActivityLogic { continue; } abstractActivity.initActivity(user); - if(!initOtherActivity(user, sGlobalActivity)){ +// if(!initOtherActivity(user, sGlobalActivity)){ activityManager.initAllActivityMission(activityId); - } +// } openNewActivityIds.add(activityId); checkNeedOpenStore(user,sGlobalActivity.getShopId(),startTime,endTime); } else { @@ -296,25 +296,16 @@ public class ActivityLogic { /** * 不走通用活动进度奖励配置的活动单独初始化 */ - public boolean initOtherActivity(User user, SGlobalActivity sGlobalActivity) throws Exception { - int type = sGlobalActivity.getType(); - switch (type) { - case ActivityType.BLESSACTIVITY: - blessInfoInit(user.getActivityManager(), sGlobalActivity.getId()); - return true; - case ActivityType.TREASURE: - case ActivityType.LUCKYCAT: - case ActivityType.SERVERHAPPY: - AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId()); - if (abstractActivity == null) { - return false; - } - abstractActivity.initActivity(user); - return true; - default: - return false; - } - } +// public boolean initOtherActivity(User user, SGlobalActivity sGlobalActivity) throws Exception { +// int type = sGlobalActivity.getType(); +// switch (type) { +// case ActivityType.BLESSACTIVITY: +// blessInfoInit(user.getActivityManager(), sGlobalActivity.getId()); +// return true; +// default: +// return false; +// } +// } public static ActivityLogic getInstance() { @@ -652,125 +643,6 @@ public class ActivityLogic { } } - //云梦祈福初始化 -// public void blessActivityInit(ISession session,MessageTypeProto.MessageType messageType) throws Exception { -// User user = UserManager.getUser(session.getUid()); -// ActivityManager activityManager = user.getActivityManager(); -// if(activityManager.getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId()).getActivityProgressInfoMap().size()>0){ -//// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"已经初始化过,不需要初始化"); -// MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true); -// return; -// } -// //祈福信息初始化 -// blessInfoInit(activityManager,7); -// MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true); -// } - - /** - * 祈福信息初始化 - * - * @param activityManager - */ - private ActivityMission blessInfoInit(ActivityManager activityManager, int activityId) { - //第一次9种 - int fixRewardPool = SBlessingConfig.sBlessingConfig.getRandomPoolId(); - int fixRewardNum = SBlessingConfig.sBlessingConfig.getRandomNum(); - List fixRewardArray = new ArrayList<>(); - //第二次6,6种 - int legendPool = SBlessingConfig.sBlessingConfig.getLegendPoolId(); - int legendNum = SBlessingConfig.sBlessingConfig.getLegendNum(); - List legendRewardArray = new ArrayList<>(); - - int supremePool = SBlessingConfig.sBlessingConfig.getSupremePoolId(); - int supremeNum = SBlessingConfig.sBlessingConfig.getSupremeNum(); - List supremeRewardArray = new ArrayList<>(); - - for (Map.Entry entry : STableManager.getConfig(SBlessingRewardPool.class).entrySet()) { - if (entry.getValue().getPoolId() == fixRewardPool) { - fixRewardArray.add(new int[]{entry.getValue().getId(), entry.getValue().getInitializeWeight()}); - } else if (entry.getValue().getPoolId() == legendPool) { - legendRewardArray.add(new int[]{entry.getValue().getId(), entry.getValue().getInitializeWeight()}); - } else if (entry.getValue().getPoolId() == supremePool) { - supremeRewardArray.add(new int[]{entry.getValue().getId(), entry.getValue().getInitializeWeight()}); - } - } - //第三次,次数奖励6个 - int[] countPool = SBlessingConfig.sBlessingConfig.getCopuntsPoolId(); - int[] counts = SBlessingConfig.sBlessingConfig.getCounts(); - int[] countResult = new int[counts.length]; - int countIndex = 0; - for (Integer cpool : countPool) { - List countRewardArray = new ArrayList<>(); - for (Map.Entry entry : STableManager.getConfig(SBlessingRewardPool.class).entrySet()) { - if (entry.getValue().getPoolId() == cpool) { - countRewardArray.add(new int[]{entry.getValue().getId(), entry.getValue().getInitializeWeight()}); - } - } - int[][] countReward = new int[countRewardArray.size()][]; - for (int i = 0; i < countRewardArray.size(); i++) { - countReward[i] = countRewardArray.get(i); - } - countResult[countIndex] = MathUtils.randomFromWeight(countReward); - countIndex++; - } - - int[][] fixReward = new int[fixRewardArray.size()][]; - for (int i = 0; i < fixRewardArray.size(); i++) { - fixReward[i] = fixRewardArray.get(i); - } - int[][] legendReward = new int[legendRewardArray.size()][]; - for (int i = 0; i < legendRewardArray.size(); i++) { - legendReward[i] = legendRewardArray.get(i); - } - int[][] supremeReward = new int[supremeRewardArray.size()][]; - for (int i = 0; i < supremeRewardArray.size(); i++) { - supremeReward[i] = supremeRewardArray.get(i); - } - - - int[] fixResult = MathUtils.randomFromWeightWithTaking(fixReward, fixRewardNum); - int[] legendResult = MathUtils.randomFromWeightWithTaking(legendReward, legendNum); - int[] supremeResult = MathUtils.randomFromWeightWithTaking(supremeReward, supremeNum); - - - ActivityMission activityMission = new ActivityMission(); - for (int i = BlessInfoConfig.START_CAPACITY; i > 0; i--) { - ActivityProgressInfo progressInfo = new ActivityProgressInfo(); - if (BlessInfoConfig.START_CAPACITY - i < fixResult.length) { - progressInfo.setState(0); - LOGGER.info("第一次第{}个数据", BlessInfoConfig.START_CAPACITY - i, fixResult[BlessInfoConfig.START_CAPACITY - i]); - progressInfo.setProgrss(fixResult[BlessInfoConfig.START_CAPACITY - i]); - } - activityMission.updateProgressInfo(i, progressInfo); - } - for (int i = BlessInfoConfig.CHOOSE_START_ID; i <= BlessInfoConfig.CHOOSE_END_ID; i++) { - ActivityProgressInfo progressInfo = new ActivityProgressInfo(); - activityMission.updateProgressInfo(i, progressInfo); - } - //初始化状态 - activityMission.updateProgressInfo(BlessInfoConfig.BLESS_PROGRESS_STATUS, new ActivityProgressInfo()); - //初始化上次刷新时间 - if (activityMission.getActivityProgressInfoMap().get(BlessInfoConfig.LAST_REFRESH_TIME) == null) { - activityMission.updateProgressInfo(BlessInfoConfig.LAST_REFRESH_TIME, new ActivityProgressInfo()); - } - for (int i = 0; i < legendResult.length; i++) { - ActivityProgressInfo progressInfo = new ActivityProgressInfo(); - progressInfo.setProgrss(legendResult[i]); - activityMission.updateProgressInfo(BlessInfoConfig.LEGEND_REWARD_START_ID + i, progressInfo); - } - for (int i = 0; i < supremeResult.length; i++) { - ActivityProgressInfo progressInfo = new ActivityProgressInfo(); - progressInfo.setProgrss(supremeResult[i]); - activityMission.updateProgressInfo(BlessInfoConfig.SUPREME_REWARD_START_ID + i, progressInfo); - } - for (int i = 0; i < countResult.length; i++) { - ActivityProgressInfo progressInfo = new ActivityProgressInfo(); - progressInfo.setProgrss(countResult[i]); - activityMission.updateProgressInfo(BlessInfoConfig.COUNT_REWARD_START_ID + counts[i], progressInfo); - } - activityManager.addActivity(activityId, activityMission); - return activityMission; - } //云梦请求数据 public void blessInfo(ISession session, MessageTypeProto.MessageType messageType) throws Exception { @@ -1000,45 +872,45 @@ public class ActivityLogic { dropItem[0] = reward; CommonProto.Drop.Builder drop = ItemUtil.dropPer(user, dropItem, BIReason.BLESS_REWARD); activityMission.updateProgressInfo(BlessInfoConfig.BLESS_PROGRESS_STATUS, new ActivityProgressInfo(activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss() + 1, 0)); - if (activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss() == BlessInfoConfig.START_CAPACITY + 1) { - if (SBlessingConfig.sBlessingConfig.getIsRefresh() != 0) { - blessRefresh(user); - } - } +// if (activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss() == BlessInfoConfig.START_CAPACITY + 1) { +// if (SBlessingConfig.sBlessingConfig.getIsRefresh() != 0) { +// blessRefresh(user); +// } +// } PlayerInfoProto.blessChooseResponse response = PlayerInfoProto.blessChooseResponse.newBuilder().setReward(drop).setChooseRewardId(resultRewardId).build(); MessageUtil.sendMessage(session, 1, messageType.getNumber(), response, true); } - /** - * 云梦手动刷新 - * - * @param session - * @param messageType - * @throws Exception - */ - public void blessRefreshReward(ISession session, MessageTypeProto.MessageType messageType) throws Exception { - User user = UserManager.getUser(session.getUid()); - if (SBlessingConfig.sBlessingConfig.getIsRefresh() == 0) { - MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), "活动不可刷新"); - return; - } - ActivityMission activityMission = blessRefresh(user); - activityMission.updateProgressInfo(BlessInfoConfig.LAST_REFRESH_TIME, new ActivityProgressInfo((int) (TimeUtils.now() / 1000), 0)); - PlayerInfoProto.blessRefresh res = PlayerInfoProto.blessRefresh.newBuilder().setReward(getBlessInfoResponse(activityMission).build()).build(); - MessageUtil.sendMessage(session, 1, messageType.getNumber(), res, true); - } +// /** +// * 云梦手动刷新 +// * +// * @param session +// * @param messageType +// * @throws Exception +// */ +// public void blessRefreshReward(ISession session, MessageTypeProto.MessageType messageType) throws Exception { +// User user = UserManager.getUser(session.getUid()); +// if (SBlessingConfig.sBlessingConfig.getIsRefresh() == 0) { +// MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), "活动不可刷新"); +// return; +// } +// ActivityMission activityMission = blessRefresh(user); +// activityMission.updateProgressInfo(BlessInfoConfig.LAST_REFRESH_TIME, new ActivityProgressInfo((int) (TimeUtils.now() / 1000), 0)); +// PlayerInfoProto.blessRefresh res = PlayerInfoProto.blessRefresh.newBuilder().setReward(getBlessInfoResponse(activityMission).build()).build(); +// MessageUtil.sendMessage(session, 1, messageType.getNumber(), res, true); +// } - private ActivityMission blessRefresh(User user) { - ActivityManager activityManager = user.getActivityManager(); - ActivityMission activityMission = activityManager.getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId()); - ActivityProgressInfo tempProgress = new ActivityProgressInfo(); - //数据清空 - for (Map.Entry entry : activityMission.getActivityProgressInfoMap().entrySet()) { - activityMission.updateProgressInfo(entry.getKey(), tempProgress); - } - activityMission = blessInfoInit(activityManager, 7); - return activityMission; - } +// private ActivityMission blessRefresh(User user) { +// ActivityManager activityManager = user.getActivityManager(); +// ActivityMission activityMission = activityManager.getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId()); +// ActivityProgressInfo tempProgress = new ActivityProgressInfo(); +// //数据清空 +// for (Map.Entry entry : activityMission.getActivityProgressInfoMap().entrySet()) { +// activityMission.updateProgressInfo(entry.getKey(), tempProgress); +// } +// activityMission = blessInfoInit(activityManager, 7); +// return activityMission; +// } /** diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/BlessActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/BlessActivity.java index 475c647e1..1e53be8bf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/BlessActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/BlessActivity.java @@ -1,8 +1,20 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.jieling.handler.activity.BlessInfoConfig; +import com.ljsd.jieling.logic.dao.ActivityManager; +import com.ljsd.jieling.logic.dao.ActivityMission; +import com.ljsd.jieling.logic.dao.ActivityProgressInfo; import com.ljsd.jieling.logic.dao.root.User; +import config.SBlessingConfig; +import config.SBlessingRewardPool; import config.SGlobalActivity; +import manager.STableManager; +import util.MathUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; public class BlessActivity extends AbstractActivity { @@ -10,9 +22,121 @@ public class BlessActivity extends AbstractActivity { super(id); } + @Override + public void onResume(User user) { + + } @Override - public void initActivity(User user) throws Exception { - ActivityLogic.getInstance().initOtherActivity(user, SGlobalActivity.getsGlobalActivityMap().get(id)); + public void initActivity(User user){ + blessInfoInit(user.getActivityManager(), id); } + + /** + * 祈福信息初始化 + * @param activityManager + * @param activityId + * @return + */ + private ActivityMission blessInfoInit(ActivityManager activityManager, int activityId) { + //第一次9种 + int fixRewardPool = SBlessingConfig.sBlessingConfig.getRandomPoolId(); + int fixRewardNum = SBlessingConfig.sBlessingConfig.getRandomNum(); + List fixRewardArray = new ArrayList<>(); + //第二次6,6种 + int legendPool = SBlessingConfig.sBlessingConfig.getLegendPoolId(); + int legendNum = SBlessingConfig.sBlessingConfig.getLegendNum(); + List legendRewardArray = new ArrayList<>(); + + int supremePool = SBlessingConfig.sBlessingConfig.getSupremePoolId(); + int supremeNum = SBlessingConfig.sBlessingConfig.getSupremeNum(); + List supremeRewardArray = new ArrayList<>(); + + for (Map.Entry entry : STableManager.getConfig(SBlessingRewardPool.class).entrySet()) { + if (entry.getValue().getPoolId() == fixRewardPool) { + fixRewardArray.add(new int[]{entry.getValue().getId(), entry.getValue().getInitializeWeight()}); + } else if (entry.getValue().getPoolId() == legendPool) { + legendRewardArray.add(new int[]{entry.getValue().getId(), entry.getValue().getInitializeWeight()}); + } else if (entry.getValue().getPoolId() == supremePool) { + supremeRewardArray.add(new int[]{entry.getValue().getId(), entry.getValue().getInitializeWeight()}); + } + } + //第三次,次数奖励6个 + int[] countPool = SBlessingConfig.sBlessingConfig.getCopuntsPoolId(); + int[] counts = SBlessingConfig.sBlessingConfig.getCounts(); + int[] countResult = new int[counts.length]; + int countIndex = 0; + for (Integer cpool : countPool) { + List countRewardArray = new ArrayList<>(); + for (Map.Entry entry : STableManager.getConfig(SBlessingRewardPool.class).entrySet()) { + if (entry.getValue().getPoolId() == cpool) { + countRewardArray.add(new int[]{entry.getValue().getId(), entry.getValue().getInitializeWeight()}); + } + } + int[][] countReward = new int[countRewardArray.size()][]; + for (int i = 0; i < countRewardArray.size(); i++) { + countReward[i] = countRewardArray.get(i); + } + countResult[countIndex] = MathUtils.randomFromWeight(countReward); + countIndex++; + } + + int[][] fixReward = new int[fixRewardArray.size()][]; + for (int i = 0; i < fixRewardArray.size(); i++) { + fixReward[i] = fixRewardArray.get(i); + } + int[][] legendReward = new int[legendRewardArray.size()][]; + for (int i = 0; i < legendRewardArray.size(); i++) { + legendReward[i] = legendRewardArray.get(i); + } + int[][] supremeReward = new int[supremeRewardArray.size()][]; + for (int i = 0; i < supremeRewardArray.size(); i++) { + supremeReward[i] = supremeRewardArray.get(i); + } + + + int[] fixResult = MathUtils.randomFromWeightWithTaking(fixReward, fixRewardNum); + int[] legendResult = MathUtils.randomFromWeightWithTaking(legendReward, legendNum); + int[] supremeResult = MathUtils.randomFromWeightWithTaking(supremeReward, supremeNum); + + + ActivityMission activityMission = new ActivityMission(); + for (int i = BlessInfoConfig.START_CAPACITY; i > 0; i--) { + ActivityProgressInfo progressInfo = new ActivityProgressInfo(); + if (BlessInfoConfig.START_CAPACITY - i < fixResult.length) { + progressInfo.setState(0); + LOGGER.info("第一次第{}个数据", BlessInfoConfig.START_CAPACITY - i, fixResult[BlessInfoConfig.START_CAPACITY - i]); + progressInfo.setProgrss(fixResult[BlessInfoConfig.START_CAPACITY - i]); + } + activityMission.updateProgressInfo(i, progressInfo); + } + for (int i = BlessInfoConfig.CHOOSE_START_ID; i <= BlessInfoConfig.CHOOSE_END_ID; i++) { + ActivityProgressInfo progressInfo = new ActivityProgressInfo(); + activityMission.updateProgressInfo(i, progressInfo); + } + //初始化状态 + activityMission.updateProgressInfo(BlessInfoConfig.BLESS_PROGRESS_STATUS, new ActivityProgressInfo()); + //初始化上次刷新时间 + if (activityMission.getActivityProgressInfoMap().get(BlessInfoConfig.LAST_REFRESH_TIME) == null) { + activityMission.updateProgressInfo(BlessInfoConfig.LAST_REFRESH_TIME, new ActivityProgressInfo()); + } + for (int i = 0; i < legendResult.length; i++) { + ActivityProgressInfo progressInfo = new ActivityProgressInfo(); + progressInfo.setProgrss(legendResult[i]); + activityMission.updateProgressInfo(BlessInfoConfig.LEGEND_REWARD_START_ID + i, progressInfo); + } + for (int i = 0; i < supremeResult.length; i++) { + ActivityProgressInfo progressInfo = new ActivityProgressInfo(); + progressInfo.setProgrss(supremeResult[i]); + activityMission.updateProgressInfo(BlessInfoConfig.SUPREME_REWARD_START_ID + i, progressInfo); + } + for (int i = 0; i < countResult.length; i++) { + ActivityProgressInfo progressInfo = new ActivityProgressInfo(); + progressInfo.setProgrss(countResult[i]); + activityMission.updateProgressInfo(BlessInfoConfig.COUNT_REWARD_START_ID + counts[i], progressInfo); + } + activityManager.addActivity(activityId, activityMission); + return activityMission; + } + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TreasureActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TreasureActivity.java index 87cf4575f..de65e8bdd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TreasureActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TreasureActivity.java @@ -29,7 +29,7 @@ public class TreasureActivity extends AbstractActivity { @Override public void onResume(User user) throws Exception { -// user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_MONTH_REFRESH, id); + LOGGER.info("戒灵秘宝日常刷新..."); user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_WEEK_REFRESH, id); user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH, id); } @@ -48,10 +48,9 @@ public class TreasureActivity extends AbstractActivity { levels.remove(0); } activityMission.initOtherMission(levels); - long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2) - 24 * 3600 * 1000; +// long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2) - 24 * 3600 * 1000; user.getActivityManager().addActivity(sGlobalActivity.getId(), activityMission); -// PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder().setLevel(user.getPlayerInfoManager().getTreasureLevel()).build(); -// MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true); + } @Override