diff --git a/src/main/java/com/nis/domain/SysUser.java b/src/main/java/com/nis/domain/SysUser.java index 1ad76b148..8e5e96474 100644 --- a/src/main/java/com/nis/domain/SysUser.java +++ b/src/main/java/com/nis/domain/SysUser.java @@ -167,7 +167,7 @@ public class SysUser extends BaseEntity { } public static boolean isAdmin(String loginId){ - return loginId != null && "admin".equals(loginId); + return loginId != null && "ceiec".equals(loginId); } diff --git a/src/main/java/com/nis/domain/configuration/PxyObjSpoofingIpPool.java b/src/main/java/com/nis/domain/configuration/PxyObjSpoofingIpPool.java index 7c712c3b8..9e4d5bc46 100644 --- a/src/main/java/com/nis/domain/configuration/PxyObjSpoofingIpPool.java +++ b/src/main/java/com/nis/domain/configuration/PxyObjSpoofingIpPool.java @@ -52,6 +52,9 @@ public class PxyObjSpoofingIpPool extends BaseIpCfg{ this.ipAddress = ipAddress; } public Integer getGroupId() { + if((groupId==null || groupId==0) && cfgId!=null){ + groupId=cfgId.intValue(); + } return groupId; } public void setGroupId(Integer groupId) { diff --git a/src/main/java/com/nis/util/StringUtils.java b/src/main/java/com/nis/util/StringUtils.java index e1113c80c..cd30adf6d 100644 --- a/src/main/java/com/nis/util/StringUtils.java +++ b/src/main/java/com/nis/util/StringUtils.java @@ -1,520 +1,520 @@ -/** - * Copyright © 2012-2014 JeeSite All rights reserved. - */ -package com.nis.util; - -import java.io.UnsupportedEncodingException; -import java.util.List; -import java.util.Locale; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringEscapeUtils; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; -import org.springframework.web.servlet.LocaleResolver; - -import com.ckfinder.connector.ServletContextFactory; -import com.google.common.collect.Lists; -import com.nis.web.service.SpringContextHolder; - -/** - * 字符串工具类, 继承org.apache.commons.lang3.StringUtils类 - * - * @author ThinkGem - * @version 2013-05-22 - */ -public class StringUtils extends org.apache.commons.lang3.StringUtils { - - private static final char SEPARATOR = '_'; - private static final String CHARSET_NAME = "UTF-8"; - public static final String HASH_ALGORITHM = "SHA-1"; - public static final int HASH_INTERATIONS = 1024; - public static final int SALT_SIZE = 8; - - /** - * 转换为字节数组 - * - * @param str - * @return - */ - public static byte[] getBytes(String str) { - if (str != null) { - try { - return str.getBytes(CHARSET_NAME); - } catch (UnsupportedEncodingException e) { - return null; - } - } else { - return null; - } - } - - /** - * 转换为字节数组 - * - * @param str - * @return - */ - public static String toString(byte[] bytes) { - try { - return new String(bytes, CHARSET_NAME); - } catch (UnsupportedEncodingException e) { - return EMPTY; - } - } - - /** - * 是否包含字符串 - * - * @param str - * 验证字符串 - * @param strs - * 字符串组 - * @return 包含返回true - */ - public static boolean inString(String str, String... strs) { - if (str != null) { - for (String s : strs) { - if (str.equals(trim(s))) { - return true; - } - } - } - return false; - } - - /** - * 替换掉HTML标签方法 - */ - public static String replaceHtml(String html) { - if (isBlank(html)) { - return ""; - } - String regEx = "<.+?>"; - Pattern p = Pattern.compile(regEx); - Matcher m = p.matcher(html); - String s = m.replaceAll(""); - return s; - } - - /** - * 替换为手机识别的HTML,去掉样式及属性,保留回车。 - * - * @param html - * @return - */ - public static String replaceMobileHtml(String html) { - if (html == null) { - return ""; - } - return html.replaceAll("<([a-z]+?)\\s+?.*?>", "<$1>"); - } - - /** - * 替换为手机识别的HTML,去掉样式及属性,保留回车。 - * - * @param txt - * @return - */ - public static String toHtml(String txt) { - if (txt == null) { - return ""; - } - return replace(replace(Encodes.escapeHtml(txt), "\n", "
"), "\t", "    "); - } - - /** - * 缩略字符串(不区分中英文字符) - * - * @param str - * 目标字符串 - * @param length - * 截取长度 - * @return - */ - public static String abbr(String str, int length) { - if (str == null) { - return ""; - } - try { - StringBuilder sb = new StringBuilder(); - int currentLength = 0; - for (char c : replaceHtml(StringEscapeUtils.unescapeHtml4(str)).toCharArray()) { - currentLength += String.valueOf(c).getBytes("GBK").length; - if (currentLength <= length - 3) { - sb.append(c); - } else { - sb.append("..."); - break; - } - } - return sb.toString(); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - return ""; - } - - public static String abbr2(String param, int length) { - if (param == null) { - return ""; - } - StringBuffer result = new StringBuffer(); - int n = 0; - char temp; - boolean isCode = false; // 是不是HTML代码 - boolean isHTML = false; // 是不是HTML特殊字符,如  - for (int i = 0; i < param.length(); i++) { - temp = param.charAt(i); - if (temp == '<') { - isCode = true; - } else if (temp == '&') { - isHTML = true; - } else if (temp == '>' && isCode) { - n = n - 1; - isCode = false; - } else if (temp == ';' && isHTML) { - isHTML = false; - } - try { - if (!isCode && !isHTML) { - n += String.valueOf(temp).getBytes("GBK").length; - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - if (n <= length - 3) { - result.append(temp); - } else { - result.append("..."); - break; - } - } - // 取出截取字符串中的HTML标记 - String temp_result = result.toString().replaceAll("(>)[^<>]*(]*/?>", - ""); - // 去掉成对的HTML标记 - temp_result = temp_result.replaceAll("<([a-zA-Z]+)[^<>]*>(.*?)", "$2"); - // 用正则表达式取出标记 - Pattern p = Pattern.compile("<([a-zA-Z]+)[^<>]*>"); - Matcher m = p.matcher(temp_result); - List endHTML = Lists.newArrayList(); - while (m.find()) { - endHTML.add(m.group(1)); - } - // 补全不成对的HTML标记 - for (int i = endHTML.size() - 1; i >= 0; i--) { - result.append(""); - } - return result.toString(); - } - - /** - * 转换为Double类型 - */ - public static Double toDouble(Object val) { - if (val == null) { - return 0D; - } - try { - return Double.valueOf(trim(val.toString())); - } catch (Exception e) { - return 0D; - } - } - - /** - * 转换为Float类型 - */ - public static Float toFloat(Object val) { - return toDouble(val).floatValue(); - } - - /** - * 转换为Long类型 - */ - public static Long toLong(Object val) { - return toDouble(val).longValue(); - } - - /** - * 转换为Integer类型 - */ - public static Integer toInteger(Object val) { - return toLong(val).intValue(); - } - - /** - * 获得i18n字符串 - */ - public static String getMessage(String code, Object[] args) { - LocaleResolver localLocaleResolver = (LocaleResolver) SpringContextHolder.getBean(LocaleResolver.class); - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) - .getRequest(); - Locale localLocale = localLocaleResolver.resolveLocale(request); - return SpringContextHolder.getApplicationContext().getMessage(code, args, localLocale); - } - - /** - * 获得用户远程地址 - */ - public static String getRemoteAddr(HttpServletRequest request) { - String remoteAddr = request.getHeader("X-Real-IP"); - if (isNotBlank(remoteAddr)) { - remoteAddr = request.getHeader("X-Forwarded-For"); - } else if (isNotBlank(remoteAddr)) { - remoteAddr = request.getHeader("Proxy-Client-IP"); - } else if (isNotBlank(remoteAddr)) { - remoteAddr = request.getHeader("WL-Proxy-Client-IP"); - } - return remoteAddr != null ? remoteAddr : request.getRemoteAddr(); - } - - /** - * 驼峰命名法工具 - * - * @return toCamelCase("hello_world") == "helloWorld" - * toCapitalizeCamelCase("hello_world") == "HelloWorld" - * toUnderScoreCase("helloWorld") = "hello_world" - */ - public static String toCamelCase(String s) { - if (s == null) { - return null; - } - - s = s.toLowerCase(); - - StringBuilder sb = new StringBuilder(s.length()); - boolean upperCase = false; - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - - if (c == SEPARATOR) { - upperCase = true; - } else if (upperCase) { - sb.append(Character.toUpperCase(c)); - upperCase = false; - } else { - sb.append(c); - } - } - - return sb.toString(); - } - - /** - * 驼峰命名法工具 - * - * @return toCamelCase("hello_world") == "helloWorld" - * toCapitalizeCamelCase("hello_world") == "HelloWorld" - * toUnderScoreCase("helloWorld") = "hello_world" - */ - public static String toCapitalizeCamelCase(String s) { - if (s == null) { - return null; - } - s = toCamelCase(s); - return s.substring(0, 1).toUpperCase() + s.substring(1); - } - - /** - * 驼峰命名法工具 - * - * @return toCamelCase("hello_world") == "helloWorld" - * toCapitalizeCamelCase("hello_world") == "HelloWorld" - * toUnderScoreCase("helloWorld") = "hello_world" - */ - public static String toUnderScoreCase(String s) { - if (s == null) { - return null; - } - - StringBuilder sb = new StringBuilder(); - boolean upperCase = false; - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - - boolean nextUpperCase = true; - - if (i < (s.length() - 1)) { - nextUpperCase = Character.isUpperCase(s.charAt(i + 1)); - } - - if ((i > 0) && Character.isUpperCase(c)) { - if (!upperCase || !nextUpperCase) { - sb.append(SEPARATOR); - } - upperCase = true; - } else { - upperCase = false; - } - - sb.append(Character.toLowerCase(c)); - } - - return sb.toString(); - } - - /** - * 如果不为空,则设置值 - * - * @param target - * @param source - */ - public static void setValueIfNotBlank(String target, String source) { - if (isNotBlank(source)) { - target = source; - } - } - - /** - * 转换为JS获取对象值,生成三目运算返回结果 - * - * @param objectString - * 对象串 例如:row.user.id - * 返回:!row?'':!row.user?'':!row.user.id?'':row.user.id - */ - public static String jsGetVal(String objectString) { - StringBuilder result = new StringBuilder(); - StringBuilder val = new StringBuilder(); - String[] vals = split(objectString, "."); - for (int i = 0; i < vals.length; i++) { - val.append("." + vals[i]); - result.append("!" + (val.substring(1)) + "?'':"); - } - result.append(val.substring(1)); - return result.toString(); - } - - /** - * 生成安全的密码,生成随机的16位salt并经过1024次 sha-1 hash - */ - public static String entryptPassword(String plainPassword) { - byte[] salt = Digests.generateSalt(SALT_SIZE); - byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS); - return Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword); - } - - /** - * 验证密码 - * - * @param plainPassword - * 明文密码 - * @param password - * 密文密码 - * @return 验证成功返回true - */ - public static boolean validatePassword(String plainPassword, String password) { - byte[] salt = Encodes.decodeHex(password.substring(0, 16)); - byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS); - return password.equals(Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword)); - } - - /** - * 获取上传文件的根目录 - * - * @return - */ - public static String getUserfilesBaseDir() { - String dir = Configurations.getStringProperty("userfiles.basedir", ""); - try { - if (StringUtils.isBlank(dir)) { - dir = ServletContextFactory.getServletContext().getRealPath("/"); - } else { - dir = ServletContextFactory.getServletContext().getRealPath("/") + dir; - } - } catch (Exception e) { - return ""; - } - - if (!dir.endsWith("/")) { - dir += "/"; - } - return dir; - } - - /** - * - *

- * 判断字符串是否为空. 为空条件:全角\半角\tab 等没有实际意义的字符. - * 具体参看{@link Character#isWhitespace(char)}对空格的定义. - *

- * - *
-	* StringUtils.isBlank("  ") = true 为半角空格
-	* StringUtils.isBlank("  ") = true 为全角空格
-	* StringUtils.isBlank("	") = true 为tab键
-	 * 
- * - * @param str - * 字符串 - * @return true 字符串为空 ,false 不为空 - */ - public static boolean strIsBlank(String str) { - int strLen; - if (str == null || (strLen = str.length()) == 0) { - return true; - } - for (int i = 0; i < strLen; i++) { - if ((Character.isWhitespace(str.charAt(i)) == false)) { - return false; - } - } - return true; - } - - /** - * 截取转义页面字符串 - * @param str - * @param len - * @return - */ - public static String stringFormat(String str,int len){ - if(str==null||str.trim().equals("")||str.trim().equals("null")){ - return ""; - } - - if(len!=-1){ - try { - StringBuilder sb = new StringBuilder(); - int currentLength = 0; - for (char c : str.toCharArray()) { - currentLength += String.valueOf(c).getBytes("GBK").length; - if (currentLength <= len - 3) { - sb.append(c); - } else { - sb.append("..."); - break; - } - } - return Encodes.escapeHtml(sb.toString()); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - return str; - } - - public static String revertStr(String str,String regex){ - String[] split = str.split(regex); - String value = ""; - for (int i = split.length-1; i >= 0 ; i--) { - if( i != 0) { - value += split[i]+"/"; - }else { - value += split[i]; - } - - } - return value; - } -} +/** + * Copyright © 2012-2014 JeeSite All rights reserved. + */ +package com.nis.util; + +import java.io.UnsupportedEncodingException; +import java.util.List; +import java.util.Locale; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang3.StringEscapeUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.servlet.LocaleResolver; + +import com.ckfinder.connector.ServletContextFactory; +import com.google.common.collect.Lists; +import com.nis.web.service.SpringContextHolder; + +/** + * 字符串工具类, 继承org.apache.commons.lang3.StringUtils类 + * + * @author ThinkGem + * @version 2013-05-22 + */ +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + private static final char SEPARATOR = '_'; + private static final String CHARSET_NAME = "UTF-8"; + public static final String HASH_ALGORITHM = "SHA-1"; + public static final int HASH_INTERATIONS = 1024; + public static final int SALT_SIZE = 8; + + /** + * 转换为字节数组 + * + * @param str + * @return + */ + public static byte[] getBytes(String str) { + if (str != null) { + try { + return str.getBytes(CHARSET_NAME); + } catch (UnsupportedEncodingException e) { + return null; + } + } else { + return null; + } + } + + /** + * 转换为字节数组 + * + * @param str + * @return + */ + public static String toString(byte[] bytes) { + try { + return new String(bytes, CHARSET_NAME); + } catch (UnsupportedEncodingException e) { + return EMPTY; + } + } + + /** + * 是否包含字符串 + * + * @param str + * 验证字符串 + * @param strs + * 字符串组 + * @return 包含返回true + */ + public static boolean inString(String str, String... strs) { + if (str != null) { + for (String s : strs) { + if (str.equals(trim(s))) { + return true; + } + } + } + return false; + } + + /** + * 替换掉HTML标签方法 + */ + public static String replaceHtml(String html) { + if (isBlank(html)) { + return ""; + } + String regEx = "<.+?>"; + Pattern p = Pattern.compile(regEx); + Matcher m = p.matcher(html); + String s = m.replaceAll(""); + return s; + } + + /** + * 替换为手机识别的HTML,去掉样式及属性,保留回车。 + * + * @param html + * @return + */ + public static String replaceMobileHtml(String html) { + if (html == null) { + return ""; + } + return html.replaceAll("<([a-z]+?)\\s+?.*?>", "<$1>"); + } + + /** + * 替换为手机识别的HTML,去掉样式及属性,保留回车。 + * + * @param txt + * @return + */ + public static String toHtml(String txt) { + if (txt == null) { + return ""; + } + return replace(replace(Encodes.escapeHtml(txt), "\n", "
"), "\t", "    "); + } + + /** + * 缩略字符串(不区分中英文字符) + * + * @param str + * 目标字符串 + * @param length + * 截取长度 + * @return + */ + public static String abbr(String str, int length) { + if (str == null) { + return ""; + } + try { + StringBuilder sb = new StringBuilder(); + int currentLength = 0; + for (char c : replaceHtml(StringEscapeUtils.unescapeHtml4(str)).toCharArray()) { + currentLength += String.valueOf(c).getBytes("GBK").length; + if (currentLength <= length - 3) { + sb.append(c); + } else { + sb.append("..."); + break; + } + } + return sb.toString(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return ""; + } + + public static String abbr2(String param, int length) { + if (param == null) { + return ""; + } + StringBuffer result = new StringBuffer(); + int n = 0; + char temp; + boolean isCode = false; // 是不是HTML代码 + boolean isHTML = false; // 是不是HTML特殊字符,如  + for (int i = 0; i < param.length(); i++) { + temp = param.charAt(i); + if (temp == '<') { + isCode = true; + } else if (temp == '&') { + isHTML = true; + } else if (temp == '>' && isCode) { + n = n - 1; + isCode = false; + } else if (temp == ';' && isHTML) { + isHTML = false; + } + try { + if (!isCode && !isHTML) { + n += String.valueOf(temp).getBytes("GBK").length; + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + if (n <= length - 3) { + result.append(temp); + } else { + result.append("..."); + break; + } + } + // 取出截取字符串中的HTML标记 + String temp_result = result.toString().replaceAll("(>)[^<>]*(]*/?>", + ""); + // 去掉成对的HTML标记 + temp_result = temp_result.replaceAll("<([a-zA-Z]+)[^<>]*>(.*?)", "$2"); + // 用正则表达式取出标记 + Pattern p = Pattern.compile("<([a-zA-Z]+)[^<>]*>"); + Matcher m = p.matcher(temp_result); + List endHTML = Lists.newArrayList(); + while (m.find()) { + endHTML.add(m.group(1)); + } + // 补全不成对的HTML标记 + for (int i = endHTML.size() - 1; i >= 0; i--) { + result.append(""); + } + return result.toString(); + } + + /** + * 转换为Double类型 + */ + public static Double toDouble(Object val) { + if (val == null) { + return 0D; + } + try { + return Double.valueOf(trim(val.toString())); + } catch (Exception e) { + return 0D; + } + } + + /** + * 转换为Float类型 + */ + public static Float toFloat(Object val) { + return toDouble(val).floatValue(); + } + + /** + * 转换为Long类型 + */ + public static Long toLong(Object val) { + return toDouble(val).longValue(); + } + + /** + * 转换为Integer类型 + */ + public static Integer toInteger(Object val) { + return toLong(val).intValue(); + } + + /** + * 获得i18n字符串 + */ + public static String getMessage(String code, Object[] args) { + LocaleResolver localLocaleResolver = (LocaleResolver) SpringContextHolder.getBean(LocaleResolver.class); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + Locale localLocale = localLocaleResolver.resolveLocale(request); + return SpringContextHolder.getApplicationContext().getMessage(code, args, localLocale); + } + + /** + * 获得用户远程地址 + */ + public static String getRemoteAddr(HttpServletRequest request) { + String remoteAddr = request.getHeader("X-Real-IP"); + if (isBlank(remoteAddr)) { + remoteAddr = request.getHeader("X-Forwarded-For"); + } else if (isBlank(remoteAddr)) { + remoteAddr = request.getHeader("Proxy-Client-IP"); + } else if (isBlank(remoteAddr)) { + remoteAddr = request.getHeader("WL-Proxy-Client-IP"); + } + return remoteAddr != null ? remoteAddr : request.getRemoteAddr(); + } + + /** + * 驼峰命名法工具 + * + * @return toCamelCase("hello_world") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + public static String toCamelCase(String s) { + if (s == null) { + return null; + } + + s = s.toLowerCase(); + + StringBuilder sb = new StringBuilder(s.length()); + boolean upperCase = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + + if (c == SEPARATOR) { + upperCase = true; + } else if (upperCase) { + sb.append(Character.toUpperCase(c)); + upperCase = false; + } else { + sb.append(c); + } + } + + return sb.toString(); + } + + /** + * 驼峰命名法工具 + * + * @return toCamelCase("hello_world") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + public static String toCapitalizeCamelCase(String s) { + if (s == null) { + return null; + } + s = toCamelCase(s); + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + + /** + * 驼峰命名法工具 + * + * @return toCamelCase("hello_world") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + public static String toUnderScoreCase(String s) { + if (s == null) { + return null; + } + + StringBuilder sb = new StringBuilder(); + boolean upperCase = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + + boolean nextUpperCase = true; + + if (i < (s.length() - 1)) { + nextUpperCase = Character.isUpperCase(s.charAt(i + 1)); + } + + if ((i > 0) && Character.isUpperCase(c)) { + if (!upperCase || !nextUpperCase) { + sb.append(SEPARATOR); + } + upperCase = true; + } else { + upperCase = false; + } + + sb.append(Character.toLowerCase(c)); + } + + return sb.toString(); + } + + /** + * 如果不为空,则设置值 + * + * @param target + * @param source + */ + public static void setValueIfNotBlank(String target, String source) { + if (isNotBlank(source)) { + target = source; + } + } + + /** + * 转换为JS获取对象值,生成三目运算返回结果 + * + * @param objectString + * 对象串 例如:row.user.id + * 返回:!row?'':!row.user?'':!row.user.id?'':row.user.id + */ + public static String jsGetVal(String objectString) { + StringBuilder result = new StringBuilder(); + StringBuilder val = new StringBuilder(); + String[] vals = split(objectString, "."); + for (int i = 0; i < vals.length; i++) { + val.append("." + vals[i]); + result.append("!" + (val.substring(1)) + "?'':"); + } + result.append(val.substring(1)); + return result.toString(); + } + + /** + * 生成安全的密码,生成随机的16位salt并经过1024次 sha-1 hash + */ + public static String entryptPassword(String plainPassword) { + byte[] salt = Digests.generateSalt(SALT_SIZE); + byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS); + return Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword); + } + + /** + * 验证密码 + * + * @param plainPassword + * 明文密码 + * @param password + * 密文密码 + * @return 验证成功返回true + */ + public static boolean validatePassword(String plainPassword, String password) { + byte[] salt = Encodes.decodeHex(password.substring(0, 16)); + byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS); + return password.equals(Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword)); + } + + /** + * 获取上传文件的根目录 + * + * @return + */ + public static String getUserfilesBaseDir() { + String dir = Configurations.getStringProperty("userfiles.basedir", ""); + try { + if (StringUtils.isBlank(dir)) { + dir = ServletContextFactory.getServletContext().getRealPath("/"); + } else { + dir = ServletContextFactory.getServletContext().getRealPath("/") + dir; + } + } catch (Exception e) { + return ""; + } + + if (!dir.endsWith("/")) { + dir += "/"; + } + return dir; + } + + /** + * + *

+ * 判断字符串是否为空. 为空条件:全角\半角\tab 等没有实际意义的字符. + * 具体参看{@link Character#isWhitespace(char)}对空格的定义. + *

+ * + *
+	* StringUtils.isBlank("  ") = true 为半角空格
+	* StringUtils.isBlank("  ") = true 为全角空格
+	* StringUtils.isBlank("	") = true 为tab键
+	 * 
+ * + * @param str + * 字符串 + * @return true 字符串为空 ,false 不为空 + */ + public static boolean strIsBlank(String str) { + int strLen; + if (str == null || (strLen = str.length()) == 0) { + return true; + } + for (int i = 0; i < strLen; i++) { + if ((Character.isWhitespace(str.charAt(i)) == false)) { + return false; + } + } + return true; + } + + /** + * 截取转义页面字符串 + * @param str + * @param len + * @return + */ + public static String stringFormat(String str,int len){ + if(str==null||str.trim().equals("")||str.trim().equals("null")){ + return ""; + } + + if(len!=-1){ + try { + StringBuilder sb = new StringBuilder(); + int currentLength = 0; + for (char c : str.toCharArray()) { + currentLength += String.valueOf(c).getBytes("GBK").length; + if (currentLength <= len - 3) { + sb.append(c); + } else { + sb.append("..."); + break; + } + } + return Encodes.escapeHtml(sb.toString()); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + return str; + } + + public static String revertStr(String str,String regex){ + String[] split = str.split(regex); + String value = ""; + for (int i = split.length-1; i >= 0 ; i--) { + if( i != 0) { + value += split[i]+"/"; + }else { + value += split[i]; + } + + } + return value; + } +} diff --git a/src/main/java/com/nis/util/excel/ExportExcel.java b/src/main/java/com/nis/util/excel/ExportExcel.java index ac9216b9e..50c9bdb4c 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -1042,7 +1042,7 @@ public class ExportExcel { //expr type if("key_word".equals(headerStr)){ if(!StringUtil.isEmpty(region.getConfigMultiKeywords())){ - if(region.getConfigMultiKeywords().equals(1)){//多关键字输入TODO + if(region.getConfigMultiKeywords().equals("1")){//多关键字输入TODO commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n"; index++; //允许输入多关键字,多个关键字用换行表示 diff --git a/src/main/java/com/nis/web/controller/basics/TaskInfoController.java b/src/main/java/com/nis/web/controller/basics/TaskInfoController.java index 59cfc7d21..1d2e298d9 100644 --- a/src/main/java/com/nis/web/controller/basics/TaskInfoController.java +++ b/src/main/java/com/nis/web/controller/basics/TaskInfoController.java @@ -77,7 +77,8 @@ public class TaskInfoController extends BaseController{ }else{ if (!"true".equals(checkTaskName(taskInfo.getTaskName()))){ logger.info(taskInfo.getTaskName()+"重复数据"); - addMessage("error",model,"save_failed"); + Properties props=this.getMsgProp(); + addMessage("error",model,props.getProperty("duplicate", "Duplicate")+" "+props.getProperty("task_name", "Task Name")); return form(taskInfo, model); } // 保存用户信息 diff --git a/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java b/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java index 4b1239c34..ae3f0ce6d 100644 --- a/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java +++ b/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java @@ -83,7 +83,8 @@ public class RequestInfoController extends BaseController{ }else{ if (!"true".equals(checkRequestNumber(requestInfo.getRequestNumber()))){ logger.info(requestInfo.getRequestNumber()+"重复数据"); - addMessage("error",model,"save_failed"); + Properties props=this.getMsgProp(); + addMessage("error",model,props.getProperty("duplicate", "Duplicate")+" "+props.getProperty("title", "Title")); return form(requestInfo, model); } // 保存用户信息 diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java index 34773f3a7..79daef1d3 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java @@ -300,11 +300,16 @@ public class IpController extends BaseController{ ,FunctionServiceDict serviceDict ,Integer requestId) throws Exception{ Properties pro=getMsgProp(); - //String serviceName=pro.getProperty(serviceDict.getServiceName()); - String regionName=pro.getProperty(regionDict.getConfigRegionValue()); - //serviceName=StringUtil.isEmpty(serviceName) ?serviceDict.getServiceName():serviceName; - regionName=StringUtil.isEmpty(regionName) ?regionDict.getConfigRegionValue():regionName; - String fileName = regionName+"_Template.xlsx"; + String menuCode = menuService.getMenuCodeByFunctionId(serviceDict.getFunctionId()); + String menuName = pro.getProperty(menuCode); + String regionName = pro.getProperty(regionDict.getConfigRegionValue()); + menuName = StringUtil.isEmpty(menuName) ? menuCode : menuName; + regionName = StringUtil.isEmpty(regionName) ? regionDict.getConfigRegionValue() : regionName; + + String fileName = regionName + "_Template.xlsx"; + if(!menuName.equalsIgnoreCase(regionName)) { + fileName = menuName +"_"+ fileName; + } //ip类模板 if(regionDict.getRegionType().equals(1)){ if(regionDict.getFunctionId().equals(5)){// IP Address diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java index 7ac57414d..cec2841c1 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java @@ -26,6 +26,7 @@ import com.nis.domain.configuration.HttpUrlCfg; import com.nis.domain.configuration.InterceptPktBin; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.PxyObjKeyring; +import com.nis.domain.configuration.PxyObjSpoofingIpPool; import com.nis.exceptions.MaatConvertException; import com.nis.util.Constants; import com.nis.util.DictUtils; @@ -60,9 +61,18 @@ public class InterceptController extends CommonController { certificateList = pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain"); } model.addAttribute("certificateList", certificateList); - // IP地址仿冒策略使用策略组 - List policyGroups = policyGroupInfoService.findPolicyGroupInfosByType(6); - model.addAttribute("policyGroups", policyGroups); + /*if(cfg.getFunctionId().equals(214)){ + // IP地址仿冒策略使用策略组 + //List policyGroups = policyGroupInfoService.findPolicyGroupInfosByType(6); + List list = page.getList(); + for(CfgIndexInfo c:list){ + Long cfgId = Long.parseLong(c.getUserRegion2());//user_region2字段存储的为IP仿冒池的ID信息(策略组ID) + PxyObjSpoofingIpPool pool = pxyObjSpoofingIpPoolService.getPxyObjSpoofingIpPool(cfgId); + c.setUserRegion2(pool.getGroupName());//将IP仿冒池的策略组名重新赋给user_region2 + } + +// model.addAttribute("policyGroups", policyGroups); + }*/ return "/cfg/intercept/interceptList"; } @@ -86,8 +96,9 @@ public class InterceptController extends CommonController { model.addAttribute("_cfg", entity); // IP地址仿冒策略使用策略组 - List policyGroups = policyGroupInfoService.findPolicyGroupInfosByType(6); - model.addAttribute("policyGroups", policyGroups); +// List policyGroups = policyGroupInfoService.findPolicyGroupInfosByType(6); +// List pools = pxyObjSpoofingIpPoolService.findPxyObjSpoofingIpPools(new PxyObjSpoofingIpPool()); +// model.addAttribute("policyGroups", pools); return "/cfg/intercept/interceptForm"; } diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjSpoofingIpPoolController.java b/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjSpoofingIpPoolController.java index 1587ce73e..50bba33a1 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjSpoofingIpPoolController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjSpoofingIpPoolController.java @@ -89,7 +89,7 @@ public class PxyObjSpoofingIpPoolController extends BaseController { model.addAttribute("isAdd", true); } - List groups=policyGroupInfoService.findPolicyGroupInfosByType(6); + /*List groups=policyGroupInfoService.findPolicyGroupInfosByType(6); List policyGroups = new ArrayList(); //解决目前一个分组只能有一个生效IP for(PolicyGroupInfo group:groups){ @@ -101,7 +101,7 @@ public class PxyObjSpoofingIpPoolController extends BaseController { policyGroups.add(group); } } - model.addAttribute("policyGroups", policyGroups); + model.addAttribute("policyGroups", policyGroups);*/ model.addAttribute("_cfg", cfg); return "/cfg/proxy/spoofingIpPool/form"; } diff --git a/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java b/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java index 523e918d9..06941c9be 100644 --- a/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java +++ b/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java @@ -10,6 +10,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Properties; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -133,4 +134,61 @@ public class ConfigureStatisticsController extends BaseController{ map.put("ruleLimit", ruleLimit); return map; } + + //configureStateStatisticsPrint + @ResponseBody + @RequestMapping(value = {"/configureStateStatisticsPrint"}) + public Map configureStateStatisticsPrint(Model model,HttpServletRequest request + ,HttpServletResponse response + ,RedirectAttributes redirectAttributes){ + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + /****************************Request Info Statistics*****************************/ + //1、查询所有有效的service + List serviceDictList = DictUtils.getFunctionServiceDictList(); + //2、查询所有菜单 + List menuList = UserUtils.getMenuCfgList(); + //3、根据来函分页 + RequestInfo requestInfo=new RequestInfo(); + requestInfo.setIsAudit(1); + requestInfo.setIsValid(1); + Page page = new Page(request, response,"r"); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + Page requestPage = requestInfoService.findRequestInfo(page,requestInfo); + List requestInfos=requestPage.getList(); + //4、根据当前页的requestInfo信息查询request统计信息 + List requestStatisticList=new ArrayList(); + if(!StringUtil.isEmpty(requestInfos)){ + Date requestStatisticTime=configureStatisticsService.getRequestStatisticTime(); + String requestStatisticTimeStr=""; + if(!StringUtil.isEmpty(requestStatisticTime)){ + requestStatisticTimeStr=sdf.format(requestStatisticTime); + } + requestStatisticList=configureStatisticsService.getRequestStateStatistics(requestInfos,menuList,requestStatisticTimeStr); + if(!StringUtil.isEmpty(requestStatisticList)){ + for (Iterator iterator = requestStatisticList.iterator(); iterator.hasNext();) { + Map map = (Map) iterator.next(); + for (RequestInfo requestInfoO : requestInfos) { + if(requestInfoO.getId().toString().equals(map.get("request").toString())){ + map.put("request", requestInfoO.getRequestTitle()); + } + } + } + } + model.addAttribute("requestStatisticTime", requestStatisticTimeStr); + } + Properties msgProp = getMsgProp(); + for (int i = 0; i < menuList.size(); i++) { + String property = msgProp.getProperty(menuList.get(i).getCode(), menuList.get(i).getCode()); + menuList.get(i).setCode(property); + } + requestPage.setList(requestStatisticList); + model.addAttribute("requestInfos", requestInfos); + model.addAttribute("serviceList", serviceDictList); + model.addAttribute("page", requestPage); + Map maps=new HashMap(); + maps.put("menuList", menuList); + maps.put("requestStatisticList", requestStatisticList); + return maps; + } } diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java index 441a33967..b1e531660 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java @@ -71,7 +71,7 @@ public class TrafficStatisticsInfoController extends BaseController { Double dropConnNum=0d; Double monitorNum=0d; Double loopConnNum=0d; - Double liveConnNum=0d; + Double closeConnNum=0d; Double newUniConnNum=0d; Double inoctetsNum=0d; Double outoctetsNum=0d; @@ -86,7 +86,7 @@ public class TrafficStatisticsInfoController extends BaseController { monitorNum = (Double) map.get("monitorNum"); dropConnNum = (Double) map.get("dropConnNum"); loopConnNum = (Double) map.get("loopConnNum"); - liveConnNum = (Double) map.get("liveConnNum"); + closeConnNum = (Double) map.get("closeConnNum"); newUniConnNum = (Double) map.get("newUniConnNum"); inoctetsNum = (Double) map.get("inoctets"); outoctetsNum = (Double) map.get("outoctets"); @@ -100,7 +100,7 @@ public class TrafficStatisticsInfoController extends BaseController { m.put("monitorNum", monitorNum); m.put("loopConnNum", loopConnNum); m.put("dropConnNum", dropConnNum); - m.put("liveConnNum", liveConnNum); + m.put("closeConnNum", closeConnNum); m.put("newUniConnNum", newUniConnNum); m.put("bandwidth", bandwidth); @@ -681,7 +681,7 @@ public class TrafficStatisticsInfoController extends BaseController { if("new_link".equals(searchAction)){ url=url+"&searchBusinessType="+3; } - if("active_link".equals(searchAction)){ + if("close_link".equals(searchAction)){ url=url+"&searchBusinessType="+4; } if("pass".equals(searchAction)){ diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java index fcdf92466..2ea116e9f 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java @@ -34,6 +34,7 @@ import com.nis.domain.log.BaseLogEntity; import com.nis.domain.maat.LogRecvData; import com.nis.domain.report.NtcAsnRecord; import com.nis.domain.report.NtcIpRangeReport; +import com.nis.util.Configurations; import com.nis.util.Constants; import com.nis.util.DateUtils; import com.nis.util.StringUtil; @@ -69,7 +70,7 @@ public class TrafficStatisticsReportController extends BaseController { if ("3".endsWith(searchBusinessType)) { model.addAttribute("searchBusinessType", 3);// IP查询 } - String url = Constants.DASHBOARD_URL + Constants.NTC_RADIUS_REPORT; + String url = Configurations.getStringProperty("dashboardUrlV2","dashboardUrlV2") + Constants.NTC_RADIUS_REPORT; String statTime = bean.getSearchFoundStartTime(); String endTime = bean.getSearchFoundEndTime(); String account = bean.getAccount(); @@ -221,7 +222,7 @@ public class TrafficStatisticsReportController extends BaseController { if ("3".endsWith(searchBusinessType)) { model.addAttribute("searchBusinessType", 3);// IP查询 } - String url = Constants.DASHBOARD_URL + Constants.NTC_RADIUS_REPORT; + String url = Configurations.getStringProperty("dashboardUrlV2","dashboardUrlV2")+ Constants.NTC_RADIUS_REPORT; String statTime = bean.getSearchFoundStartTime(); String endTime = bean.getSearchFoundEndTime(); String account = bean.getAccount(); diff --git a/src/main/java/com/nis/web/controller/report/NtcEventBlockController.java b/src/main/java/com/nis/web/controller/report/NtcEventBlockController.java index 6e4e2a813..70990a7df 100644 --- a/src/main/java/com/nis/web/controller/report/NtcEventBlockController.java +++ b/src/main/java/com/nis/web/controller/report/NtcEventBlockController.java @@ -21,6 +21,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.gson.Gson; @@ -35,16 +36,16 @@ import com.nis.util.Constants; import com.nis.util.TimeConstants; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; -import com.nis.web.service.basics.TaskInfoService; +import com.nis.web.service.configuration.RequestInfoService; @Controller @RequestMapping("${adminPath}/eventBlock") public class NtcEventBlockController extends BaseController { protected static Logger logger = LoggerFactory.getLogger(NtcEventBlockController.class); - + @Autowired - private TaskInfoService taskInfoService; + private RequestInfoService requestInfoService; /** * EventBlock @@ -89,15 +90,20 @@ public class NtcEventBlockController extends BaseController { params.put("searchTaskStartTime", searchTaskStartTime); params.put("searchTaskEndTime", searchTaskEndTime); - if (StringUtils.isNotBlank(log.getTaskIds())) { params.put("taskIds", log.getTaskIds()); } + log.setSearchReportStartTime(searchReportStartTime); + log.setSearchReportEndTime(searchReportEndTime); + log.setSearchTaskStartTime(searchTaskStartTime); + log.setSearchTaskEndTime(searchTaskEndTime); + params.put("reportType", 1); String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report; -// String url = "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; + // String url = + // "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; String recv = HttpClientUtil.getMsg(url, params, request); if (StringUtils.isNotBlank(recv)) { Gson gson = new GsonBuilder().create(); @@ -111,7 +117,7 @@ public class NtcEventBlockController extends BaseController { page.setList(data.getList()); model.addAttribute("page", page); // 获取专项列表 - List taskList = taskInfoService.findTaskInfo(new TaskInfo()); + List taskList = requestInfoService.showTask(new TaskInfo()); model.addAttribute("taskList", taskList); } } @@ -142,7 +148,6 @@ public class NtcEventBlockController extends BaseController { params.put("pageSize", page.getPageSize()); params.put("pageNo", page.getPageNo()); - // 判断请求参数 String searchReportStartTime = null; String searchReportEndTime = null; @@ -167,7 +172,6 @@ public class NtcEventBlockController extends BaseController { params.put("searchReportEndTime", searchReportEndTime); params.put("searchTaskStartTime", searchTaskStartTime); params.put("searchTaskEndTime", searchTaskEndTime); - if (StringUtils.isNotBlank(log.getTaskIds())) { params.put("taskIds", log.getTaskIds()); @@ -177,11 +181,12 @@ public class NtcEventBlockController extends BaseController { log.setSearchReportEndTime(searchReportEndTime); log.setSearchTaskStartTime(searchTaskStartTime); log.setSearchTaskEndTime(searchTaskEndTime); - + params.put("reportType", 1); String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report; -// String url = "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; + // String url = + // "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; String recv = HttpClientUtil.getMsg(url, params, request); List list = new ArrayList<>(); if (StringUtils.isNotBlank(recv)) { @@ -199,7 +204,7 @@ public class NtcEventBlockController extends BaseController { titleList.add("ntc_event_block_report"); classMap.put("ntc_event_block_report", NtcEventMonitorOrBlockReport.class); - String cfgIndexInfoNoExport = ""; + String cfgIndexInfoNoExport = "," + hColumns + ","; noExportMap.put("ntc_event_block_report", cfgIndexInfoNoExport); Properties msgProp = getMsgProp(); @@ -327,4 +332,75 @@ public class NtcEventBlockController extends BaseController { return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS); } + + // eventBlockPrint + @ResponseBody + @RequestMapping(value = "eventBlockPrint") + public List eventBlockPrint(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, + Model model, HttpServletRequest request, HttpServletResponse response, + RedirectAttributes redirectAttributes) { + try { + PageLog page = new PageLog(request, response); + Map params = new HashMap(); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + // 判断请求参数 + String searchReportStartTime = null; + String searchReportEndTime = null; + String searchTaskStartTime = null; + String searchTaskEndTime = null; + /** + * 对统计时间参数进行处理 开始-结束(一周内[7天]) + */ + String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime()); + searchReportStartTime = serachReportTimes[0]; + searchReportEndTime = serachReportTimes[1]; + /** + * 对报送时间参数进行处理 开始-结束(一周内[7天]) + */ + String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime()); + searchTaskStartTime = serachTaskTimes[0]; + searchTaskEndTime = serachTaskTimes[1]; + + params.put("searchReportStartTime", searchReportStartTime); + params.put("searchReportEndTime", searchReportEndTime); + params.put("searchTaskStartTime", searchTaskStartTime); + params.put("searchTaskEndTime", searchTaskEndTime); + + if (StringUtils.isNotBlank(log.getTaskIds())) { + params.put("taskIds", log.getTaskIds()); + } + + log.setSearchReportStartTime(searchReportStartTime); + log.setSearchReportEndTime(searchReportEndTime); + log.setSearchTaskStartTime(searchTaskStartTime); + log.setSearchTaskEndTime(searchTaskEndTime); + + params.put("reportType", 1); + + String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report; + // String url = + // "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; + String recv = HttpClientUtil.getMsg(url, params, request); + List list = new ArrayList<>(); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, + new TypeToken>() { + }.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list = data.getList(); + } + } + + return list; + } catch (Exception e) { + logger.error("ntc_event_block_report print failed", e); + addMessage(redirectAttributes, "error", "print_failed"); + } + return null; + } } diff --git a/src/main/java/com/nis/web/controller/report/NtcEventKeyProtectionController.java b/src/main/java/com/nis/web/controller/report/NtcEventKeyProtectionController.java index e3fe6edf7..b770b667e 100644 --- a/src/main/java/com/nis/web/controller/report/NtcEventKeyProtectionController.java +++ b/src/main/java/com/nis/web/controller/report/NtcEventKeyProtectionController.java @@ -21,6 +21,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.gson.Gson; @@ -31,12 +32,11 @@ import com.nis.domain.PageLog; import com.nis.domain.configuration.TaskInfo; import com.nis.domain.maat.LogRecvData; import com.nis.domain.report.NtcEventKeyProtectionReport; -import com.nis.domain.report.NtcEventMonitorOrBlockReport; import com.nis.util.Constants; import com.nis.util.TimeConstants; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; -import com.nis.web.service.basics.TaskInfoService; +import com.nis.web.service.configuration.RequestInfoService; @Controller @RequestMapping("${adminPath}/eventKeyProtection") @@ -45,7 +45,7 @@ public class NtcEventKeyProtectionController extends BaseController { protected static Logger logger = LoggerFactory.getLogger(NtcEventKeyProtectionController.class); @Autowired - private TaskInfoService taskInfoService; + private RequestInfoService requestInfoService; /** * EventBlock @@ -94,6 +94,11 @@ public class NtcEventKeyProtectionController extends BaseController { params.put("taskIds", log.getTaskIds()); } + log.setSearchReportStartTime(searchReportStartTime); + log.setSearchReportEndTime(searchReportEndTime); + log.setSearchTaskStartTime(searchTaskStartTime); + log.setSearchTaskEndTime(searchTaskEndTime); + String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_KEYPROTECTION_Report; // String url = // "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventKeyProtection"; @@ -110,7 +115,7 @@ public class NtcEventKeyProtectionController extends BaseController { page.setList(data.getList()); model.addAttribute("page", page); // 获取专项列表 - List taskList = taskInfoService.findTaskInfo(new TaskInfo()); + List taskList = requestInfoService.showTask(new TaskInfo()); model.addAttribute("taskList", taskList); } } @@ -195,7 +200,7 @@ public class NtcEventKeyProtectionController extends BaseController { titleList.add("ntc_event_key_protection_report"); classMap.put("ntc_event_key_protection_report", NtcEventKeyProtectionReport.class); - String cfgIndexInfoNoExport = ""; + String cfgIndexInfoNoExport = "," + hColumns + ","; noExportMap.put("ntc_event_key_protection_report", cfgIndexInfoNoExport); Properties msgProp = getMsgProp(); @@ -320,4 +325,72 @@ public class NtcEventKeyProtectionController extends BaseController { return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS); } + + //eventKeyProtectionPrint + @ResponseBody + @RequestMapping(value = "eventKeyProtectionPrint") + public List eventKeyProtectionPrint(@ModelAttribute("log") NtcEventKeyProtectionReport log, Model model, + HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) { + try { + PageLog page = new PageLog(request, response); + Map params = new HashMap(); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + + // 判断请求参数 + String searchReportStartTime = null; + String searchReportEndTime = null; + String searchTaskStartTime = null; + String searchTaskEndTime = null; + + /** + * 对统计时间参数进行处理 开始-结束(一周内[7天]) + */ + String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime()); + searchReportStartTime = serachReportTimes[0]; + searchReportEndTime = serachReportTimes[1]; + + /** + * 对报送时间参数进行处理 开始-结束(一周内[7天]) + */ + String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime()); + searchTaskStartTime = serachTaskTimes[0]; + searchTaskEndTime = serachTaskTimes[1]; + + params.put("searchReportStartTime", searchReportStartTime); + params.put("searchReportEndTime", searchReportEndTime); + params.put("searchTaskStartTime", searchTaskStartTime); + params.put("searchTaskEndTime", searchTaskEndTime); + + if (StringUtils.isNotBlank(log.getTaskIds())) { + params.put("taskIds", log.getTaskIds()); + } + + log.setSearchReportStartTime(searchReportStartTime); + log.setSearchReportEndTime(searchReportEndTime); + log.setSearchTaskStartTime(searchTaskStartTime); + log.setSearchTaskEndTime(searchTaskEndTime); + + String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_KEYPROTECTION_Report; + String recv = HttpClientUtil.getMsg(url, params, request); + List list = new ArrayList<>(); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, + new TypeToken>() { + }.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list = data.getList(); + } + } + return list; + } catch (Exception e) { + logger.error("ntc_event_key_protection_report print failed", e); + addMessage(redirectAttributes, "error", "print_failed"); + } + return null; + } } diff --git a/src/main/java/com/nis/web/controller/report/NtcEventMonitorController.java b/src/main/java/com/nis/web/controller/report/NtcEventMonitorController.java index 014d3fd04..5f4d29f2e 100644 --- a/src/main/java/com/nis/web/controller/report/NtcEventMonitorController.java +++ b/src/main/java/com/nis/web/controller/report/NtcEventMonitorController.java @@ -2,9 +2,7 @@ package com.nis.web.controller.report; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; -import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -23,6 +21,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.gson.Gson; @@ -32,15 +31,12 @@ import com.nis.domain.Page; import com.nis.domain.PageLog; import com.nis.domain.configuration.TaskInfo; import com.nis.domain.maat.LogRecvData; -import com.nis.domain.report.BaseReport; import com.nis.domain.report.NtcEventMonitorOrBlockReport; -import com.nis.domain.report.NtcURLReport; import com.nis.util.Constants; -import com.nis.util.DateUtils; import com.nis.util.TimeConstants; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; -import com.nis.web.service.basics.TaskInfoService; +import com.nis.web.service.configuration.RequestInfoService; @Controller @RequestMapping("${adminPath}/eventMonitor") @@ -49,7 +45,7 @@ public class NtcEventMonitorController extends BaseController { protected static Logger logger = LoggerFactory.getLogger(NtcEventMonitorController.class); @Autowired - private TaskInfoService taskInfoService; + private RequestInfoService requestInfoService; /** * EventMonitor @@ -98,11 +94,16 @@ public class NtcEventMonitorController extends BaseController { params.put("taskIds", log.getTaskIds()); } + log.setSearchReportStartTime(searchReportStartTime); + log.setSearchReportEndTime(searchReportEndTime); + log.setSearchTaskStartTime(searchTaskStartTime); + log.setSearchTaskEndTime(searchTaskEndTime); + params.put("reportType", 2); String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report; - // String url = - // "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; +// String url = +// "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; String recv = HttpClientUtil.getMsg(url, params, request); if (StringUtils.isNotBlank(recv)) { Gson gson = new GsonBuilder().create(); @@ -115,8 +116,7 @@ public class NtcEventMonitorController extends BaseController { page.setLast(data.getLast()); page.setList(data.getList()); model.addAttribute("page", page); - // 获取专项列表 - List taskList = taskInfoService.findTaskInfo(new TaskInfo()); + List taskList = requestInfoService.showTask(new TaskInfo()); model.addAttribute("taskList", taskList); } } @@ -184,8 +184,8 @@ public class NtcEventMonitorController extends BaseController { params.put("reportType", 2); String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report; - // String url = - // "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; +// String url = +// "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock"; String recv = HttpClientUtil.getMsg(url, params, request); List list = new ArrayList<>(); if (StringUtils.isNotBlank(recv)) { @@ -202,7 +202,7 @@ public class NtcEventMonitorController extends BaseController { titleList.add("ntc_event_monitor_report"); classMap.put("ntc_event_monitor_report", NtcEventMonitorOrBlockReport.class); - String cfgIndexInfoNoExport = ""; + String cfgIndexInfoNoExport = "," + hColumns + ","; noExportMap.put("ntc_event_monitor_report", cfgIndexInfoNoExport); Properties msgProp = getMsgProp(); @@ -330,4 +330,74 @@ public class NtcEventMonitorController extends BaseController { return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS); } + + // eventMonitorPrint + @ResponseBody + @RequestMapping(value = "eventMonitorPrint") + public List eventMonitorPrint(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model, + HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) { + try { + PageLog page = new PageLog(request, response); + Map params = new HashMap(); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + + // 判断请求参数 + String searchReportStartTime = null; + String searchReportEndTime = null; + String searchTaskStartTime = null; + String searchTaskEndTime = null; + + /** + * 对统计时间参数进行处理 开始-结束(一周内[7天]) + */ + String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime()); + searchReportStartTime = serachReportTimes[0]; + searchReportEndTime = serachReportTimes[1]; + + /** + * 对报送时间参数进行处理 开始-结束(一周内[7天]) + */ + String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime()); + searchTaskStartTime = serachTaskTimes[0]; + searchTaskEndTime = serachTaskTimes[1]; + + params.put("searchReportStartTime", searchReportStartTime); + params.put("searchReportEndTime", searchReportEndTime); + params.put("searchTaskStartTime", searchTaskStartTime); + params.put("searchTaskEndTime", searchTaskEndTime); + + if (StringUtils.isNotBlank(log.getTaskIds())) { + params.put("taskIds", log.getTaskIds()); + } + + log.setSearchReportStartTime(searchReportStartTime); + log.setSearchReportEndTime(searchReportEndTime); + log.setSearchTaskStartTime(searchTaskStartTime); + log.setSearchTaskEndTime(searchTaskEndTime); + + params.put("reportType", 2); + + String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report; + String recv = HttpClientUtil.getMsg(url, params, request); + List list = new ArrayList<>(); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, + new TypeToken>() { + }.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list = data.getList(); + } + } + return list; + } catch (Exception e) { + logger.error("ntc_event_monitor_report print failed", e); + addMessage(redirectAttributes, "error", "print_failed"); + } + return null; + } } diff --git a/src/main/java/com/nis/web/controller/report/ReportController.java b/src/main/java/com/nis/web/controller/report/ReportController.java index 23a34245a..6b2921094 100644 --- a/src/main/java/com/nis/web/controller/report/ReportController.java +++ b/src/main/java/com/nis/web/controller/report/ReportController.java @@ -15,6 +15,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.gson.Gson; @@ -567,4 +568,158 @@ public class ReportController extends BaseController { addMessage(redirectAttributes, "error", "export_failed"); } } + // asnPrint + @ResponseBody + @RequestMapping(value = "asnPrint") + public List asnPrint(@ModelAttribute("log") NtcAsnRecord log, Model model, + HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { + try { + PageLog page = new PageLog(request, response); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + Map params = new HashMap(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + // 判断请求参数 + if (StringUtils.isNotEmpty(log.getSearchAsnType())) { + params.put("searchAsnType", log.getSearchAsnType()); + } else { + params.put("searchAsnType", 1); + } + if (StringUtils.isNotBlank(log.getSearchFoundStartTime()) + && StringUtils.isNotBlank(log.getSearchFoundEndTime())) { + params.put("searchFoundStartTime", log.getSearchFoundStartTime()); + params.put("searchFoundEndTime", log.getSearchFoundEndTime()); + } else { + Calendar time = Calendar.getInstance(); + String searchEndTime = DateUtils.formatDateTime(time.getTime()); + time.add(Calendar.HOUR_OF_DAY, -1); + String searchStartTime = DateUtils.formatDateTime(time.getTime()); + + params.put("searchFoundStartTime", searchStartTime); + params.put("searchFoundEndTime", searchEndTime); + log.setSearchFoundStartTime(searchStartTime); + log.setSearchFoundEndTime(searchEndTime); + } + String url = Constants.LOG_BASE_URL + Constants.NTC_ASN_RECORD; + String recv = HttpClientUtil.getMsg(url, params, request); + List list = new ArrayList(); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, new TypeToken>() { + }.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list = data.getList(); + } + } + return list; + } catch (Exception e) { + logger.error("Ntc_Asn_Record print failed", e); + addMessage(redirectAttributes, "error", "print_failed"); + } + return null; + } + // httpsPrint + @ResponseBody + @RequestMapping(value = "httpsPrint") + public List httpsPrint(@ModelAttribute("log") NtcURLReport log, Model model, + HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { + try { + PageLog page = new PageLog(request, response); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + Map params = new HashMap(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + // 判断请求参数 + if (StringUtils.isNotBlank(log.getSearchReportStartTime()) + && StringUtils.isNotBlank(log.getSearchReportEndTime())) { + params.put("searchReportStartTime", log.getSearchReportStartTime()); + params.put("searchReportEndTime", log.getSearchReportEndTime()); + } else { + Calendar time = Calendar.getInstance(); + String searchEndTime = DateUtils.formatDateTime(time.getTime()); + time.add(Calendar.HOUR_OF_DAY, -1); + String searchStartTime = DateUtils.formatDateTime(time.getTime()); + + params.put("searchReportStartTime", searchStartTime); + params.put("searchReportEndTime", searchEndTime); + log.setSearchReportStartTime(searchStartTime); + log.setSearchReportEndTime(searchEndTime); + } + // url参数 + if (StringUtils.isNotBlank(log.getSearchUrl())) { + params.put("searchUrl", log.getSearchUrl()); + } + String url = Constants.LOG_BASE_URL + Constants.NTC_URL_REPORT; + String recv = HttpClientUtil.getMsg(url, params, request); + List list = new ArrayList(); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, new TypeToken>() { + }.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list = data.getList(); + } + } + return list; + } catch (Exception e) { + logger.error("Ntc_HTTPS_Report print failed", e); + addMessage(redirectAttributes, "error", "print_failed"); + } + return null; + } + + // ipRangePrint + @ResponseBody + @RequestMapping(value = "ipRangePrint") + public List ipRangePrint(@ModelAttribute("log") NtcIpRangeReport log, Model model, + HttpServletRequest request, HttpServletResponse response, String seType,RedirectAttributes redirectAttributes) { + try { + PageLog page = new PageLog(request, response); + page.setPageNo(1); + page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE); + Map params = new HashMap(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + log.setSearchAreaType(seType); + // 判断请求参数 + // 查询国家 + if (StringUtils.isNotBlank(log.getSearchCountry())) { + params.put("searchCountry", log.getSearchCountry()); + } + // 查询开始IP + if (StringUtils.isNotBlank(log.getSearchStartIp())) { + params.put("searchIp", log.getSearchIp()); + } + // + if (StringUtils.isNotBlank(log.getSearchAreaType())) { + params.put("searchType", log.getSearchAreaType()); + } + if (StringUtils.isNotBlank(log.getSearchAreaType())) { + params.put("searchDesc", log.getSearchDesc()); + } + + String url = Constants.LOG_BASE_URL + Constants.NTC_IP_RANGE_REPORT; + String recv = HttpClientUtil.getMsg(url, params, request); + List list = new ArrayList(); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, + new TypeToken>() { + }.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + list = data.getList(); + } + } + return list; + } catch (Exception e) { + logger.error("Ntc_Ip_Range_Report print failed", e); + addMessage(redirectAttributes, "error", "print_failed"); + } + return null; + } } diff --git a/src/main/java/com/nis/web/dao/SysMenuDao.java b/src/main/java/com/nis/web/dao/SysMenuDao.java index 76dff1bb4..87af932e3 100644 --- a/src/main/java/com/nis/web/dao/SysMenuDao.java +++ b/src/main/java/com/nis/web/dao/SysMenuDao.java @@ -25,5 +25,7 @@ public interface SysMenuDao extends CrudDao{ Integer getServiceId(@Param("functionId")Integer functionId, @Param("action")Integer action); List findAllCfgList(@Param("policiesMenuId")String policiesMenuId); + + String getMenuCodeByFunctionId(@Param("functionId")Integer functionId, @Param("parentId")String id); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/SysMenuDao.xml b/src/main/java/com/nis/web/dao/SysMenuDao.xml index 3d4114539..28ff2734f 100644 --- a/src/main/java/com/nis/web/dao/SysMenuDao.xml +++ b/src/main/java/com/nis/web/dao/SysMenuDao.xml @@ -218,4 +218,13 @@ WHERE s.function_id = #{functionId} AND s.action = #{action} AND s.is_valid = 1 + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.xml b/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.xml index a1519f23f..399c7a143 100644 --- a/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.xml @@ -138,7 +138,7 @@ + + + + + +
+ + + +
@@ -85,7 +106,7 @@
-
diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptForm.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptForm.jsp index d10904252..4a424d0e5 100644 --- a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptForm.jsp @@ -317,6 +317,7 @@ $(".replaceAction").addClass("hidden"); $(".whiteListAction").addClass("hidden"); $(".spoofingAction").addClass("hidden"); + $(".intensity").removeClass("hidden");//域名关联度 if(interceptRatelimitIp == 'intercept_ratelimit_ip'){ $("select[name='"+protocolNamePrefix+"protocol']").find("option").remove(); $("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh"); @@ -336,6 +337,7 @@ $(".replaceAction").addClass("hidden"); $(".whiteListAction").addClass("hidden"); $(".spoofingAction").addClass("hidden"); + $(".intensity").addClass("hidden");//域名关联度 if(interceptRatelimitIp == 'intercept_ratelimit_ip'){ $("select[name='"+protocolNamePrefix+"protocol']").find("option").remove(); $("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh"); @@ -356,6 +358,7 @@ $(".replaceAction").removeClass("hidden"); $(".whiteListAction").addClass("hidden"); $(".spoofingAction").addClass("hidden"); + $(".intensity").addClass("hidden");//域名关联度 if(interceptRatelimitIp == 'intercept_ratelimit_ip'){ $("select[name='"+protocolNamePrefix+"protocol']").find("option").remove(); $("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh"); @@ -373,6 +376,7 @@ $(".replaceAction").addClass("hidden"); $(".whiteListAction").removeClass("hidden"); $(".spoofingAction").addClass("hidden"); + $(".intensity").addClass("hidden");//域名关联度 if(interceptRatelimitIp == 'intercept_ratelimit_ip'){ $("select[name='"+protocolNamePrefix+"protocol']").find("option").remove(); $("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh"); @@ -392,6 +396,7 @@ $(".replaceAction").addClass("hidden"); $(".whiteListAction").addClass("hidden"); $(".spoofingAction").removeClass("hidden"); + $(".intensity").addClass("hidden");//域名关联度 if(interceptRatelimitIp == 'intercept_ratelimit_ip'){ $("select[name='"+protocolNamePrefix+"protocol']").find("option").remove(); $("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh"); @@ -410,10 +415,13 @@ - + - + + + + @@ -532,25 +540,6 @@ - - -
-
- -
- -
-
-
-
-
--%>
<%-- action 为128 白名单时 --%> - +
- +
-

" +

" class="tooltips" data-flag="false" data-html="true" data-placement="top">

-

0

+

0

@@ -424,7 +437,7 @@ function ajaxinfo(){ var monitorNum =data.monitorNum; var dropConnNum =data.dropConnNum; var newUniConnNum=data.newUniConnNum; - var liveConnNum=data.liveConnNum; + var closeConnNum=data.closeConnNum; if(loopConnNum==null||loopConnNum==""){ loopConnNum=0; @@ -441,17 +454,17 @@ function ajaxinfo(){ if(newUniConnNum==null||newUniConnNum==""){ newUniConnNum=0; } - if(liveConnNum==null||liveConnNum==""){ - liveConnNum=0; + if(closeConnNum==null||closeConnNum==""){ + closeConnNum=0; } dataScroll(".numberRun",Math.round(loopConnNum)); dataScroll(".numberRun1",Math.round(rejectNum)); dataScroll(".numberRun2",Math.round(monitorNum)); dataScroll(".numberRun3",Math.round(dropConnNum)); dataScroll(".numberRun5",Math.round(newUniConnNum)); - dataScroll(".numberRun6",Math.round(liveConnNum)); - dataScroll(".numberRun7",Math.round(newUniConnNum-rejectNum)); - dataScroll(".numberRun8",Math.round(newUniConnNum-rejectNum-dropConnNum)); + dataScroll(".numberRun6",Math.round(closeConnNum)); + dataScroll(".numberRun7",Math.round(newUniConnNum+closeConnNum-rejectNum)); + dataScroll(".numberRun8",Math.round(newUniConnNum-rejectNum)); //计算带宽进出口流量百分比 @@ -610,7 +623,7 @@ function portActiveList(){ $("#tbodyDataPort").html(""); var n=rs.length; if(rs!=null&&rs.length>0&&rs[0].error!=null){ - $("#tbodyDataPort").prepend(""); + $("#tbodyDataPort").prepend(""); }else{ if(n>0){ @@ -694,7 +707,7 @@ function systemList(){ rs.reverse(); var n=rs.length; if(rs!=null&&rs.length>0&&rs[0].error!=null){ - $("#tbodyData1").prepend(""); + $("#tbodyData1").prepend(""); }else{ if(n>0){ @@ -807,7 +820,7 @@ function browserList() { rs.reverse(); var n=rs.length; if(rs!=null&&rs.length>0&&rs[0].error!=null){ - $("#tbodyData1").prepend(""); + $("#tbodyData1").prepend(""); }else{ if(n>0){ $(rs).each(function(i, itemObj) { @@ -873,7 +886,7 @@ function websiteList() { $("#tbodyData2").html(""); var n=rs.length; if(rs!=null&&rs.length>0&&rs[0].error!=null){ - $("#tbodyData2").prepend(""); + $("#tbodyData2").prepend(""); }else{ if(n>0){ $(rs).each(function(i, itemObj) { diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp index c88eb4edc..0dcebbcfc 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp @@ -88,6 +88,9 @@
  • excel
  • csv    
  • +
    + +


  • @@ -115,6 +118,7 @@ + + + + - + <spring:message code="traffic_user_behavior"></spring:message>