|
@@ -48,6 +48,8 @@ interface BookDao {
|
|
|
BookGroup.IdUnread -> flowUnread()
|
|
BookGroup.IdUnread -> flowUnread()
|
|
|
BookGroup.IdReading -> flowReading()
|
|
BookGroup.IdReading -> flowReading()
|
|
|
BookGroup.IdReadFinished -> flowReadFinished()
|
|
BookGroup.IdReadFinished -> flowReadFinished()
|
|
|
|
|
+ BookGroup.IdReadFinishedUpdate -> flowReadFinishedUpdate()
|
|
|
|
|
+ BookGroup.IdReadFinishedComplete -> flowReadFinishedComplete()
|
|
|
else -> flowByUserGroup(groupId)
|
|
else -> flowByUserGroup(groupId)
|
|
|
}.map { list ->
|
|
}.map { list ->
|
|
|
list.filterNot { it.isNotShelf }
|
|
list.filterNot { it.isNotShelf }
|
|
@@ -68,6 +70,8 @@ interface BookDao {
|
|
|
BookGroup.IdUnread -> flowBookShelfUnread()
|
|
BookGroup.IdUnread -> flowBookShelfUnread()
|
|
|
BookGroup.IdReading -> flowBookShelfReading()
|
|
BookGroup.IdReading -> flowBookShelfReading()
|
|
|
BookGroup.IdReadFinished -> flowBookShelfReadFinished()
|
|
BookGroup.IdReadFinished -> flowBookShelfReadFinished()
|
|
|
|
|
+ BookGroup.IdReadFinishedUpdate -> flowBookShelfReadFinishedUpdate()
|
|
|
|
|
+ BookGroup.IdReadFinishedComplete -> flowBookShelfReadFinishedComplete()
|
|
|
else -> flowBookShelfByUserGroup(groupId)
|
|
else -> flowBookShelfByUserGroup(groupId)
|
|
|
}.map { list ->
|
|
}.map { list ->
|
|
|
list.filterNot { it.isNotShelf }
|
|
list.filterNot { it.isNotShelf }
|
|
@@ -123,6 +127,9 @@ interface BookDao {
|
|
|
@Query("SELECT * FROM books order by durChapterTime desc")
|
|
@Query("SELECT * FROM books order by durChapterTime desc")
|
|
|
fun flowAll(): Flow<List<Book>>
|
|
fun flowAll(): Flow<List<Book>>
|
|
|
|
|
|
|
|
|
|
+ @Query("SELECT * FROM books")
|
|
|
|
|
+ suspend fun getAll(): List<Book>
|
|
|
|
|
+
|
|
|
@Query(
|
|
@Query(
|
|
|
"""
|
|
"""
|
|
|
SELECT
|
|
SELECT
|
|
@@ -485,6 +492,80 @@ interface BookDao {
|
|
|
)
|
|
)
|
|
|
fun flowBookShelfReadFinished(): Flow<List<BookShelfItem>>
|
|
fun flowBookShelfReadFinished(): Flow<List<BookShelfItem>>
|
|
|
|
|
|
|
|
|
|
+ @Query(
|
|
|
|
|
+ """SELECT * FROM books WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND canUpdate = 1"""
|
|
|
|
|
+ )
|
|
|
|
|
+ fun flowReadFinishedUpdate(): Flow<List<Book>>
|
|
|
|
|
+
|
|
|
|
|
+ @Query(
|
|
|
|
|
+ """
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ bookUrl,
|
|
|
|
|
+ name,
|
|
|
|
|
+ author,
|
|
|
|
|
+ origin,
|
|
|
|
|
+ originName,
|
|
|
|
|
+ coverUrl,
|
|
|
|
|
+ customCoverUrl,
|
|
|
|
|
+ durChapterTitle,
|
|
|
|
|
+ durChapterTime,
|
|
|
|
|
+ durChapterPos,
|
|
|
|
|
+ latestChapterTitle,
|
|
|
|
|
+ latestChapterTime,
|
|
|
|
|
+ lastCheckCount,
|
|
|
|
|
+ totalChapterNum,
|
|
|
|
|
+ durChapterIndex,
|
|
|
|
|
+ type,
|
|
|
|
|
+ `group`,
|
|
|
|
|
+ `order`,
|
|
|
|
|
+ canUpdate,
|
|
|
|
|
+ ifnull(customIntro, intro) as intro,
|
|
|
|
|
+ kind,
|
|
|
|
|
+ wordCount
|
|
|
|
|
+ FROM books
|
|
|
|
|
+ WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND canUpdate = 1
|
|
|
|
|
+ AND $PUBLIC_BOOK_FILTER
|
|
|
|
|
+ """
|
|
|
|
|
+ )
|
|
|
|
|
+ fun flowBookShelfReadFinishedUpdate(): Flow<List<BookShelfItem>>
|
|
|
|
|
+
|
|
|
|
|
+ @Query(
|
|
|
|
|
+ """SELECT * FROM books WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND canUpdate = 0"""
|
|
|
|
|
+ )
|
|
|
|
|
+ fun flowReadFinishedComplete(): Flow<List<Book>>
|
|
|
|
|
+
|
|
|
|
|
+ @Query(
|
|
|
|
|
+ """
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ bookUrl,
|
|
|
|
|
+ name,
|
|
|
|
|
+ author,
|
|
|
|
|
+ origin,
|
|
|
|
|
+ originName,
|
|
|
|
|
+ coverUrl,
|
|
|
|
|
+ customCoverUrl,
|
|
|
|
|
+ durChapterTitle,
|
|
|
|
|
+ durChapterTime,
|
|
|
|
|
+ durChapterPos,
|
|
|
|
|
+ latestChapterTitle,
|
|
|
|
|
+ latestChapterTime,
|
|
|
|
|
+ lastCheckCount,
|
|
|
|
|
+ totalChapterNum,
|
|
|
|
|
+ durChapterIndex,
|
|
|
|
|
+ type,
|
|
|
|
|
+ `group`,
|
|
|
|
|
+ `order`,
|
|
|
|
|
+ canUpdate,
|
|
|
|
|
+ ifnull(customIntro, intro) as intro,
|
|
|
|
|
+ kind,
|
|
|
|
|
+ wordCount
|
|
|
|
|
+ FROM books
|
|
|
|
|
+ WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND canUpdate = 0
|
|
|
|
|
+ AND $PUBLIC_BOOK_FILTER
|
|
|
|
|
+ """
|
|
|
|
|
+ )
|
|
|
|
|
+ fun flowBookShelfReadFinishedComplete(): Flow<List<BookShelfItem>>
|
|
|
|
|
+
|
|
|
@Query("""SELECT * FROM books WHERE totalChapterNum > 0 AND durChapterIndex > 0 AND durChapterIndex < totalChapterNum - 1""")
|
|
@Query("""SELECT * FROM books WHERE totalChapterNum > 0 AND durChapterIndex > 0 AND durChapterIndex < totalChapterNum - 1""")
|
|
|
fun flowReading(): Flow<List<Book>>
|
|
fun flowReading(): Flow<List<Book>>
|
|
|
|
|
|
|
@@ -728,6 +809,8 @@ interface BookDao {
|
|
|
UNION ALL SELECT ${BookGroup.IdUnread}, COUNT(*) FROM books WHERE durChapterIndex = 0 AND durChapterPos = 0 AND $PUBLIC_BOOK_FILTER
|
|
UNION ALL SELECT ${BookGroup.IdUnread}, COUNT(*) FROM books WHERE durChapterIndex = 0 AND durChapterPos = 0 AND $PUBLIC_BOOK_FILTER
|
|
|
UNION ALL SELECT ${BookGroup.IdReading}, COUNT(*) FROM books WHERE totalChapterNum > 0 AND durChapterIndex > 0 AND durChapterIndex < totalChapterNum - 1 AND $PUBLIC_BOOK_FILTER
|
|
UNION ALL SELECT ${BookGroup.IdReading}, COUNT(*) FROM books WHERE totalChapterNum > 0 AND durChapterIndex > 0 AND durChapterIndex < totalChapterNum - 1 AND $PUBLIC_BOOK_FILTER
|
|
|
UNION ALL SELECT ${BookGroup.IdReadFinished}, COUNT(*) FROM books WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND $PUBLIC_BOOK_FILTER
|
|
UNION ALL SELECT ${BookGroup.IdReadFinished}, COUNT(*) FROM books WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND $PUBLIC_BOOK_FILTER
|
|
|
|
|
+ UNION ALL SELECT ${BookGroup.IdReadFinishedUpdate}, COUNT(*) FROM books WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND canUpdate = 1 AND $PUBLIC_BOOK_FILTER
|
|
|
|
|
+ UNION ALL SELECT ${BookGroup.IdReadFinishedComplete}, COUNT(*) FROM books WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND canUpdate = 0 AND $PUBLIC_BOOK_FILTER
|
|
|
"""
|
|
"""
|
|
|
)
|
|
)
|
|
|
fun flowSystemGroupCounts(): Flow<List<GroupBookCount>>
|
|
fun flowSystemGroupCounts(): Flow<List<GroupBookCount>>
|
|
@@ -755,6 +838,8 @@ interface BookDao {
|
|
|
BookGroup.IdUnread -> flowBookShelfUnreadPreview()
|
|
BookGroup.IdUnread -> flowBookShelfUnreadPreview()
|
|
|
BookGroup.IdReading -> flowBookShelfReadingPreview()
|
|
BookGroup.IdReading -> flowBookShelfReadingPreview()
|
|
|
BookGroup.IdReadFinished -> flowBookShelfReadFinishedPreview()
|
|
BookGroup.IdReadFinished -> flowBookShelfReadFinishedPreview()
|
|
|
|
|
+ BookGroup.IdReadFinishedUpdate -> flowBookShelfReadFinishedUpdatePreview()
|
|
|
|
|
+ BookGroup.IdReadFinishedComplete -> flowBookShelfReadFinishedCompletePreview()
|
|
|
else -> flowBookShelfPreviewByUserGroup(groupId)
|
|
else -> flowBookShelfPreviewByUserGroup(groupId)
|
|
|
}.map { list ->
|
|
}.map { list ->
|
|
|
list.filterNot { it.isNotShelf }
|
|
list.filterNot { it.isNotShelf }
|
|
@@ -968,6 +1053,40 @@ interface BookDao {
|
|
|
)
|
|
)
|
|
|
fun flowBookShelfReadFinishedPreview(): Flow<List<BookShelfItem>>
|
|
fun flowBookShelfReadFinishedPreview(): Flow<List<BookShelfItem>>
|
|
|
|
|
|
|
|
|
|
+ @Query(
|
|
|
|
|
+ """
|
|
|
|
|
+ SELECT bookUrl, name, author, origin, originName,
|
|
|
|
|
+ coverUrl, customCoverUrl, durChapterTitle, durChapterTime,
|
|
|
|
|
+ durChapterPos, latestChapterTitle, latestChapterTime,
|
|
|
|
|
+ lastCheckCount, totalChapterNum, durChapterIndex,
|
|
|
|
|
+ type, `group`, `order`, canUpdate,
|
|
|
|
|
+ ifnull(customIntro, intro) as intro, kind, wordCount
|
|
|
|
|
+ FROM books
|
|
|
|
|
+ WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND canUpdate = 1
|
|
|
|
|
+ AND $PUBLIC_BOOK_FILTER
|
|
|
|
|
+ ORDER BY durChapterTime DESC
|
|
|
|
|
+ LIMIT 10
|
|
|
|
|
+ """
|
|
|
|
|
+ )
|
|
|
|
|
+ fun flowBookShelfReadFinishedUpdatePreview(): Flow<List<BookShelfItem>>
|
|
|
|
|
+
|
|
|
|
|
+ @Query(
|
|
|
|
|
+ """
|
|
|
|
|
+ SELECT bookUrl, name, author, origin, originName,
|
|
|
|
|
+ coverUrl, customCoverUrl, durChapterTitle, durChapterTime,
|
|
|
|
|
+ durChapterPos, latestChapterTitle, latestChapterTime,
|
|
|
|
|
+ lastCheckCount, totalChapterNum, durChapterIndex,
|
|
|
|
|
+ type, `group`, `order`, canUpdate,
|
|
|
|
|
+ ifnull(customIntro, intro) as intro, kind, wordCount
|
|
|
|
|
+ FROM books
|
|
|
|
|
+ WHERE totalChapterNum > 0 AND durChapterIndex >= totalChapterNum - 1 AND canUpdate = 0
|
|
|
|
|
+ AND $PUBLIC_BOOK_FILTER
|
|
|
|
|
+ ORDER BY durChapterTime DESC
|
|
|
|
|
+ LIMIT 10
|
|
|
|
|
+ """
|
|
|
|
|
+ )
|
|
|
|
|
+ fun flowBookShelfReadFinishedCompletePreview(): Flow<List<BookShelfItem>>
|
|
|
|
|
+
|
|
|
@Query(
|
|
@Query(
|
|
|
"""
|
|
"""
|
|
|
SELECT bookUrl, name, author, origin, originName,
|
|
SELECT bookUrl, name, author, origin, originName,
|