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 ipActiveChart = dashboardService.protocolChart(); if (ipActiveChart.size() > 0) { String jsonString = JsonMapper.toJsonString(ipActiveChart); List list = (java.util.List) 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 ipActiveChart = dashboardService.ipActiveChart(); if (ipActiveChart.size() > 0) { String jsonString = JsonMapper.toJsonString(ipActiveChart); ArrayList list = (ArrayList) 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 appChart = dashboardService.appChart(); if (appChart.size() > 0) { String jsonString = JsonMapper.toJsonString(appChart); List list = (java.util.List) 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 osChart = dashboardService.systemList(); if (osChart.size() > 0) { String jsonString = JsonMapper.toJsonString(osChart); List list = (java.util.List) 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 osChart = dashboardService.getBrowserBySystem(osType); if (osChart.size() > 0) { String jsonString = JsonMapper.toJsonString(osChart); List list = (java.util.List) 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 bsChart = dashboardService.browserList(); if (bsChart.size() > 0) { String jsonString = JsonMapper.toJsonString(bsChart); List list = (java.util.List) 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 bsChart = dashboardService.getSystemBybrowser(bsType); if (bsChart.size() > 0) { String jsonString = JsonMapper.toJsonString(bsChart); List list = (java.util.List) JsonMapper.fromJsonList(jsonString, HashMap.class); map.put("data", list); } } catch (Exception e) { e.printStackTrace(); logger.error(e); } return JsonMapper.toJsonString(map); } }