From 1a8e45b8b401024092f83b10697366ef8ea2442f Mon Sep 17 00:00:00 2001 From: gedoor Date: Tue, 20 Oct 2020 09:50:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=88=86=E7=BB=84=E6=97=A0?= =?UTF-8?q?=E4=B9=A6=E7=B1=8D=E6=97=B6=E8=87=AA=E5=8A=A8=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/data/dao/BookGroupDao.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/data/dao/BookGroupDao.kt b/app/src/main/java/io/legado/app/data/dao/BookGroupDao.kt index 9c362151e..eb3395a91 100644 --- a/app/src/main/java/io/legado/app/data/dao/BookGroupDao.kt +++ b/app/src/main/java/io/legado/app/data/dao/BookGroupDao.kt @@ -2,6 +2,7 @@ package io.legado.app.data.dao import androidx.lifecycle.LiveData import androidx.room.* +import io.legado.app.constant.BookType import io.legado.app.data.entities.BookGroup @Dao @@ -16,7 +17,16 @@ interface BookGroupDao { @Query("SELECT * FROM book_groups ORDER BY `order`") fun liveDataAll(): LiveData> - @Query("SELECT * FROM book_groups where show > 0 or groupId >= 0 ORDER BY `order`") + @Query( + """ + SELECT * FROM book_groups where groupId >= 0 + or (groupId = -4 and show > 0 and (select count(bookUrl) from books where ((SELECT sum(groupId) FROM book_groups where groupId > 0) & `group`) = 0 and type != ${BookType.audio} and origin != '${BookType.local}') > 0) + or (groupId = -3 and show > 0 and (select count(bookUrl) from books where type = ${BookType.audio}) > 0) + or (groupId = -2 and show > 0 and (select count(bookUrl) from books where origin = '${BookType.local}') > 0) + or (groupId = -1 and show > 0) + ORDER BY `order` + """ + ) fun liveDataShow(): LiveData> @Query("SELECT * FROM book_groups where groupId >= 0 ORDER BY `order`")