From d9cef1cc6736d8dd067330cc35a58141d48feacc Mon Sep 17 00:00:00 2001 From: DuanDongmei Date: Sun, 9 Dec 2018 13:50:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=90=8C=E6=AD=A5=E7=9A=84to?= =?UTF-8?q?pic=20domain=E8=87=AA=E5=AE=9A=E4=B9=89=E5=9F=9F=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E8=8E=B7=E5=8F=96=E5=9F=9F=E5=90=8Did=EF=BC=8C?= =?UTF-8?q?=E6=AD=A4=E4=BF=A1=E6=81=AF=E6=9C=AA=E5=9C=A8=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E8=A1=A8=E4=B8=AD=E4=BF=9D=E5=AD=98=EF=BC=8C=E9=9C=80=E4=BB=8E?= =?UTF-8?q?website=5Fdomain=5Ftopic=E8=A1=A8=E4=B8=AD=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConfigSynchronizationService.java | 77 +++++++++++-------- 1 file changed, 46 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java index 4c63d609f..46f9e67b4 100644 --- a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java +++ b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java @@ -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 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 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; + } } } }