(1)IP类配置页面修改,支持多选的删除,审核,操作按钮上移

(2)修复验证方法ipCheck影响多个IP配置的bug
This commit is contained in:
wangxin
2018-04-11 13:45:04 +08:00
parent f94e377819
commit 76d190e78a
13 changed files with 773 additions and 174 deletions

View File

@@ -123,15 +123,21 @@ public abstract class CrudService<D extends CrudDao<T>, T extends BaseEntity<T>>
((CrudDao<T>) batchSqlSession.getMapper(mClass)).insert(t);
}
batchSqlSession.commit();
// }catch (Exception e){
// batchSqlSession.rollback();
// throw e;
}finally {
if(batchSqlSession != null){
batchSqlSession.close();
}
}
}
/**
*
* saveIpBatch(非Ip类配置调用批量新增区域IP)
* (这里描述这个方法适用条件 可选)
* @param areaIpCfgs
*void
* @exception
* @since 1.0.0
*/
public void saveIpBatch(List<AreaIpCfg> areaIpCfgs) {
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null;
@@ -142,9 +148,6 @@ public abstract class CrudService<D extends CrudDao<T>, T extends BaseEntity<T>>
((CrudDao<BaseIpCfg>) batchSqlSession.getMapper(IpCfgDao.class)).insert(t);
}
batchSqlSession.commit();
// }catch (Exception e){
// batchSqlSession.rollback();
// throw e;
}finally {
if(batchSqlSession != null){
batchSqlSession.close();
@@ -171,16 +174,21 @@ public abstract class CrudService<D extends CrudDao<T>, T extends BaseEntity<T>>
((CrudDao<T>) batchSqlSession.getMapper(mClass)).update(t);
}
batchSqlSession.commit();
// }catch (Exception e){
// batchSqlSession.rollback();
// throw e;
}finally {
if(batchSqlSession != null){
batchSqlSession.close();
}
}
}
@SuppressWarnings("unchecked")
/**
*
* updateIpBatch(非IP类配置调用批量更新区域IP)
* (这里描述这个方法适用条件 可选)
* @param areaCfg
*void
* @exception
* @since 1.0.0
*/
public void updateIpBatch(List<AreaIpCfg> areaCfg) {
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null;
@@ -191,9 +199,6 @@ public abstract class CrudService<D extends CrudDao<T>, T extends BaseEntity<T>>
((CrudDao<BaseIpCfg>) batchSqlSession.getMapper(IpCfgDao.class)).update(t);
}
batchSqlSession.commit();
// }catch (Exception e){
// batchSqlSession.rollback();
// throw e;
}finally {
if(batchSqlSession != null){
batchSqlSession.close();
@@ -221,15 +226,72 @@ public abstract class CrudService<D extends CrudDao<T>, T extends BaseEntity<T>>
((CrudDao<T>) batchSqlSession.getMapper(mClass)).delete(t);
}
batchSqlSession.commit();
// }catch (Exception e){
// batchSqlSession.rollback();
// throw e;
}finally {
if(batchSqlSession != null){
batchSqlSession.close();
}
}
}
/**
*
* auditBatch(批量审核)
* (这里描述这个方法适用条件 可选)
* @param data 数据集合
* @param mClass 传入的dao.xml里的mapper
* @author wx
* @since 1.0.0
*/
@SuppressWarnings("unchecked")
public void auditBatch(List<T> data,@SuppressWarnings("rawtypes") Class mClass) {
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null;
try{
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
for(int index = 0; index < data.size();index++){
T t = data.get(index);
((CrudDao<T>) batchSqlSession.getMapper(mClass)).audit(t);
}
batchSqlSession.commit();
}finally {
if(batchSqlSession != null){
batchSqlSession.close();
}
}
}
/**
*
* auditIpBatch(非IP类配置用审核区域IP)
* (这里描述这个方法适用条件 可选)
* @param data
*void
* @exception
* @since 1.0.0
*/
public void auditIpBatch(List<AreaIpCfg> data) {
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null;
try{
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
for(int index = 0; index < data.size();index++){
BaseIpCfg t = data.get(index);
((CrudDao<BaseIpCfg>) batchSqlSession.getMapper(IpCfgDao.class)).audit(t);
}
batchSqlSession.commit();
}finally {
if(batchSqlSession != null){
batchSqlSession.close();
}
}
}
/**
*
* deleteIpBatch(非IP类配置调用批量删除区域IP)
* (这里描述这个方法适用条件 可选)
* @param data
*void
* @exception
* @since 1.0.0
*/
public void deleteIpBatch(List<AreaIpCfg> data) {
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
SqlSession batchSqlSession = null;
@@ -240,15 +302,238 @@ public abstract class CrudService<D extends CrudDao<T>, T extends BaseEntity<T>>
((CrudDao<BaseIpCfg>) batchSqlSession.getMapper(IpCfgDao.class)).delete(t);
}
batchSqlSession.commit();
// }catch (Exception e){
// batchSqlSession.rollback();
// throw e;
}finally {
}finally {
if(batchSqlSession != null){
batchSqlSession.close();
}
}
}
/**
*
* sendToMaatConvertorBatch(批量转换配置到maat转换工具)
* (这里描述这个方法适用条件 可选)
* @param operation
* @param cfgs
* @return
* @throws Exception
*boolean
* @exception
* @since 1.0.0
*/
public boolean sendToMaatConvertorBatch(int operation,List<BaseCfg[]> cfgs) throws Exception{
if(cfgs==null){
throw new RuntimeException("转换出错,配置为空");
}
Gson gson=new GsonBuilder().disableHtmlEscaping()
/*.setPrettyPrinting().serializeNulls()*/
.excludeFieldsWithoutExposeAnnotation()
.create();
if(Constants.AUDIT_NOT_YES==operation){
List<ToMaatUnAuditBean> beans=new ArrayList<ToMaatUnAuditBean>();
for(BaseCfg[] cfg:cfgs){
ToMaatUnAuditBean toMaatUnAuditBean=new ToMaatUnAuditBean();
toMaatUnAuditBean.setServiceCfg(new ArrayList<UnAuditBean>());
for(BaseCfg c:cfg){
if(c.getCompileId()==null||c.getCompileId()==0){
throw new RuntimeException("转换出错,未获取到正确的compileId");
}
if(StringUtils.isBlank(c.getMaatTable())){
throw new RuntimeException("转换出错,未获取到正确的maatTalbe");
}
//针对含有多个maatTable的表
if(c.getMaatTable().contains(",")){
for(String maatTable:c.getMaatTable().split(",")){
UnAuditBean bean=new UnAuditBean();
bean.setCompileId(c.getCompileId());
bean.setMaatTable(maatTable);
toMaatUnAuditBean.getServiceCfg().add(bean);
}
}else{
UnAuditBean bean=new UnAuditBean();
bean.setCompileId(c.getCompileId());
bean.setMaatTable(c.getMaatTable());
toMaatUnAuditBean.getServiceCfg().add(bean);
}
}
beans.add(toMaatUnAuditBean);
}
String json=gson.toJson(beans);
logger.info("to maat json:"+json);
//发送至maat,待完成
return new ConvertTool().setConfigInValid(json);
}else{
List<ToMaatBean> beans=new ArrayList<ToMaatBean>();
for(BaseCfg[] cfg:cfgs){
int compileId=0;
ToMaatBean toMaatBean=new ToMaatBean();
toMaatBean.setServiceCfg(new ArrayList<MaatCfg>());
MaatCfg maatCfg=new MaatCfg();
for(BaseCfg c:cfg){
if(c instanceof BaseIpCfg){
compileId=compileId==0?c.getCompileId():compileId;
int protocolId= ((BaseIpCfg) c).getProtocolId().intValue();
String maatTable=c.getMaatTable();
if(maatTable.contains(",")){
if(protocolId!=0){
for(String _maatTable:maatTable.split(",")){
if(_maatTable.toLowerCase().indexOf("ip")>-1){
BaseIpCfg ipCfg=(BaseIpCfg)c.clone();
ipCfg.setMaatTable(_maatTable);
if(maatCfg.getIpCfg()==null){
List<BaseIpCfg> list=new ArrayList<>();
list.add(ipCfg);
maatCfg.setIpCfg(list);
}else{
List<BaseIpCfg> list=maatCfg.getIpCfg();
list.add(ipCfg);
}
}else{
NumBoundaryCfg numCfg=new NumBoundaryCfg();
numCfg.initDefaultValue();
numCfg.setLowBounadry((long)protocolId);
numCfg.setUpBoundary((long)protocolId);
numCfg.setMaatTable(_maatTable);
if(maatCfg.getNumCfg()==null){
List<NumBoundaryCfg> numlist=new ArrayList<>();
numlist.add(numCfg);
maatCfg.setNumCfg(numlist);
}else{
List<NumBoundaryCfg> numlist=maatCfg.getNumCfg();
numlist.add(numCfg);
}
}
}
}else{
throw new RuntimeException("protocolId等于0,却对应两个maat_table "+maatTable);
}
}else{
if(maatCfg.getIpCfg()==null){
List<BaseIpCfg> list=new ArrayList<>();
list.add((BaseIpCfg)c);
maatCfg.setIpCfg(list);
}else{
List<BaseIpCfg> list=maatCfg.getIpCfg();
list.add((BaseIpCfg)c);
}
}
}else if(c instanceof BaseStringCfg){
compileId=compileId==0?c.getCompileId():compileId;
String maatTable=c.getMaatTable();
if(maatTable.contains(",")){
for(String _maatTable:maatTable.split(",")){
BaseStringCfg strCfg=(BaseStringCfg)c.clone();
strCfg.setMaatTable(_maatTable);
if(maatCfg.getStrCfg()==null){
List<BaseStringCfg> list=new ArrayList<BaseStringCfg>();
list.add(strCfg);
maatCfg.setStrCfg(list);
}else{
List<BaseStringCfg> list=maatCfg.getStrCfg();
list.add(strCfg);
}
}
}else{
if(maatCfg.getStrCfg()==null){
List<BaseStringCfg> list=new ArrayList<BaseStringCfg>();
list.add((BaseStringCfg)c);
maatCfg.setStrCfg(list);
}else{
List<BaseStringCfg> list=maatCfg.getStrCfg();
list.add((BaseStringCfg)c);
}
}
}else if(c instanceof ComplexkeywordCfg){
compileId=compileId==0?c.getCompileId():compileId;
String maatTable=c.getMaatTable();
if(maatTable.contains(",")){
for(String _maatTable:maatTable.split(",")){
ComplexkeywordCfg complexCfg=(ComplexkeywordCfg)c.clone();
complexCfg.setMaatTable(_maatTable);
if(maatCfg.getComplexStrCfg()==null){
List<ComplexkeywordCfg> list=new ArrayList<ComplexkeywordCfg>();
list.add(complexCfg);
maatCfg.setComplexStrCfg(list);
}else{
List<ComplexkeywordCfg> list=maatCfg.getComplexStrCfg();
list.add(complexCfg);
}
}
}else{
if(maatCfg.getComplexStrCfg()==null){
List<ComplexkeywordCfg> list=new ArrayList<ComplexkeywordCfg>();
list.add((ComplexkeywordCfg)c);
maatCfg.setComplexStrCfg(list);
}else{
List<ComplexkeywordCfg> list=maatCfg.getComplexStrCfg();
list.add((ComplexkeywordCfg)c);
}
}
}else if(c instanceof NumBoundaryCfg){
compileId=compileId==0?c.getCompileId():compileId;
if(maatCfg.getNumCfg()==null){
List<NumBoundaryCfg> list=new ArrayList<NumBoundaryCfg>();
list.add((NumBoundaryCfg)c);
maatCfg.setNumCfg(list);
}else{
List<NumBoundaryCfg> list=maatCfg.getNumCfg();
list.add((NumBoundaryCfg)c);
}
}
if(c.getAreaCfg()!=null){
if(toMaatBean.getAreaCfg()!=null){
toMaatBean.getAreaCfg().addAll(c.getAreaCfg());
}else{
toMaatBean.setAreaCfg(new ArrayList<AreaIpCfg>());
toMaatBean.getAreaCfg().addAll(c.getAreaCfg());
}
}
}
toMaatBean.getServiceCfg().add(maatCfg);
BaseCfg baseCfg=(BaseCfg)cfg[0];
if(compileId==0){
throw new RuntimeException("转换出错,未获取到正确的compileId");
}else{
toMaatBean.setCompileId(compileId);
}
if(baseCfg.getAction()==null){
throw new RuntimeException("转换出错,未获取到正确的action");
}else{
toMaatBean.setAction(baseCfg.getAction());
}
if(baseCfg.getIsAreaEffective()==null){
throw new RuntimeException("转换出错,未获取到正确的isAreaEffective");
}else{
toMaatBean.setIsAreaEffective(baseCfg.getIsAreaEffective());
}
if(baseCfg.getIsValid()==null){
throw new RuntimeException("转换出错,未获取到正确的isValid");
}else{
toMaatBean.setIsValid(baseCfg.getIsValid());
}
if(baseCfg.getRequestId()==null){
throw new RuntimeException("转换出错,未获取到正确的requestId");
}else{
toMaatBean.setRequestId(baseCfg.getRequestId());
}
if(baseCfg.getServiceId()==null){
throw new RuntimeException("转换出错,未获取到正确的serviceId");
}else{
toMaatBean.setServiceId(baseCfg.getServiceId());
}
toMaatBean.setAreaEffectiveIds(baseCfg.getAreaEffectiveIds()==null?"":baseCfg.getAreaEffectiveIds());
toMaatBean.setAttribute(baseCfg.getAttribute()==null?"":baseCfg.getAttribute());
toMaatBean.setClassify(baseCfg.getClassify()==null?"":baseCfg.getClassify());
toMaatBean.setLable(baseCfg.getLable()==null?"":baseCfg.getLable());
beans.add(toMaatBean);
}
String json=gson.toJson(beans);
logger.info("to maat json:"+json);
//发送至maat,待完成
return new ConvertTool().saveConfig(json);
}
}
/**
*
* sendToMaatConvertor(转换配置为Maat格式)