maat配置批量下发增加数据库状态变更

This commit is contained in:
DuanDongmei
2018-11-29 10:13:22 +08:00
parent ece3141152
commit daba76f7b2
3 changed files with 52 additions and 1 deletions

View File

@@ -1,8 +1,11 @@
package com.nis.web.dao.configuration;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nis.domain.configuration.BaseCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
@@ -28,4 +31,8 @@ public interface CommonPolicyDao {
public void deleteComplexStringCfg(CfgIndexInfo entity);
public void updateCfgValid(BaseCfg entity);
public void auditCfg(BaseCfg entity);
public void auditCfgBatch(@Param("tableName")String tableName,
@Param("entity")BaseCfg baseCfg,
@Param("compileIds")List compileIds,
@Param("requestId")Integer requestId);
}

View File

@@ -733,4 +733,30 @@
</trim>
</update>
<update id="auditCfgBatch">
update ${tableName} set is_audit = #{entity.isAudit,jdbcType=INTEGER},
auditor_id = #{entity.auditorId,jdbcType=INTEGER},
audit_time = #{entity.auditTime,jdbcType=TIMESTAMP}
<if test="entity.isValid != null" >
,is_valid = #{entity.isValid,jdbcType=INTEGER}
</if>
<if test="requestId != null" >
,cancel_request_id = #{requestId,jdbcType=INTEGER}
</if>
<where>
<if test="tableName == 'asn_ip_cfg'" >
and asn_ip_group in
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
#{compileId}
</foreach>
</if>
<if test="tableName != 'asn_ip_cfg'" >
and compile_id in
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
#{compileId}
</foreach>
</if>
</where>
</update>
</mapper>

View File

@@ -52,6 +52,7 @@ import com.nis.util.DateUtils;
import com.nis.util.DictUtils;
import com.nis.util.ServiceConfigTemplateUtil;
import com.nis.util.StringUtil;
import com.nis.web.dao.configuration.CommonPolicyDao;
import com.nis.web.dao.configuration.ConfigSynchronizationDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@@ -65,7 +66,8 @@ import com.nis.web.service.BaseService;
public class ConfigSynchronizationService extends BaseService{
@Autowired
protected ConfigSynchronizationDao configSynchronizationDao;
@Autowired
protected CommonPolicyDao commonPolicyDao;
/**
* 配置全量更新下发
* @param request
@@ -234,6 +236,13 @@ public class ConfigSynchronizationService extends BaseService{
asnGroupIds.add(cfg.getUserRegion4());
}
}
if(isUpdateCfg) {
if(!StringUtil.isEmpty(compileIds) && !StringUtil.isEmpty(entity.getTableName())) {
commonPolicyDao.auditCfgBatch( entity.getTableName(), entity,compileIds,null);
}
}
if(cfgList!=null){
for(Map<String,Object> m:cfgList){
String tableName = m.get("tableName").toString();
@@ -254,6 +263,15 @@ public class ConfigSynchronizationService extends BaseService{
}else if("5".equals(m.get("cfgType"))){
fileList.addAll(configSynchronizationDao.getFileDigestList(tableName, compileIds));
}
if(isUpdateCfg) {
if(tableName.equals("asn_ip_cfg")){
if(!StringUtil.isEmpty(asnGroupIds)) {
commonPolicyDao.auditCfgBatch( entity.getTableName(), entity,asnGroupIds,null);
}
}else{
commonPolicyDao.auditCfgBatch( tableName, entity,asnGroupIds,null);
}
}
}
}
//批量获取regionId,groupId(相同编译下的IP类配置多条ip只获取一个组号分组复用的域配置不需要重新获取regionId,groupId