diff --git a/src/main/java/com/nis/util/ServiceConfigTemplateUtil.java b/src/main/java/com/nis/util/ServiceConfigTemplateUtil.java index 9bf2a1380..da897cedd 100644 --- a/src/main/java/com/nis/util/ServiceConfigTemplateUtil.java +++ b/src/main/java/com/nis/util/ServiceConfigTemplateUtil.java @@ -230,6 +230,24 @@ public class ServiceConfigTemplateUtil { } return list; } + + public static Set getAllTableName(){ + //Set tableName = getCompileTableName(); + Set result = Sets.newHashSet(); + List> serviceList = getServiceList(); + for (Map serviceNode : serviceList) { + result.add(serviceNode.get("tableName").toString().trim()); + List> cfgList = (List>) serviceNode.get("cfgList"); + if(cfgList != null) { + for (Map map : cfgList) { + result.add(map.get("tableName").toString().trim()); + } + } + } + + return result; + } + public static void main(String[] args) { try { ServiceConfigTemplateUtil serviceTemplate = new ServiceConfigTemplateUtil(); diff --git a/src/main/java/com/nis/web/controller/SystemController.java b/src/main/java/com/nis/web/controller/SystemController.java index 2342a9ebe..efc4a2a62 100644 --- a/src/main/java/com/nis/web/controller/SystemController.java +++ b/src/main/java/com/nis/web/controller/SystemController.java @@ -198,4 +198,18 @@ public class SystemController extends BaseController{ } return null; } + + @RequestMapping("clearPolicies") + @ResponseBody + public boolean clearPolicies(HttpServletRequest request, HttpServletResponse response) { + try { + systemService.clearPolicies(); + /*ArrayList list = Lists.newArrayList(); + System.out.println(list.get(6));*/ + return true; + } catch (Exception e) { + logger.error("Clear Policies Error",e); + } + return false; + } } diff --git a/src/main/java/com/nis/web/dao/SysOfficeDao.java b/src/main/java/com/nis/web/dao/SysOfficeDao.java index b357bbe3a..077cde2dc 100644 --- a/src/main/java/com/nis/web/dao/SysOfficeDao.java +++ b/src/main/java/com/nis/web/dao/SysOfficeDao.java @@ -4,6 +4,8 @@ package com.nis.web.dao; import java.util.List; import java.util.Map; +import org.apache.ibatis.annotations.Param; + import com.nis.domain.SysOffice; @MyBatisDao @@ -27,6 +29,8 @@ public interface SysOfficeDao extends TreeDao { List selectOfficeForDeptment(Map map); List selectOfficeForLetter(Map hmap); + + void clearPolicies(@Param("tableName")String tableName); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/SysOfficeDao.xml b/src/main/java/com/nis/web/dao/SysOfficeDao.xml index 0f8080fbe..9a202aa39 100644 --- a/src/main/java/com/nis/web/dao/SysOfficeDao.xml +++ b/src/main/java/com/nis/web/dao/SysOfficeDao.xml @@ -327,5 +327,10 @@ CONCAT('%,', #{id}, ',%') + + UPDATE ${tableName} + SET is_valid = -1, is_audit = 0 + WHERE is_valid != -1 + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.java b/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.java index 296486c08..34217bcb8 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.java +++ b/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.java @@ -30,5 +30,6 @@ public interface AsnGroupInfoDao extends CrudDao { Long getCount(); void modifyIssuedIp(AsnGroupInfo info); void updateIpNum(@Param("v4Num")long v4Num,@Param("v6Num")long v6Num,@Param("groupId")Integer groupId); - List getASNIPNum(@Param("asnNo")Integer asnNo); + List getASNIPNum(@Param("asnNo")Integer asnNo); + void reLoadGroupInfo(); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.xml b/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.xml index 437e1539d..8af601586 100644 --- a/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/basics/AsnGroupInfoDao.xml @@ -290,5 +290,18 @@ + + + + UPDATE asn_group_info SET + issued_ips = 0, + is_used = 0, + org_group_id = null, + region_id = 0, + v4_num = 0, + v6_num = 0, + only_group_id = null + WHERE is_valid != -1 + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.java b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.java index f52b8a9d3..d1bad774c 100644 --- a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.java +++ b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.java @@ -23,4 +23,5 @@ public interface ConfigGroupInfoDao extends CrudDao{ //获取asn组织的groupId ConfigGroupInfo getAsnGroupByName(@Param("groupName")String groupName); int delAsnGroup(@Param("groupName")String groupName); + void reLoadGroupInfo(); } 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 13146aff0..d79081268 100644 --- a/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml +++ b/src/main/java/com/nis/web/dao/specific/ConfigGroupInfoDao.xml @@ -90,4 +90,8 @@ delete from config_group_info where group_name=#{groupName} and group_type=4 + + + DELETE FROM config_group_info WHERE group_type = 1 + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/SystemService.java b/src/main/java/com/nis/web/service/SystemService.java index 000aa8b3a..beb0625d5 100644 --- a/src/main/java/com/nis/web/service/SystemService.java +++ b/src/main/java/com/nis/web/service/SystemService.java @@ -10,6 +10,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import javax.xml.namespace.QName; @@ -39,6 +40,7 @@ import com.nis.domain.SysUser; import com.nis.util.Configurations; import com.nis.util.DateUtils; import com.nis.util.IpUtil; +import com.nis.util.ServiceConfigTemplateUtil; import com.nis.util.StringUtil; import com.nis.util.TimeConstants; import com.nis.web.dao.SrcIpDao; @@ -48,6 +50,7 @@ import com.nis.web.security.CacheSessionDAO; import com.nis.web.security.Servlets; import com.nis.web.security.SessionDAO; import com.nis.web.security.UserUtils; +import com.nis.web.service.basics.AsnGroupInfoService; import antlr.StringUtils; @@ -64,6 +67,9 @@ public class SystemService extends BaseService{ @Autowired private SysOfficeDao sysOfficeDao; + @Autowired + private AsnGroupInfoService asnGroupInfoService; + @Autowired private SrcIpDao srcIpDao; private RedisSerializer keySerializer = new StringSerializer(); @@ -179,4 +185,18 @@ public class SystemService extends BaseService{ method.addChild(secE); return method; } + + public void clearPolicies() throws Exception { + // TODO 调用服务接口 告知flushAll + /*String destUrl = Constants.SERVICE_URL; + HttpClientUtil.get(destUrl);*/ + Set tableNameSet = ServiceConfigTemplateUtil.getAllTableName(); + tableNameSet.add("pxy_obj_spoofing_ip_pool"); + for (String tableName : tableNameSet) { + sysOfficeDao.clearPolicies(tableName); + } + // 初始化分组 + asnGroupInfoService.reLoadGroupInfo(); + + } } diff --git a/src/main/java/com/nis/web/service/basics/AsnGroupInfoService.java b/src/main/java/com/nis/web/service/basics/AsnGroupInfoService.java index bbdc8b494..e7ac56a87 100644 --- a/src/main/java/com/nis/web/service/basics/AsnGroupInfoService.java +++ b/src/main/java/com/nis/web/service/basics/AsnGroupInfoService.java @@ -238,4 +238,13 @@ public class AsnGroupInfoService extends BaseService{ List list=asnGroupInfoDao.findAsnGroupInfoList(entity); return list; } + + /** + * Clear Policies操作初始化分组状态 + */ + public void reLoadGroupInfo() { + asnGroupInfoDao.reLoadGroupInfo(); + configGroupInfoDao.reLoadGroupInfo(); + } + } diff --git a/src/main/webapp/WEB-INF/views/home.jsp b/src/main/webapp/WEB-INF/views/home.jsp index 6daf91bdb..33cae4719 100644 --- a/src/main/webapp/WEB-INF/views/home.jsp +++ b/src/main/webapp/WEB-INF/views/home.jsp @@ -265,6 +265,29 @@ function initSpoofingIp(){ } }) } +function clearPolicies(){ + top.$.jBox.confirm("","Clear Policies",function(v,h,f){ + if(v=="ok"){ + $.ajax({ + type:'get', + url:'${ctx}/sys/clearPolicies', + dataType:'json', + async:false, + success:function(data,textStatus){ + if(data){ + top.$.jBox.info('Policies Cleaning Successful!', 'Waring', {closed:function(v,h,f){ + window.location.href = "${ctx}/index"; + }}); + top.$('.jbox-body .jbox-icon').css('top','55px'); + }else{ + alertx("Policies Cleanup Failure!"); + } + } + }) + } + }); + top.$('.jbox-body .jbox-icon').css('top','55px'); +}