diff --git a/README.md b/README.md index 878e89a..73c740f 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,9 @@ # redbbs - - 2018-07-01更新 - 1、优化帖子阅读计数,让帖子阅读数更准确 - 2、更新最新redkale-plugins.jar,加入redis验权 - 3、栏目页用户昵称点击跳转失败,栏目下帖子a标签中加入title属性 - 4、修改本周热贴,查询一周内访问量最多的帖子 - - 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、部分字段值重新定义 ### 项目介绍 - redbbs是基于redkale实现java bbs论坛系统; - 简单易使用、可扩展、高性能; - 修改配置文件,运行启动脚本便可快速实现论坛系统的搭建; + redbbs是基于redkale实现java bbs论坛系统; + 简单易使用、可扩展、高性能; + 修改配置文件,运行启动脚本便可快速实现论坛系统的搭建; ### 实现功能 ##### 用户模块 @@ -54,7 +35,7 @@ ### 使用到的相关技术和相关人员 redkale -- 后端主要框架 - enjoy -- 数据渲染 + enjoy -- 数据渲染 查看jfinal使用文档 layui -- 前端界面 diff --git a/conf/apidoc-template.html b/conf/apidoc-template.html index 8e6186a..0801538 100644 --- a/conf/apidoc-template.html +++ b/conf/apidoc-template.html @@ -22,7 +22,7 @@ var createhtml = function (jsoncontent) { var classmap = jsoncontent.types; var html = []; - html.push('
'); + html.push('
'); html.push('

'); for (var i = 0; i < jsoncontent.servers.length; i++) { var servlets = jsoncontent.servers[i].servlets; diff --git a/conf/redbbs.sql b/doc/redbbs.sql similarity index 100% rename from conf/redbbs.sql rename to doc/redbbs.sql diff --git a/doc/update_log.md b/doc/update_log.md new file mode 100644 index 0000000..0f1ea13 --- /dev/null +++ b/doc/update_log.md @@ -0,0 +1,22 @@ +#更新日志 + 2018-07-21更新 + 1、登录的用户,访问首页进入自己的工作台 + + 2018-07-01更新 + 1、优化帖子阅读计数,让帖子阅读数更准确 + 2、更新最新redkale-plugins.jar,加入redis验权 + 3、栏目页用户昵称点击跳转失败,栏目下帖子a标签中加入title属性 + 4、修改本周热贴,查询一周内访问量最多的帖子 + + 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/lib/redkale.jar b/lib/redkale.jar index d6ba695..6365404 100644 Binary files a/lib/redkale.jar and b/lib/redkale.jar differ diff --git a/libs/redbbs.jar b/libs/redbbs.jar index 4621138..0fa2d32 100644 Binary files a/libs/redbbs.jar and b/libs/redbbs.jar differ diff --git a/pom.xml b/pom.xml index fc065ff..b5ff06e 100644 --- a/pom.xml +++ b/pom.xml @@ -40,7 +40,12 @@ diff --git a/root/readme.md b/root/readme.md deleted file mode 100644 index 26eae94..0000000 --- a/root/readme.md +++ /dev/null @@ -1 +0,0 @@ -#功能模块 diff --git a/src/com/lxyer/bbs/base/TaskQueue.java b/src/com/lxyer/bbs/base/TaskQueue.java index 4a30006..d9f2bcf 100644 --- a/src/com/lxyer/bbs/base/TaskQueue.java +++ b/src/com/lxyer/bbs/base/TaskQueue.java @@ -17,6 +17,8 @@ import com.mongodb.client.model.Accumulators; import com.mongodb.client.model.Aggregates; import org.bson.Document; import org.bson.conversions.Bson; +import org.redkale.net.http.RestMapping; +import org.redkale.net.http.RestService; import org.redkale.source.ColumnValue; import org.redkale.source.FilterExpress; import org.redkale.source.FilterNode; @@ -35,6 +37,7 @@ import static java.util.Arrays.asList; /** * Created by liangxianyou at 2018/6/20 22:54. */ +@RestService(name = "xxx",automapping = true, comment = "日志记录") public class TaskQueue extends BaseService implements Runnable { @Resource @@ -73,6 +76,7 @@ public class TaskQueue extends BaseService implements Runnable } @Override + @RestMapping(ignore = true, comment = "独立线程,用户访问行为记录到数据库") public void run() { try { while (true){ @@ -94,10 +98,7 @@ public class TaskQueue extends BaseService implements Runnable } } - /** - * 帖子阅读数处理 - * @param logData - */ + @RestMapping(ignore = true, comment = "帖子阅读数处理") private void updateViewNumAsync(Map logData) { CompletableFuture.runAsync(()->{ Bson filter = and( @@ -117,6 +118,7 @@ public class TaskQueue extends BaseService implements Runnable }); } + @RestMapping(ignore = true, comment = "访问热帖数据") public Sheet hotView(String sessionid){ int limit = 8; String cacheKey = "hotView"; @@ -168,8 +170,8 @@ public class TaskQueue extends BaseService implements Runnable /** * TODO:帖子访客记录 --待完成 - * @return */ + @RestMapping(ignore = true, comment = "帖子访客记录") public Sheet readRecordAsync(Flipper flipper ,int contentid){ Bson filter = eq("uri", "/jie/detail/"+ contentid); diff --git a/src/com/lxyer/bbs/base/kit/EJ.java b/src/com/lxyer/bbs/base/kit/EJ.java index 312d28e..55884f7 100644 --- a/src/com/lxyer/bbs/base/kit/EJ.java +++ b/src/com/lxyer/bbs/base/kit/EJ.java @@ -5,6 +5,8 @@ import org.redkale.net.http.RestService; import java.text.SimpleDateFormat; /** + * enjoy模板引擎使用共享方法类, + * 更多关于enjoy的共享方法请查阅jfinal使用文档 * Created by Lxy at 2017/11/26 17:19. */ @RestService @@ -17,25 +19,4 @@ public class EJ { return new SimpleDateFormat(pattern).format(time); } - - public static void main(String[] args) { - /*EJ ej = new EJ(); - - System.out.println(ej.date(1511682960591L));*/ - /*List list = asList( - Kv.by("k", 1).set("a", "1+1=?").set("q", 2) - , Kv.by("k", 2).set("a", "1*1=?").set("q", 1) - , Kv.by("k", 3).set("a", "3+2-5=?").set("q", 0) - , Kv.by("k", 4).set("a", "Math.abs(-3)=?").set("q", 3) - ); - - int k = 3; - Kv kv = list.stream().filter(x -> x.getInt("k") == k).findFirst().orElse(Kv.create()); - - System.out.println(System.currentTimeMillis()); - System.out.println(kv.toString()); - System.out.println(kv.getStr("q").equals("0"));*/ - - } - } diff --git a/src/com/lxyer/bbs/base/kit/LxyKit.java b/src/com/lxyer/bbs/base/kit/LxyKit.java index c6cceb6..a1d945f 100644 --- a/src/com/lxyer/bbs/base/kit/LxyKit.java +++ b/src/com/lxyer/bbs/base/kit/LxyKit.java @@ -67,16 +67,4 @@ public final class LxyKit { } return ts; } - - - public static void main(String[] args) { - Pattern p = Pattern.compile("@* "); - - Matcher matcher = p.matcher("@nick [污] "); - - int count = 0; - while (matcher.find()) { - count++; - } - } } diff --git a/src/com/lxyer/bbs/comment/CommentService.java b/src/com/lxyer/bbs/comment/CommentService.java index 72bc5c6..e445152 100644 --- a/src/com/lxyer/bbs/comment/CommentService.java +++ b/src/com/lxyer/bbs/comment/CommentService.java @@ -80,6 +80,7 @@ public class CommentService extends BaseService implements UIService queryByUserid(int userid){ Sheet comments = source.querySheet(Comment.class, new Flipper().sort("createtime DESC"), FilterNode.create("userid", userid)); @@ -94,7 +95,7 @@ public class CommentService extends BaseService implements UIService commentRank(){ Flipper flipper = new Flipper().limit(8); source.querySheet(Comment.class, flipper, FilterNode.create("userid", FilterExpress.IN)); diff --git a/src/com/lxyer/bbs/content/ContentService.java b/src/com/lxyer/bbs/content/ContentService.java index ce55f2e..333ed30 100644 --- a/src/com/lxyer/bbs/content/ContentService.java +++ b/src/com/lxyer/bbs/content/ContentService.java @@ -10,6 +10,7 @@ import com.lxyer.bbs.base.user.UserService; import org.redkale.net.http.*; import org.redkale.service.RetResult; import org.redkale.source.*; +import org.redkale.util.Comment; import org.redkale.util.SelectColumn; import org.redkale.util.Sheet; @@ -18,18 +19,13 @@ import javax.annotation.Resource; /** * Created by Lxy at 2017/11/26 9:33. */ -@RestService(automapping = true, comment = "内容管理") +@RestService(automapping = true, comment = "文章帖子服务") public class ContentService extends BaseService implements UIService { @Resource protected UserService userService; - /** - * - * @param flipper - * @param filterNode - * @return - */ + @RestMapping(ignore = true, comment = "根据条件查询帖子数据") public Sheet contentQuery(Flipper flipper, FilterNode filterNode){ Sheet contents = source.querySheet(Content.class, flipper, filterNode); @@ -64,7 +60,7 @@ public class ContentService extends BaseService implements UIService 64){ @@ -91,7 +87,7 @@ public class ContentService extends BaseService implements UIService { + if (content.getUserid() == userid && userService.isAdmin(userid)){//管理员可以做更多 + //field: status|top|wonderful + // update content set {field}={v} where id={id} + source.updateColumn(Content.class, id, field, v); + }else if (content.getUserid() == userid && ("status".equals(field))){//非管理员只能修改状态 + source.updateColumn(Content.class, id, field, v); + } + }); return RetResult.success(); } diff --git a/src/com/lxyer/bbs/servlet/ContentServlet.java b/src/com/lxyer/bbs/servlet/ContentServlet.java index a0ef8fd..5b0a50a 100644 --- a/src/com/lxyer/bbs/servlet/ContentServlet.java +++ b/src/com/lxyer/bbs/servlet/ContentServlet.java @@ -15,8 +15,7 @@ import static org.redkale.source.FilterExpress.NOTEQUAL; * 帖子相关 * Created by liangxianyou at 2018/6/4 13:15. */ -@WebServlet({"/jie" ,"/jie/*" - ,"/column","/column/*"}) +@WebServlet(value = {"/jie" ,"/jie/*","/column","/column/*"}, comment = "文章帖子入口") public class ContentServlet extends BaseServlet { @HttpMapping(url = "/jie", auth = false, comment = "问答列表") public void jie(HttpRequest request, HttpResponse response){ diff --git a/src/com/lxyer/bbs/servlet/FileServlet.java b/src/com/lxyer/bbs/servlet/FileServlet.java index 4ebfb7a..5def827 100644 --- a/src/com/lxyer/bbs/servlet/FileServlet.java +++ b/src/com/lxyer/bbs/servlet/FileServlet.java @@ -14,7 +14,7 @@ import java.util.Map; * 文件相关 * Created by liangxianyou at 2018/6/4 13:17. */ -@WebServlet({"/upload","/upload/*"}) +@WebServlet(value = {"/upload","/upload/*"}, comment = "文件管理入口") public class FileServlet extends BaseServlet { private static final String dir = "/var/www/upload/redbbs/"; diff --git a/src/com/lxyer/bbs/servlet/IndexServlet.java b/src/com/lxyer/bbs/servlet/IndexServlet.java index 9db8c46..a7d5a6f 100644 --- a/src/com/lxyer/bbs/servlet/IndexServlet.java +++ b/src/com/lxyer/bbs/servlet/IndexServlet.java @@ -17,9 +17,7 @@ import static org.redkale.source.FilterExpress.NOTEQUAL; /** * Created by Lxy at 2017/11/25 12:31. */ -@WebServlet({"/","/project" - /* ,"/article","/article/*" */ -}) +@WebServlet(value = {"/","/project" /* ,"/article","/article/*" */}, comment = "首页一级菜单入口") public class IndexServlet extends BaseServlet { @HttpMapping(url = "/", auth = false, comment = "社区首页") diff --git a/src/com/lxyer/bbs/servlet/UserServlet.java b/src/com/lxyer/bbs/servlet/UserServlet.java index e3cd784..d64b493 100644 --- a/src/com/lxyer/bbs/servlet/UserServlet.java +++ b/src/com/lxyer/bbs/servlet/UserServlet.java @@ -17,7 +17,7 @@ import org.redkale.util.Sheet; * 用户相关的servlet * Created by liangxianyou at 2018/6/4 13:12. */ -@WebServlet({"/user", "/user/*"}) +@WebServlet(value = {"/user", "/user/*"}, comment = "用户请求入口") public class UserServlet extends BaseServlet {