package com.nis.web.controller.dashboard; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.nis.domain.FunctionServiceDict; import com.nis.domain.PageLog; import com.nis.domain.log.NtcIpLog; import com.nis.domain.maat.LogRecvData; import com.nis.util.Constants; import com.nis.util.DictUtils; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; @Controller @RequestMapping("${adminPath}/dashboard/traffic") public class TrafficStatisticsInfoController extends BaseController { /** * 协议类型详细列表 */ @RequestMapping(value="protocolTypeList") public String protocolTypeList(){ return "/dashboard/trafficProtocolTypeList"; } /** * rejectNum 封堵数量 * newUniConn 新建连接数 * liveConnNum 活跃链接数 * dropConnNum 丢弃链接数 * */ @RequestMapping(value="info") @ResponseBody public Map ipActive(){ Map fromJsonList = new HashMap(); HashMap m = new HashMap(); List list = new ArrayList(); try { String string = HttpClientUtil.get(Constants.DASHBOARD_URL+Constants.NTC_TOTAL_REPORT); Gson gson = new GsonBuilder().create(); fromJsonList = gson.fromJson(string, new TypeToken(){}.getType()); list = (ArrayList) fromJsonList.get("data"); Random r = new Random(); Double rejectNum=0d; Double dropConnNum=0d; Double monitorNum=0d; Double loopConnNum=0d; Double inoctetsNum=0d; Double outoctetsNum=0d; Double bandwidth=0d; if(list!=null&&list.size()>0){ Map map = (Map) list.get(0); rejectNum = (Double) map.get("rejectNum") ; monitorNum = (Double) map.get("monitorNum"); dropConnNum = (Double) map.get("dropConnNum"); loopConnNum = (Double) map.get("loopConnNum"); inoctetsNum = (Double) map.get("inoctets"); outoctetsNum = (Double) map.get("outoctets"); //单位换算 byte->bit/s inoctetsNum=(inoctetsNum*8)/(5*60*60); outoctetsNum=(outoctetsNum*8)/(5*60*60); } bandwidth=inoctetsNum+outoctetsNum; m.put("rejectNum", rejectNum); m.put("monitorNum", monitorNum); m.put("loopConnNum", loopConnNum); m.put("dropConnNum", dropConnNum); m.put("bandwidth", bandwidth); m.put("inoctetsNum", inoctetsNum); m.put("outoctetsNum", outoctetsNum); logger.info("统计流量信息数据"+fromJsonList); return m; } catch (Exception e) { e.printStackTrace(); logger.error("统计流量信息数据错误"+e); } return m; } }