2018-06-20 13:37:07 +08:00
|
|
|
package com.nis.web.service.basics;
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
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.Page;
|
|
|
|
|
import com.nis.domain.basics.PolicyGroupInfo;
|
2018-08-27 21:10:13 +08:00
|
|
|
import com.nis.domain.specific.ConfigGroupInfo;
|
|
|
|
|
import com.nis.exceptions.MaatConvertException;
|
2018-11-11 19:36:53 +08:00
|
|
|
import com.nis.util.AsnCacheUtils;
|
2018-08-27 21:10:13 +08:00
|
|
|
import com.nis.util.ConfigServiceUtil;
|
2018-06-20 13:37:07 +08:00
|
|
|
import com.nis.util.StringUtil;
|
2018-09-03 11:23:10 +08:00
|
|
|
import com.nis.web.dao.basics.AsnIpCfgDao;
|
2018-06-20 13:37:07 +08:00
|
|
|
import com.nis.web.dao.basics.PolicyGroupInfoDao;
|
2018-11-11 19:36:53 +08:00
|
|
|
import com.nis.web.dao.specific.ConfigGroupInfoDao;
|
2018-08-27 21:10:13 +08:00
|
|
|
import com.nis.web.dao.specific.SpecificServiceCfgDao;
|
2018-06-20 13:37:07 +08:00
|
|
|
import com.nis.web.security.UserUtils;
|
|
|
|
|
import com.nis.web.service.BaseService;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
public class PolicyGroupInfoService extends BaseService{
|
|
|
|
|
|
|
|
|
|
@Autowired
|
2018-08-27 21:10:13 +08:00
|
|
|
private PolicyGroupInfoDao policyGroupInfoDao;
|
|
|
|
|
@Autowired
|
2018-11-11 19:36:53 +08:00
|
|
|
// private SpecificServiceCfgDao specificServiceCfgDao;
|
|
|
|
|
private ConfigGroupInfoDao configGroupInfoDao;
|
2018-09-03 11:23:10 +08:00
|
|
|
@Autowired
|
|
|
|
|
private AsnIpCfgDao asnIpCfgDao;
|
2018-06-20 13:37:07 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param page
|
|
|
|
|
* @param entity
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Page<PolicyGroupInfo> findPolicyGroupInfoList(Page<PolicyGroupInfo> page, PolicyGroupInfo entity) {
|
|
|
|
|
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r"));
|
|
|
|
|
entity.setPage(page);
|
|
|
|
|
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfoList(entity);
|
|
|
|
|
page.setList(list);
|
|
|
|
|
return page;
|
|
|
|
|
}
|
2018-12-26 14:47:23 +08:00
|
|
|
|
|
|
|
|
public List<PolicyGroupInfo> findPolicyByGroupInfoList(String ids) {
|
|
|
|
|
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyByGroupInfoList(ids);
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2018-06-22 10:12:54 +08:00
|
|
|
public List<PolicyGroupInfo> findPolicyGroupInfos() {
|
|
|
|
|
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfos();
|
|
|
|
|
return list;
|
|
|
|
|
}
|
2018-10-16 18:59:30 +08:00
|
|
|
public List<PolicyGroupInfo> findNatPolicyGroups() {
|
|
|
|
|
List<PolicyGroupInfo> list=policyGroupInfoDao.findNatPolicyGroups();
|
|
|
|
|
return list;
|
|
|
|
|
}
|
2018-06-25 16:55:45 +08:00
|
|
|
public List<PolicyGroupInfo> findPolicyGroupInfosByType(int type) {
|
|
|
|
|
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfosByType(type);
|
|
|
|
|
return list;
|
|
|
|
|
}
|
2018-09-26 18:19:19 +08:00
|
|
|
public List<PolicyGroupInfo> findHasIpPolicyGroupInfosByType(int type) {
|
|
|
|
|
List<PolicyGroupInfo> list=policyGroupInfoDao.findHasIPPolicyGroupInfosByType(type);
|
|
|
|
|
return list;
|
|
|
|
|
}
|
2018-08-30 21:21:00 +08:00
|
|
|
public List<PolicyGroupInfo> findPolicyGroupInfosHasIpRegionByType(int type) {
|
|
|
|
|
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfosByType(type);
|
|
|
|
|
return list;
|
|
|
|
|
}
|
2018-06-20 13:37:07 +08:00
|
|
|
|
|
|
|
|
public PolicyGroupInfo getById(int id) {
|
|
|
|
|
PolicyGroupInfo policyGroupInfo=policyGroupInfoDao.getById(id);
|
|
|
|
|
return policyGroupInfo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
2018-08-27 21:10:13 +08:00
|
|
|
public void saveOrUpdate(PolicyGroupInfo entity) throws MaatConvertException{
|
2018-06-20 13:37:07 +08:00
|
|
|
entity.setIsValid(1);
|
|
|
|
|
//新增
|
|
|
|
|
if(entity.getGroupId()==null){
|
|
|
|
|
Date createTime=new Date();
|
|
|
|
|
entity.setCreatorId(UserUtils.getUser().getId());
|
|
|
|
|
entity.setCreateTime(createTime);
|
2018-08-27 21:10:13 +08:00
|
|
|
//asn类型从综合服务获取groupId
|
|
|
|
|
if(4==entity.getGroupType().intValue()) {
|
|
|
|
|
int serviceGroupId=0;
|
|
|
|
|
List<Integer> groupIds= ConfigServiceUtil.getId(2,1);
|
|
|
|
|
if(groupIds.size()>0) {
|
|
|
|
|
serviceGroupId=groupIds.get(0).intValue();
|
|
|
|
|
}else {
|
|
|
|
|
throw new MaatConvertException("Get asn group id failed");
|
|
|
|
|
}
|
|
|
|
|
entity.setServiceGroupId(serviceGroupId);
|
|
|
|
|
//新增协议分组
|
2018-11-11 19:36:53 +08:00
|
|
|
ConfigGroupInfo group = configGroupInfoDao.getConfigGroupInfoByGroupId(serviceGroupId);
|
2018-08-27 21:10:13 +08:00
|
|
|
if(group==null){
|
|
|
|
|
group = new ConfigGroupInfo();
|
|
|
|
|
group.setGroupId(serviceGroupId);
|
|
|
|
|
group.setGroupName(entity.getGroupName());
|
|
|
|
|
group.setIsIssued(0);
|
|
|
|
|
group.setGroupType(entity.getGroupType());
|
2018-10-25 19:43:54 +08:00
|
|
|
group.setAsnId(entity.getAsnNo());
|
2018-11-11 19:36:53 +08:00
|
|
|
configGroupInfoDao.insertConfigGroupInfo(group);
|
|
|
|
|
if(group.getGroupType().intValue()==4) {
|
|
|
|
|
AsnCacheUtils.put(entity.getAsnNo(), group);
|
|
|
|
|
}
|
|
|
|
|
|
2018-08-27 21:10:13 +08:00
|
|
|
}
|
|
|
|
|
}
|
2018-06-20 13:37:07 +08:00
|
|
|
policyGroupInfoDao.insert(entity);
|
|
|
|
|
//修改
|
|
|
|
|
}else{
|
|
|
|
|
Date editTime=new Date();
|
|
|
|
|
entity.setEditorId(UserUtils.getUser().getId());
|
|
|
|
|
entity.setEditTime(editTime);
|
|
|
|
|
policyGroupInfoDao.update(entity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
|
|
|
|
public void deldete(String ids, int isValid){
|
|
|
|
|
PolicyGroupInfo entity=new PolicyGroupInfo();
|
|
|
|
|
Date editTime=new Date();
|
|
|
|
|
entity.setEditorId(UserUtils.getUser().getId());
|
|
|
|
|
entity.setEditTime(editTime);
|
|
|
|
|
entity.setIsValid(isValid);
|
|
|
|
|
if(!StringUtil.isEmpty(ids)){
|
|
|
|
|
for (String id : ids.split(",")) {
|
|
|
|
|
if(!StringUtil.isEmpty(id)){
|
|
|
|
|
entity.setGroupId(Integer.parseInt(id));
|
|
|
|
|
policyGroupInfoDao.update(entity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-08-27 21:10:13 +08:00
|
|
|
public boolean checkIsIssued(String groupIds) {
|
|
|
|
|
for(String groupId:groupIds.split(",")) {
|
|
|
|
|
Integer.parseInt(groupId);
|
|
|
|
|
}
|
2018-11-11 19:36:53 +08:00
|
|
|
Integer count=configGroupInfoDao.getIssuedConfigGroupInfoByGroupIds(groupIds);
|
2018-08-27 21:10:13 +08:00
|
|
|
if(count>0) return true;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2018-09-03 11:23:10 +08:00
|
|
|
public boolean checkIps(String groupIds) {
|
|
|
|
|
for(String groupId:groupIds.split(",")) {
|
|
|
|
|
Integer.parseInt(groupId);
|
|
|
|
|
}
|
|
|
|
|
List<Integer> hasIpList=asnIpCfgDao.hasGroupIds(groupIds);
|
|
|
|
|
if(hasIpList!=null&&hasIpList.size()>0) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2018-10-25 19:43:54 +08:00
|
|
|
|
|
|
|
|
public PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo){
|
|
|
|
|
return policyGroupInfoDao.getInfoByAsnNo(policyGroupInfo);
|
|
|
|
|
}
|
|
|
|
|
|
2018-11-02 12:51:27 +08:00
|
|
|
/**
|
|
|
|
|
* IP复用配置表单-获取拥有区域信息的策略分组
|
|
|
|
|
* @param groupType
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<PolicyGroupInfo> getHasAreaPolicyGroups(int groupType) {
|
|
|
|
|
return policyGroupInfoDao.getHasAreaPolicyGroups(groupType);
|
2018-09-03 11:23:10 +08:00
|
|
|
}
|
2018-11-28 17:50:33 +08:00
|
|
|
|
|
|
|
|
public Integer getGroupIdByGroupName(String groupName){
|
|
|
|
|
return policyGroupInfoDao.getGroupIdByGroupName(groupName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public PolicyGroupInfo getGroupInfo(PolicyGroupInfo policyGroupInfo){
|
|
|
|
|
return policyGroupInfoDao.getGroupInfo(policyGroupInfo);
|
|
|
|
|
}
|
|
|
|
|
|
2018-06-20 13:37:07 +08:00
|
|
|
}
|