This commit is contained in:
Horis
2023-03-27 14:00:42 +08:00
parent cd06b4489b
commit f0d5c5ed40
3 changed files with 21 additions and 9 deletions
@@ -200,7 +200,7 @@ object BookController {
fun saveBook(postData: String?): ReturnData {
val returnData = ReturnData()
GSON.fromJsonObject<Book>(postData).getOrNull()?.let { book ->
appDb.bookDao.insert(book)
book.save()
AppWebDav.uploadBookProgress(book)
return returnData.setData("")
}
@@ -62,7 +62,17 @@ object Restore {
.forEach { book ->
book.coverUrl = LocalBook.getCoverPath(book)
}
appDb.bookDao.insert(*it.toTypedArray())
val updateBooks = arrayListOf<Book>()
val newBooks = arrayListOf<Book>()
it.forEach { book ->
if (appDb.bookDao.has(book.bookUrl) == true) {
updateBooks.add(book)
} else {
newBooks.add(book)
}
}
appDb.bookDao.update(*updateBooks.toTypedArray())
appDb.bookDao.insert(*newBooks.toTypedArray())
}
fileToListT<Bookmark>(path, "bookmark.json")?.let {
appDb.bookmarkDao.insert(*it.toTypedArray())
@@ -91,13 +91,15 @@ class CacheBookService : BaseService() {
val cacheBook = CacheBook.getOrCreate(bookUrl) ?: return@execute
val chapterCount = appDb.bookChapterDao.getChapterCount(bookUrl)
if (chapterCount == 0) {
WebBook.getChapterListAwait(cacheBook.bookSource, cacheBook.book)
.onFailure {
AppLog.put("缓存书籍没有目录且加载目录失败\n${it.localizedMessage}", it)
appCtx.toastOnUi("缓存书籍没有目录且加载目录失败\n${it.localizedMessage}")
}.getOrNull()?.let { toc ->
appDb.bookChapterDao.insert(*toc.toTypedArray())
}
val name = cacheBook.book.name
WebBook.getChapterListAwait(cacheBook.bookSource, cacheBook.book).onFailure {
cacheBook.book.totalChapterNum = 0
AppLog.put("$name》目录为空且加载目录失败\n${it.localizedMessage}", it)
appCtx.toastOnUi("$name》目录为空且加载目录失败\n${it.localizedMessage}")
}.getOrNull()?.let { toc ->
appDb.bookChapterDao.insert(*toc.toTypedArray())
}
cacheBook.book.save()
}
val end2 = if (end == 0) {
appDb.bookChapterDao.getChapterCount(bookUrl)