Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Info
- public Mono<BakeryDto> bakery(UserSession userSession) {
- return bakeryService.userStateWithBakeryLevels(userSession)
- .zipWhen(userStateWihBakeryLevels ->
- rewardService.getRewardsForLevels(userSession, userStateWihBakeryLevels.getT1(), levelNumbersToGetRewards(userStateWihBakeryLevels)),
- (userStateWihBakeryLevels, rewardsForLevels) ->
- ClientBakeryMapper.map(userStateWihBakeryLevels.getT1(), userStateWihBakeryLevels.getT2(), rewardsForLevels)
- );
- }
- @Trace
- public Mono<LevelDto> bakeryLevel(UserSession userSession, long levelNumber) {
- return ingredientRaritiesCache.get().flatMap(ingredientRarities -> {
- return bakeryService.userStateWithBakeryLevel(userSession, levelNumber)
- .zipWhen(userStateWihBakeryLevel ->
- rewardsForLevel(userStateWihBakeryLevel, userSession, levelNumber),
- compose(levelNumber, ingredientRarities)
- );
- });
- }
- private BiFunction<Tuple2<UserEntity, BakeryLevel>, Tuple2<BigDecimal, Map<Long, BigDecimal>>, LevelDto> compose(long levelNumber, IngredientRarities ingredientRarities) {
- return (userStateWihBakeryLevel, rewardsForLevel) ->
- ClientLevelMapper.map(levelNumber,
- userStateWihBakeryLevel.getT1(), userStateWihBakeryLevel.getT2(),
- rewardsForLevel.getT1(), rewardsForLevel.getT2(),
- ingredientRarities);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement