Class WalletRewardReportService

java.lang.Object
io.meeds.wallet.reward.service.WalletRewardReportService
All Implemented Interfaces:
io.meeds.wallet.reward.service.RewardReportService

@Service public class WalletRewardReportService extends Object implements io.meeds.wallet.reward.service.RewardReportService
A service to manage reward reports
  • Field Details

    • rewardSettingChanged

      public Map<Long,Boolean> rewardSettingChanged
  • Constructor Details

    • WalletRewardReportService

      public WalletRewardReportService(io.meeds.wallet.service.WalletAccountService walletAccountService, io.meeds.wallet.service.WalletTokenAdminService walletTokenAdminService, io.meeds.wallet.reward.service.RewardSettingsService rewardSettingsService, WalletRewardReportStorage rewardReportStorage, io.meeds.gamification.service.RealizationService realizationService, org.exoplatform.services.resources.ResourceBundleService resourceBundleService)
  • Method Details

    • sendRewards

      public void sendRewards(LocalDate date, String username) throws IllegalAccessException
      Specified by:
      sendRewards in interface io.meeds.wallet.reward.service.RewardReportService
      Throws:
      IllegalAccessException
    • isRewardSendingInProgress

      public boolean isRewardSendingInProgress()
      Specified by:
      isRewardSendingInProgress in interface io.meeds.wallet.reward.service.RewardReportService
    • getReport

      public io.meeds.wallet.model.WalletRewardPeriodSummary getReport(io.meeds.wallet.model.RewardPeriod rewardPeriod)
      Specified by:
      getReport in interface io.meeds.wallet.reward.service.RewardReportService
    • computeRewards

      public io.meeds.wallet.model.RewardReport computeRewards(LocalDate date)
      Specified by:
      computeRewards in interface io.meeds.wallet.reward.service.RewardReportService
    • computeRewardsByUser

      public io.meeds.wallet.model.RewardReport computeRewardsByUser(LocalDate date, long userIdentityId)
      Specified by:
      computeRewardsByUser in interface io.meeds.wallet.reward.service.RewardReportService
    • getRewardReportByPeriodId

      public io.meeds.wallet.model.RewardReport getRewardReportByPeriodId(long periodId)
      Specified by:
      getRewardReportByPeriodId in interface io.meeds.wallet.reward.service.RewardReportService
    • getRewardReport

      public io.meeds.wallet.model.RewardReport getRewardReport(LocalDate date)
      Specified by:
      getRewardReport in interface io.meeds.wallet.reward.service.RewardReportService
    • getRewardPeriod

      public io.meeds.wallet.model.RewardPeriod getRewardPeriod(io.meeds.wallet.model.RewardPeriodType periodType, LocalDate date)
      Specified by:
      getRewardPeriod in interface io.meeds.wallet.reward.service.RewardReportService
    • getRewardPeriodById

      public io.meeds.wallet.model.RewardPeriod getRewardPeriodById(long rewardPeriodId)
      Specified by:
      getRewardPeriodById in interface io.meeds.wallet.reward.service.RewardReportService
    • saveRewardReport

      public void saveRewardReport(io.meeds.wallet.model.RewardReport rewardReport)
      Specified by:
      saveRewardReport in interface io.meeds.wallet.reward.service.RewardReportService
    • computeDistributionForecast

      public io.meeds.wallet.model.DistributionForecast computeDistributionForecast(io.meeds.wallet.model.RewardSettings rewardSettings)
      Specified by:
      computeDistributionForecast in interface io.meeds.wallet.reward.service.RewardReportService
    • findRewardReportPeriods

      public org.springframework.data.domain.Page<io.meeds.wallet.model.RewardPeriod> findRewardReportPeriods(org.springframework.data.domain.Pageable pageable)
      Specified by:
      findRewardReportPeriods in interface io.meeds.wallet.reward.service.RewardReportService
    • findRewardPeriodsBetween

      public org.springframework.data.domain.Page<io.meeds.wallet.model.RewardPeriod> findRewardPeriodsBetween(long from, long to, org.springframework.data.domain.Pageable pageable)
      Specified by:
      findRewardPeriodsBetween in interface io.meeds.wallet.reward.service.RewardReportService
    • findRewardReportPeriods

      public org.springframework.data.domain.Page<io.meeds.wallet.model.RewardPeriod> findRewardReportPeriods(String currentUser, org.springframework.data.domain.Pageable pageable) throws IllegalAccessException
      Specified by:
      findRewardReportPeriods in interface io.meeds.wallet.reward.service.RewardReportService
      Throws:
      IllegalAccessException
    • findRewardPeriodsBetween

      public org.springframework.data.domain.Page<io.meeds.wallet.model.RewardPeriod> findRewardPeriodsBetween(String currentUser, long from, long to, org.springframework.data.domain.Pageable pageable) throws IllegalAccessException
      Specified by:
      findRewardPeriodsBetween in interface io.meeds.wallet.reward.service.RewardReportService
      Throws:
      IllegalAccessException
    • getRewardPeriodsInProgress

      public List<io.meeds.wallet.model.RewardPeriod> getRewardPeriodsInProgress()
      Specified by:
      getRewardPeriodsInProgress in interface io.meeds.wallet.reward.service.RewardReportService
    • getRewardPeriodsNotSent

      public List<io.meeds.wallet.model.RewardPeriod> getRewardPeriodsNotSent()
      Specified by:
      getRewardPeriodsNotSent in interface io.meeds.wallet.reward.service.RewardReportService
    • listRewards

      public List<io.meeds.wallet.model.WalletReward> listRewards(String currentUser, int limit)
      Specified by:
      listRewards in interface io.meeds.wallet.reward.service.RewardReportService
    • countRewards

      public double countRewards(String currentUser)
      Specified by:
      countRewards in interface io.meeds.wallet.reward.service.RewardReportService
    • replaceRewardTransactions

      public void replaceRewardTransactions(String oldHash, String newHash)
      Specified by:
      replaceRewardTransactions in interface io.meeds.wallet.reward.service.RewardReportService
    • findWalletRewardsByPeriodIdAndStatus

      public org.springframework.data.domain.Page<io.meeds.wallet.model.WalletReward> findWalletRewardsByPeriodIdAndStatus(long periodId, List<Long> identityIds, io.meeds.wallet.model.WalletRewardStatus walletRewardStatus, ZoneId zoneId, org.springframework.data.domain.Pageable pageable)
      Specified by:
      findWalletRewardsByPeriodIdAndStatus in interface io.meeds.wallet.reward.service.RewardReportService
    • exportXlsx

      public InputStream exportXlsx(long periodId, io.meeds.wallet.model.WalletRewardStatus walletRewardStatus, ZoneId zoneId, String fileName, Locale locale)
      Specified by:
      exportXlsx in interface io.meeds.wallet.reward.service.RewardReportService
    • countWalletRewardsPointsByPeriodIdAndStatus

      public double countWalletRewardsPointsByPeriodIdAndStatus(long periodId, boolean isValid)
      Specified by:
      countWalletRewardsPointsByPeriodIdAndStatus in interface io.meeds.wallet.reward.service.RewardReportService
    • setRewardSettingChanged

      public void setRewardSettingChanged(Map<Long,Boolean> updatedSettings)
      Specified by:
      setRewardSettingChanged in interface io.meeds.wallet.reward.service.RewardReportService