diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index e8a04b7a7..7d17ac449 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -12,6 +12,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Properties; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; @@ -44,6 +45,7 @@ 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.AsnGroupInfo; import com.nis.domain.basics.AsnIpCfg; import com.nis.domain.basics.ServiceDictInfo; import com.nis.domain.basics.SysDictInfo; @@ -115,14 +117,13 @@ import com.nis.domain.maat.ToMaatBean; import com.nis.domain.specific.ConfigGroupInfo; import com.nis.domain.specific.SpecificServiceCfg; import com.nis.exceptions.MaatConvertException; -import com.nis.util.AsnCacheUtils; +//import com.nis.util.AsnCacheUtils; import com.nis.util.ConfigServiceUtil; import com.nis.util.Configurations; //import com.nis.main.ConvertTool; 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; @@ -145,6 +146,7 @@ import com.nis.web.service.OfficeService; import com.nis.web.service.RoleService; import com.nis.web.service.SystemService; import com.nis.web.service.UserService; +import com.nis.web.service.basics.AsnGroupInfoService; import com.nis.web.service.basics.AsnIpCfgService; import com.nis.web.service.basics.IpReuseIpCfgService; import com.nis.web.service.basics.PolicyGroupInfoService; @@ -317,6 +319,8 @@ public class BaseController { @Autowired protected PxyObjSpoofingIpPoolService pxyObjSpoofingIpPoolService;// 欺骗IP池 + @Autowired + protected AsnGroupInfoService asnGroupInfoService;// asn组 /** * 管理基础路径 */ @@ -944,7 +948,7 @@ public class BaseController { * @throws InterruptedException * @throws ExecutionException */ - public BlockingQueue checkIpCfgMulity(StringBuffer _msg,FunctionServiceDict serviceDict, FunctionRegionDict regionDict,List> asnNos, BlockingQueue list) throws ServiceException, InterruptedException, ExecutionException{ + public BlockingQueue checkIpCfgMulity(StringBuffer _msg,FunctionServiceDict serviceDict, FunctionRegionDict regionDict,List> asnNos,Map asnGroupInfos, BlockingQueue list) throws ServiceException, InterruptedException, ExecutionException{ logger.warn("start checkIpCfgMulity ,size "+list.size()); long start=System.currentTimeMillis(); BlockingQueue queue=new ArrayBlockingQueue<>(list.size()); @@ -953,6 +957,7 @@ public class BaseController { for(int i=0;i cfgIndexInfos = new ArrayList(); List appPolicyCfgs = new ArrayList(); List appFeatureIndexs= new ArrayList(); - List> asnNoMaps=Lists.newArrayList(); - Map newAsnNoMap=Maps.newConcurrentMap(); - Map OldAsnNoMap=Maps.newConcurrentMap(); + List> asnNoMaps=Lists.newArrayList(); + Map newAsnNoMap=Maps.newConcurrentMap(); + Map OldAsnNoMap=Maps.newConcurrentMap(); + Map asnGroupInfos=null; asnNoMaps.add(newAsnNoMap); asnNoMaps.add(OldAsnNoMap); FunctionRegionDict appRegion = null; @@ -1319,44 +1325,48 @@ public class BaseController { if (serviceDict!=null&&serviceDict.getAction().equals(64)) { BlockingQueue list = ei.getDataList(IpRateLimitTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict,null,asnGroupInfos, list); } else { BlockingQueue list = ei.getDataList(IpAllTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); } } else if (regionDict.getFunctionId().equals(7)&&serviceDict!=null&&serviceDict.getAction().intValue()==16) { BlockingQueue list = ei.getDataList(DnsIpTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); }else if(regionDict.getFunctionId().equals(401)) { BlockingQueue list = ei.getDataList(DnsFakeIpTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); }else if (regionDict.getFunctionId().equals(212)) { BlockingQueue list = ei.getDataList(IpPayloadTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); } else if (regionDict.getFunctionId().equals(510) && "p2p_ip".equals(regionDict.getConfigServiceType())) { // P2p IP BlockingQueue list = ei.getDataList(P2pIpTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); } else if (regionDict.getFunctionId().equals(600)) {// ASN IP //加载asn缓存 - AsnCacheUtils.init(true); + //AsnCacheUtils.init(true); + //从数据库中读取 + asnGroupInfos=asnGroupInfoService.getGroupList(); + //OldAsnNoMap.putAll(asnGroupInfoService.getGroupList()); BlockingQueue list = ei.getDataList(AsnIpTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, asnNoMaps, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, asnNoMaps,asnGroupInfos, list); + }else if (regionDict.getFunctionId().equals(301)) {// DDOS IP BlockingQueue list = ei.getDataList(DdosIpTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); }else if(regionDict.getFunctionId().equals(207)){// HTTP(s)阻断 BlockingQueue list = ei.getDataList(HttpsRejectIpTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); }else if(regionDict.getFunctionId().equals(208)){// HTTP(s)重定向 BlockingQueue list = ei.getDataList(HttpsRedirectIpTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); }else if(regionDict.getFunctionId().equals(209)){// HTTP(s)替换 BlockingQueue list = ei.getDataList(HttpsReplaceIpTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); } else { BlockingQueue list = ei.getDataList(IpAllTemplate.class ); - ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null, list); + ipPortCfgs=this.checkIpCfgMulity(errTip,serviceDict, regionDict, null,asnGroupInfos, list); } } else if (regionDict.getRegionType().equals(2)) {// 字符串类 if (regionDict.getFunctionId().equals(510) @@ -1454,88 +1464,20 @@ public class BaseController { } if (regionDict.getRegionType().equals(1)) {// IP if(regionDict.getFunctionId().intValue()==600) {//ans ip - if(asnNoMaps.get(0).size()>0) { - try { - //将未在缓存中找到对应config的asn no分配group ID - List groupIds = ConfigServiceUtil.getId(2,asnNoMaps.get(0).size()); - int ind=0; - for(Long key:asnNoMaps.get(0).keySet()) { - asnNoMaps.get(0).put(key, groupIds.get(ind)); - ind++; - } - } catch (Exception e) { - e.printStackTrace(); - logger.info("获取编译ID出错"); - throw new MaatConvertException(":"+e.getMessage()); - } - } List isImportAll=DictUtils.getDictList("IS_ASN_IP_IMPORT_ALL"); //处理组,新的组会在这里保存 - asnIpCfgService.processGroup(asnNoMaps.get(0)); + if(!asnNoMaps.get(0).isEmpty()) { + asnIpCfgService.processGroup(asnNoMaps.get(0)); + } //全量下发,删除asnNo对应的已有的IP if(isImportAll.get(0).getItemCode().equals("1")) { logger.warn("Delete and send ip reuse regions start"); long _start=System.currentTimeMillis(); - asnIpCfgService.deleteIps(asnNoMaps.get(1)); -// List> list=Lists.newArrayList(); -// ExecutorService service=Executors.newFixedThreadPool(Constants.SAVE_AND_DEL_THREAD_SIZE); -// BlockingQueue queue=new ArrayBlockingQueue<>(asnNoMaps.get(1).size()); -// queue.addAll(asnNoMaps.get(1).keySet()); -// for(int j=0;j e:list) { -// if(e.get()!=null) { -// try { -// throw e.get(); -// } catch (Throwable e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// } -// } + deleteIps(asnNoMaps.get(1)); long _end=System.currentTimeMillis(); logger.warn("Delete and send ip reuse regions end,cost:"+(_end-_start)); } - Map fullMap=Maps.newConcurrentMap(); - for(Long asnNo:asnNoMaps.get(0).keySet()) { - fullMap.put(asnNo, false); - } - for(Long asnNo:asnNoMaps.get(1).keySet()) { - ConfigGroupInfo info=AsnCacheUtils.get(asnNo); - if(info==null) { - info=asnIpCfgService.getConfigGroupInfoByAsnNo(asnNo); - } - fullMap.put(asnNo, info.getIsIssued().intValue()==1); - } -// List> list=Lists.newArrayList(); -// ExecutorService service=Executors.newFixedThreadPool(Constants.SAVE_AND_DEL_THREAD_SIZE); -// for(int j=0;j e:list) { -// if(e.get()!=null) { -// try { -// throw e.get(); -// } catch (Throwable e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// } -// } List asnIpCfgs=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); List _ipPortCfgs=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); while(!ipPortCfgs.isEmpty()) { @@ -1553,17 +1495,21 @@ public class BaseController { AsnIpCfg _cfg=new AsnIpCfg(); BeanUtils.copyProperties(cfg, _cfg,new String[] {"cfgId"}); _cfg.setTableName(AsnIpCfg.getTablename()); - _cfg.setAction(0); + _cfg.setAction(serviceDict==null?0:serviceDict.getAction()); _cfg.setCfgRegionCode(regionDict.getConfigRegionCode()); _cfg.setCfgType(regionDict.getConfigRegionValue()); _cfg.setCreateTime(date); _cfg.setCreatorId(UserUtils.getUser().getId()); _cfg.setDoLog(2); _cfg.setFunctionId(regionDict.getFunctionId()); - _cfg.setIsAudit(0); - if(fullMap.get(Long.parseLong(_cfg.getUserRegion1()))) { + if(isSend.equals("1")) { + _cfg.setIsAudit(Constants.AUDIT_YES); _cfg.setIsValid(Constants.VALID_YES); + _cfg.setAuditorId(UserUtils.getUser().getId()); + _cfg.setAuditTime(date); + }else { + _cfg.setIsAudit(Constants.AUDIT_NOT_YET); _cfg.setIsValid(Constants.VALID_NO); } _cfg.setIsAreaEffective(0); @@ -1571,27 +1517,31 @@ public class BaseController { _cfg.setRequestId(StringUtil.isEmpty(requestId) ? 0 : requestId); _cfg.setAttribute(attribute); _cfg.setClassify(classify); - _cfg.setServiceId(0); +// _cfg.setServiceId(0); + _cfg.setServiceId(serviceDict==null?0:serviceDict.getServiceId()); //设置region id if(regionIds!=null&®ionIds.size()==_ipPortCfgs.size()) { _cfg.setRegionId(regionIds.get(ind)); } - //设置group id + //设置group id,compileId if(asnNoMaps.get(0).containsKey(Long.parseLong(_cfg.getUserRegion1()))) { - _cfg.setAsnIpGroup(asnNoMaps.get(0).get(Long.parseLong(_cfg.getUserRegion1()))); + _cfg.setAsnIpGroup(asnNoMaps.get(0).get(Long.parseLong(_cfg.getUserRegion1())).getGroupId()); + _cfg.setCompileId(asnNoMaps.get(0).get(Long.parseLong(_cfg.getUserRegion1())).getCompileId()); }else if(asnNoMaps.get(1).containsKey(Long.parseLong(_cfg.getUserRegion1()))) { - _cfg.setAsnIpGroup(asnNoMaps.get(1).get(Long.parseLong(_cfg.getUserRegion1()))); + _cfg.setAsnIpGroup(asnNoMaps.get(1).get(Long.parseLong(_cfg.getUserRegion1())).getGroupId()); + _cfg.setCompileId(asnNoMaps.get(1).get(Long.parseLong(_cfg.getUserRegion1())).getCompileId()); }else { - ConfigGroupInfo info=AsnCacheUtils.get(Long.parseLong(_cfg.getUserRegion1())); - if(info==null) { - info=asnIpCfgService.getConfigGroupInfoByAsnNo(Long.parseLong(_cfg.getUserRegion1())); + //AsnGroupInfo info=AsnCacheUtils.get(Long.parseLong(_cfg.getUserRegion1())); + AsnGroupInfo info=asnGroupInfos.get(Long.parseLong(_cfg.getUserRegion1())); + if(info!=null) { + _cfg.setAsnIpGroup(info.getGroupId()); + _cfg.setCompileId(info.getCompileId()); } - _cfg.setAsnIpGroup(info.getGroupId()); } asnIpCfgs.add(_cfg); ind++; } - ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, asnIpCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,isSend.equals("1")); + ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, asnIpCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,asnNoMaps,isSend.equals("1")); cfgIndexInfos.clear(); appPolicyCfgs.clear(); _ipPortCfgs.clear(); @@ -1734,7 +1684,7 @@ public class BaseController { } ind++; } - ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _ipPortCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,isSend.equals("1")); + ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _ipPortCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,asnNoMaps,isSend.equals("1")); cfgIndexInfos.clear(); appPolicyCfgs.clear(); _ipPortCfgs.clear(); @@ -1859,7 +1809,7 @@ public class BaseController { } ind++; } - ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _stringCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,isSend.equals("1")); + ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _stringCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,asnNoMaps,isSend.equals("1")); cfgIndexInfos.clear(); appPolicyCfgs.clear(); _stringCfgs.clear(); @@ -1970,7 +1920,7 @@ public class BaseController { } ind++; } - ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _complexkeywordCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,isSend.equals("1")); + ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _complexkeywordCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,asnNoMaps,isSend.equals("1")); cfgIndexInfos.clear(); appPolicyCfgs.clear(); _complexkeywordCfgs.clear(); @@ -2050,7 +2000,7 @@ public class BaseController { appFeatureIndexs.add(appfeature); ind++; } - ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _complexkeywordCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,isSend.equals("1")); + ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _complexkeywordCfgs, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,asnNoMaps,isSend.equals("1")); cfgIndexInfos.clear(); appPolicyCfgs.clear(); _complexkeywordCfgs.clear(); @@ -2092,7 +2042,7 @@ public class BaseController { cfg.setCompileId(compileIds.get(ind)); ind++; } - ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _dnsResStrategies, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,isSend.equals("1")); + ipCfgService.saveAndSend(regionDict, serviceDict, specificServiceCfg, _dnsResStrategies, cfgIndexInfos, appPolicyCfgs,appFeatureIndexs,asnNoMaps,isSend.equals("1")); _dnsResStrategies.clear(); cfgIndexInfos.clear(); appPolicyCfgs.clear(); @@ -2123,6 +2073,48 @@ public class BaseController { long end=System.currentTimeMillis(); logger.warn("import finish,cost:"+(end-start)); } + + public void deleteIps(Map asnNoMap){ + List toDelAndSendAsnIpCfgs=Lists.newArrayList(); + List asnIds=Lists.newArrayList(asnNoMap.size()); + for(Entry e:asnNoMap.entrySet()) { + AsnGroupInfo asnGroupInfo=e.getValue(); + if(asnGroupInfo==null) { + asnGroupInfo=asnIpCfgService.getAsnGroupInfoByAsnNo(e.getKey()); + } + if(asnGroupInfo.getIsValid()==1) {//已下发 + List _toDelAsnIpCfgs=asnIpCfgService.getByAsnNo(asnGroupInfo.getAsnId()); + toDelAndSendAsnIpCfgs.addAll(_toDelAsnIpCfgs); + }else { + asnIds.add(e.getKey()); + } + } + if(asnIds.size()>0) { + asnIpCfgService.deleteByAsnNo(asnIds); + } + if(toDelAndSendAsnIpCfgs.size()>0) { + int pointsDataLimit = Constants.MAAT_JSON_SEND_SIZE;//限制条数 + Integer size = toDelAndSendAsnIpCfgs.size(); + //判断是否有必要分批 + if(pointsDataLimit listPage = toDelAndSendAsnIpCfgs.subList(0, pointsDataLimit); + asnIpCfgService.delAndSend(listPage); + //剔除 + toDelAndSendAsnIpCfgs.subList(0, pointsDataLimit).clear(); + } + //最后剩下的 + if(!toDelAndSendAsnIpCfgs.isEmpty()){ + asnIpCfgService.delAndSend(toDelAndSendAsnIpCfgs); + + } + }else { + asnIpCfgService.delAndSend(toDelAndSendAsnIpCfgs); + } + } + } /** * 加载模板 * @param ei @@ -2291,7 +2283,22 @@ public class BaseController { fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); } new ExportExcel(msgProp.getProperty(code, code),code,titleTime, headerList).ajaxDataList(dataList, code).write(response, fileName).dispose(); - + } + + + public void _ajaxCsv(HttpServletRequest request, HttpServletResponse response, + String code,String titleTime,List headerList, List> dataList) + throws Exception{ + Properties msgProp = getMsgProp(); + String fileName = msgProp.getProperty(code, code) + "_" + DateUtils.getDate("yyyyMMddHHmmss") + + ".csv"; + fileName = fileName.replaceAll(" ", "_"); + if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) { + fileName = URLEncoder.encode(fileName, "UTF-8"); + } else { + fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); + } + ExcelCsv.ajaxCSVFile(response,headerList,dataList,fileName,titleTime,msgProp); } public String initLogMap(BaseLogEntity log,String title){ @@ -2350,6 +2357,7 @@ public class BaseController { page.setOrderBy(""); page.setPageSize(Constants.MAAT_JSON_SEND_SIZE); page.setPageNo(1); + page.setLastPage(false); //携带审核状态信息的BaseCfg BaseCfg auditBatchCfg=new BaseCfg(); //携带审核条件的BaseCfg @@ -2691,6 +2699,9 @@ public class BaseController { } hasData=commonPolicyService.auditNtcMaatData(cfgList, page, auditBatchCfg,cfgFeatrureList, hasData); } + if(hasData) { + page.setPageNo(page.getNext()); + } }else{ hasData = false; } @@ -2727,13 +2738,19 @@ public class BaseController { } } }else{ - //批量下发时,未下发过的app需要下发正常配置;已下发过的app需要下发ip复用配置(为保证事物,分两种方式下发) //1028 app_ip_cfg + //TODO 批量审核通过APP IP需要处理的问题:一批中存在一个APP 所有IP均未下发过的问题?待解决 + //批量下发时,未下发过的app需要下发正常配置;已下发过的app需要下发ip复用配置(为保证事物,分两种方式下发) if(auditBatchCfg.getServiceId().equals(1028)) { - if(true) { + /*if(true) { + page.setOrderBy(""); + page.setPageSize(Constants.MAAT_JSON_SEND_SIZE); + page.setPageNo(1); + page.setLastPage(false); + boolean hasData = true; while(hasData){ - /************预先获取已下发的groupid和compileid,且每批次重新获取,避免上一批次有新的compileId下发*************/ + *//************预先获取已下发的groupid和compileid,且每批次重新获取,避免上一批次有新的compileId下发*************//* Map isIssuedCompileIds=new HashMap<>(); //分组复用组信息1:app ip,2:内容,3:区域 ,4 asn ConfigGroupInfo groupInfo=new ConfigGroupInfo(); @@ -2768,9 +2785,14 @@ public class BaseController { } } if(auditBatchCfg.getIsValid().equals(1)) { + page.setOrderBy(""); + page.setPageSize(Constants.MAAT_JSON_SEND_SIZE); + page.setPageNo(1); + page.setLastPage(false); + boolean hasData = true; while(hasData){ - /************预先获取未下发的groupid和compileid,********************/ + *//************预先获取未下发的groupid和compileid,********************//* //获取已下发的appcompileid Map notIssuedCompileIds=new HashMap<>(); //分组复用组信息1:app ip,2:内容,3:区域 ,4 asn @@ -2804,7 +2826,7 @@ public class BaseController { hasData = false; } } - } + }*/ }else { boolean hasData = true; while(hasData){ diff --git a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml index c3fd2c166..252839bd5 100644 --- a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml @@ -22,7 +22,7 @@ from config_group_info where group_type =#{groupType} - select from config_group_info @@ -70,6 +70,10 @@ select id,group_id,group_name,is_issued,insert_time,update_time,group_type,compile_id,asn_id from config_group_info where group_id= #{groupId} +