diff --git a/src/main/java/com/nis/util/SchedulerTaskUtil.java b/src/main/java/com/nis/util/SchedulerTaskUtil.java new file mode 100644 index 000000000..e79e9432c --- /dev/null +++ b/src/main/java/com/nis/util/SchedulerTaskUtil.java @@ -0,0 +1,189 @@ +package com.nis.util; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Lists; +import com.nis.domain.configuration.AvFileSampleCfg; +import com.nis.domain.configuration.AvSignSampleCfg; +import com.nis.domain.configuration.BaseCfg; +import com.nis.domain.configuration.CfgIndexInfo; +import com.nis.domain.configuration.DnsIpCfg; +import com.nis.domain.configuration.DnsResStrategy; +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.web.dao.configuration.ConfigSynchronizationDao; +import com.nis.web.service.BaseService; +import com.nis.web.service.SpringContextHolder; + +/** + * 配置任务调度通用类 + * 定时任务调用,处理界面配置状态修改,以及下发综合服务处理 + * @author ThinkPad + * + */ +public class SchedulerTaskUtil { + + //调度任务的配置信息,复用配置同步DAO + private static ConfigSynchronizationDao configSynchronizationDao = SpringContextHolder.getBean(ConfigSynchronizationDao.class); + + /** + * 根据业务与编译ID查询配置,修改失效或生效状态,并下发至综合服务 + * @param serviceId 不可空 + * @param compileId 不可空 + * @param oldIsValid 配置当前状态 0无效,1有效,可空 + * @param newIsValid 配置最新修改状态 0无效,1有效,不可空 + * @return boolean + */ + public boolean updateConfigByServiceAndCompile(Integer serviceId,Integer compileId,Integer oldIsValid,Integer newIsValid){ + //根据业务查询配置文件,获取该业务的配置域表信息 + ServiceConfigTemplateUtil serviceTemplate = new ServiceConfigTemplateUtil(); + List> serviceList = serviceTemplate.getServiceListByServiceId(serviceId); + //根据编译ID查询配置表中的配置信息 + for(Map service:serviceList){ + String tableName = service.get("tableName").toString(); + String serviceType = service.get("serviceType").toString(); + String className = service.get("className").toString(); + BaseCfg entity = new BaseCfg(); + entity.setServiceId(serviceId); + entity.setCompileId(compileId); + entity.setTableName(tableName); + List list = Lists.newArrayList(); + if("1".equals(serviceType)){//maat类配置 + //查询配置 + if("cfg_index_info".equals(tableName)){ + list = configSynchronizationDao.getCfgIndexList(entity); + + }else if("file_digest_cfg".equals(tableName)){ + list = configSynchronizationDao.getFileDigestListByService(entity); + + }else if("app_policy_cfg".equals(tableName)){ + list = configSynchronizationDao.getAppPolicyList(entity); + + }else if("app_feature_index".equals(tableName)){ + list = configSynchronizationDao.getAppFeatureIndexList(entity); + + } + if(newIsValid.equals(1)){//生效 + //调用综合服务配置生效启用接口 + + }else if(newIsValid.equals(0)){//失效 + //调用综合服务配置失效停用接口 + + } + }else if("2".equals(serviceType)){//回调类配置 + List newList = Lists.newArrayList(); + List ids = Lists.newArrayList(); + //查询配置 + if(entity.getServiceId().equals(3)){//ip drop回调类配置用了主表和子表关系 + list = configSynchronizationDao.getCfgIndexList(entity); + if(!StringUtil.isEmpty(list)){ + List compileIds = Lists.newArrayList(); + for(int i=0;i(); + list=configSynchronizationDao.getPxyObjTrustedCrlCfgListByCertId(ids); + for(int i=0;i(); + //只允许单独下发certId为空或0的crl配置 + list = configSynchronizationDao.getPxyObjTrustedCrlCfgList(entity); + for(int i=0;i> getServiceList(Integer functionId){ + public List> getServiceListByFunctionId(Integer functionId){ List> list =new ArrayList(); if(!StringUtil.isEmpty(functionId)) { List serviceList = DictUtils.getFunctionServiceDictList(functionId); @@ -97,6 +96,34 @@ public class ServiceConfigTemplateUtil { } + } + } + return list; + } + /** + * + * @param serviceId + * @return + */ + public List> getServiceListByServiceId(Integer serviceId){ + List> list =new ArrayList(); + if(!StringUtil.isEmpty(serviceId)) { + List elements = root.selectNodes("service"); + for(Element element:elements){ + String serviceIdC=element.attributeValue("id"); + if(!StringUtil.isEmpty(serviceIdC) + && String.valueOf(serviceId).equals(serviceIdC)) { + Map map = new HashMap(); + for(int i=0;i> list = serviceTemplate.getServiceList(5); + List> list = serviceTemplate.getServiceListByServiceId(518); for(Map map :list){ System.out.println("业务配置:"+map.get("id")+","+map.get("functionId")+","+map.get("serviceType")+","+map.get("tableName")); List> cfgList = (List>) map.get("cfgList"); diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 97840a1bd..2b6984f04 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -2386,7 +2386,7 @@ public class BaseController { if(auditBatchCfg != null && !StringUtil.isEmpty(auditBatchCfg.getFunctionId())) { functionId=auditBatchCfg.getFunctionId(); } - List> serviceList = serviceTemplate.getServiceList(functionId); + List> serviceList = serviceTemplate.getServiceListByFunctionId(functionId); for(Map service:serviceList){ String tableNameXml = service.get("tableName").toString(); diff --git a/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.xml b/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.xml index 8325e5c9c..05ff5b85d 100644 --- a/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/ConfigSynchronizationDao.xml @@ -991,8 +991,18 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 + ORDER BY a.CFG_ID @@ -1016,7 +1026,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1148,7 +1166,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1172,7 +1198,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 and (cert_id is null or cert_id == 0) @@ -1208,7 +1242,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1232,7 +1274,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1253,7 +1303,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1278,7 +1336,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1304,7 +1370,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1331,7 +1405,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1355,7 +1437,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1394,7 +1484,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1425,7 +1523,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID @@ -1454,7 +1560,15 @@ AND a.action=#{action,jdbcType=INTEGER} - and a.is_valid=#{isValid} and a.is_audit=#{isAudit} + + AND a.is_valid=#{isValid,jdbcType=INTEGER} + + + AND a.is_audit=#{isAudit,jdbcType=INTEGER} + + + AND a.compile_id=#{compileId,jdbcType=INTEGER} + and a.is_valid!=-1 ORDER BY a.CFG_ID