From 624f4ec2204560fc244a5b77a7aadb20edc05071 Mon Sep 17 00:00:00 2001 From: lxyer <237809796@qq.com> Date: Sun, 1 Jul 2018 12:07:06 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E5=B8=96=E5=AD=90?= =?UTF-8?q?=E9=98=85=E8=AF=BB=E8=AE=A1=E6=95=B0=EF=BC=8C=E8=AE=A9=E5=B8=96?= =?UTF-8?q?=E5=AD=90=E9=98=85=E8=AF=BB=E6=95=B0=E6=9B=B4=E5=87=86=E7=A1=AE?= =?UTF-8?q?=202=E3=80=81=E6=9B=B4=E6=96=B0=E6=9C=80=E6=96=B0redkale-plugin?= =?UTF-8?q?s.jar=EF=BC=8C=E5=8A=A0=E5=85=A5redis=E9=AA=8C=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 24 ++++++--- conf/application.xml | 4 +- lib/redkale-plugins.jar | Bin 251274 -> 245718 bytes libs/redbbs.jar | Bin 73390 -> 74035 bytes src/com/lxyer/bbs/base/BaseServlet.java | 6 +++ src/com/lxyer/bbs/base/TaskQueue.java | 47 ++++++++++++++++-- src/com/lxyer/bbs/servlet/ContentServlet.java | 15 ------ 7 files changed, 68 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 46c67c5..95b9456 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,18 @@ -# redbbs - - 2018-06-17更新 - 社区升级 - 1、表字段统一小写, - 2、表模块划分 - 3、表状态等字段统一smallint +# redbbs + + 2018-07-01更新 + 1、优化帖子阅读计数,让帖子阅读数更准确 + 2、更新最新redkale-plugins.jar,加入redis验权 + + 2018-06-30更新 + 1、修改servlet层中BaseServlet中共享request的重大bug + 2、将servlet中页面统一使用HttpScope进行渲染 + 3、优化帖子阅读计数,让帖子阅读数更准确 + 4、更新最新redkale-plugins.jar,加入redis验权 + + 2018-06-17更新 + 社区升级 + 1、表字段统一小写, + 2、表模块划分 + 3、表状态等字段统一smallint 4、部分字段值重新定义 \ No newline at end of file diff --git a/conf/application.xml b/conf/application.xml index 52fabe7..6bc4073 100644 --- a/conf/application.xml +++ b/conf/application.xml @@ -6,11 +6,11 @@ - + - + diff --git a/lib/redkale-plugins.jar b/lib/redkale-plugins.jar index 49cf84f4b28f2781dc095cc01667c3052cb18478..cab281720a292fb5c0bfb1b790383cca886b289c 100644 GIT binary patch delta 26704 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

#i!!(xjKmx%KW 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 diff --git a/src/com/lxyer/bbs/base/BaseServlet.java b/src/com/lxyer/bbs/base/BaseServlet.java index 09913f8..a379c88 100644 --- a/src/com/lxyer/bbs/base/BaseServlet.java +++ b/src/com/lxyer/bbs/base/BaseServlet.java @@ -75,6 +75,12 @@ public class BaseServlet extends HttpServlet { visLog.set("userid", userid); visLog.set("uri", request.getRequestURI()); + Kv headers = Kv.create(); + request.getHeaders().forEach((k,v)->{ + headers.set(k, request.getHeader(k)); + }); + visLog.set("headers", headers); + Kv para = Kv.create(); for (String key : request.getParameterNames()){ para.set(key, request.getParameter(key)); diff --git a/src/com/lxyer/bbs/base/TaskQueue.java b/src/com/lxyer/bbs/base/TaskQueue.java index 98dcafa..228f713 100644 --- a/src/com/lxyer/bbs/base/TaskQueue.java +++ b/src/com/lxyer/bbs/base/TaskQueue.java @@ -1,20 +1,30 @@ package com.lxyer.bbs.base; +import com.lxyer.bbs.content.Content; +import com.lxyer.bbs.content.ContentService; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; +import org.bson.conversions.Bson; +import org.redkale.source.ColumnValue; import org.redkale.util.AnyValue; import javax.annotation.Resource; import java.util.Map; +import java.util.concurrent.CompletableFuture; import java.util.concurrent.LinkedBlockingQueue; +import static com.mongodb.client.model.Filters.*; + /** * Created by liangxianyou at 2018/6/20 22:54. */ public class TaskQueue extends BaseService implements Runnable { + @Resource + private ContentService contentService; + @Resource(name = "property.mongo.host") private String mongoHost; @Resource(name = "property.mongo.database") @@ -49,15 +59,44 @@ public class TaskQueue extends BaseService implements Runnable public void run() { try { while (true){ - Map take = (Map) take(); + Map logData = (Map) take(); - take.put("ftime", String.format("%1$tY%1$tm%1$td%1$tH%1$tM%1$tS", take.get("time"))); - visLog.insertOne(new Document(take)); + logData.put("ftime", String.format("%1$tY%1$tm%1$td%1$tH%1$tM%1$tS", logData.get("time"))); + visLog.insertOne(new Document(logData)); - //在这里处理日志数据[访问量] + //在这里处理日志数据 + String uri = logData.get("uri")+""; + + //[访问量] + if (uri.startsWith("/jie/detail/")){ + updateViewNumAsync(logData); + } } } catch (InterruptedException e) { e.printStackTrace(); } } + + /** + * 帖子阅读数处理 + * @param logData + */ + private void updateViewNumAsync(Map logData) { + CompletableFuture.runAsync(()->{ + Bson filter = and( + eq("uri", logData.get("uri"))//帖子 + ,eq("ip", logData.get("ip"))//IP + ,or( + eq("userid", logData.get("userid"))//登录人 + ,eq("userid", 0)//未登录userid=0 + ) + ); + long count = visLog.count(filter); + if (count <= 1){ + String uri = logData.get("uri") + ""; + int contentid = Integer.parseInt(uri.replace("/jie/detail/", "")); + source.updateColumn(Content.class, contentid, ColumnValue.inc("viewnum", 1)); + } + }); + } } diff --git a/src/com/lxyer/bbs/servlet/ContentServlet.java b/src/com/lxyer/bbs/servlet/ContentServlet.java index 307986d..d8ae9b3 100644 --- a/src/com/lxyer/bbs/servlet/ContentServlet.java +++ b/src/com/lxyer/bbs/servlet/ContentServlet.java @@ -2,7 +2,6 @@ package com.lxyer.bbs.servlet; import com.jfinal.kit.Kv; import com.lxyer.bbs.base.BaseServlet; -import com.lxyer.bbs.base.user.UserRecord; import com.lxyer.bbs.comment.CommentInfo; import com.lxyer.bbs.content.ContentInfo; import org.redkale.net.http.*; @@ -10,9 +9,6 @@ import org.redkale.source.FilterNode; import org.redkale.source.Flipper; import org.redkale.util.Sheet; -import java.util.concurrent.CompletableFuture; -import java.util.function.Supplier; - import static org.redkale.source.FilterExpress.NOTEQUAL; /** @@ -67,17 +63,6 @@ public class ContentServlet extends BaseServlet { Flipper flipper3 = new Flipper().limit(8).sort("replynum DESC"); Sheet hotReply = contentService.contentQuery(flipper3, "", sessionid); - //更新 - CompletableFuture.supplyAsync(new Supplier() { - @Override - public String get() { - UserRecord user = request.currentUser(); - if (user == null || user.getRoleid() != 0) - contentService.incrViewNum(contentid); - return ""; - } - }); - Kv kv = Kv.by("bean", content).set("comments", comments)/*.set("hotView", hotView)*/.set("hotReply", hotReply); response.finish(HttpScope.refer("/jie/detail.html").attr(kv)); }