浏览代码

免费章节更新

tianyun 3 年之前
父节点
当前提交
7f2df25182
共有 1 个文件被更改,包括 16 次插入2 次删除
  1. 16 2
      book-server/src/main/java/com/book/server/service/CacheService.java

+ 16 - 2
book-server/src/main/java/com/book/server/service/CacheService.java

@@ -119,6 +119,14 @@ public class CacheService {
     @CacheFind(key = "chapters")
     public List<Chapter> getChaptersByBookIdCache(Long bookId) {
         List<Chapter> list = new ArrayList<>();
+        //免费章节
+        int freeNum = 0;
+        Book bookById = getBookById(bookId);
+        if (bookById.getFreeChapterNum() == null) {
+            freeNum = bookService.getDefaultFreeChapterNum();
+        } else {
+            freeNum = bookById.getFreeChapterNum();
+        }
         //如果是本地书籍
         if (isUploadBook(bookId)) {
             List<UploadBook> uploadBooks = uploadBookMapper.selectByExample(
@@ -126,12 +134,17 @@ public class CacheService {
                             .andBookIdEqualTo(bookId)
                             .example()
             );
+            int finalFreeNum = freeNum;
             uploadBooks.forEach(x -> {
                 Chapter chapter = new Chapter();
                 chapter.setBookId(x.getBookId().toString());
                 chapter.setContentId(x.getChapterId().toString());
                 chapter.setName(x.getChapterName());
-                chapter.setReadAble(x.getReadAble().toString());
+                if (x.getNum() >= finalFreeNum) {
+                    chapter.setReadAble("1");
+                } else {
+                    chapter.setReadAble("0");
+                }
                 chapter.setWords(x.getWords().toString());
                 chapter.setNum(x.getNum().toString());
                 list.add(chapter);
@@ -196,7 +209,8 @@ public class CacheService {
     public Integer getFreeCoinCache(Long id) {
         return bookService.getFreeCoin(id);
     }
-    @CacheFind(key = "freeCoin",update = true)
+
+    @CacheFind(key = "freeCoin", update = true)
     public Integer updateFreeCoinCache(Long id) {
         return bookService.getFreeCoin(id);
     }