소스 검색

获取书籍内容接口

lijilei 3 년 전
부모
커밋
489da1dd2c

+ 18 - 4
book-server/src/main/java/com/book/server/controller/BookController.java

@@ -5,10 +5,7 @@ import com.book.server.common.entity.Result;
 import com.book.server.common.entity.ResultCode;
 import com.book.server.dao.entity.Book;
 import com.book.server.dao.entity.SearchKeyword;
-import com.book.server.model.VO.BlockRes;
-import com.book.server.model.VO.BookRes;
-import com.book.server.model.VO.Chapter;
-import com.book.server.model.VO.QueryVO;
+import com.book.server.model.VO.*;
 import com.book.server.service.BookService;
 import com.mysql.cj.QueryBindings;
 import lombok.extern.slf4j.Slf4j;
@@ -138,6 +135,23 @@ public class BookController extends BaseController {
         }
     }
 
+    /**
+     * 获取章节书籍内容
+     *
+     * @param book 书籍id,章节id
+     * @return
+     */
+    @PostMapping("/content")
+    public Result<BookContent> getBookContentByChapter(@RequestBody Map<String, String> book) {
+
+        BookContent content = bookService.getContentByContentId(book.get("bookId"), book.get("contentId"));
+        if (content == null || "null".equals(content)) {
+            return Result.failure(ResultCode.FAIL.getCode(), "哎呀~没有数据啦~");
+        }
+
+        return Result.byObject(content);
+    }
+
     /**
      * 获取热门搜索
      *

+ 21 - 0
book-server/src/main/java/com/book/server/model/VO/BookContent.java

@@ -0,0 +1,21 @@
+package com.book.server.model.VO;
+
+import lombok.Data;
+
+/**
+ * created in 2021/8/21
+ * Project: book-store
+ *书籍内容
+ * @author win7
+ */
+@Data
+public class BookContent {
+
+ private String bookId;
+ private String contentId;
+ private String chapterId;
+ private String content;
+ private String isPay;
+
+
+}

+ 1 - 0
book-server/src/main/java/com/book/server/model/VO/Chapter.java

@@ -18,6 +18,7 @@ public class Chapter {
     private String type;
     private String words;
     private String volumeId;
+    private String readAble;
 
 
 }

+ 3 - 4
book-server/src/main/java/com/book/server/service/BookService.java

@@ -3,10 +3,7 @@ package com.book.server.service;
 import com.book.server.common.entity.PageResult;
 import com.book.server.dao.entity.Book;
 import com.book.server.dao.entity.SearchKeyword;
-import com.book.server.model.VO.BlockRes;
-import com.book.server.model.VO.BookRes;
-import com.book.server.model.VO.Chapter;
-import com.book.server.model.VO.QueryVO;
+import com.book.server.model.VO.*;
 
 import java.util.List;
 
@@ -25,4 +22,6 @@ public interface BookService {
     List<BookRes> topRecommend(QueryVO queryVO);
 
     List<BookRes> smartRecommand(QueryVO queryVO);
+
+    BookContent getContentByContentId(String bookId,String contentId);
 }

+ 32 - 0
book-server/src/main/java/com/book/server/service/impl/BookServiceImpl.java

@@ -220,10 +220,13 @@ public class BookServiceImpl implements BookService {
             }
             JsonParser parser = new JsonParser();
             JsonArray jsonArray = parser.parse(result).getAsJsonArray();
+            Book book = bookMapper.selectByPrimaryKey(Long.parseLong(bookId));
+            Integer freeChapterNum = book.getFreeChapterNum();
 
             for (int i = 0; i < jsonArray.size(); i++) {
                 JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
                 Chapter chapter = new Chapter();
+                chapter.setReadAble("1");
                 chapter.setBookId(jsonObject.get("book_id").getAsString());
                 chapter.setContentId(jsonObject.get("content_id").getAsString());
                 chapter.setIsPay(jsonObject.get("ispay").getAsString());
@@ -233,6 +236,9 @@ public class BookServiceImpl implements BookService {
                 chapter.setVolumeId(jsonObject.get("volume_id").getAsString());
                 chapter.setWords(jsonObject.get("words").getAsString());
                 list.add(chapter);
+                if (i+1 == freeChapterNum){
+                    chapter.setReadAble("0");
+                }
             }
         } catch (Exception e) {
             logger.error(e.getMessage());
@@ -266,6 +272,32 @@ public class BookServiceImpl implements BookService {
         return bookRes;
     }
 
+    @Override
+    public BookContent getContentByContentId(String bookId,String contentId) {
+        String contentUrl = "http://new.emeixs.com/index.php/Home/Interface/content/bid/%s/cid/%s";
+        if (StringUtils.isEmpty(bookId) || StringUtils.isEmpty(contentId)){
+            return null;
+        }
+        BookContent content =null;
+        try {
+            content = new BookContent();
+            String url = String.format(contentUrl, bookId, contentId);
+            String result = HttpTool.sendGet(url, "");
+            JsonObject jsonObject = JsonUtils.getObject(result, JsonObject.class);
+
+            content.setContent(jsonObject.get("content").getAsString());
+            content.setBookId(jsonObject.get("book_id").getAsString());
+            content.setChapterId(jsonObject.get("CONTENT_ID").getAsString());
+            content.setIsPay(jsonObject.get("ispay").getAsString());
+        }catch (Exception e){
+            logger.info(e.getMessage());
+            return null;
+        }
+
+
+        return content;
+    }
+
     private List<BookRes> getRandom(List<BookRes> bookRes) {
         if (bookRes.size() <= 4) {
             return bookRes;