diff --git a/root/index.html b/root/index.html
index 5a324b9..9a56b8b 100644
--- a/root/index.html
+++ b/root/index.html
@@ -79,7 +79,7 @@
#for(x : contents.rows??)
-
-
+
diff --git a/root/res/mods/user.js b/root/res/mods/user.js
index 763b321..9302fdc 100644
--- a/root/res/mods/user.js
+++ b/root/res/mods/user.js
@@ -288,8 +288,6 @@ layui.define(['laypage', 'fly', 'element', 'flow'], function(exports){
bean:JSON.stringify({username:fdata.username, password:fdata.password})
,vercode:fdata.vercode
},function (data) {
- console.log(data);
- //data = JSON.parse(data);
if(data.retcode != 0){
layer.msg(data.retinfo);
return false;
@@ -330,7 +328,6 @@ layui.define(['laypage', 'fly', 'element', 'flow'], function(exports){
bean:JSON.stringify(bean)
,columns:JSON.stringify(columns)
},function (res) {
- res = JSON.parse(res);
if(res.retcode != 0){
layer.msg(res.retinfo);
return false;
@@ -345,7 +342,6 @@ layui.define(['laypage', 'fly', 'element', 'flow'], function(exports){
nowpass:data.field.nowpass
,pass:data.field.pass
},function (res) {
- res = JSON.parse(res);
if(res.retcode != 0){
layer.msg(res.retinfo);
return false;
diff --git a/src/com/lxyer/bbs/base/BaseServlet.java b/src/com/lxyer/bbs/base/BaseServlet.java
index c134299..49c3698 100644
--- a/src/com/lxyer/bbs/base/BaseServlet.java
+++ b/src/com/lxyer/bbs/base/BaseServlet.java
@@ -178,7 +178,7 @@ public class BaseServlet extends HttpServlet {
UserInfo userInfo = request.currentUser();
if (userInfo == null){
node.and("status", FilterExpress.NOTEQUAL, 3);
- }else {
+ }else if (!userService.isAdmin(currentId)){
//select * from content c where c.status != -1 and (c.status!=3 or (c.status=3 and c.userId=100001))
node.and(FilterNode.create("status", FilterExpress.NOTEQUAL, 3).or(FilterNode.create("status", 3).and("userId", userInfo.getUserId())));
}
diff --git a/src/com/lxyer/bbs/base/user/UserService.java b/src/com/lxyer/bbs/base/user/UserService.java
index 7b35fad..3e0390b 100644
--- a/src/com/lxyer/bbs/base/user/UserService.java
+++ b/src/com/lxyer/bbs/base/user/UserService.java
@@ -13,6 +13,7 @@ import org.redkale.util.SelectColumn;
import org.redkale.util.Sheet;
import java.util.ArrayList;
+import java.util.List;
import java.util.Objects;
import java.util.Random;
@@ -167,4 +168,18 @@ public class UserService extends BaseService {
public Number userCount() {
return source.getNumberResult(User.class, FilterFunc.COUNT, "userId", FilterNode.create("status", FilterExpress.NOTEQUAL, -1));
}
+
+ @RestMapping(ignore = true, comment = "判断用户是否是管理员")
+ public boolean isAdmin(int userId){
+ if (userId <= 0) return false;
+
+ List userIds = source.queryColumnList("userId", User.class, FilterNode.create("roleId", 1));
+ for (Integer x : userIds) {
+ if (userId == x) {
+ return true;
+ }
+ }
+
+ return false;
+ }
}
diff --git a/src/com/lxyer/bbs/content/ContentService.java b/src/com/lxyer/bbs/content/ContentService.java
index 7d47e5c..a566564 100644
--- a/src/com/lxyer/bbs/content/ContentService.java
+++ b/src/com/lxyer/bbs/content/ContentService.java
@@ -65,9 +65,10 @@ public class ContentService extends BaseService{
case "solved": filterNode.and("solved", 1);break;
case "wonderful": filterNode.and("wonderful", 1);break;
}
- if (currentId > 0){
+
+ if (!userService.isAdmin(currentId)){//私密贴:非管理员限制查看
filterNode.and(FilterNode.create("status", FilterExpress.NOTEQUAL, 3).or(FilterNode.create("status", 3).and("userId", currentId)));
- }else {
+ }else if (currentId <= 0){//私密贴:未登录限制查看
filterNode.and("status", FilterExpress.NOTEQUAL, 3);
}
@@ -164,7 +165,7 @@ public class ContentService extends BaseService{
int userId = userService.currentUserId(sessionid);
Flipper flipper = new Flipper().sort("createTime DESC");
- FilterNode filterNode = FilterNode.create("cate", 2).and("status", 1);
+ FilterNode filterNode = FilterNode.create("cate", 2).and("status", 1).and("userId", userId);
Sheet actLogs = source.querySheet(ActLog.class, SelectColumn.createIncludes("tid", "createTime"), flipper, filterNode);
int[] contentids = actLogs.stream().mapToInt(x -> x.getTid()).toArray();