This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/service/basics/PolicyGroupInfoService.java
tanghao 10394d3fd6 1.policy_group_info表sql
2.表名修改命名规范
3.serviceGroupId赋值
2019-02-15 18:03:36 +08:00

193 lines
6.4 KiB
Java

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;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.AsnIpCfgDao;
import com.nis.web.dao.basics.PolicyGroupInfoDao;
import com.nis.web.dao.specific.ConfigGroupInfoDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@Service
public class PolicyGroupInfoService extends BaseService{
@Autowired
private PolicyGroupInfoDao policyGroupInfoDao;
@Autowired
// private SpecificServiceCfgDao specificServiceCfgDao;
private ConfigGroupInfoDao configGroupInfoDao;
@Autowired
private AsnIpCfgDao asnIpCfgDao;
/**
* @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;
}
public List<PolicyGroupInfo> findPolicyByGroupInfoList(String ids) {
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyByGroupInfoList(ids);
return list;
}
public List<PolicyGroupInfo> findPolicyGroupInfos() {
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfos();
return list;
}
public List<PolicyGroupInfo> findNatPolicyGroups() {
List<PolicyGroupInfo> list=policyGroupInfoDao.findNatPolicyGroups();
return list;
}
public List<PolicyGroupInfo> findPolicyGroupInfosByType(int type) {
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfosByType(type);
return list;
}
public List<PolicyGroupInfo> findHasIpPolicyGroupInfosByType(int type) {
List<PolicyGroupInfo> list=policyGroupInfoDao.findHasIPPolicyGroupInfosByType(type);
return list;
}
public List<PolicyGroupInfo> findPolicyGroupInfosHasIpRegionByType(int type) {
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfosByType(type);
return list;
}
public PolicyGroupInfo getById(int id) {
PolicyGroupInfo policyGroupInfo=policyGroupInfoDao.getById(id);
return policyGroupInfo;
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdate(PolicyGroupInfo entity) throws MaatConvertException{
entity.setIsValid(1);
//新增
if(entity.getGroupId()==null){
Date createTime=new Date();
entity.setCreatorId(UserUtils.getUser().getId());
entity.setCreateTime(createTime);
//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);
//新增协议分组
ConfigGroupInfo group = configGroupInfoDao.getConfigGroupInfoByGroupId(serviceGroupId);
if(group==null){
group = new ConfigGroupInfo();
group.setGroupId(serviceGroupId);
group.setGroupName(entity.getGroupName());
group.setIsIssued(0);
group.setGroupType(entity.getGroupType());
group.setAsnId(entity.getAsnNo());
configGroupInfoDao.insertConfigGroupInfo(group);
// if(group.getGroupType().intValue()==4) {
// AsnCacheUtils.put(entity.getAsnNo(), group);
// }
}
}else if(11==entity.getGroupType()||12==entity.getGroupType()) {
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);
}
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);
}
}
}
}
public boolean checkIsIssued(String groupIds) {
for(String groupId:groupIds.split(",")) {
Integer.parseInt(groupId);
}
Integer count=configGroupInfoDao.getIssuedConfigGroupInfoByGroupIds(groupIds);
if(count>0) return true;
return false;
}
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;
}
public PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo){
return policyGroupInfoDao.getInfoByAsnNo(policyGroupInfo);
}
/**
* IP复用配置表单-获取拥有区域信息的策略分组
* @param groupType
* @return
*/
public List<PolicyGroupInfo> getHasAreaPolicyGroups(int groupType) {
return policyGroupInfoDao.getHasAreaPolicyGroups(groupType);
}
public Integer getGroupIdByGroupName(String groupName){
return policyGroupInfoDao.getGroupIdByGroupName(groupName);
}
public PolicyGroupInfo getGroupInfo(PolicyGroupInfo policyGroupInfo){
return policyGroupInfoDao.getGroupInfo(policyGroupInfo);
}
/**
* url组以及dns组相关功能使用
*/
public List<PolicyGroupInfo> findPolicyGroupInfosByTypeforUD(Integer type,Integer flag) {
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfosByTypeForUD(type,flag);
return list;
}
}