generated from root/miduo_server
获取服务器在线人数和注册人数
parent
5d9edb1a0d
commit
4e85c674d7
|
|
@ -38,8 +38,7 @@ public class MailController {
|
|||
private static final Logger LOGGER = LoggerFactory.getLogger(MailController.class);
|
||||
|
||||
@RequestMapping(value = "/sendMail", method = {RequestMethod.POST, RequestMethod.GET})
|
||||
public @ResponseBody
|
||||
int getSendMail(HttpSession session, HttpServletRequest request) throws Exception {
|
||||
public @ResponseBody int getSendMail(HttpSession session, HttpServletRequest request) throws Exception {
|
||||
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
|
||||
// int serverId = Integer.parseInt(parameterMap.get("serverId"));
|
||||
String[] userIds = parameterMap.get("userIds").split("#");
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public class ServerInfoController {
|
|||
List<ServerInfoVo> serverInfoVos = new ArrayList<>();
|
||||
for (ServerInfo serverInfo :serverInfos){
|
||||
ServerInfoVo serverInfoVo = new ServerInfoVo();
|
||||
serverInfoVo.setServer_id(serverInfo.getServer_id());
|
||||
serverInfoVo.setServer_id(String.valueOf(serverInfo.getServer_id()));
|
||||
serverInfoVo.setName(serverInfo.getName());
|
||||
serverInfoVo.setStatus(serverInfo.getStatus());
|
||||
serverInfoVo.setIsWhite(serverInfo.getIsWhite());
|
||||
|
|
@ -70,7 +70,7 @@ public class ServerInfoController {
|
|||
ServerInfo serverInfo = serverInfoDao.getServerinfo(server_id);
|
||||
if (serverInfo != null){
|
||||
ServerInfoVo serverInfoVo = new ServerInfoVo();
|
||||
serverInfoVo.setServer_id(serverInfo.getServer_id());
|
||||
serverInfoVo.setServer_id(String.valueOf(serverInfo.getServer_id()));
|
||||
serverInfoVo.setName(serverInfo.getName());
|
||||
serverInfoVo.setStatus(serverInfo.getStatus());
|
||||
serverInfoVo.setIsWhite(serverInfo.getIsWhite());
|
||||
|
|
@ -111,4 +111,30 @@ public class ServerInfoController {
|
|||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/serverNumberInfo", method = {RequestMethod.POST, RequestMethod.GET})
|
||||
public String serverNumberInfo(HttpSession session, ModelMap map) throws Exception {
|
||||
List<ServerInfo> serverInfos = serverInfoDao.getAllServerInfo();
|
||||
List<ServerInfoVo> serverInfoVos = new ArrayList<>();
|
||||
int totalRegisterNum = 0;
|
||||
int totalOnlineNum = 0;
|
||||
for (ServerInfo serverInfo :serverInfos){
|
||||
ServerInfoVo serverInfoVo = new ServerInfoVo();
|
||||
serverInfoVo.setServer_id(String.valueOf(serverInfo.getServer_id()));
|
||||
long registerNum = serverInfoDao.getRegisterNum(serverInfo.getServer_id());
|
||||
totalRegisterNum += registerNum;
|
||||
serverInfoVo.setRegisterNum(registerNum);
|
||||
long onlineNum = serverInfoDao.getOnlineNum(serverInfo.getServer_id());
|
||||
totalOnlineNum += onlineNum;
|
||||
serverInfoVo.setOnlineNum(onlineNum);
|
||||
serverInfoVos.add(serverInfoVo);
|
||||
}
|
||||
ServerInfoVo serverInfoVo = new ServerInfoVo();
|
||||
serverInfoVo.setServer_id("总人数");
|
||||
serverInfoVo.setRegisterNum(totalRegisterNum);
|
||||
serverInfoVo.setOnlineNum(totalOnlineNum);
|
||||
serverInfoVos.add(serverInfoVo);
|
||||
map.addAttribute("serverInfos", serverInfoVos);
|
||||
return "serverNumberInfo";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,4 +23,7 @@ public interface ServerInfoDao {
|
|||
|
||||
void addOpenServerTime(CServerOpenTime cServerOpenTime) throws Exception;
|
||||
|
||||
long getRegisterNum(int server_id) throws Exception;
|
||||
|
||||
long getOnlineNum(int server_id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.jmfy.dao.impl;
|
|||
|
||||
import com.jmfy.dao.ServerInfoDao;
|
||||
import com.jmfy.model.CServerOpenTime;
|
||||
import com.jmfy.model.CUserInfo;
|
||||
import com.jmfy.model.ServerInfo;
|
||||
import com.jmfy.redisProperties.RedisUserKey;
|
||||
import com.jmfy.utils.Connect;
|
||||
|
|
@ -95,4 +96,21 @@ public class ServerInfoDaoImpl implements ServerInfoDao {
|
|||
MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName);
|
||||
mongoTemplate.insert(cServerOpenTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getRegisterNum(int server_id) throws Exception {
|
||||
MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName);
|
||||
Query query = new Query(Criteria.where("serverid").is(server_id));
|
||||
return mongoTemplate.count(query, CUserInfo.class);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getOnlineNum(int server_id) {
|
||||
Integer num = RedisUtil.getInstence().getObject(String.valueOf(server_id), "OnlineNum:core1", Integer.class, -1);
|
||||
if (num == null){
|
||||
num = 0;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.jmfy.model.vo;
|
|||
|
||||
public class ServerInfoVo{
|
||||
|
||||
public int server_id;
|
||||
public String server_id;
|
||||
|
||||
public String name;
|
||||
|
||||
|
|
@ -14,7 +14,11 @@ public class ServerInfoVo{
|
|||
|
||||
public int isCommend;
|
||||
|
||||
public void setServer_id(int server_id) {
|
||||
public long registerNum;
|
||||
|
||||
public long onlineNum;
|
||||
|
||||
public void setServer_id(String server_id) {
|
||||
this.server_id = server_id;
|
||||
}
|
||||
|
||||
|
|
@ -37,6 +41,14 @@ public class ServerInfoVo{
|
|||
public void setIs_commend(int is_commend) {
|
||||
this.isCommend = is_commend;
|
||||
}
|
||||
|
||||
public void setRegisterNum(long registerNum) {
|
||||
this.registerNum = registerNum;
|
||||
}
|
||||
|
||||
public void setOnlineNum(long onlineNum) {
|
||||
this.onlineNum = onlineNum;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -181,8 +181,7 @@
|
|||
|
||||
});
|
||||
function sendMail() {
|
||||
var erroCode = $('.SERVERID');
|
||||
var serverId = $("input[name='serverId']").val();
|
||||
var erroCode = $('.USERIDS');
|
||||
var userIds = $("textarea[name='userIds']").val();
|
||||
var mailTitle = $("input[name='mailTitle']").val();
|
||||
var mailContent = $("textarea[name='mailContent']").val();
|
||||
|
|
@ -199,10 +198,6 @@ function sendMail() {
|
|||
$("input[name='itemType']").each(function(){
|
||||
itemTypes.push($(this).val());
|
||||
});
|
||||
if (serverId === '' || serverId == null) {
|
||||
erroCode.html('<span style="color: red; ">服务器id不能为空!</span>');
|
||||
return false;
|
||||
}
|
||||
if (userIds === '' || userIds == null) {
|
||||
erroCode = $('.USERIDS');
|
||||
erroCode.html('<span style="color: red; ">用户id不能为空!</span>');
|
||||
|
|
@ -221,7 +216,6 @@ function sendMail() {
|
|||
$.ajax({
|
||||
type: "POST",
|
||||
data: {
|
||||
"serverId": serverId,
|
||||
"userIds": userIds,
|
||||
"mailTitle": mailTitle,
|
||||
"mailContent": mailContent,
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<span class="c-gray en">></span> 宗門信息管理
|
||||
<span class="c-gray en">></span> 宗門信息查询
|
||||
<span class="c-gray en">></span> 宗門成员信息查询
|
||||
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace('/findServerInfo');" title="刷新" ><i class="Hui-iconfont"></i></a>
|
||||
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace('/findFamilyLeaguerInfo');" title="刷新" ><i class="Hui-iconfont"></i></a>
|
||||
</nav>
|
||||
<div class="page-container" style="text-align: center">
|
||||
<h2><span style="color:red;">宗門成员信息</span></h2>
|
||||
|
|
@ -76,41 +76,6 @@ $('.table-sort').dataTable({
|
|||
{"orderable":false,"aTargets":[0,5]}// 不参与排序的列
|
||||
]
|
||||
});
|
||||
/*开启白名单*/
|
||||
function picture_start(obj,server_id){
|
||||
server_id = $(obj).attr("id");
|
||||
layer.confirm('确认要开启吗?',function(){
|
||||
$(obj).parents("tr").find(".td-status").html('<a th:id="${obj.server_id}" onClick="product_stop(this)" href="javascript:;" title="关闭白名单"><span class="label label-success radius">已开启</span></a>');
|
||||
$.post("/openWhite",{"server_id":server_id},function(data){
|
||||
if (data == 1){
|
||||
$(obj).remove();
|
||||
$.post("/findServerInfo",function(){
|
||||
|
||||
});
|
||||
layer.msg('已开启!',{icon: 6,time:1000});
|
||||
}
|
||||
if (data == 2){
|
||||
layer.msg('操作失败!',{icon: 6,time:1000});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
/*关闭白名单*/
|
||||
function product_stop(obj,server_id){
|
||||
server_id = $(obj).attr("id");
|
||||
layer.confirm('确认要关闭吗?', function (index) {
|
||||
$(obj).parents("tr").find(".td-status").html('<a th:id="${obj.server_id}" onClick="picture_start(this)" href="javascript:;" title="开启白名单"> <span class="label label-defaunt radius">已关闭</span></a>');
|
||||
$.post("/closeWhite", {"server_id": server_id}, function (data) {
|
||||
if (data == 1){
|
||||
$(obj).remove();
|
||||
layer.msg('已关闭!', {icon: 5, time: 1000});
|
||||
}
|
||||
if (data ==2){
|
||||
layer.msg('操作失败!',{icon: 6,time:1000});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -71,6 +71,7 @@
|
|||
<dd>
|
||||
<ul>
|
||||
<li><a data-href="findServerInfo" data-title="服务器列表" href="javascript:void(0)">服务器信息</a></li>
|
||||
<li><a data-href="serverNumberInfo" data-title="服务器列表" href="javascript:void(0)">服务器注册,在线人数</a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="renderer" content="webkit|ie-comp|ie-stand"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
||||
<script type="text/javascript" src="lib/html5shiv.js"></script>
|
||||
<script type="text/javascript" src="lib/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="h-ui/css/H-ui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/H-ui.admin.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="lib/Hui-iconfont/1.0.8/iconfont.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="h-ui.admin/skin/default/skin.css" id="skin"/>
|
||||
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/style.css"/>
|
||||
<script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js"></script>
|
||||
<script>DD_belatedPNG.fix('*');</script>
|
||||
<title>服务器列表信息</title>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="breadcrumb">
|
||||
<a href="javascript:;" onclick="history.go(-1)"><i class="Hui-iconfont"></i> 首页</a>
|
||||
<span class="c-gray en">></span> 服务器管理
|
||||
<span class="c-gray en">></span> 服务器信息
|
||||
<span class="c-gray en">></span> 服务器注册在线人数查询
|
||||
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace('/serverNumberInfo');" title="刷新" ><i class="Hui-iconfont"></i></a>
|
||||
</nav>
|
||||
<div class="page-container" style="text-align: center">
|
||||
<h2><span style="color:red;">服务器注册在线人数查询</span></h2>
|
||||
<div class="text-c">
|
||||
<div class="mt-20">
|
||||
<table class="table table-border table-bordered table-bg table-hover table-sort table-responsive">
|
||||
<thead>
|
||||
<tr class="text-c">
|
||||
<th width="200">服务器id</th>
|
||||
<th width="200">注册人数</th>
|
||||
<th width="200">在线人数</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr th:each="obj:${serverInfos}">
|
||||
<td th:text="${obj.server_id}" style="text-align: center;"></td>
|
||||
<td th:text="${obj.registerNum}" style="text-align: center;"></td>
|
||||
<td th:text="${obj.onlineNum}" style="text-align: center;"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<!--_footer 作为公共模版分离出去-->
|
||||
<script type="text/javascript" src="lib/jquery/1.9.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="lib/layer/2.4/layer.js"></script>
|
||||
<script type="text/javascript" src="h-ui/js/H-ui.min.js"></script>
|
||||
<script type="text/javascript" src="h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
|
||||
|
||||
<!--请在下方写此页面业务相关的脚本-->
|
||||
<script type="text/javascript" src="lib/My97DatePicker/4.8/WdatePicker.js"></script>
|
||||
<!--<script type="text/javascript" src="lib/datatables/1.10.0/jquery.dataTables.min.js"></script>-->
|
||||
<script type="text/javascript" src="lib/laypage/1.2/laypage.js"></script>
|
||||
<script type="text/javascript">
|
||||
$('.table-sort').dataTable({
|
||||
"aaSorting": [[ 1, "desc" ]],//默认第几个排序
|
||||
"bStateSave": true,//状态保存
|
||||
"pading":false,
|
||||
"aoColumnDefs": [
|
||||
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
|
||||
{"orderable":false,"aTargets":[0,0]}// 不参与排序的列
|
||||
]
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue