|
@@ -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);
|
|
|
}
|