批量下发功能增加,delRow.tag中暂时不打开此功能。

app topic domain和app domain业务修改domain存储cfgkeyword属性。
摘要修改level属性存储为下发的最终数值。
同步的单域配置的增加时间和状态属性从entity中获取
This commit is contained in:
DuanDongmei
2018-12-05 17:56:41 +08:00
parent e5fa7cbca8
commit bb302e3f13
37 changed files with 2406 additions and 703 deletions

View File

@@ -27,6 +27,8 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.apache.poi.ss.formula.functions.T;
import org.eclipse.jetty.util.ajax.JSON;
import org.jets3t.service.ServiceException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,20 +43,37 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.beust.jcommander.internal.Lists;
import com.nis.domain.FunctionRegionDict;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.basics.AsnIpCfg;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.callback.ProxyObjKeyring;
import com.nis.domain.configuration.AppDomainCfg;
import com.nis.domain.configuration.AppFeatureIndex;
import com.nis.domain.configuration.AppHttpCfg;
import com.nis.domain.configuration.AppIpCfg;
import com.nis.domain.configuration.AppPolicyCfg;
import com.nis.domain.configuration.AppSslCertCfg;
import com.nis.domain.configuration.AppTopicDomainCfg;
import com.nis.domain.configuration.AreaBean;
import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.AvFileSampleCfg;
import com.nis.domain.configuration.AvSignSampleCfg;
import com.nis.domain.configuration.BaseCfg;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.ComplexStringCfgTemplate;
import com.nis.domain.configuration.ComplexkeywordCfg;
import com.nis.domain.configuration.DdosIpCfg;
import com.nis.domain.configuration.DnsIpCfg;
import com.nis.domain.configuration.DnsResStrategy;
import com.nis.domain.configuration.FileDigestCfg;
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.RequestInfo;
import com.nis.domain.configuration.StringCfgTemplate;
import com.nis.domain.configuration.template.AppDomainTemplate;
@@ -73,6 +92,14 @@ import com.nis.domain.configuration.template.P2pIpTemplate;
import com.nis.domain.configuration.template.StringAllTemplate;
import com.nis.domain.log.BaseLogEntity;
import com.nis.domain.log.SearchReport;
import com.nis.domain.maat.MaatCfg;
import com.nis.domain.maat.ToMaatBean;
import com.nis.domain.maat.ToMaatResult;
import com.nis.domain.maat.MaatCfg.DigestCfg;
import com.nis.domain.maat.MaatCfg.GroupCfg;
import com.nis.domain.maat.MaatCfg.IpCfg;
import com.nis.domain.maat.MaatCfg.NumBoundaryCfg;
import com.nis.domain.maat.MaatCfg.StringCfg;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.exceptions.MaatConvertException;
@@ -83,7 +110,9 @@ import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.DictUtils;
import com.nis.util.FileUtils;
import com.nis.util.JsonMapper;
import com.nis.util.ServiceConfigTemplateUtil;
import com.nis.util.StringUtil;
import com.nis.util.excel.ExportExcel;
import com.nis.util.excel.ImportBigExcel;
@@ -95,6 +124,7 @@ import com.nis.web.security.UserUtils;
import com.nis.web.service.ArchiveServcie;
import com.nis.web.service.AreaService;
import com.nis.web.service.BaseService;
import com.nis.web.service.CrudService;
import com.nis.web.service.DictService;
import com.nis.web.service.LogService;
import com.nis.web.service.MenuService;
@@ -115,6 +145,7 @@ import com.nis.web.service.configuration.AvCfgService;
import com.nis.web.service.configuration.AvContentCfgService;
import com.nis.web.service.configuration.BgpCfgService;
import com.nis.web.service.configuration.CachePolicyService;
import com.nis.web.service.configuration.CommonPolicyService;
import com.nis.web.service.configuration.ComplexStringCfgService;
import com.nis.web.service.configuration.ConfigSynchronizationService;
import com.nis.web.service.configuration.ControlPolicyService;
@@ -143,6 +174,7 @@ import com.nis.web.service.specific.SpecificServiceHostCfgService;
import com.nis.web.service.systemService.ServiceConfigInfoService;
import jersey.repackaged.com.google.common.collect.Maps;
import net.sf.json.JSONObject;
public class BaseController {
@@ -254,9 +286,11 @@ public class BaseController {
//@Autowired
//protected ConfigGroupInfoService configGroupInfoService;
@Autowired
protected ConfigSynchronizationService configSynchronizationService;
@Autowired
protected CachePolicyService cachePolicyService;
@Autowired
protected ConfigSynchronizationService configSynchronizationService;
protected CommonPolicyService commonPolicyService;
@Autowired
protected UserManageService userManageService;
@@ -1800,8 +1834,10 @@ public class BaseController {
ei.getUploadFile().delete();
}
}
if(e instanceof MaatConvertException||e instanceof ServiceException) {
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else if(e instanceof ServiceException) {
addMessage(redirectAttributes,"error", e.getMessage());
}else {
addMessage(redirectAttributes,"error", "import_failed");
}
@@ -1902,4 +1938,655 @@ public class BaseController {
new ExportExcel(msgProp, titleList, noExportMap, classMap, 1).setDataList(msgProp, dataMap, map)
.write(response, fileName).dispose();
}
/**
* 批量审核
* @param isAudit
* @param isValid
* @param ids
* @param functionId
* @param redirectAttributes
* @return
*/
public void auditAll(Page page,Integer auditType,Object entity)throws Exception {
page.setPageSize(Constants.MAAT_JSON_SEND_SIZE);
page.setOrderBy("");
//携带审核状态信息的BaseCfg
BaseCfg auditBatchCfg=new BaseCfg();
//携带审核条件的BaseCfg
CfgIndexInfo searchCfg=new CfgIndexInfo();
AppPolicyCfg searchAppCfg=new AppPolicyCfg();
FileDigestCfg searchDigestCfg=new FileDigestCfg();
AvFileSampleCfg searchFileSampleCfg=new AvFileSampleCfg();
PxyObjKeyring searchObjKeyringCfg=new PxyObjKeyring();
PxyObjTrustedCaCert searchTrustedCaCertCfg=new PxyObjTrustedCaCert();
PxyObjTrustedCaCrl searchTrustedCaCrlCfg=new PxyObjTrustedCaCrl();
DnsResStrategy searchDnsResStrategy=new DnsResStrategy();
DnsIpCfg searchDnsIpCfg=new DnsIpCfg();
IpPortCfg searchIpPortCfg=new IpPortCfg();
AvSignSampleCfg searchSignSampleCfg=new AvSignSampleCfg();
DdosIpCfg searchDdosIpCfg=new DdosIpCfg();
AppIpCfg searchAppIpCfg=new AppIpCfg();
AppHttpCfg searchAppHttpCfg=new AppHttpCfg();
AppDomainCfg searchAppDomainCfg=new AppDomainCfg();
AppTopicDomainCfg searchAppTopicCfg=new AppTopicDomainCfg();
AppFeatureIndex searchAppFeatureIndex=new AppFeatureIndex();
AppSslCertCfg searchAppSslCertCfg=new AppSslCertCfg();
if(entity != null && (entity instanceof CfgIndexInfo)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchCfg);
}
if(entity != null && (entity instanceof AppPolicyCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchAppCfg);
}
if(entity != null && (entity instanceof FileDigestCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchDigestCfg);
}
if(entity != null && (entity instanceof AvFileSampleCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchFileSampleCfg);
}
if(entity != null && (entity instanceof PxyObjKeyring)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchObjKeyringCfg);
}
if(entity != null && (entity instanceof PxyObjTrustedCaCert)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchTrustedCaCertCfg);
}
if(entity != null && (entity instanceof PxyObjTrustedCaCrl)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchTrustedCaCrlCfg);
}
if(entity != null && (entity instanceof CfgIndexInfo)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchDnsResStrategy);
}
if(entity != null && (entity instanceof DnsIpCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchDnsIpCfg);
}
if(entity != null && (entity instanceof CfgIndexInfo)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchIpPortCfg);
}
if(entity != null && (entity instanceof AvSignSampleCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchSignSampleCfg);
}
if(entity != null && (entity instanceof DdosIpCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchDdosIpCfg);
}
if(entity != null && (entity instanceof CfgIndexInfo)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchAppIpCfg);
}
if(entity != null && (entity instanceof AppHttpCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchAppHttpCfg);
}
if(entity != null && (entity instanceof AppDomainCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchAppDomainCfg);
}
if(entity != null && (entity instanceof AppTopicDomainCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchAppTopicCfg);
}
if(entity != null && (entity instanceof AppFeatureIndex)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchAppFeatureIndex);
}
if(entity != null && (entity instanceof AppSslCertCfg)) {
BeanUtils.copyProperties(entity, auditBatchCfg);
BeanUtils.copyProperties(entity, searchAppSslCertCfg);
}
//全部审核通过,只查询当前条件下的所有未审核的配置
if(auditType.equals(1)) {
searchCfg.setIsValid(0);
searchCfg.setIsAudit(0);
searchAppCfg.setIsValid(0);
searchAppCfg.setIsAudit(0);
searchDigestCfg.setIsValid(0);
searchDigestCfg.setIsAudit(0);
searchFileSampleCfg.setIsValid(0);
searchFileSampleCfg.setIsAudit(0);
searchObjKeyringCfg.setIsValid(0);
searchObjKeyringCfg.setIsAudit(0);
searchTrustedCaCertCfg.setIsValid(0);
searchTrustedCaCertCfg.setIsAudit(0);
searchTrustedCaCrlCfg.setIsValid(0);
searchTrustedCaCrlCfg.setIsAudit(0);
searchDnsResStrategy.setIsValid(0);
searchDnsResStrategy.setIsAudit(0);
searchDnsIpCfg.setIsValid(0);
searchDnsIpCfg.setIsAudit(0);
searchIpPortCfg.setIsValid(0);
searchIpPortCfg.setIsAudit(0);
searchSignSampleCfg.setIsValid(0);
searchSignSampleCfg.setIsAudit(0);
searchDdosIpCfg.setIsValid(0);
searchDdosIpCfg.setIsAudit(0);
searchAppIpCfg.setIsValid(0);
searchAppIpCfg.setIsAudit(0);
searchAppHttpCfg.setIsValid(0);
searchAppHttpCfg.setIsAudit(0);
searchAppDomainCfg.setIsValid(0);
searchAppDomainCfg.setIsAudit(0);
searchAppTopicCfg.setIsValid(0);
searchAppTopicCfg.setIsAudit(0);
searchAppFeatureIndex.setIsValid(0);
searchAppFeatureIndex.setIsAudit(0);
searchAppSslCertCfg.setIsValid(0);
searchAppSslCertCfg.setIsAudit(0);
auditBatchCfg.setIsAudit(1);
auditBatchCfg.setIsValid(1);
auditBatchCfg.setAuditTime(new Date());
auditBatchCfg.setAuditorId(UserUtils.getUser().getId());
}else {
//全部取消通过,只查询当前条件下的所有审核通过的配置
searchCfg.setIsValid(1);
searchCfg.setIsAudit(1);
searchAppCfg.setIsValid(1);
searchAppCfg.setIsAudit(1);
searchDigestCfg.setIsValid(1);
searchDigestCfg.setIsAudit(1);
searchFileSampleCfg.setIsValid(1);
searchFileSampleCfg.setIsAudit(1);
searchObjKeyringCfg.setIsValid(1);
searchObjKeyringCfg.setIsAudit(1);
searchTrustedCaCertCfg.setIsValid(1);
searchTrustedCaCertCfg.setIsAudit(1);
searchTrustedCaCrlCfg.setIsValid(1);
searchTrustedCaCrlCfg.setIsAudit(1);
searchDnsResStrategy.setIsValid(1);
searchDnsResStrategy.setIsAudit(1);
searchDnsIpCfg.setIsValid(1);
searchDnsIpCfg.setIsAudit(1);
searchIpPortCfg.setIsValid(1);
searchIpPortCfg.setIsAudit(1);
searchSignSampleCfg.setIsValid(1);
searchSignSampleCfg.setIsAudit(1);
searchDdosIpCfg.setIsValid(1);
searchDdosIpCfg.setIsAudit(1);
searchAppIpCfg.setIsValid(1);
searchAppIpCfg.setIsAudit(1);
searchAppHttpCfg.setIsValid(1);
searchAppHttpCfg.setIsAudit(1);
searchAppDomainCfg.setIsValid(1);
searchAppDomainCfg.setIsAudit(1);
searchAppTopicCfg.setIsValid(1);
searchAppTopicCfg.setIsAudit(1);
searchAppFeatureIndex.setIsValid(1);
searchAppFeatureIndex.setIsAudit(1);
searchAppSslCertCfg.setIsValid(1);
searchAppSslCertCfg.setIsAudit(1);
auditBatchCfg.setIsAudit(3);
auditBatchCfg.setIsValid(0);
auditBatchCfg.setAuditTime(new Date());
auditBatchCfg.setAuditorId(UserUtils.getUser().getId());
}
ServiceConfigTemplateUtil serviceTemplate = new ServiceConfigTemplateUtil();
Integer functionId=0;
if(auditBatchCfg != null && !StringUtil.isEmpty(auditBatchCfg.getFunctionId())) {
functionId=auditBatchCfg.getFunctionId();
}
List<Map<String,Object>> serviceList = serviceTemplate.getServiceList(functionId);
for(Map<String,Object> service:serviceList){
String tableNameXml = service.get("tableName").toString();
String serviceTypeXml = service.get("serviceType").toString();
String classNameXml = service.get("className").toString();
String serviceIdXml = service.get("id").toString();
auditBatchCfg.setServiceId(Integer.valueOf(serviceIdXml));
auditBatchCfg.setTableName(tableNameXml);
searchCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchCfg.setTableName(tableNameXml);
searchAppCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchAppCfg.setTableName(tableNameXml);
searchDigestCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchDigestCfg.setTableName(tableNameXml);
searchFileSampleCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchFileSampleCfg.setTableName(tableNameXml);
searchObjKeyringCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchObjKeyringCfg.setTableName(tableNameXml);
searchTrustedCaCertCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchTrustedCaCertCfg.setTableName(tableNameXml);
searchTrustedCaCrlCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchTrustedCaCrlCfg.setTableName(tableNameXml);
searchDnsResStrategy.setServiceId(Integer.valueOf(serviceIdXml));
searchDnsResStrategy.setTableName(tableNameXml);
searchDnsIpCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchDnsIpCfg.setTableName(tableNameXml);
searchIpPortCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchIpPortCfg.setTableName(tableNameXml);
searchSignSampleCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchSignSampleCfg.setTableName(tableNameXml);
searchDdosIpCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchDdosIpCfg.setTableName(tableNameXml);
searchAppIpCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchAppIpCfg.setTableName(tableNameXml);
searchAppHttpCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchAppHttpCfg.setTableName(tableNameXml);
searchAppDomainCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchAppDomainCfg.setTableName(tableNameXml);
searchAppTopicCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchAppTopicCfg.setTableName(tableNameXml);
searchAppFeatureIndex.setServiceId(Integer.valueOf(serviceIdXml));
searchAppFeatureIndex.setTableName(tableNameXml);
searchAppSslCertCfg.setServiceId(Integer.valueOf(serviceIdXml));
searchAppSslCertCfg.setTableName(tableNameXml);
if("1".equals(serviceTypeXml)){//maat类配置
List<Map<String,Object>> cfgList = (List<Map<String, Object>>) service.get("cfgList");
List<Map<String,Object>> userRegionList = (List<Map<String, Object>>) service.get("userRegionList");
if(!StringUtil.isEmpty(cfgList)) {
if("cfg_index_info".equals(tableNameXml)){
/************************多域maat cfg_index_info 处理****************************************/
boolean hasData = true;
while(hasData){
List<CfgIndexInfo> list=getDataList(page,searchCfg,null,null,null);
if(!StringUtil.isEmpty(list)){
//配置生效处理 复用全量下发
if(auditBatchCfg.getIsValid().equals(1)) {
hasData=configSynchronizationService.auditNtcMaatData(cfgList,userRegionList,page,auditBatchCfg,list,hasData,true);
}else {//配置失效处理 批量处理
List<BaseCfg> cfgIndexList=new ArrayList<>();
if(!StringUtil.isEmpty(list)) {
for (CfgIndexInfo cfg : list) {
BaseCfg baseCfg=new BaseCfg();
BeanUtils.copyProperties(cfg, baseCfg);
cfgIndexList.add(baseCfg);
}
}
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg, cfgIndexList, hasData);
}
if(hasData) {
page.setPageNo(1);
}
}else{
hasData = false;
}
}
}else if("file_digest_cfg".equals(tableNameXml)){
/************************多域 maat 摘要处理****************************************/
boolean hasData = true;
while(hasData){
List<FileDigestCfg> list=getDataList(page,null,null,searchDigestCfg,null);
if(!StringUtil.isEmpty(list)){
//配置生效处理 复用全量下发
if(auditBatchCfg.getIsValid().equals(1)) {
hasData=configSynchronizationService.auditFileDigestData(cfgList, userRegionList, page, auditBatchCfg, list, hasData, true);
}else {//配置失效处理 批量处理
List<BaseCfg> baseCfgList=new ArrayList<>();
if(!StringUtil.isEmpty(list)) {
for (FileDigestCfg cfg : list) {
BaseCfg baseCfg=new BaseCfg();
BeanUtils.copyProperties(cfg, baseCfg);
baseCfgList.add(baseCfg);
}
}
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,baseCfgList, hasData);
}
if(hasData) {
page.setPageNo(1);
}
}else{
hasData = false;
}
}
}else if("app_policy_cfg".equals(tableNameXml)){
/************************多域 maat app策略处理****************************************/
boolean hasData = true;
while(hasData){
List<AppPolicyCfg> list=getDataList(page,null,searchAppCfg,null,null);
if(!StringUtil.isEmpty(list)){
//配置生效处理 复用全量下发
if(auditBatchCfg.getIsValid().equals(1)) {
hasData=configSynchronizationService.auditAppPolicyData(cfgList,userRegionList,page,auditBatchCfg,list,hasData,true);
}else {//配置失效处理 批量处理
List<BaseCfg> cfgAppList=new ArrayList<>();
if(!StringUtil.isEmpty(list)) {
for (AppPolicyCfg cfg : list) {
BaseCfg baseCfg=new BaseCfg();
BeanUtils.copyProperties(cfg, baseCfg);
cfgAppList.add(baseCfg);
}
}
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,cfgAppList, hasData);
}
if(hasData) {
page.setPageNo(1);
}
}else{
hasData = false;
}
}
}else if("app_feature_index".equals(tableNameXml)){
/************************多域 maat app特征处理****************************************/
boolean hasData = true;
while(hasData){
List<AppFeatureIndex> list=getDataList(page,null,null,null,searchAppFeatureIndex);
if(!StringUtil.isEmpty(list)){
//配置生效处理 复用全量下发
if(auditBatchCfg.getIsValid().equals(1)) {
hasData=configSynchronizationService.auditAppFeatureData(cfgList,userRegionList,page,auditBatchCfg,list,hasData,true);
}else {//配置失效处理 批量处理
List<BaseCfg> cfgFeatrureList=new ArrayList<>();
if(!StringUtil.isEmpty(list)) {
for (AppFeatureIndex cfg : list) {
BaseCfg baseCfg=new BaseCfg();
BeanUtils.copyProperties(cfg, baseCfg);
cfgFeatrureList.add(baseCfg);
}
}
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,cfgFeatrureList, hasData);
}
if(hasData) {
page.setPageNo(1);
}
}else{
hasData = false;
}
}
}else{
logger.info("未知业务");
}
}else {
/************************单域maat处理****************************************/
int cfgType = Integer.parseInt(service.get("cfgType").toString());
if("ddos_ip_cfg".equals(tableNameXml)){
boolean hasData = true;
while(hasData){
List<DdosIpCfg> list=ddosCfgService.findPage(page, searchDdosIpCfg).getList();
if(!StringUtil.isEmpty(list)){
if(auditBatchCfg.getIsValid().equals(1)) {
hasData=configSynchronizationService.auditDdosMaatData(cfgList,userRegionList,
page,auditBatchCfg,list,hasData,true);
}else {
List<BaseCfg> newList=new ArrayList<>();
if(!StringUtil.isEmpty(list)) {
for (Object obj : list) {
BaseCfg cfg=(BaseCfg)obj;
newList.add(cfg);
}
}
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,newList, hasData);
}
if(hasData) {
page.setPageNo(1);
}
}else{
hasData = false;
}
}
}else{
boolean hasData = true;
while(hasData){
List list = Lists.newArrayList();
/*
1026 app_domain_cfg
1028 app_ip_cfg
1029 app_ssl_cert_cfg
1152 app_topic_domain_cfg
1024 app_http_cfg
1026 app_domain_cfg
*/
if(auditBatchCfg.getServiceId().equals(1026)) {
list=appCfgService.findAppDomainList(page, searchAppDomainCfg).getList();
}
if(auditBatchCfg.getServiceId().equals(1028)) {
list=appCfgService.findAppIpList(page, searchAppIpCfg).getList();
}
if(auditBatchCfg.getServiceId().equals(1029)) {
list=appCfgService.findAppSslList(page, searchAppSslCertCfg).getList();
}
if(auditBatchCfg.getServiceId().equals(1152)) {
list=appCfgService.findAppTopicDomainList(page, searchAppTopicCfg).getList();
}
if(auditBatchCfg.getServiceId().equals(1024)) {
list=appCfgService.findAppHttpList(page, searchAppHttpCfg).getList();
}
if(!StringUtil.isEmpty(list)){
if(auditBatchCfg.getIsValid().equals(1)) {
if(auditBatchCfg.getServiceId().equals(1028)){
hasData=configSynchronizationService.auditAppIpData(userRegionList,
page,auditBatchCfg,list,hasData,true);
}else{
hasData=configSynchronizationService.auditSingleMaatData(cfgType,userRegionList,
page,auditBatchCfg,list,hasData,true);
}
}else {
List<BaseCfg> newList=new ArrayList<>();
if(!StringUtil.isEmpty(list)) {
for (Object obj : list) {
BaseCfg cfg=(BaseCfg)obj;
newList.add(cfg);
}
}
hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,newList, hasData);
}
if(hasData) {
page.setPageNo(1);
}
}else{
hasData = false;
}
}
}
}
}else if("2".equals(serviceTypeXml)){
/********************回调类处理生效和失效一个方法【由于每个表检索条件不一样,需要自己处理,无法复用全量下发】*********/
boolean hasData = true;
while(hasData){
hasData=handelCallbackData(classNameXml, page, hasData, auditBatchCfg
, searchCfg
, searchAppCfg
, searchDigestCfg
, searchFileSampleCfg
, searchObjKeyringCfg
, searchTrustedCaCertCfg
, searchTrustedCaCrlCfg
, searchDnsResStrategy
, searchDnsIpCfg
, searchIpPortCfg
, searchSignSampleCfg);
if(hasData){
page.setPageNo(page.getNext());
}
}
}
}
}
public List getDataList(Page searchPage
,CfgIndexInfo searchCfg
,AppPolicyCfg searchAppCfg
,FileDigestCfg searchDigestCfg
,AppFeatureIndex searchAppFeatureIndex){
BaseCfg baseCfg=new BaseCfg<>();
if(!StringUtil.isEmpty(searchCfg)) {
BeanUtils.copyProperties(searchCfg, baseCfg);
}
if(!StringUtil.isEmpty(searchAppCfg)) {
BeanUtils.copyProperties(searchAppCfg, baseCfg);
}
if(!StringUtil.isEmpty(searchDigestCfg)) {
BeanUtils.copyProperties(searchDigestCfg, baseCfg);
}
if(!StringUtil.isEmpty(searchAppFeatureIndex)) {
BeanUtils.copyProperties(searchAppFeatureIndex, baseCfg);
}
Page pageResult=new Page();
if(baseCfg.getFunctionId().equals(5)//IP
|| baseCfg.getFunctionId().equals(3)) { //IP WHITELIST
pageResult=ipCfgService.getIpCfgList(searchPage,searchCfg);
}else if(baseCfg.getFunctionId().equals(212) //IP Payload
|| baseCfg.getFunctionId().equals(7) //DNS
|| baseCfg.getFunctionId().equals(8)//HTTP ADVANCED
|| baseCfg.getFunctionId().equals(635) //HTTP 关键字
|| baseCfg.getFunctionId().equals(37) //MAIL ADDRESS
|| baseCfg.getFunctionId().equals(35) //MAIL ADVANCED
|| baseCfg.getFunctionId().equals(34)) {//SSL
pageResult=websiteCfgService.getWebsiteList(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(6)) {//HTTP URL
pageResult=domainService.getDomainList(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(63)//Stream basic
|| baseCfg.getFunctionId().equals(407)//Stream app
|| baseCfg.getFunctionId().equals(408)) {//Stream behavior
pageResult=appCfgService.findAppPolicyList(searchPage, searchAppCfg);
}else if(baseCfg.getFunctionId().equals(61)) {//BGP
pageResult=bgpCfgService.getBgpList(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(51)) {//FTP
pageResult=fileTransferCfgService.getFtpList(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(510)) {//P2P
pageResult=fileTransferCfgService.getFtpList(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(22)) {//Stream Media
pageResult=avContentCfgService.findPage(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(24)) {//VOIP
pageResult=avContentCfgService.findPage(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(52)) {//Digest
pageResult=fileTransferCfgService.getFileDigestList(searchPage, searchDigestCfg);
}else if(baseCfg.getFunctionId().equals(200)//intercept ip
||baseCfg.getFunctionId().equals(201)) {//intercept domain
pageResult=interceptCfgService.getWebsiteList(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(207) //control
||baseCfg.getFunctionId().equals(208)
||baseCfg.getFunctionId().equals(209)
||baseCfg.getFunctionId().equals(210)
||baseCfg.getFunctionId().equals(211)) {
pageResult=httpRedirectCfgService.getHttpRedirectList(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(213)) {// cache
pageResult=cachePolicyService.getCachePolicyList(searchPage, searchCfg);
}else if(baseCfg.getFunctionId().equals(52)) {//appFeatre
pageResult=appMultiFeatureCfgService.findAppFeatureIndexList(searchPage,searchAppFeatureIndex);
}
return pageResult.getList();
}
private boolean handelCallbackData(String className,Page page,boolean hasData,BaseCfg entity
,CfgIndexInfo searchCfg
,AppPolicyCfg searchAppCfg
,FileDigestCfg searchDigestCfg
,AvFileSampleCfg searchFileSampleCfg
,PxyObjKeyring searchObjKeyringCfg
,PxyObjTrustedCaCert searchTrustedCaCertCfg
,PxyObjTrustedCaCrl searchTrustedCaCrlCfg
,DnsResStrategy searchDnsResStrategy
,DnsIpCfg searchDnsIpCfg
,IpPortCfg searchIpPortCfg
,AvSignSampleCfg searchSignSampleCfg) {
ToMaatBean maatBean;
MaatCfg maatCfg;
List<MaatCfg> configCompileList;
List<GroupCfg> groupRelationList;
List<IpCfg> ipRegionList;
List<StringCfg> strRegionList;
List<NumBoundaryCfg> numRegionList;
List<DigestCfg> digestRegionList;
List<IpCfg> areaIpRegionList;
maatBean = new ToMaatBean();
configCompileList = new ArrayList();
List list = new ArrayList();
List newList = new ArrayList();
List ids = new ArrayList();
List<Integer> compileIds = Lists.newArrayList();
if(entity.getServiceId().equals(3)){//ip drop回调类配置用了主表和子表关系
list = getDataList(page, searchCfg, null, null,null);
if(!StringUtil.isEmpty(list)){
for(int i=0;i<list.size();i++){
CfgIndexInfo cfg = (CfgIndexInfo) list.get(i);
compileIds.add(cfg.getCompileId());
}
List subList = commonPolicyService.getIpDropList("ip_port_cfg", compileIds);
for(int i=0;i<subList.size();i++){
IpPortCfg cfg = (IpPortCfg) subList.get(i);
newList.add(BaseService.convertCallBackIp(cfg,cfg.getGroupId()));
}
}
}else{
if(className.equals("AvFileSampleCfg")){
list = avCfgService.getAvFileSampleList(page,searchFileSampleCfg).getList();
for(int i=0;i<list.size();i++){
BaseCfg cfg = (BaseCfg) list.get(i);
ids.add(cfg.getCompileId());
}
newList.addAll(list);
}else if(className.equals("AvSignSampleCfg")){
list = avCfgService.getSignSampleList(searchSignSampleCfg);
for(int i=0;i<list.size();i++){
BaseCfg cfg = (BaseCfg) list.get(i);
ids.add(cfg.getCompileId());
}
newList.addAll(list);
}else if(className.equals("PxyObjKeyring")){
list = pxyObjKeyringService.findPage(page, searchObjKeyringCfg).getList();
for(int i=0;i<list.size();i++){
PxyObjKeyring cfg = (PxyObjKeyring) list.get(i);
newList.add(BaseService.convertCallBackProxyObjKeyring(cfg));
ids.add(cfg.getCompileId());
}
}else if(className.equals("PxyObjTrustedCaCert")){
list = pxyObjKeyringService.findTrustedCertPage(page,searchTrustedCaCertCfg).getList();
for(int i=0;i<list.size();i++){
PxyObjTrustedCaCert cfg = (PxyObjTrustedCaCert) list.get(i);
newList.addAll(BaseService.convertCallBackProxyObjTrustedCa(cfg,null));
//TODO 要保证cert下发成功crl必须也同时下发成功需要单个查询
ids.add(cfg.getCompileId());
}
}/*else if(className.equals("PxyObjTrustedCaCrl")){ //批量下发时不需要单独下发CRL
list = pxyObjKeyringService;
for(int i=0;i<list.size();i++){
PxyObjTrustedCaCrl cfg = (PxyObjTrustedCaCrl) list.get(i);
newList.add(BaseService.convertCallBackProxyObjTrustedCa(null,cfg));
ids.add(cfg.getCompileId());
}
}*/else if(className.equals("DnsResStrategy")){
list = dnsResStrategyService.findPage(page,searchDnsResStrategy).getList();
for(int i=0;i<list.size();i++){
DnsResStrategy cfg = (DnsResStrategy) list.get(i);
newList.add(BaseService.convertCallBackDnsResStrategy(cfg));
ids.add(cfg.getCompileId());
}
}else if(className.equals("DnsIpCfg")){
list = dnsIpCfgService.findPage(page,searchDnsIpCfg).getList();
for(int i=0;i<list.size();i++){
DnsIpCfg cfg = (DnsIpCfg) list.get(i);
newList.add(BaseService.convertCallBackIp(cfg,cfg.getGroupId()));
ids.add(cfg.getCompileId());
}
}else if(className.equals("IpPortCfg")){
list = commonPolicyService.getIpPortList(searchIpPortCfg);
for(int i=0;i<list.size();i++){
IpPortCfg cfg = (IpPortCfg) list.get(i);
newList.add(BaseService.convertCallBackIp(cfg,cfg.getGroupId()));
ids.add(cfg.getCompileId());
}
}
}
//批量修改和下发回调配置
commonPolicyService.auditCallBackData(newList, compileIds, ids, entity);
page.setList(list);
if(page.isLastPage()){
hasData = false;
}
return hasData;
}
}

View File

@@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.taglibs.standard.functions.Functions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -223,29 +224,57 @@ public class AppCfgController extends BaseController {
*/
@RequestMapping(value = {"auditAppPolicyCfg"})
@RequiresPermissions(value={"app:policy:confirm"})
public String auditAppPolicyCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppPolicyCfg entity = new AppPolicyCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_APP);
try {
appCfgService.auditAppPolicyCfg(entity,isAudit);
} catch (Exception e) {
e.printStackTrace();
logger.error("app策略配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
public String auditAppPolicyCfg(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
AppPolicyCfg entity = new AppPolicyCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_APP);
try {
appCfgService.auditAppPolicyCfg(entity,isAudit);
} catch (Exception e) {
e.printStackTrace();
logger.error("app策略配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<AppPolicyCfg> searchPage=new Page<AppPolicyCfg>(request,response,"r");
Page<AppPolicyCfg> auditPage=new Page<AppPolicyCfg>(request,response,"r");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return policyCfgList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/app/policyCfgList?functionId="+functionId;
}
/**
@@ -477,27 +506,54 @@ public class AppCfgController extends BaseController {
*/
@RequestMapping(value = {"auditAppHttpCfg"})
// @RequiresPermissions(value={"app:http:confirm"})
public String auditAppHttpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppHttpCfg entity = new AppHttpCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppHttpCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appCfgService.auditAppHttpCfg(entity,isAudit);
} catch (Exception e) {
e.printStackTrace();
logger.error("app http配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
public String auditAppHttpCfg(Model model,@ModelAttribute("cfg")AppHttpCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
AppHttpCfg entity = new AppHttpCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppHttpCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appCfgService.auditAppHttpCfg(entity,isAudit);
} catch (Exception e) {
e.printStackTrace();
logger.error("app http配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<AppHttpCfg> searchPage=new Page<AppHttpCfg>(request,response,"r");
Page<AppHttpCfg> auditPage=new Page<AppHttpCfg>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return httpCfgList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/app/httpCfgList?functionId="+functionId;
}
@@ -595,27 +651,54 @@ public class AppCfgController extends BaseController {
*/
@RequestMapping(value = {"auditAppDomainCfg"})
// @RequiresPermissions(value={"app:domain:confirm"})
public String auditAppDomainCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppDomainCfg entity = new AppDomainCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppDomainCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appCfgService.auditAppDomainCfg(entity,isAudit);
} catch (Exception e) {
e.printStackTrace();
logger.error("app协议domain配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
public String auditAppDomainCfg(Model model,@ModelAttribute("cfg")AppDomainCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
AppDomainCfg entity = new AppDomainCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppDomainCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appCfgService.auditAppDomainCfg(entity,isAudit);
} catch (Exception e) {
e.printStackTrace();
logger.error("app协议domain配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<AppDomainCfg> searchPage=new Page<AppDomainCfg>(request,response,"r");
Page<AppDomainCfg> auditPage=new Page<AppDomainCfg>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return domainCfgList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/app/domainCfgList?functionId="+functionId;
}
@@ -834,27 +917,55 @@ public class AppCfgController extends BaseController {
*/
@RequestMapping(value = {"auditAppSslCfg"})
@RequiresPermissions(value={"app:ssl:confirm"})
public String auditAppSslCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppSslCertCfg entity = new AppSslCertCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppSslCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appCfgService.auditAppSslCfg(entity,isAudit);
} catch (Exception e) {
logger.error("app SSL配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
public String auditAppSslCfg(Model model,@ModelAttribute("cfg")AppSslCertCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
AppSslCertCfg entity = new AppSslCertCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppSslCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appCfgService.auditAppSslCfg(entity,isAudit);
} catch (Exception e) {
logger.error("app SSL配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<AppPolicyCfg> searchPage=new Page<AppPolicyCfg>(request,response,"r");
Page<AppPolicyCfg> auditPage=new Page<AppPolicyCfg>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return sslCfgList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/app/sslCfgList?functionId="+functionId;
}
/**
@@ -1194,9 +1305,9 @@ public class AppCfgController extends BaseController {
AppTopicDomainCfg entity,RedirectAttributes redirectAttributes) {
try {
//验证域名的重复行
if(!StringUtil.isBlank(entity.getDomain())){
if(!StringUtil.isBlank(entity.getCfgKeywords())){
WebsiteDomainTopic websiteDomainTopic = new WebsiteDomainTopic();
websiteDomainTopic.setDomain(entity.getDomain());
websiteDomainTopic.setDomain(entity.getCfgKeywords());
List<WebsiteDomainTopic> domainDict = appCfgService.getDomainDict(websiteDomainTopic);
if((domainDict==null || domainDict.size()==0)){
//保存到域名关联表中
@@ -1213,8 +1324,8 @@ public class AppCfgController extends BaseController {
}
}
}
if(entity!=null&&StringUtil.isBlank(entity.getDomain())&&!StringUtil.isBlank(entity.getDomain())){
entity.setDomain(entity.getDomain());
if(entity!=null&&StringUtil.isBlank(entity.getCfgKeywords())&&!StringUtil.isBlank(entity.getCfgKeywords())){
entity.setCfgKeywords(entity.getCfgKeywords());
}
appCfgService.saveOrUpdateAppTopicDomainCfg(entity);
addMessage(redirectAttributes,"success","save_success");
@@ -1243,27 +1354,54 @@ public class AppCfgController extends BaseController {
*/
@RequestMapping(value = {"auditAppTopicDomainCfg"})
// @RequiresPermissions(value={"app:domain:confirm"})
public String auditAppTopicDomainCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppTopicDomainCfg entity = new AppTopicDomainCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppTopicDomainCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appCfgService.auditAppTopicDomainCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch (Exception e) {
logger.error("app主题网站配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
public String auditAppTopicDomainCfg(Model model,@ModelAttribute("cfg")AppTopicDomainCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
AppTopicDomainCfg entity = new AppTopicDomainCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppTopicDomainCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appCfgService.auditAppTopicDomainCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch (Exception e) {
logger.error("app主题网站配置下发失败",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<AppTopicDomainCfg> searchPage=new Page<AppTopicDomainCfg>(request,response,"r");
Page<AppTopicDomainCfg> auditPage=new Page<AppTopicDomainCfg>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return TopicDomainCfgList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+functionId;
}

View File

@@ -10,6 +10,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.taglibs.standard.functions.Functions;
@@ -148,28 +149,56 @@ public class AppFeatureCfgController extends BaseController {
* @return
*/
@RequestMapping(value = {"auditAppFeatureCfg"})
public String auditAppFeatureCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppFeatureIndex entity = new AppFeatureIndex();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appMultiFeatureCfgService.getAppFeatureIndex(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appMultiFeatureCfgService.auditAppFeatureCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.error("app 特征配置下发失败:"+e.getMessage());
addMessage(redirectAttributes,"error", "request_service_failed");
} catch (Exception e) {
e.printStackTrace();
logger.error("app 特征配置下发失败:"+e.getMessage());
addMessage(redirectAttributes,"error", "audit_failed");
public String auditAppFeatureCfg(Model model,@ModelAttribute("cfg")AppFeatureIndex cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
AppFeatureIndex entity = new AppFeatureIndex();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appMultiFeatureCfgService.getAppFeatureIndex(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
appMultiFeatureCfgService.auditAppFeatureCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.error("app 特征配置下发失败:"+e.getMessage());
addMessage(redirectAttributes,"error", "request_service_failed");
} catch (Exception e) {
e.printStackTrace();
logger.error("app 特征配置下发失败:"+e.getMessage());
addMessage(redirectAttributes,"error", "audit_failed");
}
}
}else {
Page<AppPolicyCfg> searchPage=new Page<AppPolicyCfg>(request,response,"r");
Page<AppPolicyCfg> auditPage=new Page<AppPolicyCfg>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return multiFeatureCfgList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/app/feature/multiFeatureCfgList?functionId="+functionId;
}
/**

View File

@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -162,32 +163,59 @@ public class BasicProtocolController extends BaseController {
*/
@RequestMapping(value = {"audit"})
@RequiresPermissions(value={"basicprotocol:confirm"})
public String auditAppPolicyCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppPolicyCfg entity = new AppPolicyCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL);
public String auditAppPolicyCfg(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
AppPolicyCfg entity = new AppPolicyCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL);
try {
appCfgService.auditAppPolicyCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch (Exception e) {
if(e instanceof MaatConvertException) {
e.printStackTrace();
logger.info("app策略配置下发失败"+e.getMessage());;
addMessage(redirectAttributes,"error","request_service_failed");
}else {
e.printStackTrace();
logger.error("app策略配置下发失败",e);
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<AppPolicyCfg> searchPage=new Page<AppPolicyCfg>(request,response,"r");
Page<AppPolicyCfg> auditPage=new Page<AppPolicyCfg>(request,response,"r");
BeanUtils.copyProperties(searchPage, auditPage);
try {
appCfgService.auditAppPolicyCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
e.printStackTrace();
logger.info("app策略配置下发失败"+e.getMessage());;
addMessage(redirectAttributes,"error","request_service_failed");
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
e.printStackTrace();
logger.error("app策略配置下发失败",e);
addMessage(redirectAttributes,"error","audit_failed");
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return policyCfgList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/basicprotocol/list?functionId="+functionId;
}

View File

@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -30,6 +31,7 @@ import com.nis.exceptions.CallExternalProceduresException;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@@ -183,32 +185,61 @@ public class EncryptedTunnelBehaviorController extends BaseController {
*/
@RequestMapping(value = {"audit"})
@RequiresPermissions(value={"encryptedtunnelbehav:confirm"})
public String auditAppPolicyCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppPolicyCfg entity = new AppPolicyCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR);
try {
appCfgService.auditAppPolicyCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch (Exception e) {
if(e instanceof MaatConvertException) {
e.printStackTrace();
logger.info("加密隧道配置下发失败:"+e.getMessage());;
addMessage(redirectAttributes,"error","request_service_failed");
}else {
e.printStackTrace();
logger.error("加密隧道配置下发失败",e);
addMessage(redirectAttributes,"error","audit_failed");
public String auditAppPolicyCfg(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
AppPolicyCfg entity = new AppPolicyCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR);
try {
appCfgService.auditAppPolicyCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch (Exception e) {
if(e instanceof MaatConvertException) {
e.printStackTrace();
logger.info("加密隧道配置下发失败:"+e.getMessage());;
addMessage(redirectAttributes,"error","request_service_failed");
}else {
e.printStackTrace();
logger.error("加密隧道配置下发失败",e);
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<AppPolicyCfg> searchPage=new Page<AppPolicyCfg>(request,response,"r");
Page<AppPolicyCfg> auditPage=new Page<AppPolicyCfg>(request,response,"r");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return policyCfgList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/encryptedtunnelbehav/list?functionId="+functionId;
}
/**

View File

@@ -10,6 +10,7 @@ import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.cxf.common.util.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
@@ -100,8 +101,14 @@ public class DnsIpCfgController extends BaseController {
}
@RequestMapping(value = {"/audit"})
@RequiresPermissions(value={"dns:fake:ip:confirm"})
public String audit(Integer isAudit,Integer isValid,String ids
,Integer functionId, RedirectAttributes redirectAttributes) {
public String audit(Model model,@ModelAttribute("cfg")DnsIpCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
@@ -120,6 +127,24 @@ public class DnsIpCfgController extends BaseController {
}
}else {
Page<DnsIpCfg> searchPage=new Page<DnsIpCfg>(request,response,"r");
Page<DnsIpCfg> auditPage=new Page<DnsIpCfg>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return list(model, request, response,cfg, redirectAttributes);
}
return "redirect:" + adminPath +"/cfg/dnsIp/list?functionId="+functionId;
}

View File

@@ -9,6 +9,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.taglibs.standard.functions.Functions;
import org.springframework.stereotype.Controller;
@@ -118,8 +119,14 @@ public class DnsResStrategyController extends BaseController {
@RequestMapping(value = {"/audit"})
@RequiresPermissions(value={"dns:res:strategy:confirm"})
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId,
RedirectAttributes redirectAttributes) {
public String audit(Model model,@ModelAttribute("cfg")DnsResStrategy cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
@@ -133,6 +140,24 @@ public class DnsResStrategyController extends BaseController {
}
}
}else {
Page<DnsResStrategy> searchPage=new Page<DnsResStrategy>(request,response,"r");
Page<DnsResStrategy> auditPage=new Page<DnsResStrategy>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return list(model, request, response, cfg,redirectAttributes);
}
return "redirect:" + adminPath +"/maintenance/dnsResStrategy/list?functionId="+functionId;
}

View File

@@ -9,6 +9,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.cxf.common.util.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
@@ -87,7 +88,14 @@ public class DdosCfgController extends BaseController {
}
@RequestMapping(value = {"/audit"})
//@RequiresPermissions(value={"ddos:ip:confirm"})
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
public String audit(Model model,@ModelAttribute("cfg")DdosIpCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
@@ -105,7 +113,24 @@ public class DdosCfgController extends BaseController {
}
}
}else {
Page<DdosIpCfg> searchPage=new Page<DdosIpCfg>(request,response,"r");
Page<DdosIpCfg> auditPage=new Page<DdosIpCfg>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return list(model, request, response, cfg);
}
return "redirect:" + adminPath +"/manipulation/ddos/list?functionId="+functionId;
}

View File

@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -202,7 +203,14 @@ public class AvContentController extends BaseController {
//修改VOIP IP配置审核状态
@RequestMapping(value = {"/auditAvVoip"})
@RequiresPermissions(value={"avVoip:confirm"})
public String auditVoip(Integer isAudit,Integer isValid,String ids ,String compileIds,Integer functionId ,RedirectAttributes redirectAttributes) {
public String auditVoip(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
@@ -223,6 +231,23 @@ public class AvContentController extends BaseController {
}
}
}else {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"r");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"r");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return voipCfgList(model, request, response, cfg, redirectAttributes);
}
return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+functionId;
}
@@ -639,9 +664,14 @@ public class AvContentController extends BaseController {
//修改CONTUrl配置审核
@RequestMapping(value = {"/auditAvContUrl"})
@RequiresPermissions(value={"avContUrl:confirm"})
public String auditContUrl(Integer isAudit,Integer isValid,String ids
,String compileIds,Integer functionId
, RedirectAttributes redirectAttributes) {
public String auditContUrl(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
@@ -659,6 +689,23 @@ public class AvContentController extends BaseController {
}
}
}else {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"r");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"r");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return contUrlList(model, request, response, cfg, redirectAttributes);
}
return "redirect:" + adminPath +"/ntc/av/contUrlList?functionId="+functionId;
}

View File

@@ -20,6 +20,7 @@ import net.sf.json.JSONObject;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.apache.tools.zip.ZipOutputStream;
import org.springframework.beans.BeanUtils;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -35,6 +36,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.FunctionRegionDict;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.configuration.AppPolicyCfg;
import com.nis.domain.configuration.AvFileSampleCfg;
import com.nis.domain.configuration.AvSignSampleCfg;
import com.nis.domain.configuration.AvSignSampleCfgModel;
@@ -330,80 +332,107 @@ public class AvController extends BaseController {
* @return
*/
@RequestMapping(value = {"/sample/auditAvFileSample"})
public String auditAvFileSample(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes){
// avCfgService.auditAvFileSample(isAudit,isValid,ids);
AvFileSampleCfg entity = new AvFileSampleCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = avCfgService.getAvFileSampleById(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
// String oldSrcUrl = entity.getSrcPath();
// String oldSampleUrl = entity.getSamplePath();
try {
/*if(isAudit==1){
Date creatTime = entity.getCreateTime();
//音视频文件上传接口调用
File srcFile = new File(oldSrcUrl);
Map<String,Object> srcMap = new HashMap();
srcMap.put("filetype", FileUtils.getSuffix(srcFile.getName(), false));
srcMap.put("datatype", "dbSystem");//源文件存入数据中心
srcMap.put("createTime",creatTime);
srcMap.put("key",FileUtils.getPrefix(srcFile.getName(), false));
srcMap.put("fileName", srcFile.getName());
srcMap.put("checksum", entity.getSrcMd5());
ToMaatResult result1 = ConfigServiceUtil.postFileCfg(null, srcFile, JsonMapper.toJsonString(srcMap));
logger.info("音视频源文件上传响应信息:"+result1);
//获取文件上传响应信息(新的文件访问路径)
String srcAccessUrl = null;
if(!StringUtil.isEmpty(result1)){
ResponseData data = result1.getData();
srcAccessUrl=data.getAccessUrl();
entity.setSrcUrl(srcAccessUrl);
// entity.setSrcPath("");
}
File sampleFile = new File(oldSampleUrl);
Map<String,Object> sampleMap = new HashMap();
sampleMap.put("filetype", FileUtils.getSuffix(sampleFile.getName(), false));
sampleMap.put("datatype", "fileSystem");//样例文件存入fastdfs
sampleMap.put("createTime", creatTime);
sampleMap.put("key",FileUtils.getPrefix(sampleFile.getName(), false));
sampleMap.put("fileName", sampleFile.getName());
sampleMap.put("checksum", entity.getSampleMd5());
ToMaatResult result2 = ConfigServiceUtil.postFileCfg(null, sampleFile, JsonMapper.toJsonString(sampleMap));
logger.info("音视频样例文件上传响应信息:"+result2);
//获取文件上传响应信息(新的文件访问路径)
String sampleAccessUrl = null;
if(!StringUtil.isEmpty(result2)){
ResponseData data = result2.getData();
sampleAccessUrl = data.getAccessUrl();
entity.setSampleUrl(sampleAccessUrl);
// entity.setSamplePath("");
public String auditAvFileSample(Model model,@ModelAttribute("cfg")AvFileSampleCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request){
if(!StringUtil.isEmpty(ids)){
//avCfgService.auditAvFileSample(isAudit,isValid,ids);
AvFileSampleCfg entity = new AvFileSampleCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = avCfgService.getAvFileSampleById(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
// String oldSrcUrl = entity.getSrcPath();
// String oldSampleUrl = entity.getSamplePath();
try {
/*if(isAudit==1){
Date creatTime = entity.getCreateTime();
//音视频文件上传接口调用
File srcFile = new File(oldSrcUrl);
Map<String,Object> srcMap = new HashMap();
srcMap.put("filetype", FileUtils.getSuffix(srcFile.getName(), false));
srcMap.put("datatype", "dbSystem");//源文件存入数据中心
srcMap.put("createTime",creatTime);
srcMap.put("key",FileUtils.getPrefix(srcFile.getName(), false));
srcMap.put("fileName", srcFile.getName());
srcMap.put("checksum", entity.getSrcMd5());
ToMaatResult result1 = ConfigServiceUtil.postFileCfg(null, srcFile, JsonMapper.toJsonString(srcMap));
logger.info("音视频源文件上传响应信息:"+result1);
//获取文件上传响应信息(新的文件访问路径)
String srcAccessUrl = null;
if(!StringUtil.isEmpty(result1)){
ResponseData data = result1.getData();
srcAccessUrl=data.getAccessUrl();
entity.setSrcUrl(srcAccessUrl);
// entity.setSrcPath("");
}
File sampleFile = new File(oldSampleUrl);
Map<String,Object> sampleMap = new HashMap();
sampleMap.put("filetype", FileUtils.getSuffix(sampleFile.getName(), false));
sampleMap.put("datatype", "fileSystem");//样例文件存入fastdfs
sampleMap.put("createTime", creatTime);
sampleMap.put("key",FileUtils.getPrefix(sampleFile.getName(), false));
sampleMap.put("fileName", sampleFile.getName());
sampleMap.put("checksum", entity.getSampleMd5());
ToMaatResult result2 = ConfigServiceUtil.postFileCfg(null, sampleFile, JsonMapper.toJsonString(sampleMap));
logger.info("音视频样例文件上传响应信息:"+result2);
//获取文件上传响应信息(新的文件访问路径)
String sampleAccessUrl = null;
if(!StringUtil.isEmpty(result2)){
ResponseData data = result2.getData();
sampleAccessUrl = data.getAccessUrl();
entity.setSampleUrl(sampleAccessUrl);
// entity.setSamplePath("");
}
}*/
avCfgService.auditAvFileSample(entity,isAudit);
//删除本地源文件和样例文件
/*if(!oldSrcUrl.equals(entity.getSrcUrl())){
FileUtils.deleteFile(oldSrcUrl);
}
if(!oldSampleUrl.equals(entity.getSampleUrl())){
FileUtils.deleteFile(oldSampleUrl);
}*/
}catch(Exception e){
e.printStackTrace();
if(e instanceof MaatConvertException) {
logger.info("音视频文件样例配置下发失败:"+e.getMessage());
addMessage(redirectAttributes,"error","request_service_failed");
}else {
logger.error("auditAvFileSample failed",e);
addMessage(redirectAttributes,"error","audit_failed");
}
}*/
avCfgService.auditAvFileSample(entity,isAudit);
//删除本地源文件和样例文件
/*if(!oldSrcUrl.equals(entity.getSrcUrl())){
FileUtils.deleteFile(oldSrcUrl);
}
if(!oldSampleUrl.equals(entity.getSampleUrl())){
FileUtils.deleteFile(oldSampleUrl);
}*/
}catch(Exception e){
e.printStackTrace();
if(e instanceof MaatConvertException) {
logger.info("音视频文件样例配置下发失败:"+e.getMessage());
addMessage(redirectAttributes,"error","request_service_failed");
}else {
logger.error("auditAvFileSample failed",e);
addMessage(redirectAttributes,"error","audit_failed");
}
}
}else {
Page<AvFileSampleCfg> searchPage=new Page<AvFileSampleCfg>(request,response,"a");
Page<AvFileSampleCfg> auditPage=new Page<AvFileSampleCfg>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return fileSampleList(model, request, response, cfg);
}
return "redirect:" + adminPath +"/ntc/av/sample/fileSampleList?functionId="+functionId;
}

View File

@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -26,6 +27,7 @@ import com.nis.domain.configuration.NtcBgpAsCfg;
import com.nis.domain.configuration.NtcSubscribeIdCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@@ -41,9 +43,8 @@ public class BgpCfgController extends BaseController{
@RequestMapping(value = {"bgpList"})
// @RequiresPermissions(value={"other:bgp:config"})
public String httpList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg
,HttpServletRequest request,HttpServletResponse response
,RedirectAttributes redirectAttributes) {
public String bgpList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg
,HttpServletRequest request,HttpServletResponse response) {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> page = bgpCfgService.getBgpList(searchPage, cfg);
model.addAttribute("page", page);
@@ -129,28 +130,54 @@ public class BgpCfgController extends BaseController{
@RequestMapping(value = {"auditBgpCfg"})
@RequiresPermissions(value={"other:bgp:confirm"})
public String auditBgpCfg(Integer isAudit,Integer isValid,String ids
,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = bgpCfgService.getBgpCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
bgpCfgService.auditBgpCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.error("bgp配置下发失败",e);
addMessage(redirectAttributes,"error","request_service_failed");
}catch (Exception e) {
e.printStackTrace();
logger.error("bgp配置下发失败",e);
addMessage(redirectAttributes,"error","audit_failed");
public String auditBgpCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = bgpCfgService.getBgpCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
bgpCfgService.auditBgpCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.error("bgp配置下发失败",e);
addMessage(redirectAttributes,"error","request_service_failed");
}catch (Exception e) {
e.printStackTrace();
logger.error("bgp配置下发失败",e);
addMessage(redirectAttributes,"error","audit_failed");
}
}
}else {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return bgpList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/other/bgpList?functionId="+functionId;
}

View File

@@ -17,6 +17,7 @@ import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.taglibs.standard.functions.Functions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.FileCopyUtils;
@@ -159,30 +160,56 @@ public class FileTransferCfgController extends BaseController{
}
@RequestMapping(value = {"auditFtpCfg"})
@RequiresPermissions(value={"fileTransfer:ftp:confirm"})
public String auditFtpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = fileTransferCfgService.getFtpCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
fileTransferCfgService.auditFtpCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch ( Exception e) {
if(e instanceof MaatConvertException) {
e.printStackTrace();
logger.error("ftp配置下发失败"+e.getMessage());;
addMessage(redirectAttributes,"error","request_service_failed");
}else {
e.printStackTrace();
logger.error("ftp配置下发失败",e);
addMessage(redirectAttributes,"error","audit_failed");
public String auditFtpCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = fileTransferCfgService.getFtpCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
fileTransferCfgService.auditFtpCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch ( Exception e) {
if(e instanceof MaatConvertException) {
e.printStackTrace();
logger.error("ftp配置下发失败"+e.getMessage());;
addMessage(redirectAttributes,"error","request_service_failed");
}else {
e.printStackTrace();
logger.error("ftp配置下发失败",e);
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return ftpList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+functionId;
}
@@ -276,8 +303,14 @@ public class FileTransferCfgController extends BaseController{
@RequestMapping(value = {"auditFileDigestCfg"})
@RequiresPermissions(value={"fileTransfer:fileDigest:confirm"})
public String auditFileDigestCfg(Integer isAudit,Integer isValid
,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
public String auditFileDigestCfg(Model model,@ModelAttribute("cfg")FileDigestCfg cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
@@ -298,6 +331,23 @@ public class FileTransferCfgController extends BaseController{
}
}
}else {
Page<FileDigestCfg> searchPage=new Page<FileDigestCfg>(request,response,"a");
Page<FileDigestCfg> auditPage=new Page<FileDigestCfg>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return fileDigestList(model, cfg, request, response, redirectAttributes);
}
return "redirect:" + adminPath +"/ntc/fileTransfer/fileDigestList?functionId="+functionId;
}
@@ -450,30 +500,56 @@ public class FileTransferCfgController extends BaseController{
@RequestMapping(value = {"auditP2pCfg"})
@RequiresPermissions(value={"fileTransfer:p2p:confirm"})
public String auditP2pCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = fileTransferCfgService.getP2pCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
fileTransferCfgService.auditP2pCfg(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.info("p2p配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else if(e instanceof CallExternalProceduresException) {
addMessage(redirectAttributes,"error","call_external_procedures_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
public String auditP2pCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = fileTransferCfgService.getP2pCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
fileTransferCfgService.auditP2pCfg(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.info("p2p配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else if(e instanceof CallExternalProceduresException) {
addMessage(redirectAttributes,"error","call_external_procedures_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return p2pList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/fileTransfer/p2pList?functionId="+functionId;
}

View File

@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -45,6 +46,7 @@ import com.nis.domain.configuration.template.SnatTemplate;
import com.nis.domain.configuration.template.StringAllTemplate;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.index.Configurations;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
@@ -126,28 +128,67 @@ public class IpController extends BaseController{
ipCfgService.updateIpCfgValid(isValid, ids, functionId);
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+functionId;
}
/**
*
* @param model
* @param cfg
* @param auditType 审核类型 批量审核时使用1批量生效0批量失效
* @param isAudit
* @param isValid
* @param ids
* @param functionId
* @param request
* @param response
* @param redirectAttributes
* @return
*/
@RequestMapping(value = {"audit"})
@RequiresPermissions("iplist:confirm")
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = ipCfgService.getIpPortCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
if(StringUtils.isNoneBlank(entity.getUserRegion4())) {
ipCfgService.auditAsnCfg(entity, isAudit);
}else {
ipCfgService.auditIpCfg(entity,isAudit);
public String audit(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg
,Integer isAudit
,Integer isValid
,String ids
,Integer functionId
, HttpServletRequest request
,HttpServletResponse response
,RedirectAttributes redirectAttributes) {
//选中配置审核
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = ipCfgService.getIpPortCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
if(StringUtils.isNoneBlank(entity.getUserRegion4())) {
ipCfgService.auditAsnCfg(entity, isAudit);
}else {
ipCfgService.auditIpCfg(entity,isAudit);
}
} catch (Exception e) {
logger.info("ip配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
}
}else{//条件下所有配置审核
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.info("ip配置下发失败:"+e.getMessage());
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
@@ -155,7 +196,10 @@ public class IpController extends BaseController{
}
}
return list(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+functionId;
}
/*//ip配置导入

View File

@@ -15,6 +15,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.FileCopyUtils;
@@ -37,6 +38,7 @@ import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.FileUtils;
import com.nis.util.JsonMapper;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@@ -164,30 +166,56 @@ public class MailCfgController extends BaseController{
}
@RequestMapping(value = {"auditMailCfg"})
@RequiresPermissions(value={"mail:confirm"})
public String auditMailCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = mailCfgService.getMailCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
mailCfgService.auditMailCfg(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.error("mail配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else if(e instanceof CallExternalProceduresException) {
addMessage(redirectAttributes,"error","call_external_procedures_failed");
}else {
addMessage(redirectAttributes,"error","save_failed");
public String auditMailCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = mailCfgService.getMailCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
mailCfgService.auditMailCfg(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.error("mail配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else if(e instanceof CallExternalProceduresException) {
addMessage(redirectAttributes,"error","call_external_procedures_failed");
}else {
addMessage(redirectAttributes,"error","save_failed");
}
}
}
}else {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return mailList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/mail/mailList?functionId="+functionId;
}

View File

@@ -208,25 +208,52 @@ public class WebsiteController extends BaseController{
}
@RequestMapping(value = {"auditHttpCfg"})
@RequiresPermissions(value={"website:http:confirm"})
public String auditHttpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = websiteCfgService.getHttpCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
websiteCfgService.auditHttpCfg(entity,isAudit);
} catch (MaatConvertException e) {
logger.error("http配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "request_service_failed");
}catch (Exception e) {
logger.error("http配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "audit_failed");
public String auditHttpCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = websiteCfgService.getHttpCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
websiteCfgService.auditHttpCfg(entity,isAudit);
} catch (MaatConvertException e) {
logger.error("http配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "request_service_failed");
}catch (Exception e) {
logger.error("http配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "audit_failed");
}
}
}else{//条件下所有配置审核
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return httpList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+functionId;
}
@@ -303,30 +330,57 @@ public class WebsiteController extends BaseController{
}
@RequestMapping(value = {"auditSslCfg"})
@RequiresPermissions(value={"website:ssl:confirm"})
public String auditSslCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = websiteCfgService.getSslCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
websiteCfgService.auditSslCfg(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.error("ssl配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else if(e instanceof CallExternalProceduresException) {
addMessage(redirectAttributes,"error","call_external_procedures_failed");
}else {
addMessage(redirectAttributes,"error","save_failed");
public String auditSslCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isAudit,
Integer isValid,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletRequest request,
HttpServletResponse response) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = websiteCfgService.getSslCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
websiteCfgService.auditSslCfg(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.error("ssl配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else if(e instanceof CallExternalProceduresException) {
addMessage(redirectAttributes,"error","call_external_procedures_failed");
}else {
addMessage(redirectAttributes,"error","save_failed");
}
}
}
}else{//条件下所有配置审核
try {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return sslList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/website/sslList?functionId="+functionId;
}
@@ -396,27 +450,54 @@ public class WebsiteController extends BaseController{
}
@RequestMapping(value = {"auditDnsCfg"})
@RequiresPermissions(value={"website:dns:confirm"})
public String auditDnsCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = websiteCfgService.getDnsCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
websiteCfgService.auditDnsCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("dns配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "request_service_failed");
}catch (Exception e) {
e.printStackTrace();
logger.info("dns配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "audit_failed");
public String auditDnsCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isAudit,
Integer isValid,
String ids,
Integer functionId,
HttpServletRequest request,
HttpServletResponse response,
RedirectAttributes redirectAttributes) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = websiteCfgService.getDnsCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
websiteCfgService.auditDnsCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("dns配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "request_service_failed");
}catch (Exception e) {
e.printStackTrace();
logger.info("dns配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "audit_failed");
}
}
}else{//条件下所有配置审核
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return dnsList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/website/dnsList?functionId="+functionId;
}
@@ -842,5 +923,4 @@ public class WebsiteController extends BaseController{
}
//return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId();
}
}

View File

@@ -96,28 +96,56 @@ public class WhiteListController extends CommonController{
}
@RequestMapping(value = {"ip/audit"})
@RequiresPermissions("whitelist:ip:confirm")
public String auditIp(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = ipCfgService.getIpPortCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
ipCfgService.auditIpCfg(entity,isAudit);
addMessage(redirectAttributes,"success", "audit_success");
} catch (MaatConvertException e) {
logger.info("ip配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "request_service_failed");
}catch (Exception e) {
logger.info("ip配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "audit_failed");
public String auditIp(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request
) {
if(!StringUtil.isEmpty(ids)){
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = ipCfgService.getIpPortCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
ipCfgService.auditIpCfg(entity,isAudit);
addMessage(redirectAttributes,"success", "audit_success");
} catch (MaatConvertException e) {
logger.info("ip配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "request_service_failed");
}catch (Exception e) {
logger.info("ip配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error", "audit_failed");
}
}
}else{
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return ipList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+entity.getFunctionId();
return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+functionId;
}
@RequestMapping(value = {"updateIpValid"})
@RequiresPermissions(value={"whitelist:ip:config"})
@@ -230,27 +258,54 @@ public class WhiteListController extends CommonController{
@RequestMapping(value = {"domain/audit"})
@RequiresPermissions("whitelist:domain:confirm")
public String auditDomain(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = domainService.getDomainCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
domainService.auditDomainCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.error("domain配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error","request_service_failed");
}catch (Exception e) {
e.printStackTrace();
logger.error("domain配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error","audit_failed");
public String auditDomain(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = domainService.getDomainCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
domainService.auditDomainCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.error("domain配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error","request_service_failed");
}catch (Exception e) {
e.printStackTrace();
logger.error("domain配置下发失败"+e.getMessage());
addMessage(redirectAttributes,"error","audit_failed");
}
}
}else{//条件下所有配置审核
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return domainList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+functionId;
}

View File

@@ -11,6 +11,7 @@ import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -175,27 +176,55 @@ public class CachePolicyController extends BaseController{
}
@RequestMapping(value = {"audit"})
@RequiresPermissions(value={"cache:policy:confirm"})
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = cachePolicyService.getCachePolicy(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
cachePolicyService.auditCachePolicy(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.info("代理缓存策略下发失败:"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
public String audit(Model model,@ModelAttribute("cfg") CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = cachePolicyService.getCachePolicy(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
cachePolicyService.auditCachePolicy(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.info("代理缓存策略下发失败:"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"r");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return list(model, request, response, cfg);
}
return "redirect:" + adminPath +"/proxy/cache/list?functionId="+functionId;
}

View File

@@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -223,28 +224,55 @@ public class HttpRedirectPolicyController extends BaseController{
,"control:httpMinit:confirm"
,"control:httpWhitelist:confirm"}
,logical=Logical.OR)
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = httpRedirectCfgService.getHttpCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
httpRedirectCfgService.auditHttpCfg(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.info("http重定向配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
public String audit(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = httpRedirectCfgService.getHttpCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
httpRedirectCfgService.auditHttpCfg(entity,isAudit);
} catch ( Exception e) {
e.printStackTrace();
logger.info("http重定向配置下发失败"+e.getMessage());
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","audit_failed");
}
}
}
}else{//条件下所有配置审核
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return list(model, request, response, cfg);
}
}
return "redirect:" + adminPath +"/proxy/control/httpRedirect/httpRedirectList?functionId="+functionId;
}

View File

@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -135,27 +136,54 @@ public class InterceptController extends CommonController{
}
@RequestMapping(value = {"auditInterceptIpCfg","auditInterceptDomainCfg","auditInterceptIpPayloadCfg"})
public String auditInterceptIpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = interceptCfgService.getInterceptCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
public String auditInterceptIpCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = interceptCfgService.getInterceptCfg(Long.parseLong(id),null);
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
interceptCfgService.auditInterceptIpCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch ( Exception e) {
logger.error("intercept ip audit failed",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
}
}else{//条件下所有配置审核
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> auditPage=new Page<CfgIndexInfo>(request,response,"a");
BeanUtils.copyProperties(searchPage, auditPage);
try {
interceptCfgService.auditInterceptIpCfg(entity,isAudit);
addMessage(redirectAttributes,"success","audit_success");
} catch ( Exception e) {
logger.error("intercept ip audit failed",e);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return ipList(model, cfg, request, response);
}
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId;
}

View File

@@ -25,6 +25,7 @@ import javax.net.ssl.TrustManagerFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -340,8 +341,14 @@ public class PxyObjKeyringController extends BaseController {
@RequestMapping(value = {"/audit"})
@RequiresPermissions(value={"proxy:intercept:confirm"})
public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId,
RedirectAttributes redirectAttributes) {
public String audit(Model model,@ModelAttribute("cfg")PxyObjKeyring cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
@@ -357,6 +364,24 @@ public class PxyObjKeyringController extends BaseController {
}
}
}else {
Page<PxyObjKeyring> searchPage=new Page<PxyObjKeyring>(request,response,"r");
Page<PxyObjKeyring> auditPage=new Page<PxyObjKeyring>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return list(model, request, response, cfg,redirectAttributes);
}
return "redirect:" + adminPath +"/proxy/intercept/strateagy/list?functionId="+functionId;
}
@@ -814,8 +839,14 @@ public class PxyObjKeyringController extends BaseController {
@RequestMapping(value = {"/trustedCertAudit"})
@RequiresPermissions(value={"proxy:trustedCert:confirm"})
public String trustedCertAudit(Integer isAudit,Integer isValid,String ids,Integer functionId,
RedirectAttributes redirectAttributes) {
public String trustedCertAudit(Model model,@ModelAttribute("cfg")PxyObjTrustedCaCert cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
@@ -833,6 +864,24 @@ public class PxyObjKeyringController extends BaseController {
}
}
}else {
Page<PxyObjTrustedCaCert> searchPage=new Page<PxyObjTrustedCaCert>(request,response,"r");
Page<PxyObjTrustedCaCert> auditPage=new Page<PxyObjTrustedCaCert>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return trustedCertList(model, request, response, cfg, redirectAttributes);
}
return "redirect:" + adminPath +"/proxy/intercept/strateagy/trustedCertList?functionId="+functionId;
}