package com.nis.web.service.specific; import java.util.Date; import java.util.List; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.nis.domain.Page; import com.nis.domain.SysUser; import com.nis.domain.specific.SpecificServiceHostCfg; import com.nis.util.StringUtil; import com.nis.web.dao.specific.SpecificServiceHostCfgDao; import com.nis.web.security.UserUtils; import com.nis.web.service.BaseService; @Service public class SpecificServiceHostCfgService extends BaseService{ @Autowired private SpecificServiceHostCfgDao specificServiceHostCfgDao; /** * 根据主键查询数据对象 * @param hostId * @return */ public SpecificServiceHostCfg getDictByHostId(Integer hostId) { return specificServiceHostCfgDao.getByHostId(hostId); } /** * 查出分页 * @param page * @param specificServiceHostCfg * @return */ public Page findSpecHostList(Page page, SpecificServiceHostCfg specificServiceHostCfg) { specificServiceHostCfg.setPage(page); page.setList(specificServiceHostCfgDao.findSpecHostList(specificServiceHostCfg)); return page; } /** * 新增或修改 * @param specificServiceHostCfg */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveOrUpdate(SpecificServiceHostCfg specificServiceHostCfg) { SysUser user = UserUtils.getUser(); String defaultIp = "0.0.0.0"; //缺省0.0.0.0值表示任意 String defaultIpMask = ""; if(specificServiceHostCfg.getIpType().equals(4)){ defaultIpMask = "255.255.255.255"; //255.255.255.255表示无掩码 } if(specificServiceHostCfg.getIpType().equals(6)){ defaultIpMask = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"; //FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF表示无掩码 } String defaultPortMask = "65535"; //65535表示无掩码 //ip地址默认 缺省0.0.0.0值表示任意 if(StringUtil.isBlank(specificServiceHostCfg.getSrcIp())){ specificServiceHostCfg.setSrcIp(defaultIp); } if(StringUtil.isBlank(specificServiceHostCfg.getDstIp())){ specificServiceHostCfg.setDstIp(defaultIp); } //ip掩码默认 if(StringUtil.isBlank(specificServiceHostCfg.getSrcIpMask())){ specificServiceHostCfg.setSrcIpMask(defaultIpMask); } if(StringUtil.isBlank(specificServiceHostCfg.getDstIpMask())){ specificServiceHostCfg.setDstIpMask(defaultIpMask); } //端口掩码默认 if(StringUtil.isBlank(specificServiceHostCfg.getSrcPortMask())){ specificServiceHostCfg.setSrcPortMask(defaultPortMask); } if(StringUtil.isBlank(specificServiceHostCfg.getDstPortMask())){ specificServiceHostCfg.setDstPortMask(defaultPortMask); } //方向缺省 if(specificServiceHostCfg.getDirection()==null){ specificServiceHostCfg.setDirection(0); } Date date = new Date(); if(specificServiceHostCfg.getHostId()==null){//新增 specificServiceHostCfg.setIsValid(1); specificServiceHostCfg.setCreator(user); specificServiceHostCfg.setCreateTime(date); specificServiceHostCfg.setEditor(user); specificServiceHostCfg.setEditTime(date); specificServiceHostCfg.setAuditor(user); specificServiceHostCfg.setAuditTime(date); specificServiceHostCfgDao.insert(specificServiceHostCfg); }else{//修改 //是否进行了审核操作 //SpecificServiceHostCfg ssh = specificServiceHostCfgDao.getByHostId(specificServiceHostCfg.getHostId()); /*if(ssh.getIsAudit()!=specificServiceHostCfg.getIsAudit()){ specificServiceHostCfg.setAuditor(user); specificServiceHostCfg.setAuditTime(date); }*/ specificServiceHostCfg.setEditor(user); specificServiceHostCfg.setEditTime(date); specificServiceHostCfg.setAuditor(user); specificServiceHostCfg.setAuditTime(date); specificServiceHostCfgDao.update(specificServiceHostCfg); } } /** * 删除 * @param mulitId */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void delete(String mulitId) { String[] ids = mulitId.split(","); for(String hostId:ids){ if (!StringUtils.isEmpty(hostId)) { specificServiceHostCfgDao.delete(Integer.valueOf(hostId)); } } } /** * 根据协议ID查询对象 * @param specServiceId * @return */ public SpecificServiceHostCfg getBySpecServiceId(Integer specServiceId) { return specificServiceHostCfgDao.getBySpecServiceId(specServiceId); } }