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: