diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java index 784f4671d..12949e1ed 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java @@ -101,6 +101,7 @@ public class UserManager { PlayerLogic.getInstance().vipflushEveryDay(user,null); ActivityLogic.getInstance().newPlayerOpenActivityMission(user); user.getUserMissionManager().onGameEvent(user, GameEvent.USER_LEVELUP,0,1); + user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0); KtEventUtils.onKtEvent(user, ParamEventBean.UserRegister); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java index 10fa78414..58938a756 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java @@ -45,21 +45,6 @@ public class UserMissionManager extends MongoBase { dailyCumulationData.reset(); dailyMissionIdsType.getDoingMissionIds().addAll(missionIds); updateString("dailyCumulationData",dailyCumulationData); - }else{ - dailyMissionIdsType.getDoingMissionIds().addAll(missionIds); - for(Integer missionId : missionIds){ - SDailyTasksConfig sDailyTasksConfigById = SDailyTasksConfig.getSDailyTasksConfigById(missionId); - boolean isFinish = MissionLoigc.getDoingProgress(user, cumulationData, sDailyTasksConfigById.getType(), sDailyTasksConfigById.getValues()[0]) >= sDailyTasksConfigById.getValues()[1][0]; - MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, - MissionState.DOING, null); - if(isFinish){ - stateChangeInfo = new MissionStateChangeInfo(missionId, - MissionState.FINISH, null); - dailyMissionIdsType.getDoingMissionIds().remove(missionId); - dailyMissionIdsType.getFinishMissionIds().add(missionId); - } - missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).add(stateChangeInfo); - } } updateString("dailyMissionIdsType",dailyMissionIdsType); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java index 75d7437f9..05317e4bf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java @@ -105,7 +105,7 @@ public class FriendLogic { } List friendList = new CopyOnWriteArrayList<>(); for (Integer commondUid : recommondIds){ - CommonProto.Friend friend = CBean2Proto.getFriendInfo(commondUid,null); + CommonProto.Friend friend = CBean2Proto.getFriendInfo(commondUid,friendManager); friendList.add(friend); } PlayerInfoProto.GetFriendInfoResponse getFriendInfoResponse = PlayerInfoProto.GetFriendInfoResponse @@ -141,7 +141,7 @@ public class FriendLogic { List applyFriends = friendManager.getApplyFriends(); List friendList = new CopyOnWriteArrayList<>(); for (Integer applyFriendId :applyFriends){ - CommonProto.Friend friend = CBean2Proto.getFriendInfo(applyFriendId,null); + CommonProto.Friend friend = CBean2Proto.getFriendInfo(applyFriendId,friendManager); friendList.add(friend); } PlayerInfoProto.GetFriendInfoResponse getFriendInfoResponse = PlayerInfoProto.GetFriendInfoResponse @@ -208,9 +208,10 @@ public class FriendLogic { boolean isOnline = OnlineUserManager.checkUidOnline(inviteUid); if (isOnline) { ISession session = OnlineUserManager.getSessionByUid(inviteUid); + User user = UserManager.getUser(inviteUid); PlayerInfoProto.sendFriendInfoIndication.Builder sendFriendInfoIndication = PlayerInfoProto.sendFriendInfoIndication.newBuilder(); sendFriendInfoIndication.setType(type); - sendFriendInfoIndication.setFriends(CBean2Proto.getFriendInfo(uid, null)); + sendFriendInfoIndication.setFriends(CBean2Proto.getFriendInfo(uid, user.getFriendManager())); MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.SEND_FRIEND_INFO_INDICATION_VALUE, sendFriendInfoIndication.build(), true); } } @@ -313,11 +314,22 @@ public class FriendLogic { } private void initFriendGriveAndRreward(int friendId, int uid, FriendManager friendManager, FriendManager friendfriendManager) { - - friendfriendManager.updateGiveMap(uid,0); - friendfriendManager.updateHaveRewardMap(uid,0); - friendManager.updateGiveMap(friendId,0); - friendManager.updateHaveRewardMap(friendId,0); + Map friendGiveMap = friendfriendManager.getGiveMap(); + Map friendHaveRewardMap = friendfriendManager.getHaveRewardMap(); + if (!friendGiveMap.containsKey(uid)){ + friendfriendManager.updateGiveMap(uid,0); + } + if (!friendHaveRewardMap.containsKey(uid)){ + friendfriendManager.updateHaveRewardMap(uid,0); + } + Map giveMap = friendManager.getGiveMap(); + Map haveRewardMap = friendManager.getHaveRewardMap(); + if (!giveMap.containsKey(friendId)){ + friendManager.updateGiveMap(friendId,0); + } + if (!haveRewardMap.containsKey(friendId)){ + friendManager.updateHaveRewardMap(friendId,0); + } } /** @@ -344,11 +356,11 @@ public class FriendLogic { //删除好友清除赠送领取体力信息 private void delFriendInfo(int friendId, int uid, FriendManager friendManager, FriendManager friendManager1) { friendManager1.delFriends(uid); - friendManager1.delGiveMap(uid); - friendManager1.delHaveReward(uid); +// friendManager1.delGiveMap(uid); +// friendManager1.delHaveReward(uid); friendManager.delFriends(friendId); - friendManager.delGiveMap(friendId); - friendManager.delHaveReward(friendId); +// friendManager.delGiveMap(friendId); +// friendManager.delHaveReward(friendId); } /** 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 0999df480..40bbbc97b 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 @@ -30,7 +30,7 @@ public class MissionEventDistributor { public static void init(){ eventProcessor.put(GameEvent.VIP_LEVLUP,new VipLevelUpEventProcessor()); - eventProcessor.put(GameEvent.DAILY_REFRESH,new VipLevelUpEventProcessor()); + eventProcessor.put(GameEvent.DAILY_REFRESH,new DailyRefreshEventProcess()); List typeList = new ArrayList<>(); typeList.add(MissionType.RECRUITMENT_RANDOM_HEROES); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java index 35dba22c2..6133c15b3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java @@ -14,21 +14,10 @@ import java.util.Map; public class UserLevelEventProcessor implements BaseGameEventProcessor{ @Override public void onGameEvent(User user, Map> misionTypeListMap, GameEvent event, Object... parm) throws Exception { - int openRule = SGlobalSystemConfig.getsGlobalSystemConfigByFunctionId(FunctionIdEnum.DailyTasks).getOpenRules()[1]; - int level= (int)parm[0]; - int upToLevel= (int)parm[1]; List typeList = MissionEventDistributor.eventEnumListMap.get(event); for (MissionType type : typeList) { user.getUserMissionManager().calCumulationDataResult(user,type,misionTypeListMap,parm); } - if(upToLevel>=openRule ){ - for(;level<=upToLevel;level++){ - if(level==openRule){ - user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_REFRESH,1); - return; - } - } - } } }