diff options
author | Arsentiy Milchakov <milcars@mapswithme.com> | 2019-05-23 15:09:20 +0300 |
---|---|---|
committer | Tatiana Yan <tatiana.kondakova@gmail.com> | 2019-05-23 15:41:48 +0300 |
commit | 5dc96147be6e57bcb0193ad5998d210f5270855f (patch) | |
tree | e343e9495e8c90486c19f0c28fb3a8bd1e22302c /partners_api | |
parent | d9df94db3f75cfe2615ce859add7a06d93c98de9 (diff) |
[promo_api] do not show promo for same city
Diffstat (limited to 'partners_api')
-rw-r--r-- | partners_api/promo_api.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/partners_api/promo_api.cpp b/partners_api/promo_api.cpp index 3d9ceea9ac..27bde9762d 100644 --- a/partners_api/promo_api.cpp +++ b/partners_api/promo_api.cpp @@ -26,8 +26,14 @@ constexpr minutes kMinMinutesAfterBooking = minutes(5); constexpr minutes kMaxMinutesAfterBooking = minutes(60); constexpr hours kShowPromoNotRaterThan = hours(24); -bool NeedToShowImpl(eye::Eye::InfoType const & eyeInfo) +bool NeedToShowImpl(std::string const & bookingPromoAwaitingForId, eye::Eye::InfoType const & eyeInfo) { + if (bookingPromoAwaitingForId.empty() || + bookingPromoAwaitingForId == eyeInfo->m_promo.m_lastTimeShownAfterBookingCityId) + { + return false; + } + auto const timeSinceLastShown = eye::Clock::now() - eyeInfo->m_promo.m_lastTimeShownAfterBooking; auto const timeSinceLastTransitionToBooking = eye::Clock::now() - eyeInfo->m_promo.m_transitionToBookingTime; @@ -158,17 +164,14 @@ void Api::OnEnterForeground() bool Api::NeedToShowAfterBooking() const { - if (m_bookingPromoAwaitingForId.empty()) - return false; - - return NeedToShowImpl(eye::Eye::Instance().GetInfo()); + return NeedToShowImpl(m_bookingPromoAwaitingForId, eye::Eye::Instance().GetInfo()); } std::string Api::GetPromoLinkAfterBooking() const { auto const eyeInfo = eye::Eye::Instance().GetInfo(); - if (m_bookingPromoAwaitingForId.empty() || !NeedToShowImpl(eyeInfo)) + if (!NeedToShowImpl(m_bookingPromoAwaitingForId, eyeInfo)) return ""; return MakeCityGalleryUrl(m_baseUrl, m_bookingPromoAwaitingForId, languages::GetCurrentNorm()); |