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 4b084e0ba..10fa78414 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 @@ -43,6 +43,7 @@ public class UserMissionManager extends MongoBase { dailyMissionIdsType.getFinishMissionIds().clear(); dailyMissionIdsType.getRewardedMissionIds().clear(); dailyCumulationData.reset(); + dailyMissionIdsType.getDoingMissionIds().addAll(missionIds); updateString("dailyCumulationData",dailyCumulationData); }else{ dailyMissionIdsType.getDoingMissionIds().addAll(missionIds); @@ -89,12 +90,16 @@ public class UserMissionManager extends MongoBase { public void calCumulationDataResult(User user, MissionType missionType, Map> missionTypeEnumListMap , Object...parm) throws Exception { if(!dailyMissionIdsType.getDoingMissionIds().isEmpty()){ - CumulationData.Result result = dailyCumulationData.updateData(missionType, parm); - if(result!=null){ - dailyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.DAILYMISSION),dailyCumulationData); - updateString("dailyCumulationData",dailyCumulationData); - updateString("dailyMissionIdsType",dailyMissionIdsType); + List sTaskConfigs = SDailyTasksConfig.getsTaskConfigByTypeMap(missionType.getMissionTypeValue()); + if (sTaskConfigs != null) { + CumulationData.Result result = dailyCumulationData.updateData(missionType, parm); + if(result!=null){ + dailyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.DAILYMISSION),dailyCumulationData); + updateString("dailyCumulationData",dailyCumulationData); + updateString("dailyMissionIdsType",dailyMissionIdsType); + } } + } CumulationData.Result result = cumulationData.updateData(missionType, parm); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index dd739e572..9bd9afcd3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -382,6 +382,7 @@ public class CombatLogic { Map randomRandomMap = new HashMap<>(); CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder(); CommonProto.Drop.Builder randomBuilder = CommonProto.Drop.newBuilder(); + int takeTimes= 0; for(AdventureStateInfo adventureStateInfoTmp:adventureStateInfoMap.values()) { int positionTmp = adventureStateInfoTmp.getPosition(); if (position != -1 && positionTmp != position) { @@ -401,6 +402,7 @@ public class CombatLogic { while (timesTemp-->0){ ItemUtil.combineReward(randomRewardGroup[adventureStateInfoTmp.getLevel()-1], 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap); } + takeTimes++; } if(sendMail){ adventureStateInfoTmp.setStartTime(now); @@ -435,7 +437,7 @@ public class CombatLogic { Map result = new HashMap<>(2); result.put(1,baseBuilder.build()); result.put(2,randomBuilder.build()); - user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD); + user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD,takeTimes); return result; } 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 c0b3ea05d..75d7437f9 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 @@ -502,7 +502,14 @@ public class FriendLogic { FriendManager friendManager = user.getFriendManager(); Map giveMap = friendManager.getGiveMap(); for (Map.Entry entry: giveMap.entrySet()){ - friendManager.updateGiveMap(entry.getKey(),0); + Integer friendId = entry.getKey(); + User friendUser = UserManager.getUser(friendId); + FriendManager friendManager1 = friendUser.getFriendManager(); + Map haveRewardMap = friendManager1.getHaveRewardMap(); + if (haveRewardMap.containsKey(uid)){ + friendManager1.updateHaveRewardMap(uid,0); + } + friendManager.updateGiveMap(friendId,0); } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/TakeAdventureTimesManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/TakeAdventureTimesManager.java index e5a0f096a..e8ddc71a4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/TakeAdventureTimesManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/TakeAdventureTimesManager.java @@ -6,7 +6,7 @@ import com.ljsd.jieling.logic.mission.MissionType; public class TakeAdventureTimesManager implements BaseDataManager{ @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { - data.takeAdventurerewardTimes++; + data.takeAdventurerewardTimes+=(int)parm[0]; return new CumulationData.Result(missionType); } }