配置转换改为多线程转换,一个组类型一个线程;审核与更新组配置是查询配置下的所有域的查询改为多线程查询。在多个组的情况下处理速度会加快。
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
package com.nis.web.service.configuration;
|
||||
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.configuration.CfgIndexInfo;
|
||||
import com.nis.domain.configuration.CommonStringCfg;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.maat.MaatCfg;
|
||||
import com.nis.util.ConfigConvertUtil;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class ObjGroupCfgConvert implements Runnable{
|
||||
private CfgIndexInfo cfgIndexInfo;
|
||||
private Integer isAudit;
|
||||
private Map<Integer, FunctionServiceDict> serviceDictMap;
|
||||
private Set<Integer> groupIdSet;
|
||||
private List<MaatCfg.GroupCfg> groupRelationList;
|
||||
private List<MaatCfg.IpCfg> ipRegionList;
|
||||
private List<MaatCfg.StringCfg> strRegionList;
|
||||
private List<MaatCfg.NumBoundaryCfg> numRegionList;
|
||||
private Map<String,Object> maatTableMap;
|
||||
private String groupName;
|
||||
private Integer isValid;
|
||||
private Date auditTime;
|
||||
public ObjGroupCfgConvert(String groupName,CfgIndexInfo cfgIndexInfo,Integer isAudit,Map<Integer,FunctionServiceDict> serviceDictMap,Map<String,Object> maatTableMap,Set<Integer> groupIdSet){
|
||||
this.cfgIndexInfo=cfgIndexInfo;
|
||||
this.isAudit=isAudit;
|
||||
this.serviceDictMap=serviceDictMap;
|
||||
this.groupIdSet=groupIdSet;
|
||||
this.groupName=groupName;
|
||||
this.maatTableMap=maatTableMap;
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
//IP公共分组
|
||||
if("ipGroup".equalsIgnoreCase(groupName)&& CollectionUtils.isNotEmpty(cfgIndexInfo.getIpCommGroupCfgList())){
|
||||
IpPortCfg cfg = new IpPortCfg();
|
||||
BeanUtils.copyProperties(cfgIndexInfo, cfg, new String[]{"cfgId","menuNameCode"});
|
||||
if(isValid!=null){
|
||||
cfg.setIsValid(isValid);
|
||||
}
|
||||
cfg.setIsAudit(isAudit);
|
||||
if(auditTime!=null){
|
||||
cfg.setAuditTime(auditTime);
|
||||
}
|
||||
if(isAudit==1){
|
||||
Map<String,List> map = ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,ipRegionList,cfgIndexInfo.getIpCommGroupCfgList(),1,cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
ipRegionList=map.get("dstList");
|
||||
if(map.get("numRegionList")!=null){
|
||||
numRegionList.addAll(map.get("numRegionList"));
|
||||
}
|
||||
}
|
||||
}
|
||||
if("urlGroup".equalsIgnoreCase(groupName)&&CollectionUtils.isNotEmpty(cfgIndexInfo.getUrlCommGroupList())){
|
||||
CommonStringCfg cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfgIndexInfo, cfg, new String[]{"cfgId","menuNameCode"});
|
||||
if(isValid!=null){
|
||||
cfg.setIsValid(isValid);
|
||||
}
|
||||
cfg.setIsAudit(isAudit);
|
||||
if(auditTime!=null){
|
||||
cfg.setAuditTime(auditTime);
|
||||
}
|
||||
if(isAudit==1){
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfgIndexInfo.getUrlCommGroupList(),2,cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
}
|
||||
//账号公共分组
|
||||
if("subscribeIdGroup".equalsIgnoreCase(groupName)&&CollectionUtils.isNotEmpty(cfgIndexInfo.getScriberIdCommGroupList())){
|
||||
CommonStringCfg cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfgIndexInfo, cfg, new String[]{"cfgId","menuNameCode"});
|
||||
if(isValid!=null){
|
||||
cfg.setIsValid(isValid);
|
||||
}
|
||||
cfg.setIsAudit(isAudit);
|
||||
if(auditTime!=null){
|
||||
cfg.setAuditTime(auditTime);
|
||||
}
|
||||
if(isAudit==1){
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfgIndexInfo.getScriberIdCommGroupList(),2,cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
}
|
||||
//域名公共分组
|
||||
if("domainGroup".equalsIgnoreCase(groupName)&&CollectionUtils.isNotEmpty(cfgIndexInfo.getDomainCommGroupList())){
|
||||
CommonStringCfg cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfgIndexInfo, cfg, new String[]{"cfgId","menuNameCode"});
|
||||
if(isValid!=null){
|
||||
cfg.setIsValid(isValid);
|
||||
}
|
||||
cfg.setIsAudit(isAudit);
|
||||
if(auditTime!=null){
|
||||
cfg.setAuditTime(auditTime);
|
||||
}
|
||||
if(isAudit==1){
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfgIndexInfo.getDomainCommGroupList(),2,cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<MaatCfg.GroupCfg> getGroupRelationList() {
|
||||
return groupRelationList;
|
||||
}
|
||||
|
||||
public void setGroupRelationList(List<MaatCfg.GroupCfg> groupRelationList) {
|
||||
this.groupRelationList = groupRelationList;
|
||||
}
|
||||
|
||||
public List<MaatCfg.IpCfg> getIpRegionList() {
|
||||
return ipRegionList;
|
||||
}
|
||||
|
||||
public void setIpRegionList(List<MaatCfg.IpCfg> ipRegionList) {
|
||||
this.ipRegionList = ipRegionList;
|
||||
}
|
||||
|
||||
public List<MaatCfg.StringCfg> getStrRegionList() {
|
||||
return strRegionList;
|
||||
}
|
||||
|
||||
public void setStrRegionList(List<MaatCfg.StringCfg> strRegionList) {
|
||||
this.strRegionList = strRegionList;
|
||||
}
|
||||
|
||||
public List<MaatCfg.NumBoundaryCfg> getNumRegionList() {
|
||||
return numRegionList;
|
||||
}
|
||||
|
||||
public void setNumRegionList(List<MaatCfg.NumBoundaryCfg> numRegionList) {
|
||||
this.numRegionList = numRegionList;
|
||||
}
|
||||
|
||||
public Integer getIsValid() {
|
||||
return isValid;
|
||||
}
|
||||
|
||||
public void setIsValid(Integer isValid) {
|
||||
this.isValid = isValid;
|
||||
}
|
||||
|
||||
public Date getAuditTime() {
|
||||
return auditTime;
|
||||
}
|
||||
|
||||
public void setAuditTime(Date auditTime) {
|
||||
this.auditTime = auditTime;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user