协议部分配置导入并下发逻辑添加
This commit is contained in:
@@ -80,6 +80,7 @@ import com.nis.domain.specific.SpecificServiceCfg;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Configurations;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.IpUtil;
|
||||
import com.nis.util.Reflections;
|
||||
import com.nis.util.StringUtil;
|
||||
@@ -1613,7 +1614,7 @@ public abstract class BaseService {
|
||||
if("BaseIpCfg".equals(type)) {
|
||||
List<BaseIpCfg> listPage = (List<BaseIpCfg>) list;
|
||||
if (specificServiceCfg!=null&®ionDict.getFunctionId().equals(405)) {
|
||||
this.saveAppIpCfg((List<BaseIpCfg>)listPage,specificServiceCfg);
|
||||
this.saveAppIpCfg((List<BaseIpCfg>)listPage,specificServiceCfg,send);
|
||||
}else {
|
||||
this.saveIpBatch(regionDict,serviceDict,(List<BaseIpCfg>)listPage,send);
|
||||
}
|
||||
@@ -1780,7 +1781,7 @@ public abstract class BaseService {
|
||||
* @throws Exception
|
||||
*/
|
||||
@Transactional(readOnly = false, rollbackFor = RuntimeException.class)
|
||||
public void saveAppIpCfg(List<BaseIpCfg> cfgs,SpecificServiceCfg specificServiceCfg){
|
||||
public void saveAppIpCfg(List<BaseIpCfg> cfgs,SpecificServiceCfg specificServiceCfg,boolean send){
|
||||
logger.warn("Start to save IP");
|
||||
ConfigGroupInfoDao configGroupInfoDao=SpringContextHolder.getBean(ConfigGroupInfoDao.class);
|
||||
SpecificServiceCfgDao specificServiceCfgDao=SpringContextHolder.getBean(SpecificServiceCfgDao.class);
|
||||
@@ -1805,25 +1806,182 @@ public abstract class BaseService {
|
||||
Integer compileId = configGroupInfo.getCompileId();
|
||||
// Varibles maxPacket=asnIpCfgDao.getVaribles("max_allowed_packet");
|
||||
List<AppIpCfg> tempList=Lists.newArrayList();
|
||||
|
||||
int len=0;
|
||||
int index=0;
|
||||
for(BaseIpCfg cfg:cfgs) {
|
||||
AppIpCfg entity=new AppIpCfg();
|
||||
BeanUtils.copyProperties(cfg, entity);
|
||||
entity.setCompileId(compileId);
|
||||
cfg.setCompileId(compileId);
|
||||
cfg.setGroupId(specificServiceCfg.getGroupId());
|
||||
int tempLen=entity.toString().getBytes(Charset.forName("UTF-8")).length;
|
||||
if((len+tempLen)<Constants.MAX_ALLOWED_PACKET) {
|
||||
tempList.add(entity);
|
||||
len+=tempLen;
|
||||
}else {
|
||||
appCfgDao.insertAppIpCfgBatch(tempList);
|
||||
if(send) {
|
||||
List<MaatCfg> configCompileList = new ArrayList();
|
||||
List<GroupCfg> groupRelationList = new ArrayList();
|
||||
List<IpCfg> ipRegionList = new ArrayList();
|
||||
List<StringCfg> strRegionList = new ArrayList();
|
||||
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||
List<DigestCfg> digestRegionList = new ArrayList();
|
||||
List<IpCfg> areaIpRegionList = new ArrayList();
|
||||
if(configGroupInfo.getIsIssued()==0) {//未下发,下发region compile,group.
|
||||
MaatCfg maatCfg = new MaatCfg();
|
||||
ToMaatBean maatBean = new ToMaatBean();
|
||||
maatCfg.initDefaultValue();
|
||||
//group
|
||||
GroupCfg groupCfg=new GroupCfg();
|
||||
groupCfg.setCompileId(compileId);
|
||||
groupCfg.setGroupId(configGroupInfo.getGroupId());
|
||||
groupCfg.setIsValid(Constants.VALID_YES);
|
||||
groupCfg.setAuditTime(tempList.get(0).getAuditTime());
|
||||
groupRelationList.add(groupCfg);
|
||||
BeanUtils.copyProperties(cfgs.get(0), maatCfg);
|
||||
ipRegionList.addAll(groupReuseCfgAddRemoveConvert(tempList,Constants.VALID_YES,configGroupInfo.getGroupId()));
|
||||
maatCfg.setAction(tempList.get(0).getAction());
|
||||
maatCfg.setAuditTime(tempList.get(0).getAuditTime());
|
||||
maatCfg.setIpRegionList(ipRegionList);
|
||||
maatCfg.setStrRegionList(strRegionList);
|
||||
maatCfg.setNumRegionList(numRegionList);
|
||||
maatCfg.setDigestRegionList(digestRegionList);
|
||||
maatCfg.setGroupRelationList(groupRelationList);
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
maatCfg.setIsValid(tempList.get(0).getIsValid());
|
||||
// 设置APP自定义域
|
||||
String userRegion = "APP_ID=" + tempList.get(0).getAppCode()/*+Constants.USER_REGION_SPLIT+"ASEV_ID="+businessType*/;
|
||||
maatCfg.setUserRegion(userRegion);
|
||||
configCompileList.add(maatCfg);
|
||||
maatBean.setConfigCompileList(configCompileList);
|
||||
maatBean.setAuditTime(tempList.get(0).getAuditTime());
|
||||
maatBean.setCreatorName(tempList.get(0).getCurrentUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
// 调用服务接口下发配置数据
|
||||
String json = gsonToJson(maatBean);
|
||||
logger.info("app协议IP配置下发配置参数:" + json);
|
||||
// 调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
||||
logger.info("app协议IP配置下发响应信息:" + result.getMsg());
|
||||
configGroupInfo.setIsIssued(1);
|
||||
configGroupInfo.setUpdateTime(new Date());
|
||||
configGroupInfoDao.updateConfigGroupInfobyGroupId(configGroupInfo);
|
||||
}else if(configGroupInfo.getIsIssued()==1) {//已经下发,分组复用下发
|
||||
GroupReuseAddBean maatBean = new GroupReuseAddBean();
|
||||
List<GroupReuseCfg> groupReuseList=new ArrayList<>();
|
||||
GroupReuseCfg groupReuseCfg=new GroupReuseCfg();
|
||||
/*groupReuseCfg.setUserRegion(userRegion);*/
|
||||
groupReuseCfg.setServiceId(tempList.get(0).getServiceId());
|
||||
ipRegionList.addAll(groupReuseCfgAddRemoveConvert(tempList,Constants.VALID_YES,configGroupInfo.getGroupId()));
|
||||
groupReuseCfg.setIpRegionList(ipRegionList);
|
||||
groupReuseCfg.setStrRegionList(strRegionList);
|
||||
groupReuseCfg.setNumRegionList(numRegionList);
|
||||
groupReuseList.add(groupReuseCfg);
|
||||
maatBean.setGroupReuseCfgList(groupReuseList);
|
||||
maatBean.setAuditTime(tempList.get(0).getAuditTime());
|
||||
maatBean.setCreatorName(tempList.get(0).getCurrentUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
//调用服务接口下发配置数据
|
||||
String json=gsonToJson(maatBean);
|
||||
logger.info("app协议IP域新增配置下发配置参数:"+json);
|
||||
//调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.postGroupReuseSources(json);
|
||||
logger.info("app协议IP域新增配置响应信息:"+result.getMsg());
|
||||
}else {
|
||||
throw new RuntimeException("Unknown configGroupInfo isIssued value");
|
||||
}
|
||||
}
|
||||
tempList.clear();
|
||||
tempList.add(entity);
|
||||
len=tempLen;
|
||||
}
|
||||
index ++;
|
||||
}
|
||||
if(tempList.size()>0) {
|
||||
logger.warn("save ip size:"+tempList.size());
|
||||
appCfgDao.insertAppIpCfgBatch(tempList);
|
||||
if(send) {
|
||||
if(send) {
|
||||
List<MaatCfg> configCompileList = new ArrayList();
|
||||
List<GroupCfg> groupRelationList = new ArrayList();
|
||||
List<IpCfg> ipRegionList = new ArrayList();
|
||||
List<StringCfg> strRegionList = new ArrayList();
|
||||
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||
List<DigestCfg> digestRegionList = new ArrayList();
|
||||
List<IpCfg> areaIpRegionList = new ArrayList();
|
||||
if(configGroupInfo.getIsIssued()==0) {//未下发,下发region compile,group.
|
||||
MaatCfg maatCfg = new MaatCfg();
|
||||
ToMaatBean maatBean = new ToMaatBean();
|
||||
maatCfg.initDefaultValue();
|
||||
//group
|
||||
GroupCfg groupCfg=new GroupCfg();
|
||||
groupCfg.setCompileId(compileId);
|
||||
groupCfg.setGroupId(configGroupInfo.getGroupId());
|
||||
groupCfg.setIsValid(Constants.VALID_YES);
|
||||
groupCfg.setAuditTime(tempList.get(0).getAuditTime());
|
||||
groupRelationList.add(groupCfg);
|
||||
BeanUtils.copyProperties(cfgs.get(0), maatCfg);
|
||||
ipRegionList.addAll(groupReuseCfgAddRemoveConvert(tempList,Constants.VALID_YES,configGroupInfo.getGroupId()));
|
||||
maatCfg.setAction(tempList.get(0).getAction());
|
||||
maatCfg.setAuditTime(tempList.get(0).getAuditTime());
|
||||
maatCfg.setIpRegionList(ipRegionList);
|
||||
maatCfg.setStrRegionList(strRegionList);
|
||||
maatCfg.setNumRegionList(numRegionList);
|
||||
maatCfg.setDigestRegionList(digestRegionList);
|
||||
maatCfg.setGroupRelationList(groupRelationList);
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
maatCfg.setIsValid(tempList.get(0).getIsValid());
|
||||
// 设置APP自定义域
|
||||
String userRegion = "APP_ID=" + tempList.get(0).getAppCode()/*+Constants.USER_REGION_SPLIT+"ASEV_ID="+businessType*/;
|
||||
maatCfg.setUserRegion(userRegion);
|
||||
configCompileList.add(maatCfg);
|
||||
maatBean.setConfigCompileList(configCompileList);
|
||||
maatBean.setAuditTime(tempList.get(0).getAuditTime());
|
||||
maatBean.setCreatorName(tempList.get(0).getCurrentUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
// 调用服务接口下发配置数据
|
||||
String json = gsonToJson(maatBean);
|
||||
logger.info("app协议IP配置下发配置参数:" + json);
|
||||
// 调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
||||
logger.info("app协议IP配置下发响应信息:" + result.getMsg());
|
||||
configGroupInfo.setIsIssued(1);
|
||||
configGroupInfo.setUpdateTime(new Date());
|
||||
configGroupInfoDao.updateConfigGroupInfobyGroupId(configGroupInfo);
|
||||
}else if(configGroupInfo.getIsIssued()==1) {//已经下发,分组复用下发
|
||||
GroupReuseAddBean maatBean = new GroupReuseAddBean();
|
||||
List<GroupReuseCfg> groupReuseList=new ArrayList<>();
|
||||
GroupReuseCfg groupReuseCfg=new GroupReuseCfg();
|
||||
/*groupReuseCfg.setUserRegion(userRegion);*/
|
||||
groupReuseCfg.setServiceId(tempList.get(0).getServiceId());
|
||||
ipRegionList.addAll(groupReuseCfgAddRemoveConvert(tempList,Constants.VALID_YES,configGroupInfo.getGroupId()));
|
||||
groupReuseCfg.setIpRegionList(ipRegionList);
|
||||
groupReuseCfg.setStrRegionList(strRegionList);
|
||||
groupReuseCfg.setNumRegionList(numRegionList);
|
||||
groupReuseList.add(groupReuseCfg);
|
||||
maatBean.setGroupReuseCfgList(groupReuseList);
|
||||
maatBean.setAuditTime(tempList.get(0).getAuditTime());
|
||||
maatBean.setCreatorName(tempList.get(0).getCurrentUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
//调用服务接口下发配置数据
|
||||
String json=gsonToJson(maatBean);
|
||||
logger.info("app协议IP域新增配置下发配置参数:"+json);
|
||||
//调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.postGroupReuseSources(json);
|
||||
logger.info("app协议IP域新增配置响应信息:"+result.getMsg());
|
||||
}else {
|
||||
throw new RuntimeException("Unknown configGroupInfo isIssued value");
|
||||
}
|
||||
}
|
||||
}
|
||||
tempList.clear();
|
||||
}
|
||||
long end=System.currentTimeMillis();
|
||||
@@ -1918,7 +2076,15 @@ public abstract class BaseService {
|
||||
_cfg.setUserRegion3(StringUtil.isEmpty(_cfg.getUserRegion3()) ? "":_cfg.getUserRegion3());
|
||||
maatCfg.setUserRegion(Constants.INTERCEPT_IP_RATELIMIT_BANDWITH_USER_REGION_KEY+"="+_cfg.getUserRegion3());
|
||||
}
|
||||
}else if(regionDict.getFunctionId()==510) {
|
||||
maatCfg.setUserRegion(Constants.P2P_IP_TYPE_USER_REGION_KEY+"="+_cfg.getUserRegion2());
|
||||
}else if(regionDict.getFunctionId()==7) {
|
||||
if(!StringUtil.isEmpty(_cfg.getDnsStrategyId())){
|
||||
// maatCfg.setUserRegion(Constants.USER_REGION_SPLIT+entity.getDnsStrategyId()+Constants.USER_REGION_SPLIT);
|
||||
maatCfg.setUserRegion(Constants.DNS_STRATEGY_USER_REGION_KEY+"="+_cfg.getDnsStrategyId());
|
||||
}
|
||||
}
|
||||
|
||||
configCompileList.add(maatCfg);
|
||||
}else {
|
||||
//根据具体情况判断
|
||||
@@ -1936,7 +2102,7 @@ public abstract class BaseService {
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
// 调用服务接口下发配置数据
|
||||
String json = BaseService.gsonToJson(maatBean);
|
||||
if(configCompileList.size()>100) {
|
||||
if(configCompileList.size()>10) {
|
||||
logger.info("IP 配置下发配置条数:" + configCompileList.size());
|
||||
}else {
|
||||
logger.info("IP 配置下发配置参数:" + json);
|
||||
@@ -1999,8 +2165,17 @@ public abstract class BaseService {
|
||||
}
|
||||
if (send) {
|
||||
if(regionDict.getIsMaat().intValue()==1) {
|
||||
configCompileList.add(convertMaatCfg(_cfg,2));
|
||||
MaatCfg maatCfg=convertMaatCfg(_cfg,2);
|
||||
//userregion处理
|
||||
if(regionDict.getFunctionId()==7) {
|
||||
if(!StringUtil.isEmpty(_cfg.getDnsStrategyId())){
|
||||
// maatCfg.setUserRegion(Constants.USER_REGION_SPLIT+entity.getDnsStrategyId()+Constants.USER_REGION_SPLIT);
|
||||
maatCfg.setUserRegion(Constants.DNS_STRATEGY_USER_REGION_KEY+"="+_cfg.getDnsStrategyId());
|
||||
}
|
||||
}else if(regionDict.getDictId()==159) {
|
||||
maatCfg.setUserRegion(Constants.P2P_HASH_TYPE_USER_REGION_KEY+"="+_cfg.getUserRegion1());
|
||||
}
|
||||
configCompileList.add(maatCfg);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2014,7 +2189,7 @@ public abstract class BaseService {
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
// 调用服务接口下发配置数据
|
||||
String json = BaseService.gsonToJson(maatBean);
|
||||
if(configCompileList.size()>100) {
|
||||
if(configCompileList.size()>10) {
|
||||
logger.info("字符串配置下发配置条数:" + configCompileList.size());
|
||||
}else {
|
||||
logger.info("字符串配置下发配置参数:" + json);
|
||||
@@ -2042,29 +2217,78 @@ public abstract class BaseService {
|
||||
*/
|
||||
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
||||
public void saveComplexkeywordCfgBatch(FunctionRegionDict regionDict, FunctionServiceDict serviceDict,List<ComplexkeywordCfg> data, String tableName,boolean send) {
|
||||
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||
SqlSession batchSqlSession = null;
|
||||
try{
|
||||
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
for(int index = 0; index < data.size();index++){
|
||||
ComplexkeywordCfg cfg = data.get(index);
|
||||
cfg.setTableName(tableName);
|
||||
if(regionDict.getDictId().intValue()==63) {
|
||||
AppHttpCfg _cfg=new AppHttpCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg);
|
||||
((AppCfgDao) batchSqlSession.getMapper(AppCfgDao.class)).insertAppHttpCfgBatch(_cfg);
|
||||
}else {
|
||||
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveComplexkeywordCfgBatch(cfg);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
batchSqlSession.commit();
|
||||
}finally {
|
||||
if(batchSqlSession != null){
|
||||
batchSqlSession.close();
|
||||
if (regionDict != null) {
|
||||
Integer regionType = regionDict.getRegionType();
|
||||
if (3 == regionType.intValue()) {
|
||||
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||
List<MaatCfg> configCompileList = new ArrayList();
|
||||
SqlSession batchSqlSession = null;
|
||||
try{
|
||||
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
for(int index = 0; index < data.size();index++){
|
||||
ComplexkeywordCfg cfg = data.get(index);
|
||||
cfg.setTableName(tableName);
|
||||
if(regionDict.getDictId().intValue()==63) {
|
||||
AppHttpCfg _cfg=new AppHttpCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg);
|
||||
((AppCfgDao) batchSqlSession.getMapper(AppCfgDao.class)).insertAppHttpCfgBatch(_cfg);
|
||||
}else {
|
||||
((StringCfgDao) batchSqlSession.getMapper(StringCfgDao.class)).saveComplexkeywordCfgBatch(cfg);
|
||||
}
|
||||
if (send) {
|
||||
if(regionDict.getIsMaat().intValue()==1) {
|
||||
MaatCfg maatCfg=convertMaatCfg(cfg,3);
|
||||
//userregion处理
|
||||
if(regionDict.getFunctionId()==7) {
|
||||
if(!StringUtil.isEmpty(cfg.getDnsStrategyId())){
|
||||
// maatCfg.setUserRegion(Constants.USER_REGION_SPLIT+entity.getDnsStrategyId()+Constants.USER_REGION_SPLIT);
|
||||
maatCfg.setUserRegion(Constants.DNS_STRATEGY_USER_REGION_KEY+"="+cfg.getDnsStrategyId());
|
||||
}
|
||||
}else if(regionDict.getDictId()==10) {
|
||||
String dictValue = DictUtils.getDictCode(Constants.HTTP_HEADER_DICT_MODULE, cfg.getDistrict());
|
||||
if(StringUtil.isEmpty(dictValue) || dictValue.equals("默认")){
|
||||
maatCfg.setUserRegion(Constants.HTTP_HEADER_USER_REGION_KEY+"="+cfg.getDistrict());
|
||||
}
|
||||
}else if(regionDict.getDictId()==11) {
|
||||
String dictValue = DictUtils.getDictCode(Constants.HTTP_HEADER_DICT_MODULE, cfg.getDistrict());
|
||||
if(StringUtil.isEmpty(dictValue) || dictValue.equals("默认")){
|
||||
maatCfg.setUserRegion(Constants.HTTP_HEADER_USER_REGION_KEY+"="+cfg.getDistrict());
|
||||
}
|
||||
}
|
||||
configCompileList.add(maatCfg);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (send && configCompileList.size() > 0) {
|
||||
ToMaatBean maatBean = new ToMaatBean();
|
||||
maatBean.setConfigCompileList(configCompileList);
|
||||
maatBean.setAuditTime(new Date());
|
||||
maatBean.setCreatorName(UserUtils.getUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
// 调用服务接口下发配置数据
|
||||
String json = BaseService.gsonToJson(maatBean);
|
||||
if(configCompileList.size()>10) {
|
||||
logger.info("增强字符串配置下发配置条数:" + configCompileList.size());
|
||||
}else {
|
||||
logger.info("增强字符串配置下发配置参数:" + json);
|
||||
}
|
||||
// 调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
||||
logger.info("增强字符串配置下发响应信息:" + result.getMsg());
|
||||
|
||||
}
|
||||
batchSqlSession.commit();
|
||||
}finally {
|
||||
if(batchSqlSession != null){
|
||||
batchSqlSession.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* asn ip分组复用新增
|
||||
|
||||
Reference in New Issue
Block a user