| | |
| | | @Query("SELECT * FROM code WHERE date(createtime) = date(:date/1000, 'unixepoch', 'localtime') ORDER BY createtime DESC") |
| | | fun getNewPackagesByDay(date: Long): List<Code> |
| | | |
| | | @Query("SELECT * FROM code WHERE date(createtime/1000, 'unixepoch', 'localtime') = date(:date/1000, 'unixepoch', 'localtime') ORDER BY createtime DESC") |
| | | @Query(""" |
| | | SELECT * FROM code |
| | | WHERE substr(createtime, 1, 10) = |
| | | date(:date/1000, 'unixepoch', 'localtime') |
| | | ORDER BY createtime DESC |
| | | """) |
| | | fun getPackagesByDay(date: Long): Flow<List<Code>> |
| | | |
| | | @Query(""" |
| | | SELECT * FROM code |
| | | WHERE strftime('%Y-%W', createtime/1000, 'unixepoch', 'localtime') = |
| | | strftime('%Y-%W', :date/1000, 'unixepoch', 'localtime') |
| | | ORDER BY createtime DESC |
| | | """) |
| | | fun getPackagesByWeek(date: Long): Flow<List<Code>> |
| | | |
| | | @Query(""" |
| | | SELECT * FROM CourierStat |
| | | WHERE EXISTS ( |
| | | SELECT 1 FROM code p |
| | | WHERE p.category = CourierStat.category |
| | | AND strftime('%Y-%W', p.createtime/1000, 'unixepoch', 'localtime') = |
| | | strftime('%Y-%W', :date/1000, 'unixepoch', 'localtime') |
| | | ) |
| | | SELECT type as courierName, COUNT(*) as count |
| | | FROM code |
| | | WHERE strftime('%Y-%W', substr(createtime, 1, 10)) = |
| | | strftime('%Y-%W', datetime(:date/1000, 'unixepoch', 'localtime')) |
| | | GROUP BY type |
| | | ORDER BY count DESC |
| | | """) |
| | | fun getCourierStatsByWeek(date: Long): Flow<List<CourierStat>> |
| | | |
| | | @Query(""" |
| | | SELECT * FROM DailyStat |
| | | WHERE EXISTS ( |
| | | SELECT 1 FROM code p |
| | | WHERE date(p.createtime/1000, 'unixepoch', 'localtime') = DailyStat.date |
| | | AND strftime('%Y-%W', p.createtime/1000, 'unixepoch', 'localtime') = |
| | | strftime('%Y-%W', :date/1000, 'unixepoch', 'localtime') |
| | | ) |
| | | SELECT strftime('%W', createtime) as date, |
| | | COUNT(*) as count, |
| | | MIN(createtime) as week_start |
| | | FROM code |
| | | WHERE strftime('%Y', createtime) = strftime('%Y', 'now') |
| | | GROUP BY strftime('%W', createtime) |
| | | ORDER BY week_start ASC |
| | | """) |
| | | fun getDailyStatsByWeek(date: Long): Flow<List<DailyStat>> |
| | | fun getDailyStatsByWeek(): Flow<List<DailyStat>> |
| | | |
| | | @Query(""" |
| | | SELECT * FROM code |
| | | WHERE substr(createtime, 1, 10) = |
| | | date(:date/1000, 'unixepoch', 'localtime') |
| | | ORDER BY createtime DESC |
| | | """) |
| | | fun getPackagesByWeek(date: Long): Flow<List<Code>> |
| | | } |