Interface StatisticTokenRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<StatisticTokenEntity,Long>, org.springframework.data.jpa.repository.JpaRepository<StatisticTokenEntity,Long>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<StatisticTokenEntity>, org.springframework.data.repository.ListCrudRepository<StatisticTokenEntity,Long>, org.springframework.data.repository.ListPagingAndSortingRepository<StatisticTokenEntity,Long>, org.springframework.data.repository.PagingAndSortingRepository<StatisticTokenEntity,Long>, org.springframework.data.repository.query.QueryByExampleExecutor<StatisticTokenEntity>, org.springframework.data.repository.Repository<StatisticTokenEntity,Long>

public interface StatisticTokenRepository extends org.springframework.data.jpa.repository.JpaRepository<StatisticTokenEntity,Long>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<StatisticTokenEntity>
  • Method Details

    • findByUid

    • existsByUid

      Boolean existsByUid(String uid)
    • findByOrgUidAndTypeAndDeletedFalse

      Optional<StatisticTokenEntity> findByOrgUidAndTypeAndDeletedFalse(String orgUid, String type)
    • findByOrgUidAndAiProviderAndAiModelTypeAndDateAndHourAndDeletedFalse

      Optional<StatisticTokenEntity> findByOrgUidAndAiProviderAndAiModelTypeAndDateAndHourAndDeletedFalse(String orgUid, String aiProvider, String aiModelType, String date, Integer hour)
      Find AI token statistics by organization, date and hour
    • findByOrgUidAndDateAndDeletedFalse

      List<StatisticTokenEntity> findByOrgUidAndDateAndDeletedFalse(String orgUid, String date)
      Find AI token statistics by organization and date
    • findByOrgUidAndDateBetweenAndDeletedFalse

      @Query("SELECT s FROM StatisticTokenEntity s WHERE s.orgUid = :orgUid AND s.date BETWEEN :startDate AND :endDate AND s.deleted = false") List<StatisticTokenEntity> findByOrgUidAndDateBetweenAndDeletedFalse(@Param("orgUid") String orgUid, @Param("startDate") String startDate, @Param("endDate") String endDate)
      Find AI token statistics by organization, date range
    • findByOrgUidAndAiProviderAndDeletedFalse

      List<StatisticTokenEntity> findByOrgUidAndAiProviderAndDeletedFalse(String orgUid, String aiProvider)
      Find AI token statistics by organization and AI provider
    • findByOrgUidAndAiModelTypeAndDeletedFalse

      List<StatisticTokenEntity> findByOrgUidAndAiModelTypeAndDeletedFalse(String orgUid, String aiModelType)
      Find AI token statistics by organization and AI model type
    • getTotalTokensByOrgUidAndDateRange

      @Query("SELECT SUM(s.totalTokens) FROM StatisticTokenEntity s WHERE s.orgUid = :orgUid AND s.date BETWEEN :startDate AND :endDate AND s.deleted = false") Long getTotalTokensByOrgUidAndDateRange(@Param("orgUid") String orgUid, @Param("startDate") String startDate, @Param("endDate") String endDate)
      Get total token consumption by organization and date range
    • getTotalCostByOrgUidAndDateRange

      @Query("SELECT SUM(s.totalCost) FROM StatisticTokenEntity s WHERE s.orgUid = :orgUid AND s.date BETWEEN :startDate AND :endDate AND s.deleted = false") BigDecimal getTotalCostByOrgUidAndDateRange(@Param("orgUid") String orgUid, @Param("startDate") String startDate, @Param("endDate") String endDate)
      Get total cost by organization and date range
    • findByOrgUidAndDateOrderByHour

      @Query("SELECT s FROM StatisticTokenEntity s WHERE s.orgUid = :orgUid AND s.date = :date AND s.deleted = false ORDER BY s.hour ASC") List<StatisticTokenEntity> findByOrgUidAndDateOrderByHour(@Param("orgUid") String orgUid, @Param("date") String date)
      Get hourly AI token statistics by organization and date Returns data grouped by hour for a specific date
    • findByOrgUidAndDateAndAiProviderOrderByHour

      @Query("SELECT s FROM StatisticTokenEntity s WHERE s.orgUid = :orgUid AND s.date = :date AND s.aiProvider = :aiProvider AND s.deleted = false ORDER BY s.hour ASC") List<StatisticTokenEntity> findByOrgUidAndDateAndAiProviderOrderByHour(@Param("orgUid") String orgUid, @Param("date") String date, @Param("aiProvider") String aiProvider)
      Get hourly AI token statistics by organization, date and AI provider Returns data grouped by hour for a specific date and AI provider
    • findByOrgUidAndDateAndAiModelTypeOrderByHour

      @Query("SELECT s FROM StatisticTokenEntity s WHERE s.orgUid = :orgUid AND s.date = :date AND s.aiModelType = :aiModelType AND s.deleted = false ORDER BY s.hour ASC") List<StatisticTokenEntity> findByOrgUidAndDateAndAiModelTypeOrderByHour(@Param("orgUid") String orgUid, @Param("date") String date, @Param("aiModelType") String aiModelType)
      Get hourly AI token statistics by organization, date and AI model type Returns data grouped by hour for a specific date and AI model type