From 413859fc59abc4db8d5e1567020bba2f3de688e2 Mon Sep 17 00:00:00 2001
From: zhangshanxue
Date: Mon, 9 Sep 2019 13:15:23 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=20=E7=99=BB=E5=BD=95=E6=A0=A1=E9=AA=8C=20=E6=9C=80=E8=BF=91?=
=?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/GetServerListController.java | 38 ++++++++++----
.../ljsd/controller/GetUserController.java | 2 +-
.../com/ljsd/controller/RegistController.java | 2 +
.../com/ljsd/pojo/UserRecentLoginInfo.java | 51 +++++++++++++++++++
src/main/webapp/index.jsp | 1 +
5 files changed, 84 insertions(+), 10 deletions(-)
create mode 100644 src/main/java/com/ljsd/pojo/UserRecentLoginInfo.java
diff --git a/src/main/java/com/ljsd/controller/GetServerListController.java b/src/main/java/com/ljsd/controller/GetServerListController.java
index 5a54d13..b84a14f 100644
--- a/src/main/java/com/ljsd/controller/GetServerListController.java
+++ b/src/main/java/com/ljsd/controller/GetServerListController.java
@@ -1,5 +1,6 @@
package com.ljsd.controller;
+import com.ljsd.pojo.UserRecentLoginInfo;
import com.ljsd.pojo.UserServerInfo;
import com.ljsd.redis.RedisKey;
import com.ljsd.util.BaseGlobal;
@@ -51,18 +52,25 @@ public class GetServerListController extends HttpServlet {
if (System.currentTimeMillis() < time) {
continue;
}
- int state = 2;
+ int state = Integer.parseInt(serverInfo.get("state").toString());
+
if (state == 0 ){
continue;
}
if (whiteList != null && state ==1){
state = 2;
}
+
+ int isnew = 0;
+ if(serverInfo.containsField("is_new"))
+ isnew = Integer.parseInt(serverInfo.get("is_new").toString());
+
DBObject res = new BasicDBObject();
res.put("name", serverInfo.get("name"));
res.put("server_id", serverInfo.get("server_id"));
res.put("state", state);
res.put("open_time", serverInfo.get("open_time"));
+ res.put("isnew", isnew);
Object ip = serverInfo.get("ip");
Object port = serverInfo.get("port");
if (state ==1){ // 服务器状态为维护的话不传给前端ip端口
@@ -75,18 +83,22 @@ public class GetServerListController extends HttpServlet {
}
//获取我的服务器列表
- Map userServerInfoMap = BaseGlobal.getInstance().redisApp.hgetAll(RedisKey.USER_SERVER_INFO, openId, UserServerInfo.class, -1, false);
- List myServerList = new ArrayList<>();
- for (Map.Entry entry : userServerInfoMap.entrySet()) {
- DBObject res = new BasicDBObject();
- res.put("server_id", entry.getKey());
- res.put("login_time", entry.getValue().getLoginTime());
- res.put("level", entry.getValue().getLevel());
- myServerList.add(res);
+ Map userServerInfoMap = BaseGlobal.getInstance().redisApp.hgetAll(RedisKey.USER_SERVER_INFO, openId, UserRecentLoginInfo.class, -1, false);
+ DBObject myLastServer = null;
+ List myServerList = new ArrayList<>();
+ int time = 0;
+ for (Map.Entry entry : userServerInfoMap.entrySet()) {
+ myServerList.add(entry.getKey());
+ if(entry.getValue().getLoginTime()>time){
+ myLastServer=getDBObject(entry.getKey(),entry.getValue());
+ }
}
+
DBObject resp = new BasicDBObject();
resp.put("serverList", serverList);
resp.put("myServerList", myServerList);
+ if(null!=myLastServer)
+ resp.put("lastServer", myLastServer);
out.print(resp.toString());
} catch (Exception e) {
e.printStackTrace();
@@ -97,6 +109,14 @@ public class GetServerListController extends HttpServlet {
}
+ private DBObject getDBObject(String serverId,UserRecentLoginInfo userRecentLoginInfo){
+ DBObject res = new BasicDBObject();
+ res.put("serverid",serverId);
+ res.put("name", userRecentLoginInfo.getName());
+ res.put("level", userRecentLoginInfo.getLevel());
+ return res;
+ }
+
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
diff --git a/src/main/java/com/ljsd/controller/GetUserController.java b/src/main/java/com/ljsd/controller/GetUserController.java
index 255c10b..bfbe9ea 100644
--- a/src/main/java/com/ljsd/controller/GetUserController.java
+++ b/src/main/java/com/ljsd/controller/GetUserController.java
@@ -102,7 +102,7 @@ public class GetUserController extends HttpServlet {
uid = (int) userInfos.get(0).get("uid");
res.put("uid", uid);
res.put("token", utoken);
- BaseGlobal.getInstance().redisApp.set(RedisKey.TOKEN, String.valueOf(uid), token, -1, false);
+ BaseGlobal.getInstance().redisApp.set(RedisKey.TOKEN, String.valueOf(uid), utoken, -1, false);
PrintWriter out = response.getWriter();
out.print(res);
out.flush();
diff --git a/src/main/java/com/ljsd/controller/RegistController.java b/src/main/java/com/ljsd/controller/RegistController.java
index 2c02fe4..34c793e 100644
--- a/src/main/java/com/ljsd/controller/RegistController.java
+++ b/src/main/java/com/ljsd/controller/RegistController.java
@@ -40,6 +40,7 @@ public class RegistController extends HttpServlet {
String state = request.getParameter("state");
String open_time = request.getParameter("open_time");
String token = request.getParameter("token");
+ String isnew = request.getParameter("isnew");
DBObject doc = new BasicDBObject();
doc.put("_id", serverId);
doc.put("name", name);
@@ -51,6 +52,7 @@ public class RegistController extends HttpServlet {
doc.put("plat", plat);
doc.put("state", state);
doc.put("open_time", open_time);
+ doc.put("isnew", isnew);
BaseGlobal.getInstance().mongoDBPool.save("server_info", doc);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
diff --git a/src/main/java/com/ljsd/pojo/UserRecentLoginInfo.java b/src/main/java/com/ljsd/pojo/UserRecentLoginInfo.java
new file mode 100644
index 0000000..e168e05
--- /dev/null
+++ b/src/main/java/com/ljsd/pojo/UserRecentLoginInfo.java
@@ -0,0 +1,51 @@
+package com.ljsd.pojo;
+
+public class UserRecentLoginInfo {
+
+ private long loginTime;
+
+ private int level;
+
+ private int uid;
+
+ private String name;
+
+ public UserRecentLoginInfo(long loginTime, int level, int uid, String name) {
+ this.loginTime = loginTime;
+ this.level = level;
+ this.uid = uid;
+ this.name = name;
+ }
+
+ public long getLoginTime() {
+ return loginTime;
+ }
+
+ public void setLoginTime(long loginTime) {
+ this.loginTime = loginTime;
+ }
+
+ public int getLevel() {
+ return level;
+ }
+
+ public void setLevel(int level) {
+ this.level = level;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp
index d9c6b1d..5876b0b 100644
--- a/src/main/webapp/index.jsp
+++ b/src/main/webapp/index.jsp
@@ -56,6 +56,7 @@
state:
open_time:
+ isnew: