This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/service/configuration/StringCfgService.java
wangxin 86cf73fee4 (1)白名单审核调整在controller层遍历
(2)jquert validate插件调整
(3)IP白名单show more调整调用样式
2018-05-28 10:18:03 +08:00

291 lines
9.6 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nis.web.service.configuration;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.maat.ToMaatResult;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.web.dao.configuration.StringCfgDao;
import com.nis.web.service.CrudService;
/**
* String相关配置事务类
* @author dell
*
*/
@Service
public class StringCfgService extends CrudService<StringCfgDao,BaseStringCfg> {
@Autowired
protected StringCfgDao stringCfgDao;
/**
*
* addStringCfg(新增IP类配置)
* (继承BaseStringCfg这个类方可使用)
* @param baseStringCfg
* @return
*int
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int addStringCfg(BaseStringCfg baseStringCfg,List<BaseIpCfg> areaIpCfgs){
if(areaIpCfgs!=null&&areaIpCfgs.size()>0){
this.saveIpBatch(areaIpCfgs);
}
//调用服务接口获取compileId
Integer compileId = 0;
try {
List<Integer> compileIds = ConfigServiceUtil.getId(1,1);
if(!StringUtil.isEmpty(compileIds)){
compileId = compileIds.get(0);
}
} catch (Exception e) {
e.printStackTrace();
logger.info("获取编译ID出错");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
if(compileId!=0){
baseStringCfg.setCompileId(compileId);
return stringCfgDao.insert(baseStringCfg);
}else{
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
}
// baseStringCfg.setCompileId(0);
// return stringCfgDao.insert(baseStringCfg);
}
/**
*
* updateStringCfg(更新IP类配置)
* (继承BaseStringCfg这个类方可使用)
* @param baseStringCfg
* @return
*int
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int updateStringCfg(BaseStringCfg baseStringCfg,List<BaseIpCfg> addAreaCfg,List<BaseIpCfg> updateAreaCfg,List<BaseIpCfg> deleteAreaCfgs){
if(addAreaCfg!=null&&addAreaCfg.size()>0){
this.saveIpBatch(addAreaCfg);
}
if(updateAreaCfg!=null&&updateAreaCfg.size()>0){
this.updateIpBatch(updateAreaCfg);
}
if(deleteAreaCfgs!=null&&deleteAreaCfgs.size()>0){
this.deleteIpBatch(deleteAreaCfgs);
}
return stringCfgDao.update(baseStringCfg);
}
public void auditWhiteDomain(BaseStringCfg cfg) throws Exception{
List<BaseStringCfg> beans=new ArrayList<>();
beans.add(cfg);
this.auditBatch(beans, StringCfgDao.class);
if(cfg.getIsAudit()==1){
//调用服务接口下发配置数据
String json=gsonToJson(beans);
logger.info("文件样例下发配置参数:"+json);
//调用服务接口下发配置
try {
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
logger.info("IP白名单配置下发响应信息"+result.getMsg());
} catch (Exception e) {
e.printStackTrace();
logger.info("IP白名单配置下发失败");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
}else if(cfg.getIsAudit()==3){
//调用服务接口取消配置
String json=gsonToJson(beans);
logger.info("IP白名单配置参数"+json);
//调用服务接口取消配置
try {
ToMaatResult result = ConfigServiceUtil.put(json, 2);
logger.info("IP白名单取消配置响应信息"+result.getMsg());
} catch (Exception e) {
e.printStackTrace();
logger.info("IP白名单取消配置失败");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
}
}
public void auditWhiteDomain(String ids,HttpUrlCfg cfg) throws Exception{
for(String id:ids.split(",")){
Long.parseLong(id);
}
List<BaseStringCfg> beans=stringCfgDao.getListByCfgId(HttpUrlCfg.getTablename(),ids);
Date date=new Date();
for(BaseStringCfg bean:beans){
bean.setTableName(IpPortCfg.getTablename());
bean.setAuditorId(bean.getCurrentUser().getId());
bean.setAuditTime(date);
bean.setIsAudit(cfg.getIsAudit());
bean.setIsValid(cfg.getIsValid());
}
this.auditBatch(beans, StringCfgDao.class);
if(cfg.getIsAudit()==1){
//调用服务接口下发配置数据
String json=gsonToJson(beans);
logger.info("文件样例下发配置参数:"+json);
//调用服务接口下发配置
try {
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
logger.info("IP白名单配置下发响应信息"+result.getMsg());
} catch (Exception e) {
e.printStackTrace();
logger.info("IP白名单配置下发失败");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
}else if(cfg.getIsAudit()==3){
//调用服务接口取消配置
String json=gsonToJson(beans);
logger.info("IP白名单配置参数"+json);
//调用服务接口取消配置
try {
ToMaatResult result = ConfigServiceUtil.put(json, 2);
logger.info("IP白名单取消配置响应信息"+result.getMsg());
} catch (Exception e) {
e.printStackTrace();
logger.info("IP白名单取消配置失败");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
}
}
/**
*
* auditStringCfg(审核IP类配置)
* (继承BaseStringCfg这个类方可使用)
* @param baseStringCfg
* @return
*int
* @throws Exception
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void auditStringCfg(int isAduit,List<BaseStringCfg> auditCfg,List<BaseStringCfg> sendCfg) throws Exception{
List<BaseIpCfg> areaCfg=new ArrayList<>();
for(BaseStringCfg c:auditCfg){
if(c.getAreaCfg()!=null){
areaCfg.addAll(c.getAreaCfg());
}
}
if(Constants.AUDIT_NOT_YES==isAduit||
Constants.AUDIT_YES==isAduit){//审核通过,取消审核通过需要发到maat
if(sendToMaatConvertorBatch(isAduit,sendCfg)){
if(areaCfg!=null&&areaCfg.size()>0){
this.auditIpBatch(areaCfg);
}
this.auditBatch(auditCfg, StringCfgDao.class);
}
}else{
this.auditBatch(auditCfg, StringCfgDao.class);
}
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void deleteWhiteDomain(String ids){
List<BaseStringCfg> cfgs=new ArrayList<BaseStringCfg>();
Date date =new Date();
if(StringUtils.isNotBlank(ids)){
for(String idStr:ids.split(",")){
if(StringUtils.isNotBlank(idStr)){
BaseStringCfg cfg=new BaseStringCfg();
cfg.setCfgId(Long.parseLong(idStr));
cfg.setTableName(HttpUrlCfg.getTablename());
cfg.setEditorId(cfg.getCurrentUser().getId());
cfg.setEditTime(date);
cfg.setIsValid(Constants.VALID_DEL);
cfgs.add(cfg);
}
}
}
this.deleteBatch(cfgs, StringCfgDao.class);
}
/**
*
* deleteStringCfg(删除IP类配置)
* (继承BaseStringCfg这个类方可使用)
* @param baseStringCfg
* @return
*int
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void deleteStringCfg(List<BaseStringCfg> stringCfg,List<BaseIpCfg> areaCfg){
if(areaCfg!=null&&areaCfg.size()>0){
this.deleteIpBatch(areaCfg);
}
this.deleteBatch(stringCfg, StringCfgDao.class);
}
/**
*
* getStringCfg(根据IP与类名获取IP配置)
* (继承BaseStringCfg这个类方可使用)
* @param clazz
* @param id
* @return
*BaseStringCfg
* @exception
* @since 1.0.0
*/
public BaseStringCfg getStringCfgById(BaseStringCfg baseStringCfg){
return stringCfgDao.getById(baseStringCfg.getTableName(), baseStringCfg.getCfgId());
}
public BaseStringCfg getStringCfgById(String tableName, long id){
return stringCfgDao.getById(tableName, id);
}
public Integer getIsValid(BaseStringCfg baseStringCfg){
return stringCfgDao.getIsValid(baseStringCfg);
}
public Integer getIsValid(String tableName, long id){
return stringCfgDao.getIsValid(tableName,id);
}
public Integer getIsAudit(BaseStringCfg baseStringCfg){
return stringCfgDao.getIsAudit(baseStringCfg);
}
public Integer getIsAudit(String tableName, long id){
return stringCfgDao.getIsAudit(tableName,id);
}
/**
* getList(这里用一句话描述这个方法的作用)
* (这里描述这个方法适用条件 可选)
* @param tableName
* @param ids
* @return
*List<BaseStringCfg>
* @exception
* @since 1.0.0
*/
public List<BaseStringCfg> getListByCompileId(String tableName, String ids) {
// TODO Auto-generated method stub
return stringCfgDao.getListByCompileId(tableName,ids);
}
/**
* getListByCfgId(这里用一句话描述这个方法的作用)
* (这里描述这个方法适用条件 可选)
* @param tablename
* @param ids
* @return
*List<BaseStringCfg>
* @exception
* @since 1.0.0
*/
public List<BaseStringCfg> getListByCfgId(String tableName, String ids) {
// TODO Auto-generated method stub
return stringCfgDao.getListByCfgId(tableName, ids);
}
}