From 976c62197a5c42bb3fef311cb51efc9673899d67 Mon Sep 17 00:00:00 2001 From: lxyer <237809796@qq.com> Date: Thu, 5 Apr 2018 21:08:30 +0800 Subject: [PATCH] . --- root/index.html | 13 +++---- root/jie/detail.html | 2 +- src/com/lxyer/bbs/base/LxyKit.java | 37 ++++++++++++++++++++ src/com/lxyer/bbs/base/RetCodes.java | 6 ++++ src/com/lxyer/bbs/base/user/UserService.java | 20 +++++++++-- src/com/lxyer/bbs/servlet/IndexServlet.java | 5 ++- 6 files changed, 69 insertions(+), 14 deletions(-) diff --git a/root/index.html b/root/index.html index 1fc17f6..8710d38 100644 --- a/root/index.html +++ b/root/index.html @@ -18,7 +18,7 @@ #(x.nickname)

- 动态 + #(x.typeName) #(x.title)

@@ -162,7 +162,7 @@

- 总用户:0人 + 总用户:#(userCount??"0") 人

@@ -200,18 +200,13 @@
#end - #define link() - #end
@@ -235,7 +230,7 @@ fly: 'index' }).use('fly',function () { var fly = layui.fly; - fly.userstat(); + //fly.userstat(); }); #end \ No newline at end of file diff --git a/root/jie/detail.html b/root/jie/detail.html index f3b6f17..24fa8d7 100644 --- a/root/jie/detail.html +++ b/root/jie/detail.html @@ -13,7 +13,7 @@

#(bean.title)

- 动态 + #(bean.typeName) 未结 diff --git a/src/com/lxyer/bbs/base/LxyKit.java b/src/com/lxyer/bbs/base/LxyKit.java index 5f8d70a..138cf60 100644 --- a/src/com/lxyer/bbs/base/LxyKit.java +++ b/src/com/lxyer/bbs/base/LxyKit.java @@ -1,6 +1,8 @@ package com.lxyer.bbs.base; import java.text.SimpleDateFormat; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Created by Lxy at 2017/11/29 15:17. @@ -30,4 +32,39 @@ public final class LxyKit { return new SimpleDateFormat("yyyy-MM-dd").format(time); } + + public static String delHTMLTag(String htmlStr){ + String regEx_script="]*?>[\\s\\S]*?<\\/script>"; //定义script的正则表达式 + String regEx_style="]*?>[\\s\\S]*?<\\/style>"; //定义style的正则表达式 + String regEx_html="<[^>]+>"; //定义HTML标签的正则表达式 + + Pattern p_script=Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE); + Matcher m_script=p_script.matcher(htmlStr); + htmlStr=m_script.replaceAll(""); //过滤script标签 + + Pattern p_style=Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE); + Matcher m_style=p_style.matcher(htmlStr); + htmlStr=m_style.replaceAll(""); //过滤style标签 + + Pattern p_html=Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE); + Matcher m_html=p_html.matcher(htmlStr); + htmlStr=m_html.replaceAll(""); //过滤html标签 + + return htmlStr.trim(); //返回文本字符串 + } + + 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/base/RetCodes.java b/src/com/lxyer/bbs/base/RetCodes.java index 3ed3bf8..969defc 100644 --- a/src/com/lxyer/bbs/base/RetCodes.java +++ b/src/com/lxyer/bbs/base/RetCodes.java @@ -39,6 +39,12 @@ public abstract class RetCodes { @RetLabel("邮箱无效") public static final int RET_USER_EMAIL_ILLEGAL = 3002_0009; + @RetLabel("昵称无效") + public static final int RET_USER_NICKNAME_ILLEGAL = 3002_0010; + + @RetLabel("昵称已存在") + public static final int RET_USER_NICKNAME_EXISTS = 3002_0011; + //------------------------------------- 内容模块 ----------------------------------------- //------------------------------------- 评论模块 ----------------------------------------- diff --git a/src/com/lxyer/bbs/base/user/UserService.java b/src/com/lxyer/bbs/base/user/UserService.java index dfb9ff2..11cf962 100644 --- a/src/com/lxyer/bbs/base/user/UserService.java +++ b/src/com/lxyer/bbs/base/user/UserService.java @@ -1,6 +1,5 @@ package com.lxyer.bbs.base.user; -import com.jfinal.kit.Kv; import com.lxyer.bbs.base.BaseService; import com.lxyer.bbs.base.LxyKit; import com.lxyer.bbs.base.RetCodes; @@ -16,7 +15,6 @@ import org.redkalex.cache.RedisCacheSource; import javax.annotation.Resource; import java.util.ArrayList; -import java.util.Map; import java.util.Objects; import java.util.Random; @@ -62,6 +60,7 @@ public class UserService extends BaseService { } @RestMapping(name = "userid") public int currentUserId(String sessionid){ + if (sessionid == null) return 0; Integer userid = sessions.getAndRefresh(sessionid, sessionExpireSeconds); return userid == null ? 0 : userid; } @@ -125,6 +124,16 @@ public class UserService extends BaseService { @RestMapping(name = "update", comment = "用户信息修改") public RetResult userUpdate(@RestSessionid String sessionid, @RestParam(name = "bean") User user, String[] columns){ + String nickname = user.getNickname(); + if (nickname == null && nickname.isEmpty()) + return RetCodes.retResult(RET_USER_NICKNAME_ILLEGAL, "昵称无效"); + + nickname = nickname.replace(" ", ""); + User _user = source.find(User.class, FilterNode.create("nickname", nickname)); + if (_user != null && _user.getUserId() != currentUserId(sessionid)) + return RetCodes.retResult(RET_USER_NICKNAME_EXISTS, "昵称已存在"); + + user.setNickname(nickname);//去除昵称中的空格 source.updateColumn(user ,FilterNode.create("userId", currentUserId(sessionid)) ,SelectColumn.createIncludes(columns) @@ -154,11 +163,16 @@ public class UserService extends BaseService { return infos; } - @RestMapping(name = "stat", auth = false, comment = "用户数据统计") + /*@RestMapping(name = "stat", auth = false, comment = "用户数据统计") public Map userStat(){ Number count = source.getNumberResult(User.class, FilterFunc.COUNT, "userId", FilterNode.create("status", FilterExpress.NOTEQUAL, -1)); return Kv.by("count", count); + }*/ + + @RestMapping(name = "usercount", auth = false, comment = "用户数据统计") + public Number userCount() { + return source.getNumberResult(User.class, FilterFunc.COUNT, "userId", FilterNode.create("status", FilterExpress.NOTEQUAL, -1)); } } diff --git a/src/com/lxyer/bbs/servlet/IndexServlet.java b/src/com/lxyer/bbs/servlet/IndexServlet.java index e49fc99..c48aa47 100644 --- a/src/com/lxyer/bbs/servlet/IndexServlet.java +++ b/src/com/lxyer/bbs/servlet/IndexServlet.java @@ -64,7 +64,10 @@ public class IndexServlet extends BaseServlet { //最新加入 Sheet lastReg = userService.lastReg(); - Kv kv = Kv.by("top", top).set("contents", contents).set("hotReply", hotReply).set("lastReg", lastReg); + //用户统计 + Number userCount = userService.userCount(); + + Kv kv = Kv.by("top", top).set("contents", contents).set("hotReply", hotReply).set("lastReg", lastReg).set("userCount", userCount); finish("index.html", kv); }