2018-03-17 17:09:19 +08:00
|
|
|
package com.nis.web.service.specific;
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
2018-03-28 18:24:09 +08:00
|
|
|
|
2018-03-17 17:09:19 +08:00
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
2018-03-28 18:24:09 +08:00
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
2018-03-17 17:09:19 +08:00
|
|
|
|
|
|
|
|
import com.nis.domain.Page;
|
|
|
|
|
import com.nis.domain.SysUser;
|
|
|
|
|
import com.nis.domain.specific.SpecificServiceHostCfg;
|
2018-03-22 18:22:09 +08:00
|
|
|
import com.nis.util.StringUtil;
|
2018-03-17 17:09:19 +08:00
|
|
|
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<SpecificServiceHostCfg> findSpecHostList(Page<SpecificServiceHostCfg> page,
|
|
|
|
|
SpecificServiceHostCfg specificServiceHostCfg) {
|
|
|
|
|
specificServiceHostCfg.setPage(page);
|
|
|
|
|
page.setList(specificServiceHostCfgDao.findSpecHostList(specificServiceHostCfg));
|
|
|
|
|
return page;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 新增或修改
|
|
|
|
|
* @param specificServiceHostCfg
|
|
|
|
|
*/
|
2018-03-28 18:24:09 +08:00
|
|
|
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
2018-03-17 17:09:19 +08:00
|
|
|
public void saveOrUpdate(SpecificServiceHostCfg specificServiceHostCfg) {
|
|
|
|
|
SysUser user = UserUtils.getUser();
|
2018-03-22 18:22:09 +08:00
|
|
|
String defaultIp = "0.0.0.0"; //缺省0.0.0.0值表示任意
|
2018-04-08 17:41:55 +08:00
|
|
|
String defaultIpMask = "255.255.255.255";//255.255.255.255表示无掩码
|
2018-03-22 18:22:09 +08:00
|
|
|
if(specificServiceHostCfg.getIpType().equals(6)){
|
2018-04-08 17:41:55 +08:00
|
|
|
defaultIp = "::"; //缺省::
|
2018-03-22 18:22:09 +08:00
|
|
|
defaultIpMask = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"; //FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF表示无掩码
|
|
|
|
|
}
|
|
|
|
|
String defaultPortMask = "65535"; //65535表示无掩码
|
2018-04-08 17:41:55 +08:00
|
|
|
//ip地址默认 Ipv4缺省0.0.0.0,ipv6缺省为::
|
2018-03-22 18:22:09 +08:00
|
|
|
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);
|
|
|
|
|
}
|
2018-03-17 17:09:19 +08:00
|
|
|
Date date = new Date();
|
|
|
|
|
if(specificServiceHostCfg.getHostId()==null){//新增
|
|
|
|
|
specificServiceHostCfg.setIsValid(1);
|
|
|
|
|
specificServiceHostCfg.setCreator(user);
|
|
|
|
|
specificServiceHostCfg.setCreateTime(date);
|
|
|
|
|
specificServiceHostCfg.setEditor(user);
|
|
|
|
|
specificServiceHostCfg.setEditTime(date);
|
2018-03-21 13:43:43 +08:00
|
|
|
specificServiceHostCfg.setAuditor(user);
|
|
|
|
|
specificServiceHostCfg.setAuditTime(date);
|
2018-03-17 17:09:19 +08:00
|
|
|
specificServiceHostCfgDao.insert(specificServiceHostCfg);
|
|
|
|
|
}else{//修改
|
|
|
|
|
//是否进行了审核操作
|
2018-03-21 13:43:43 +08:00
|
|
|
//SpecificServiceHostCfg ssh = specificServiceHostCfgDao.getByHostId(specificServiceHostCfg.getHostId());
|
|
|
|
|
/*if(ssh.getIsAudit()!=specificServiceHostCfg.getIsAudit()){
|
2018-03-17 17:09:19 +08:00
|
|
|
specificServiceHostCfg.setAuditor(user);
|
|
|
|
|
specificServiceHostCfg.setAuditTime(date);
|
2018-03-21 13:43:43 +08:00
|
|
|
}*/
|
2018-03-17 17:09:19 +08:00
|
|
|
specificServiceHostCfg.setEditor(user);
|
|
|
|
|
specificServiceHostCfg.setEditTime(date);
|
2018-03-21 13:43:43 +08:00
|
|
|
specificServiceHostCfg.setAuditor(user);
|
|
|
|
|
specificServiceHostCfg.setAuditTime(date);
|
2018-03-17 17:09:19 +08:00
|
|
|
specificServiceHostCfgDao.update(specificServiceHostCfg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除
|
|
|
|
|
* @param mulitId
|
|
|
|
|
*/
|
2018-03-28 18:24:09 +08:00
|
|
|
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
2018-03-17 17:09:19 +08:00
|
|
|
public void delete(String mulitId) {
|
|
|
|
|
String[] ids = mulitId.split(",");
|
|
|
|
|
for(String hostId:ids){
|
|
|
|
|
if (!StringUtils.isEmpty(hostId)) {
|
|
|
|
|
specificServiceHostCfgDao.delete(Integer.valueOf(hostId));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-03-21 13:43:43 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据协议ID查询对象
|
|
|
|
|
* @param specServiceId
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public SpecificServiceHostCfg getBySpecServiceId(Integer specServiceId) {
|
|
|
|
|
|
|
|
|
|
return specificServiceHostCfgDao.getBySpecServiceId(specServiceId);
|
|
|
|
|
}
|
2018-03-17 17:09:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|