package edu.sjtu.infosec.ismp.manager.EM.service.impl; import java.io.Serializable; import java.util.List; import edu.sjtu.infosec.ismp.manager.EM.comm.Page; import edu.sjtu.infosec.ismp.manager.EM.dao.IEventGetTopoDao; import edu.sjtu.infosec.ismp.manager.EM.dao.IEventmoniDao; import edu.sjtu.infosec.ismp.manager.EM.dao.IEventtaskseleDao; import edu.sjtu.infosec.ismp.manager.EM.dao.Status; import edu.sjtu.infosec.ismp.manager.EM.dao.impl.EventGetTopoDao; import edu.sjtu.infosec.ismp.manager.EM.dao.impl.EventmoniDao; import edu.sjtu.infosec.ismp.manager.EM.dao.impl.EventtaskseleDao; import edu.sjtu.infosec.ismp.manager.EM.dao.queryCondition.EventGetTopoCondition; import edu.sjtu.infosec.ismp.manager.EM.dao.queryCondition.EventmoniCondition; import edu.sjtu.infosec.ismp.manager.EM.dao.queryResult.EventGetTopoResult; import edu.sjtu.infosec.ismp.manager.EM.dao.queryResult.EventmoniResult; import edu.sjtu.infosec.ismp.manager.EM.model.Eventmoni; import edu.sjtu.infosec.ismp.manager.EM.model.Eventtasksele; import edu.sjtu.infosec.ismp.manager.EM.service.IEventmoniService; /** * 事件监测表的功能实现 * * @author wudengke 2009-6-29 * */ public class EventmoniService implements IEventmoniService { private IEventmoniDao eventmoniDao; public void setEventmoniDao(EventmoniDao eventmoniDao) { this.eventmoniDao = eventmoniDao; } private IEventtaskseleDao eventtaskseleDao; public void setEventtaskseleDao(EventtaskseleDao eventtaskseleDao) { this.eventtaskseleDao = eventtaskseleDao; } private IEventGetTopoDao eventGetTopoDao; public void setEventGetTopoDao(EventGetTopoDao eventGetTopo) { this.eventGetTopoDao = eventGetTopo; } /** * 添加单个对象。 * * @param data * 需要添加的对象。 * */ public void add(Eventmoni data) { if (data != null) { eventmoniDao.add(data); } } /** * 添加多个对象。 * * @param data * */ public void add(List<Eventmoni> data) { if (data != null && data.size() > 0) { eventmoniDao.add(data); } } /** * 删除指定的对象。 * * @param data * */ public void delete(Eventmoni data) { if (data != null && data.getId() != null) { eventmoniDao.delete(data); } } /** * 删除指定的多个对象。 * * @param data * */ public void delete(List<Serializable> ids) { if (ids != null) { eventmoniDao.delete(ids); } } /** * 通过查询Eventmoni对象 * * @param id * */ public Eventmoni get(Serializable id) { if (id != null) { return eventmoniDao.get(id); } return null; } /** * 通过组合条件进行查询 * * @param condition * @return */ public EventmoniResult queryEventmoniByCondition( EventmoniCondition condition) { if (condition.getPage().getCurrentPage() > 0 && condition.getPage().getEveryPage() > 0) { EventmoniResult res = eventmoniDao .queryEventmoniByCondition(condition); return res; } return null; } /** * 修改指定的对象的内容,注意对象的主键不能修改。 * * @param data * 需要修改的对象。 * * */ public void update(Eventmoni data) { if (data != null && data.getId() != null) { eventmoniDao.update(data); } } /** * 同时修改多个对象。 * * @param data * */ public void update(List<Eventmoni> datas) { if (datas != null) { for (int i = 0; i < datas.size(); i++) { if (datas.get(i).getId() == null) { return; } } eventmoniDao.update(datas); } } /** * 通过用户做的自定义事件进行查询 * * @param eventid * ,Page * @return EventmoniResult */ public EventGetTopoResult queryEventByCustomize(String userName, Serializable eventid, Integer[] bureauId, Page page) { EventGetTopoResult res = new EventGetTopoResult(); EventGetTopoCondition condition = new EventGetTopoCondition(); if (userName != null && userName.length() > 0 && bureauId != null && bureauId.length > 0 && eventid == null && page.getCurrentPage() < 1 && page.getEveryPage() < 1) { res.setStatus(Status.NOCONDITION); return res; } List<Eventtasksele> list = eventtaskseleDao .queryEventtaskseleBydefineid(userName, eventid); if (list != null && list.size() > 0) { String[] ids = new String[list.size()]; for (int i = 0; i < list.size(); i++) { if (list.get(i).getFaci_ip() != null && list.get(i).getFaci_ip() != null && list.get(i).getFaci_ip().length() > 0) { ids[i] = list.get(i).getFaci_ip(); } } if (ids != null && ids.length > 0) { condition.setNetCardCodes(ids); } condition.setBureauId(bureauId); condition.setPage(page); res = eventGetTopoDao.getTopoInfo(condition); } return res; } }