189 lines
6.8 KiB
Java
189 lines
6.8 KiB
Java
package com.nis.web.controller.dashboard;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import com.google.gson.Gson;
|
|
import com.nis.util.JsonMapper;
|
|
import com.nis.web.controller.BaseController;
|
|
import com.nis.web.service.dashboard.DashboardService;
|
|
import com.wordnik.swagger.annotations.Api;
|
|
import com.wordnik.swagger.annotations.ApiOperation;
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
@RestController
|
|
@RequestMapping(value = "${servicePath}/log/v1")
|
|
@Api(value = "DashboardServiceController", description = "首页图表基本服务接口")
|
|
public class DashboardServiceController extends BaseController{
|
|
|
|
@Autowired
|
|
public DashboardService dashboardService;
|
|
|
|
/**
|
|
* 协议统计
|
|
*/
|
|
@RequestMapping(value="trafficProtocol", method = RequestMethod.GET)
|
|
@ApiOperation(value = "协议统计", httpMethod = "GET", notes = "对应协议统计实时统计查询服务。")
|
|
public String trafficProtocol(){
|
|
dashboardService.systemList();
|
|
|
|
Map map = new HashMap();
|
|
try {
|
|
List<Map> ipActiveChart = dashboardService.protocolChart();
|
|
if (ipActiveChart.size() > 0) {
|
|
String jsonString = JsonMapper.toJsonString(ipActiveChart);
|
|
List<HashMap> list = (java.util.List<HashMap>) JsonMapper.fromJsonList(jsonString,
|
|
HashMap.class);
|
|
map.put("data", list);
|
|
logger.info(list);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
logger.error(e);
|
|
}
|
|
return JsonMapper.toJsonString(map);
|
|
}
|
|
|
|
|
|
/**
|
|
* 活跃IP TOP10
|
|
*/
|
|
@RequestMapping(value = "trafficIpActive", method = RequestMethod.GET)
|
|
@ApiOperation(value = "活跃IP统计", httpMethod = "GET", notes = "对应活跃IP实时统计查询服务。")
|
|
public String trafficIpActive(/*Model model, HttpServletRequest request,
|
|
HttpServletResponse response*/) {
|
|
|
|
Map map = new LinkedHashMap();
|
|
try {
|
|
List<LinkedHashMap> ipActiveChart = dashboardService.ipActiveChart();
|
|
if (ipActiveChart.size() > 0) {
|
|
String jsonString = JsonMapper.toJsonString(ipActiveChart);
|
|
ArrayList<LinkedHashMap> list = (ArrayList<LinkedHashMap>) JsonMapper.fromJsonList(jsonString,
|
|
LinkedHashMap.class);
|
|
map.put("data", list);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
logger.error(e);
|
|
}
|
|
String jsonString = JsonMapper.toJsonString(map);
|
|
return jsonString;
|
|
}
|
|
/**
|
|
* app流量分析 TOP10
|
|
*/
|
|
@RequestMapping(value = "trafficApp", method = RequestMethod.GET)
|
|
@ApiOperation(value = "app流量分析统计", httpMethod = "GET", notes = "对应app流量分析实时统计查询服务。")
|
|
public String trafficApp(/*Model model, HttpServletRequest request,
|
|
HttpServletResponse response*/) {
|
|
|
|
Map map = new HashMap();
|
|
try {
|
|
List<Map> appChart = dashboardService.appChart();
|
|
if (appChart.size() > 0) {
|
|
String jsonString = JsonMapper.toJsonString(appChart);
|
|
List<HashMap> list = (java.util.List<HashMap>) JsonMapper.fromJsonList(jsonString,
|
|
HashMap.class);
|
|
map.put("data", list);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
logger.error(e);
|
|
}
|
|
return JsonMapper.toJsonString(map);
|
|
}
|
|
@RequestMapping(value = "trafficOsList", method = RequestMethod.GET)
|
|
@ApiOperation(value = "操作系统流量分析统计", httpMethod = "GET", notes = "对应终端用户的操作系统列表显示")
|
|
public String trafficOsList(/*,Model model, HttpServletRequest request,
|
|
HttpServletResponse response*/) {
|
|
|
|
Map map = new HashMap();
|
|
try {
|
|
List<Map> osChart = dashboardService.systemList();
|
|
if (osChart.size() > 0) {
|
|
String jsonString = JsonMapper.toJsonString(osChart);
|
|
List<HashMap> list = (java.util.List<HashMap>) JsonMapper.fromJsonList(jsonString,
|
|
HashMap.class);
|
|
map.put("data", list);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
logger.error(e);
|
|
}
|
|
return JsonMapper.toJsonString(map);
|
|
}
|
|
@RequestMapping(value = "trafficBrowserChart", method = RequestMethod.GET)
|
|
@ApiOperation(value = "操作系统下浏览器流量分析统计", httpMethod = "GET", notes = "对应终端用户某个操作系统的浏览器分类统计显示")
|
|
public String trafficBrowserChart(Integer osType/*,Model model, HttpServletRequest request,
|
|
HttpServletResponse response*/) {
|
|
|
|
Map map = new HashMap();
|
|
try {
|
|
List<Map> osChart = dashboardService.getBrowserBySystem(osType);
|
|
if (osChart.size() > 0) {
|
|
String jsonString = JsonMapper.toJsonString(osChart);
|
|
List<HashMap> list = (java.util.List<HashMap>) JsonMapper.fromJsonList(jsonString,
|
|
HashMap.class);
|
|
map.put("data", list);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
logger.error(e);
|
|
}
|
|
return JsonMapper.toJsonString(map);
|
|
}
|
|
@RequestMapping(value = "trafficBsList", method = RequestMethod.GET)
|
|
@ApiOperation(value = "浏览器流量分析统计", httpMethod = "GET", notes = "对应终端用户的浏览器列表显示")
|
|
public String trafficBsList(/*,Model model, HttpServletRequest request,
|
|
HttpServletResponse response*/) {
|
|
|
|
Map map = new HashMap();
|
|
try {
|
|
List<Map> bsChart = dashboardService.browserList();
|
|
if (bsChart.size() > 0) {
|
|
String jsonString = JsonMapper.toJsonString(bsChart);
|
|
List<HashMap> list = (java.util.List<HashMap>) JsonMapper.fromJsonList(jsonString,
|
|
HashMap.class);
|
|
map.put("data", list);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
logger.error(e);
|
|
}
|
|
return JsonMapper.toJsonString(map);
|
|
}
|
|
@RequestMapping(value = "trafficSystemChart", method = RequestMethod.GET)
|
|
@ApiOperation(value = "浏览器下操作系统流量分析统计", httpMethod = "GET", notes = "对应终端用户某个浏览器的操作系统分类统计显示")
|
|
public String trafficSystemChart(Integer bsType/*,Model model, HttpServletRequest request,
|
|
HttpServletResponse response*/) {
|
|
|
|
Map map = new HashMap();
|
|
try {
|
|
List<Map> bsChart = dashboardService.getSystemBybrowser(bsType);
|
|
if (bsChart.size() > 0) {
|
|
String jsonString = JsonMapper.toJsonString(bsChart);
|
|
List<HashMap> list = (java.util.List<HashMap>) JsonMapper.fromJsonList(jsonString,
|
|
HashMap.class);
|
|
map.put("data", list);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
logger.error(e);
|
|
}
|
|
return JsonMapper.toJsonString(map);
|
|
}
|
|
}
|