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); + } + } +}