增加删除所有配置规则功能.

This commit is contained in:
zhangwenqing
2019-04-16 16:46:16 +08:00
parent 3bd9c15566
commit a1998f24f7
11 changed files with 123 additions and 2 deletions

View File

@@ -230,6 +230,24 @@ public class ServiceConfigTemplateUtil {
} }
return list; return list;
} }
public static Set<String> getAllTableName(){
//Set<String> tableName = getCompileTableName();
Set<String> result = Sets.newHashSet();
List<Map<String, Object>> serviceList = getServiceList();
for (Map<String, Object> serviceNode : serviceList) {
result.add(serviceNode.get("tableName").toString().trim());
List<Map<String,Object>> cfgList = (List<Map<String, Object>>) serviceNode.get("cfgList");
if(cfgList != null) {
for (Map<String, Object> map : cfgList) {
result.add(map.get("tableName").toString().trim());
}
}
}
return result;
}
public static void main(String[] args) { public static void main(String[] args) {
try { try {
ServiceConfigTemplateUtil serviceTemplate = new ServiceConfigTemplateUtil(); ServiceConfigTemplateUtil serviceTemplate = new ServiceConfigTemplateUtil();

View File

@@ -198,4 +198,18 @@ public class SystemController extends BaseController{
} }
return null; return null;
} }
@RequestMapping("clearPolicies")
@ResponseBody
public boolean clearPolicies(HttpServletRequest request, HttpServletResponse response) {
try {
systemService.clearPolicies();
/*ArrayList<Object> list = Lists.newArrayList();
System.out.println(list.get(6));*/
return true;
} catch (Exception e) {
logger.error("Clear Policies Error",e);
}
return false;
}
} }

View File

@@ -4,6 +4,8 @@ package com.nis.web.dao;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.nis.domain.SysOffice; import com.nis.domain.SysOffice;
@MyBatisDao @MyBatisDao
@@ -27,6 +29,8 @@ public interface SysOfficeDao extends TreeDao<SysOffice> {
List<SysOffice> selectOfficeForDeptment(Map map); List<SysOffice> selectOfficeForDeptment(Map map);
List<SysOffice> selectOfficeForLetter(Map<String, Object> hmap); List<SysOffice> selectOfficeForLetter(Map<String, Object> hmap);
void clearPolicies(@Param("tableName")String tableName);
} }

View File

@@ -327,5 +327,10 @@
<if test="dbName == 'mysql'">CONCAT('%,', #{id}, ',%')</if> <if test="dbName == 'mysql'">CONCAT('%,', #{id}, ',%')</if>
</update> </update>
<update id="clearPolicies" parameterType="java.lang.String">
UPDATE ${tableName}
SET is_valid = -1, is_audit = 0
WHERE is_valid != -1
</update>
</mapper> </mapper>

View File

@@ -30,5 +30,6 @@ public interface AsnGroupInfoDao extends CrudDao<AsnGroupInfo> {
Long getCount(); Long getCount();
void modifyIssuedIp(AsnGroupInfo info); void modifyIssuedIp(AsnGroupInfo info);
void updateIpNum(@Param("v4Num")long v4Num,@Param("v6Num")long v6Num,@Param("groupId")Integer groupId); void updateIpNum(@Param("v4Num")long v4Num,@Param("v6Num")long v6Num,@Param("groupId")Integer groupId);
List<Object[]> getASNIPNum(@Param("asnNo")Integer asnNo); List<Object[]> getASNIPNum(@Param("asnNo")Integer asnNo);
void reLoadGroupInfo();
} }

View File

@@ -290,5 +290,18 @@
</update> </update>
<select id="getASNIPNum" resultType="map"> <select id="getASNIPNum" resultType="map">
select v4_num,v6_num from asn_group_info where asn_id=#{asnNo} select v4_num,v6_num from asn_group_info where asn_id=#{asnNo}
</select> </select>
<update id="reLoadGroupInfo">
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
</update>
</mapper> </mapper>

View File

@@ -23,4 +23,5 @@ public interface ConfigGroupInfoDao extends CrudDao<ConfigGroupInfo>{
//获取asn组织的groupId //获取asn组织的groupId
ConfigGroupInfo getAsnGroupByName(@Param("groupName")String groupName); ConfigGroupInfo getAsnGroupByName(@Param("groupName")String groupName);
int delAsnGroup(@Param("groupName")String groupName); int delAsnGroup(@Param("groupName")String groupName);
void reLoadGroupInfo();
} }

View File

@@ -90,4 +90,8 @@
<delete id="delAsnGroup" parameterType="java.lang.String"> <delete id="delAsnGroup" parameterType="java.lang.String">
delete from config_group_info where group_name=#{groupName} and group_type=4 delete from config_group_info where group_name=#{groupName} and group_type=4
</delete> </delete>
<delete id="reLoadGroupInfo">
DELETE FROM config_group_info WHERE group_type = 1
</delete>
</mapper> </mapper>

View File

@@ -10,6 +10,7 @@ import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import javax.xml.namespace.QName; import javax.xml.namespace.QName;
@@ -39,6 +40,7 @@ import com.nis.domain.SysUser;
import com.nis.util.Configurations; import com.nis.util.Configurations;
import com.nis.util.DateUtils; import com.nis.util.DateUtils;
import com.nis.util.IpUtil; import com.nis.util.IpUtil;
import com.nis.util.ServiceConfigTemplateUtil;
import com.nis.util.StringUtil; import com.nis.util.StringUtil;
import com.nis.util.TimeConstants; import com.nis.util.TimeConstants;
import com.nis.web.dao.SrcIpDao; 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.Servlets;
import com.nis.web.security.SessionDAO; import com.nis.web.security.SessionDAO;
import com.nis.web.security.UserUtils; import com.nis.web.security.UserUtils;
import com.nis.web.service.basics.AsnGroupInfoService;
import antlr.StringUtils; import antlr.StringUtils;
@@ -64,6 +67,9 @@ public class SystemService extends BaseService{
@Autowired @Autowired
private SysOfficeDao sysOfficeDao; private SysOfficeDao sysOfficeDao;
@Autowired
private AsnGroupInfoService asnGroupInfoService;
@Autowired @Autowired
private SrcIpDao srcIpDao; private SrcIpDao srcIpDao;
private RedisSerializer keySerializer = new StringSerializer(); private RedisSerializer keySerializer = new StringSerializer();
@@ -179,4 +185,18 @@ public class SystemService extends BaseService{
method.addChild(secE); method.addChild(secE);
return method; return method;
} }
public void clearPolicies() throws Exception {
// TODO 调用服务接口 告知flushAll
/*String destUrl = Constants.SERVICE_URL;
HttpClientUtil.get(destUrl);*/
Set<String> tableNameSet = ServiceConfigTemplateUtil.getAllTableName();
tableNameSet.add("pxy_obj_spoofing_ip_pool");
for (String tableName : tableNameSet) {
sysOfficeDao.clearPolicies(tableName);
}
// 初始化分组
asnGroupInfoService.reLoadGroupInfo();
}
} }

View File

@@ -238,4 +238,13 @@ public class AsnGroupInfoService extends BaseService{
List<AsnGroupInfo> list=asnGroupInfoDao.findAsnGroupInfoList(entity); List<AsnGroupInfo> list=asnGroupInfoDao.findAsnGroupInfoList(entity);
return list; return list;
} }
/**
* Clear Policies操作初始化分组状态
*/
public void reLoadGroupInfo() {
asnGroupInfoDao.reLoadGroupInfo();
configGroupInfoDao.reLoadGroupInfo();
}
} }

View File

@@ -265,6 +265,29 @@ function initSpoofingIp(){
} }
}) })
} }
function clearPolicies(){
top.$.jBox.confirm("<spring:message code='confirm_message'/>","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');
}
</script> </script>
<style type="text/css"> <style type="text/css">
.bodyhi{ .bodyhi{
@@ -391,6 +414,15 @@ background:#3d3d3d;
</li> </li>
</ul> </ul>
</li> </li>
<li class="dropdown dropdown-user nav" style="display: none">
<a href="javascript:clearPolicies()" id="helpHref" target="_self" >
<i class="fa fa-remove"></i>
<span class="username username-hide-on-mobile" id="help">
Clear Policies
</span>
</a>
</li>
</c:if> </c:if>
<li class="dropdown dropdown-user nav"> <li class="dropdown dropdown-user nav">
<a href="${pageContext.request.contextPath}/static/PotPlayerSetup64.exe" id="helpHref" target="_self" > <a href="${pageContext.request.contextPath}/static/PotPlayerSetup64.exe" id="helpHref" target="_self" >