配置同步的topic domain自定义域需要获取域名id,此信息未在配置表中保存,需从website_domain_topic表中获取
This commit is contained in:
@@ -40,6 +40,7 @@ import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.configuration.PxyObjKeyring;
|
||||
import com.nis.domain.configuration.PxyObjTrustedCaCert;
|
||||
import com.nis.domain.configuration.PxyObjTrustedCaCrl;
|
||||
import com.nis.domain.configuration.WebsiteDomainTopic;
|
||||
import com.nis.domain.maat.GroupReuseAddBean;
|
||||
import com.nis.domain.maat.GroupReuseCfg;
|
||||
import com.nis.domain.maat.MaatCfg;
|
||||
@@ -60,6 +61,7 @@ import com.nis.util.DictUtils;
|
||||
import com.nis.util.FileUtils;
|
||||
import com.nis.util.ServiceConfigTemplateUtil;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.dao.configuration.AppCfgDao;
|
||||
import com.nis.web.dao.configuration.CommonPolicyDao;
|
||||
import com.nis.web.dao.configuration.ConfigSynchronizationDao;
|
||||
import com.nis.web.dao.specific.ConfigGroupInfoDao;
|
||||
@@ -82,6 +84,8 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
protected SpecificServiceCfgDao specificServiceCfgDao;
|
||||
@Autowired
|
||||
protected ConfigGroupInfoDao configGroupInfoDao;
|
||||
@Autowired
|
||||
protected AppCfgDao appCfgDao;
|
||||
private boolean lastServiceTag = false;//标识是否是最后一个同步业务
|
||||
private boolean isFinished = false;
|
||||
/**
|
||||
@@ -1276,41 +1280,52 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
areaIpRegionList = new ArrayList();
|
||||
List list1 = new ArrayList();
|
||||
String userRegion = "";
|
||||
|
||||
//处理自定义域
|
||||
if(userRegionList!=null){
|
||||
for(Map<String,Object> n:userRegionList){
|
||||
Object userRegionPosition = n.get("userRegionPosition");
|
||||
if(userRegionPosition!=null){
|
||||
//通过反射机制获取自定义域字段值
|
||||
String regionColumn = n.get("regionColumn").toString();
|
||||
Class aClass = null;
|
||||
if(userRegionPosition.toString().equals(("0"))){
|
||||
aClass = BaseCfg.class;
|
||||
}else{
|
||||
if(cfgType==1){
|
||||
aClass = IpPortCfg.class;
|
||||
}else if(cfgType==2){
|
||||
aClass = BaseStringCfg.class;
|
||||
}else if(cfgType==3){
|
||||
aClass = ComplexkeywordCfg.class;
|
||||
}
|
||||
}
|
||||
Object value = "";
|
||||
Field field = aClass.getDeclaredField(regionColumn);
|
||||
field.setAccessible(true);
|
||||
if(cfgType==1){
|
||||
value = field.get(ipCfg);
|
||||
}else if(cfgType==2){
|
||||
value = field.get(strCfg);
|
||||
}else if(cfgType==3){
|
||||
value = field.get(complexStrCfg);
|
||||
}
|
||||
|
||||
if(!StringUtil.isEmpty(value)){
|
||||
if(StringUtil.isEmpty(n.get("regionKey"))){
|
||||
userRegion = value.toString();
|
||||
if(entity.getTableName().equals("app_topic_domain_cfg")){
|
||||
String domain = strCfg.getCfgKeywords();
|
||||
WebsiteDomainTopic websiteDomainTopic = new WebsiteDomainTopic();
|
||||
websiteDomainTopic.setDomain(domain);
|
||||
//查询domainId
|
||||
List<WebsiteDomainTopic> domainDict = appCfgDao.getDomainDict(websiteDomainTopic);
|
||||
Long domainId = domainDict.get(0).getId();
|
||||
userRegion += n.get("regionKey")+"="+domainId+Constants.USER_REGION_SPLIT;
|
||||
}else{
|
||||
Object userRegionPosition = n.get("userRegionPosition");
|
||||
if(userRegionPosition!=null){
|
||||
//通过反射机制获取自定义域字段值
|
||||
String regionColumn = n.get("regionColumn").toString();
|
||||
Class aClass = null;
|
||||
if(userRegionPosition.toString().equals(("0"))){
|
||||
aClass = BaseCfg.class;
|
||||
}else{
|
||||
userRegion += n.get("regionKey")+"="+value+Constants.USER_REGION_SPLIT;
|
||||
if(cfgType==1){
|
||||
aClass = IpPortCfg.class;
|
||||
}else if(cfgType==2){
|
||||
aClass = BaseStringCfg.class;
|
||||
}else if(cfgType==3){
|
||||
aClass = ComplexkeywordCfg.class;
|
||||
}
|
||||
}
|
||||
Object value = "";
|
||||
Field field = aClass.getDeclaredField(regionColumn);
|
||||
field.setAccessible(true);
|
||||
if(cfgType==1){
|
||||
value = field.get(ipCfg);
|
||||
}else if(cfgType==2){
|
||||
value = field.get(strCfg);
|
||||
}else if(cfgType==3){
|
||||
value = field.get(complexStrCfg);
|
||||
}
|
||||
|
||||
if(!StringUtil.isEmpty(value)){
|
||||
if(StringUtil.isEmpty(n.get("regionKey"))){
|
||||
userRegion = value.toString();
|
||||
}else{
|
||||
userRegion += n.get("regionKey")+"="+value+Constants.USER_REGION_SPLIT;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user