Parcourir la source

update RichTextMongo

reghao il y a 7 mois
Parent
commit
a9b67c5b06

+ 10 - 3
content/content-service/src/main/java/cn/reghao/tnb/content/app/data/db/mongo/RichTextMongo.java

@@ -2,7 +2,9 @@ package cn.reghao.tnb.content.app.data.db.mongo;
 
 import cn.reghao.jutil.jdk.db.BaseCrud;
 import cn.reghao.jutil.jdk.db.BaseQuery;
+import cn.reghao.jutil.jdk.db.PageList;
 import cn.reghao.tnb.content.app.data.model.po.RichText;
+import cn.reghao.tnb.content.app.data.model.vo.NewsPost;
 import com.mongodb.MongoBulkWriteException;
 import com.mongodb.client.model.InsertManyOptions;
 import com.mongodb.client.result.DeleteResult;
@@ -30,7 +32,7 @@ public class RichTextMongo implements BaseCrud<RichText>, BaseQuery<RichText> {
     private final String colName = "RichText";
     private final MongoTemplate mongoTemplate;
     private final MongoConverter mongoConverter;
-    private final int pageSize = 100;
+    private final int pageSize = 20;
 
     public RichTextMongo(MongoTemplate mongoTemplate, MongoConverter mongoConverter) {
         this.mongoTemplate = mongoTemplate;
@@ -90,12 +92,17 @@ public class RichTextMongo implements BaseCrud<RichText>, BaseQuery<RichText> {
         return mongoTemplate.getCollection(colName).countDocuments(filter);
     }
 
-    public List<RichText> findAll(long page) {
+    public PageList<NewsPost> findNewsPostByPage(long page) {
         Query query = new Query();
         query.addCriteria(Criteria.where("content").ne(null));
         query.skip((page - 1) * pageSize).limit(pageSize);
         query.with(Sort.by(new Sort.Order(Sort.Direction.DESC, "publishAt")));
-        return mongoTemplate.find(query, RichText.class, colName);
+        List<RichText> list = mongoTemplate.find(query, RichText.class, colName);
+        List<NewsPost> list1 = list.stream()
+                .map(NewsPost::new)
+                .collect(Collectors.toList());
+        int total = list.size();
+        return PageList.pageList((int) page, pageSize, total, list1);
     }
 
     public List<RichText> findByContentIsNull() {

+ 2 - 6
content/content-service/src/main/java/cn/reghao/tnb/content/app/data/service/NewsPostService.java

@@ -28,12 +28,8 @@ public class NewsPostService {
     }
 
     public PageList<NewsPost> getByPage(int pn) {
-        int ps = 100;
-        List<NewsPost> list = richTextMongo.findAll(pn).stream()
-                .map(NewsPost::new)
-                .collect(Collectors.toList());
-        int total = list.size();
-        return PageList.pageList(pn, ps, total, list);
+        PageList<NewsPost> pageList = richTextMongo.findNewsPostByPage(pn);
+        return pageList;
     }
 
     public NewsPost getById(long newsId) {

+ 2 - 11
content/content-service/src/test/java/cn/reghao/tnb/content/app/vod/service/RichTextTest.java

@@ -1,9 +1,11 @@
 package cn.reghao.tnb.content.app.vod.service;
 
 import cn.reghao.jutil.jdk.converter.DateTimeConverter;
+import cn.reghao.jutil.jdk.db.PageList;
 import cn.reghao.tnb.content.app.ContentApplication;
 import cn.reghao.tnb.content.app.data.db.mongo.RichTextMongo;
 import cn.reghao.tnb.content.app.data.model.po.RichText;
+import cn.reghao.tnb.content.app.data.model.vo.NewsPost;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,16 +27,5 @@ public class RichTextTest {
     RichTextMongo richTextMongo;
     @Test
     public void getRichTextTest() {
-        List<RichText> list2 = richTextMongo.findAll(1);
-        for (RichText richText : list2) {
-            String pageUrl = richText.getOriginalUrl();
-            String html = richText.getContent();
-            long publishAtLong = richText.getPublishAt();
-            LocalDateTime localDateTime = DateTimeConverter.localDateTime(publishAtLong);
-            String publishAtStr = DateTimeConverter.format(localDateTime);
-            if (html.contains("video")) {
-                log.info("{} {} -> {}", richText.getContentId(), publishAtStr, pageUrl);
-            }
-        }
     }
 }