From d73d77c28e83d57ff9558fcac2cfa82a80298845 Mon Sep 17 00:00:00 2001 From: gaojie Date: Sat, 13 Jul 2019 11:56:36 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E8=B5=A0=E9=80=81?= =?UTF-8?q?=E4=BD=93=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/friend/FriendLogic.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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); } } } From 242be06ec49ed4ea84239ac23432ceee78fee170 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 12 Jul 2019 14:44:31 +0800 Subject: [PATCH 2/2] fix daily mission --- .../jieling/logic/dao/UserMissionManager.java | 15 ++++++++++----- .../com/ljsd/jieling/logic/fight/CombatLogic.java | 4 +++- .../mission/data/TakeAdventureTimesManager.java | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) 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/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); } }