Merge branch 'online1.0'

back_recharge
lvxinran 2019-07-12 14:45:56 +08:00
commit 84654cb0fd
4 changed files with 22 additions and 8 deletions

View File

@ -43,6 +43,7 @@ public class UserMissionManager extends MongoBase {
dailyMissionIdsType.getFinishMissionIds().clear(); dailyMissionIdsType.getFinishMissionIds().clear();
dailyMissionIdsType.getRewardedMissionIds().clear(); dailyMissionIdsType.getRewardedMissionIds().clear();
dailyCumulationData.reset(); dailyCumulationData.reset();
dailyMissionIdsType.getDoingMissionIds().addAll(missionIds);
updateString("dailyCumulationData",dailyCumulationData); updateString("dailyCumulationData",dailyCumulationData);
}else{ }else{
dailyMissionIdsType.getDoingMissionIds().addAll(missionIds); dailyMissionIdsType.getDoingMissionIds().addAll(missionIds);
@ -89,12 +90,16 @@ public class UserMissionManager extends MongoBase {
public void calCumulationDataResult(User user, MissionType missionType, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap , Object...parm) throws Exception { public void calCumulationDataResult(User user, MissionType missionType, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap , Object...parm) throws Exception {
if(!dailyMissionIdsType.getDoingMissionIds().isEmpty()){ if(!dailyMissionIdsType.getDoingMissionIds().isEmpty()){
CumulationData.Result result = dailyCumulationData.updateData(missionType, parm); List<SDailyTasksConfig> sTaskConfigs = SDailyTasksConfig.getsTaskConfigByTypeMap(missionType.getMissionTypeValue());
if(result!=null){ if (sTaskConfigs != null) {
dailyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.DAILYMISSION),dailyCumulationData); CumulationData.Result result = dailyCumulationData.updateData(missionType, parm);
updateString("dailyCumulationData",dailyCumulationData); if(result!=null){
updateString("dailyMissionIdsType",dailyMissionIdsType); dailyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.DAILYMISSION),dailyCumulationData);
updateString("dailyCumulationData",dailyCumulationData);
updateString("dailyMissionIdsType",dailyMissionIdsType);
}
} }
} }
CumulationData.Result result = cumulationData.updateData(missionType, parm); CumulationData.Result result = cumulationData.updateData(missionType, parm);

View File

@ -382,6 +382,7 @@ public class CombatLogic {
Map<Integer,Integer> randomRandomMap = new HashMap<>(); Map<Integer,Integer> randomRandomMap = new HashMap<>();
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder(); CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
CommonProto.Drop.Builder randomBuilder = CommonProto.Drop.newBuilder(); CommonProto.Drop.Builder randomBuilder = CommonProto.Drop.newBuilder();
int takeTimes= 0;
for(AdventureStateInfo adventureStateInfoTmp:adventureStateInfoMap.values()) { for(AdventureStateInfo adventureStateInfoTmp:adventureStateInfoMap.values()) {
int positionTmp = adventureStateInfoTmp.getPosition(); int positionTmp = adventureStateInfoTmp.getPosition();
if (position != -1 && positionTmp != position) { if (position != -1 && positionTmp != position) {
@ -401,6 +402,7 @@ public class CombatLogic {
while (timesTemp-->0){ while (timesTemp-->0){
ItemUtil.combineReward(randomRewardGroup[adventureStateInfoTmp.getLevel()-1], 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap); ItemUtil.combineReward(randomRewardGroup[adventureStateInfoTmp.getLevel()-1], 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap);
} }
takeTimes++;
} }
if(sendMail){ if(sendMail){
adventureStateInfoTmp.setStartTime(now); adventureStateInfoTmp.setStartTime(now);
@ -435,7 +437,7 @@ public class CombatLogic {
Map<Integer, CommonProto.Drop> result = new HashMap<>(2); Map<Integer, CommonProto.Drop> result = new HashMap<>(2);
result.put(1,baseBuilder.build()); result.put(1,baseBuilder.build());
result.put(2,randomBuilder.build()); result.put(2,randomBuilder.build());
user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD); user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD,takeTimes);
return result; return result;
} }

View File

@ -502,7 +502,14 @@ public class FriendLogic {
FriendManager friendManager = user.getFriendManager(); FriendManager friendManager = user.getFriendManager();
Map<Integer, Integer> giveMap = friendManager.getGiveMap(); Map<Integer, Integer> giveMap = friendManager.getGiveMap();
for (Map.Entry<Integer,Integer> entry: giveMap.entrySet()){ for (Map.Entry<Integer,Integer> entry: giveMap.entrySet()){
friendManager.updateGiveMap(entry.getKey(),0); Integer friendId = entry.getKey();
User friendUser = UserManager.getUser(friendId);
FriendManager friendManager1 = friendUser.getFriendManager();
Map<Integer, Integer> haveRewardMap = friendManager1.getHaveRewardMap();
if (haveRewardMap.containsKey(uid)){
friendManager1.updateHaveRewardMap(uid,0);
}
friendManager.updateGiveMap(friendId,0);
} }
} }
} }

View File

@ -6,7 +6,7 @@ import com.ljsd.jieling.logic.mission.MissionType;
public class TakeAdventureTimesManager implements BaseDataManager{ public class TakeAdventureTimesManager implements BaseDataManager{
@Override @Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
data.takeAdventurerewardTimes++; data.takeAdventurerewardTimes+=(int)parm[0];
return new CumulationData.Result(missionType); return new CumulationData.Result(missionType);
} }
} }