From 598d0b3e3a48f1001c60da6c4157105f264cce0d Mon Sep 17 00:00:00 2001 From: renkaige Date: Fri, 15 Feb 2019 15:12:01 +0800 Subject: [PATCH] =?UTF-8?q?1:=E6=B7=BB=E5=8A=A0=E4=B8=B2=E8=81=94=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=AB=AF=E5=8F=A3=E5=BC=82=E5=B8=B8=E6=8A=A5=E8=AD=A6?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../restful/TrafficSeriesDevicePortInfo.java | 65 +++++++++++++++++++ .../TrafficSeriesDevicePortInfoList.java | 19 ++++++ .../controller/restful/NmsInfoController.java | 37 ++++++++++- .../dao/TrafficSeriesDevicePortInfoDao.java | 7 ++ .../dao/TrafficSeriesDevicePortInfoDao.xml | 16 +++++ .../TrafficSeriesDevicePortInfoService.java | 23 +++++++ 6 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/nis/domain/restful/TrafficSeriesDevicePortInfo.java create mode 100644 src/main/java/com/nis/domain/restful/TrafficSeriesDevicePortInfoList.java create mode 100644 src/main/java/com/nis/web/dao/TrafficSeriesDevicePortInfoDao.java create mode 100644 src/main/java/com/nis/web/dao/TrafficSeriesDevicePortInfoDao.xml create mode 100644 src/main/java/com/nis/web/service/restful/TrafficSeriesDevicePortInfoService.java diff --git a/src/main/java/com/nis/domain/restful/TrafficSeriesDevicePortInfo.java b/src/main/java/com/nis/domain/restful/TrafficSeriesDevicePortInfo.java new file mode 100644 index 0000000..2ca9af2 --- /dev/null +++ b/src/main/java/com/nis/domain/restful/TrafficSeriesDevicePortInfo.java @@ -0,0 +1,65 @@ +package com.nis.domain.restful; + +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.nis.util.JsonDateDeserializer; +import com.wordnik.swagger.annotations.ApiModelProperty; + +public class TrafficSeriesDevicePortInfo implements Serializable { + + private static final long serialVersionUID = 1L; + @JsonIgnore + private long id; + private String area; + private Integer port; + private String status; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "commitTime", notes = "时间") + private Date commitTime; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public Integer getPort() { + return port; + } + + public void setPort(Integer port) { + this.port = port; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + @JsonDeserialize(using = JsonDateDeserializer.class) + public Date getCommitTime() { + return commitTime; + } + + @JsonDeserialize(using = JsonDateDeserializer.class) + public void setCommitTime(Date commitTime) { + this.commitTime = commitTime; + } +} diff --git a/src/main/java/com/nis/domain/restful/TrafficSeriesDevicePortInfoList.java b/src/main/java/com/nis/domain/restful/TrafficSeriesDevicePortInfoList.java new file mode 100644 index 0000000..405a32e --- /dev/null +++ b/src/main/java/com/nis/domain/restful/TrafficSeriesDevicePortInfoList.java @@ -0,0 +1,19 @@ +package com.nis.domain.restful; + +import java.io.Serializable; +import java.util.List; + +public class TrafficSeriesDevicePortInfoList implements Serializable { + + private static final long serialVersionUID = 1L; + private List trafficSeriesDevicePortInfoList; + + public List getTrafficSeriesDevicePortInfoList() { + return trafficSeriesDevicePortInfoList; + } + + public void setTrafficSeriesDevicePortInfoList(List trafficSeriesDevicePortInfoList) { + this.trafficSeriesDevicePortInfoList = trafficSeriesDevicePortInfoList; + } + +} diff --git a/src/main/java/com/nis/web/controller/restful/NmsInfoController.java b/src/main/java/com/nis/web/controller/restful/NmsInfoController.java index fedf948..9ac3b90 100644 --- a/src/main/java/com/nis/web/controller/restful/NmsInfoController.java +++ b/src/main/java/com/nis/web/controller/restful/NmsInfoController.java @@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController; import com.nis.domain.restful.NmsDiRuleList; import com.nis.domain.restful.TrafficNetflowPortInfoList; import com.nis.domain.restful.TrafficNmsServerStatisticList; +import com.nis.domain.restful.TrafficSeriesDevicePortInfoList; import com.nis.restful.RestBusinessCode; import com.nis.restful.RestServiceException; import com.nis.restful.ServiceRuntimeException; @@ -25,6 +26,7 @@ import com.nis.web.service.ServicesRequestLogService; import com.nis.web.service.restful.NmsDiRuleService; import com.nis.web.service.restful.TrafficNetflowPortInfoService; import com.nis.web.service.restful.TrafficNmsServerStatisticService; +import com.nis.web.service.restful.TrafficSeriesDevicePortInfoService; import com.wordnik.swagger.annotations.Api; import com.wordnik.swagger.annotations.ApiOperation; import com.wordnik.swagger.annotations.ApiParam; @@ -41,6 +43,8 @@ public class NmsInfoController extends BaseRestController { NmsDiRuleService nmsDiRuleService; @Autowired TrafficNetflowPortInfoService trafficNetflowPortInfoService; + @Autowired + TrafficSeriesDevicePortInfoService trafficSeriesDevicePortInfoService; @RequestMapping(value = "/nms/v1/saveServerStatus", method = RequestMethod.POST) @ApiOperation(value = "存储NMS系统上报的服务器状态接口", httpMethod = "POST", response = Map.class, notes = "接收NMS系统上报的服务器状态信息") @@ -119,7 +123,7 @@ public class NmsInfoController extends BaseRestController { try { if (trafficNetflowPortInfoList != null && trafficNetflowPortInfoList.getTrafficNetflowPortInfoList() != null && trafficNetflowPortInfoList.getTrafficNetflowPortInfoList().size() > 0) { - thread.setContent("NMS系统上报上报trafficNetflowPort信息数量为"+trafficNetflowPortInfoList.getTrafficNetflowPortInfoList().size()); + thread.setContent("NMS系统上报trafficNetflowPort信息数量为"+trafficNetflowPortInfoList.getTrafficNetflowPortInfoList().size()); trafficNetflowPortInfoService .saveTrafficNetflowPortInfo(trafficNetflowPortInfoList.getTrafficNetflowPortInfoList()); } else { @@ -137,5 +141,36 @@ public class NmsInfoController extends BaseRestController { return compileServiceResponse(thread, System.currentTimeMillis() - start, request, response, "上报trafficNetflowPort信息成功", Constants.IS_DEBUG ? trafficNetflowPortInfoList : null); } + + @RequestMapping(value = "/nms/v1/trafficSeriesDevicePortInfo", method = RequestMethod.POST) + @ApiOperation(value = "存储串联设备端口告警信息接口", httpMethod = "POST", response = Map.class, notes = "接收NMS系统上报的串联设备端口告警信息") + @ApiParam(value = "存储串联设备端口告警信息接口", name = "saveTrafficSeriesDevicePortInfo", required = true) + public Map saveTrafficSeriesDevicePortInfo( + @RequestBody TrafficSeriesDevicePortInfoList trafficSeriesDevicePortInfoList, HttpServletRequest request, + HttpServletResponse response) { + long start = System.currentTimeMillis(); + AuditLogThread thread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_POST, request, + trafficSeriesDevicePortInfoList); + try { + if (trafficSeriesDevicePortInfoList != null && trafficSeriesDevicePortInfoList.getTrafficSeriesDevicePortInfoList() != null + && trafficSeriesDevicePortInfoList.getTrafficSeriesDevicePortInfoList().size() > 0) { + thread.setContent("NMS系统上报串联设备端口告警信息数量为"+trafficSeriesDevicePortInfoList.getTrafficSeriesDevicePortInfoList().size()); + trafficSeriesDevicePortInfoService + .saveTrafficSeriesDevicePortInfo(trafficSeriesDevicePortInfoList.getTrafficSeriesDevicePortInfoList()); + } else { + throw new RestServiceException("参数trafficSeriesDevicePortInfoList不能为空", RestBusinessCode.missing_args.getValue()); + } + + } catch (Exception e) { + if (e instanceof RestServiceException) { + throw (RestServiceException) e; + } else { + throw new ServiceRuntimeException(thread, System.currentTimeMillis() - start, + "上报串联设备端口告警信息异常:" + e.getMessage(), RestBusinessCode.unknow_error.getValue()); + } + } + return compileServiceResponse(thread, System.currentTimeMillis() - start, request, response, + "上报串联设备端口告警信息成功", Constants.IS_DEBUG ? trafficSeriesDevicePortInfoList : null); + } } diff --git a/src/main/java/com/nis/web/dao/TrafficSeriesDevicePortInfoDao.java b/src/main/java/com/nis/web/dao/TrafficSeriesDevicePortInfoDao.java new file mode 100644 index 0000000..9d496dd --- /dev/null +++ b/src/main/java/com/nis/web/dao/TrafficSeriesDevicePortInfoDao.java @@ -0,0 +1,7 @@ +package com.nis.web.dao; + +import com.nis.domain.restful.TrafficSeriesDevicePortInfo; + +@MyBatisDao +public interface TrafficSeriesDevicePortInfoDao extends CrudDao { +} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/TrafficSeriesDevicePortInfoDao.xml b/src/main/java/com/nis/web/dao/TrafficSeriesDevicePortInfoDao.xml new file mode 100644 index 0000000..0f02000 --- /dev/null +++ b/src/main/java/com/nis/web/dao/TrafficSeriesDevicePortInfoDao.xml @@ -0,0 +1,16 @@ + + + + + INSERT INTO + traffic_seriesdevice_port_info( + commit_time, + area,port,status + ) VALUES ( + #{commitTime}, + #{area}, + #{port}, + #{status}) + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/restful/TrafficSeriesDevicePortInfoService.java b/src/main/java/com/nis/web/service/restful/TrafficSeriesDevicePortInfoService.java new file mode 100644 index 0000000..47b5e2a --- /dev/null +++ b/src/main/java/com/nis/web/service/restful/TrafficSeriesDevicePortInfoService.java @@ -0,0 +1,23 @@ +package com.nis.web.service.restful; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.nis.domain.restful.TrafficSeriesDevicePortInfo; +import com.nis.web.dao.TrafficSeriesDevicePortInfoDao; + +@Service +public class TrafficSeriesDevicePortInfoService { + @Autowired + TrafficSeriesDevicePortInfoDao trafficSeriesDevicePortInfoDao; + + @Transactional + public void saveTrafficSeriesDevicePortInfo(List trafficSeriesDevicePortInfoList) { + for (TrafficSeriesDevicePortInfo trafficSeriesDevicePortInfo : trafficSeriesDevicePortInfoList) { + trafficSeriesDevicePortInfoDao.insert(trafficSeriesDevicePortInfo); + } + } +}