Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. @Info
  2. public Mono<BakeryDto> bakery(UserSession userSession) {
  3. return bakeryService.userStateWithBakeryLevels(userSession)
  4. .zipWhen(userStateWihBakeryLevels ->
  5. rewardService.getRewardsForLevels(userSession, userStateWihBakeryLevels.getT1(), levelNumbersToGetRewards(userStateWihBakeryLevels)),
  6. (userStateWihBakeryLevels, rewardsForLevels) ->
  7. ClientBakeryMapper.map(userStateWihBakeryLevels.getT1(), userStateWihBakeryLevels.getT2(), rewardsForLevels)
  8. );
  9. }
  10.  
  11. @Trace
  12. public Mono<LevelDto> bakeryLevel(UserSession userSession, long levelNumber) {
  13. return ingredientRaritiesCache.get().flatMap(ingredientRarities -> {
  14. return bakeryService.userStateWithBakeryLevel(userSession, levelNumber)
  15. .zipWhen(userStateWihBakeryLevel ->
  16. rewardsForLevel(userStateWihBakeryLevel, userSession, levelNumber),
  17. compose(levelNumber, ingredientRarities)
  18. );
  19. });
  20. }
  21.  
  22. private BiFunction<Tuple2<UserEntity, BakeryLevel>, Tuple2<BigDecimal, Map<Long, BigDecimal>>, LevelDto> compose(long levelNumber, IngredientRarities ingredientRarities) {
  23. return (userStateWihBakeryLevel, rewardsForLevel) ->
  24. ClientLevelMapper.map(levelNumber,
  25. userStateWihBakeryLevel.getT1(), userStateWihBakeryLevel.getT2(),
  26. rewardsForLevel.getT1(), rewardsForLevel.getT2(),
  27. ingredientRarities);
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement