优化
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user