implements Serializable {
return ReflectionToStringBuilder.toString(this);
}
+ @JsonIgnore
+ public String getSearchCfgId() {
+ return searchCfgId;
+ }
+
+ public void setSearchCfgId(String searchCfgId) {
+ this.searchCfgId = searchCfgId;
+ }
+
+ @JsonIgnore
+ public String getSearchTransProto() {
+ return searchTransProto;
+ }
+
+ public void setSearchTransProto(String searchTransProto) {
+ this.searchTransProto = searchTransProto;
+ }
+
+ @JsonIgnore
+ public String getSearchDIp() {
+ return searchDIp;
+ }
+
+ public void setSearchDIp(String searchDIp) {
+ this.searchDIp = searchDIp;
+ }
+
+ @JsonIgnore
+ public String getSearchSIp() {
+ return searchSIp;
+ }
+
+ public void setSearchSIp(String searchSIp) {
+ this.searchSIp = searchSIp;
+ }
+
+ @JsonIgnore
+ public String getSearchDirection() {
+ return searchDirection;
+ }
+
+ public void setSearchDirection(String searchDirection) {
+ this.searchDirection = searchDirection;
+ }
+
+ @JsonIgnore
+ public String getSearchService() {
+ return searchService;
+ }
+
+ public void setSearchService(String searchService) {
+ this.searchService = searchService;
+ }
+
+ @JsonIgnore
+ public String getSearchEntranceId() {
+ return searchEntranceId;
+ }
+
+ public void setSearchEntranceId(String searchEntranceId) {
+ this.searchEntranceId = searchEntranceId;
+ }
+
+ @JsonIgnore
+ public String getSearchCapIp() {
+ return searchCapIp;
+ }
+
+ public void setSearchCapIp(String searchCapIp) {
+ this.searchCapIp = searchCapIp;
+ }
+
+ @JsonIgnore
+ public String getSearchFoundStartTime() {
+ return searchFoundStartTime;
+ }
+
+ public void setSearchFoundStartTime(String searchFoundStartTime) {
+ this.searchFoundStartTime = searchFoundStartTime;
+ }
+
+ @JsonIgnore
+ public String getSearchFoundEndTime() {
+ return searchFoundEndTime;
+ }
+
+ public void setSearchFoundEndTime(String searchFoundEndTime) {
+ this.searchFoundEndTime = searchFoundEndTime;
+ }
+
}
diff --git a/src/main/java/com/nis/interceptor/DataSourceDInterceptor.java b/src/main/java/com/nis/interceptor/DataSourceAInterceptor.java
similarity index 51%
rename from src/main/java/com/nis/interceptor/DataSourceDInterceptor.java
rename to src/main/java/com/nis/interceptor/DataSourceAInterceptor.java
index 9b5315b..56adbca 100644
--- a/src/main/java/com/nis/interceptor/DataSourceDInterceptor.java
+++ b/src/main/java/com/nis/interceptor/DataSourceAInterceptor.java
@@ -9,18 +9,18 @@ import org.springframework.web.servlet.ModelAndView;
import com.nis.datasource.CustomerContextHolder;
-public class DataSourceDInterceptor implements HandlerInterceptor {
- Logger logger = Logger.getLogger(DataSourceDInterceptor.class);
+public class DataSourceAInterceptor implements HandlerInterceptor {
+ Logger logger = Logger.getLogger(DataSourceAInterceptor.class);
-
@Override
- public boolean preHandle(HttpServletRequest request,
- HttpServletResponse response, Object handler) throws Exception {
- logger.info("开启测试配置库---");
- CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_D);//开启数据源C
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
+ throws Exception {
+ logger.info("开启数据源日志操作库---" + System.currentTimeMillis());
+ CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_A);// 开启数据源A
+ logger.info("日志数据源开启成功---" + System.currentTimeMillis());
return true;
}
-
+
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
@@ -28,16 +28,11 @@ public class DataSourceDInterceptor implements HandlerInterceptor {
}
-
@Override
- public void afterCompletion(HttpServletRequest request,
- HttpServletResponse response, Object handler, Exception ex)
+ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
CustomerContextHolder.clearCustomerType();
- logger.info("释放测试配置库---");
+ logger.info("释放数据源日志操作库---");
}
-
-
-
}
diff --git a/src/main/java/com/nis/interceptor/DataSourceBInterceptor.java b/src/main/java/com/nis/interceptor/DataSourceBInterceptor.java
index 0bff691..e5ce979 100644
--- a/src/main/java/com/nis/interceptor/DataSourceBInterceptor.java
+++ b/src/main/java/com/nis/interceptor/DataSourceBInterceptor.java
@@ -16,7 +16,7 @@ public class DataSourceBInterceptor implements HandlerInterceptor {
HttpServletResponse response, Object handler) throws Exception {
logger.info("开启数据源配置操作库---");
CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_B);//开启数据源B
-
+ logger.info("mysql日志数据源开启成功---"+System.currentTimeMillis());
return true;
}
diff --git a/src/main/java/com/nis/interceptor/DataSourceCInterceptor.java b/src/main/java/com/nis/interceptor/DataSourceCInterceptor.java
deleted file mode 100644
index e27bb98..0000000
--- a/src/main/java/com/nis/interceptor/DataSourceCInterceptor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.nis.interceptor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.log4j.Logger;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.nis.datasource.CustomerContextHolder;
-import com.nis.restful.RestBusinessCode;
-import com.nis.restful.RestServiceException;
-import com.nis.util.Constants;
-
-public class DataSourceCInterceptor implements HandlerInterceptor {
- Logger logger = Logger.getLogger(DataSourceCInterceptor.class);
- String searchActiveSys="";
-
- @Override
- public boolean preHandle(HttpServletRequest request,
- HttpServletResponse response, Object handler) throws Exception {
-// searchActiveSys=request.getParameter("searchActiveSys");
-// if(searchActiveSys == null
-// || !(Constants.ACTIVESYS_A.equals(searchActiveSys)
-// || Constants.ACTIVESYS_C.equals(searchActiveSys))
-// ) searchActiveSys=Constants.ACTIVESYS_B;
-// if(Constants.ACTIVESYS_A.equals(searchActiveSys)){
-// logger.info("开启数据源日志A操作库---"+System.currentTimeMillis());
-// CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_F);//开启数据源F
-// }else if(Constants.ACTIVESYS_C.equals(searchActiveSys)){
-// logger.info("开启数据源日志C操作库---"+System.currentTimeMillis());
-// CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_G);//开启数据源F
-// }else{
- logger.info("开启数据源日志操作库---"+System.currentTimeMillis());
- CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_C);//开启数据源C
-// }
- logger.info("日志数据源开启成功---"+System.currentTimeMillis());
- return true;
- }
-
- @Override
- public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
- throws Exception {
- logger.info("postHandle---");
-
- }
-
-
- @Override
- public void afterCompletion(HttpServletRequest request,
- HttpServletResponse response, Object handler, Exception ex)
- throws Exception {
- CustomerContextHolder.clearCustomerType();
- logger.info("释放数据源日志操作库---");
- }
-
-
-
-
-}
diff --git a/src/main/java/com/nis/interceptor/DataSourceEInterceptor.java b/src/main/java/com/nis/interceptor/DataSourceEInterceptor.java
deleted file mode 100644
index f2db78d..0000000
--- a/src/main/java/com/nis/interceptor/DataSourceEInterceptor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.nis.interceptor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.log4j.Logger;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.nis.datasource.CustomerContextHolder;
-
-public class DataSourceEInterceptor implements HandlerInterceptor {
- Logger logger = Logger.getLogger(DataSourceEInterceptor.class);
-
- @Override
- public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
- throws Exception {
- CustomerContextHolder.clearCustomerType();
- logger.info("释放数据静控操作库---");
-
- }
-
- @Override
- public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
- throws Exception {
- logger.info("postHandle---");
-
- }
-
- @Override
- public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
- logger.info("开启数据源静控操作库---");
- CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_E);//开启数据源C
-
- return true;
- }
-
-}
diff --git a/src/main/java/com/nis/persistence/interceptor/SQLHelper.java b/src/main/java/com/nis/persistence/interceptor/SQLHelper.java
index e4a772b..00ab46d 100644
--- a/src/main/java/com/nis/persistence/interceptor/SQLHelper.java
+++ b/src/main/java/com/nis/persistence/interceptor/SQLHelper.java
@@ -125,17 +125,9 @@ public class SQLHelper {
} else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_A)) {
return "mysql";
} else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_B)) {
- return "oracle";
+ return "mysql";
} else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_C)) {
return "mysql";
- } else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_D)) {
- return "oracle";
- } else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_F)) {
- return "oracle";
- } else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_G)) {
- return "oracle";
- } else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_H)) {//神通数据库
- return "cluster";
}else {
return "mysql";
}
diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java
index d7cfa7d..84ff63c 100644
--- a/src/main/java/com/nis/util/Constants.java
+++ b/src/main/java/com/nis/util/Constants.java
@@ -181,13 +181,9 @@ public final class Constants {
public static final String SEARCH_ES_HOSTANDPORT_C = Configurations.getStringProperty("search.eshostandport_C",
null);
/**
- * 数据中心A版数据库名称,程序中每次查询时使用的数据库名称 use HIVEADBNAME
+ * 数据中心数据库名称,程序中每次查询时使用的数据库名称 use HIVEDBNAME
*/
- public static final String HIVEADBNAME = Configurations.getStringProperty("jdbc.hive.AName", "xa_dfbhit_hive");
- /**
- * 数据中心B版数据库名称,程序中每次查询时使用的数据库名称 use HIVEBDBNAME
- */
- public static final String HIVEBDBNAME = Configurations.getStringProperty("jdbc.hive.BName", "xa_z2_mesalog_hive");
+ public static final String HIVEDBNAME = Configurations.getStringProperty("jdbc.hive.Name", "xa_dfbhit_hive");
public static final String DIGEST_GEN_TOOL_PATH = Configurations.getStringProperty("digest.gen.tool.path", "maat-redis/digest_gen");
diff --git a/src/main/java/com/nis/util/HiveDataSource.java b/src/main/java/com/nis/util/HiveDataSource.java
index de551fb..7ed6708 100644
--- a/src/main/java/com/nis/util/HiveDataSource.java
+++ b/src/main/java/com/nis/util/HiveDataSource.java
@@ -3,55 +3,56 @@ package com.nis.util;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
-import org.apache.log4j.Logger;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.jolbox.bonecp.BoneCPDataSource;
+import com.nis.web.service.SpringContextHolder;
public class HiveDataSource {
- private final static Logger logger = Logger.getLogger(HiveDataSource.class);
+ private final static Logger logger = LoggerFactory.getLogger(HiveDataSource.class);
+ static BoneCPDataSource datasource = null;
static Connection conn = null;
- static ResultSet rsA = null;
- static Statement stA = null;
+ static ResultSet rs = null;
+ static Statement st = null;
- static ResultSet rsB = null;
- static Statement stB = null;
-
- public static ResultSet query(String sql, String searchActiveSys) throws Exception {
- if (null != searchActiveSys && searchActiveSys.equals("4")) {// A版数据库
- logger.info("开始连接数据中心A版日志库--------------------------");
- if (conn == null || conn.isClosed()) {
- ApplicationContext ct = new ClassPathXmlApplicationContext("applicationContext-mybatis.xml");
- BoneCPDataSource datasource = (BoneCPDataSource) ct.getBean("HiveADataSource");
- conn = datasource.getConnection();
- }
- logger.info("连接数据中心A版日志库成功--------------------------");
- stA = conn.createStatement();
- String hiveAName = "use " + Constants.HIVEADBNAME;
- // stA.execute("use xa_dfbhit_p_hive");
- stA.execute(hiveAName);
- logger.info("开始执行查询数据中心A版日志库操作--------------------------" + sql);
- rsA = stA.executeQuery(sql);
- logger.info("执行查询数据中心A版日志库成功--------------------------");
- return rsA;
- } else {// 目前默认B版数据库,后期增加C版数据库
- logger.info("开始连接数据中心B版日志库--------------------------");
- if (conn == null || conn.isClosed()) {
- ApplicationContext ct = new ClassPathXmlApplicationContext("applicationContext-mybatis.xml");
- BoneCPDataSource datasource = (BoneCPDataSource) ct.getBean("HiveBDataSource");
- conn = datasource.getConnection();
- }
- logger.info("连接数据中心B版日志库成功--------------------------");
- stB = conn.createStatement();
- String hiveBName = "use " + Constants.HIVEBDBNAME;
- // stB.execute("use xa_z2_mesalog_hive");
- stB.execute(hiveBName);
- logger.info("开始执行查询数据中心B版日志库操作--------------------------" + sql);
- rsB = stB.executeQuery(sql);
- logger.info("执行查询数据中心B版日志库成功--------------------------");
- return rsB;
+ public static ResultSet query(String sql) throws Exception {
+ if (datasource == null) {
+ datasource = (BoneCPDataSource) SpringContextHolder.getBean("HiveDataSource");
}
+ conn = datasource.getConnection();
+ logger.info("连接数据中心日志库成功--------------------------");
+ st = conn.createStatement();
+ // logger.info("开始选择{}数据库--------------------------", Constants.HIVEDBNAME);
+ // String hiveAName = "use " + Constants.HIVEDBNAME;
+ // st.execute(hiveAName);
+ // logger.info("选择数据库{}成功,开始执行查询", Constants.HIVEDBNAME);
+ // logger.info("选择数据库{}成功,开始执行查询", Constants.HIVEDBNAME);
+ rs = st.executeQuery(sql);
+ logger.info("执行查询语句成功sql={}",sql);
+ return rs;
}
+ public static void closeConn() {
+ try {
+ if (rs != null) {
+ rs.close();
+ rs = null;
+ }
+ if (st != null) {
+ st.close();
+ st = null;
+ }
+ if (conn != null) {
+ conn.close();
+ conn = null;
+ }
+ logger.info("关闭数据中心连接成功");
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.error("关闭数据中心连接失败,失败原因" + e);
+ }
+ }
}
diff --git a/src/main/java/com/nis/util/HiveJDBC.java b/src/main/java/com/nis/util/HiveJDBC.java
index 04f9174..8faddbd 100644
--- a/src/main/java/com/nis/util/HiveJDBC.java
+++ b/src/main/java/com/nis/util/HiveJDBC.java
@@ -169,7 +169,7 @@ public class HiveJDBC {
listObject.add(map2Obj(map, entityClass));
}
logger.info("开始关闭数据中心连接");
- HiveJDBC.closeConn();
+ HiveDataSource.closeConn();
if (null == listString || listString.size() == 0 || null == listObject || listObject.size() == 0) {
return null;
} else {
diff --git a/src/main/java/com/nis/web/controller/restful/LogController.java b/src/main/java/com/nis/web/controller/restful/LogController.java
index 388969c..1566187 100644
--- a/src/main/java/com/nis/web/controller/restful/LogController.java
+++ b/src/main/java/com/nis/web/controller/restful/LogController.java
@@ -1,5 +1,10 @@
package com.nis.web.controller.restful;
+import java.sql.ResultSet;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@@ -11,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
+import com.nis.domain.LogEntity;
import com.nis.domain.Page;
import com.nis.domain.restful.NtcDnsLog;
import com.nis.domain.restful.NtcFtpLog;
@@ -24,8 +30,15 @@ import com.nis.domain.restful.NtcPptpLog;
import com.nis.domain.restful.NtcPzReport;
import com.nis.domain.restful.NtcSshLog;
import com.nis.domain.restful.NtcSslLog;
+import com.nis.restful.RestServiceException;
+import com.nis.util.Configurations;
import com.nis.util.Constants;
+import com.nis.util.DateUtils;
+import com.nis.util.HiveJDBC;
+import com.nis.util.JsonMapper;
import com.nis.web.controller.BaseRestController;
+import com.nis.web.service.BaseLogService;
+import com.nis.web.service.HiveSqlService;
import com.nis.web.service.SaveRequestLogThread;
import com.nis.web.service.ServicesRequestLogService;
import com.nis.web.service.restful.LogTestService;
@@ -33,252 +46,333 @@ import com.wordnik.swagger.annotations.Api;
import com.wordnik.swagger.annotations.ApiOperation;
/**
- * Created by darnell on 2018/6/10.
+ *
+ * Title: LogController
+ * Description: 日志查询controller
+ * Company: IIE
+ * @author rkg
+ * @date 2018年7月2日
+ *
*/
@RestController
@RequestMapping("${servicePath}/log/v1")
@Api(value = "LogController", description = "配置命中日志基本服务接口")
-public class LogController extends BaseRestController{
- @Autowired
- public LogTestService testService;
-
- @Autowired
- protected ServicesRequestLogService servicesRequestLogService;
-
- @RequestMapping(value = "/ntcIpLogs", method = RequestMethod.GET)
- @ApiOperation(value = "IP地址日志查询", httpMethod = "GET", notes = "对应配置为IP地址管理,存储动作为阻断与监测的命中日志。对日志功能IP地址提供数据基础查询服务")
- public Map ntcIpLogs(Page page, NtcIpLog ntcIpLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcIpLogPage = new Page<>();
- try {
- ntcIpLogPage = testService.findNtcIpLogPage(
- new Page(request, response, NtcIpLog.class), ntcIpLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "IP地址日志检索成功", ntcIpLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcHttpLogs", method = RequestMethod.GET)
- @ApiOperation(value = "HTTP日志查询", httpMethod = "GET", notes = "对应配置为“网站管理-HTTP”,存储动作为阻断与监测的命中日志。对日志功能“网站管理-HTTP”提供数据基础查询服务")
- public Map ntcHttpLogs(Page page, NtcHttpLog ntcHttpLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcHttpLogPage = new Page<>();
- try {
- ntcHttpLogPage = testService.findNtcHttpLogPage(
- new Page(request, response, NtcHttpLog.class), ntcHttpLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "Http日志检索成功", ntcHttpLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcDnsLogs", method = RequestMethod.GET)
- @ApiOperation(value = "DNS日志查询", httpMethod = "GET", notes = "对应配置为“网站管理-DNS”,存储动作为阻断与监测的命中日志。对日志功能“网站管理-DNS”提供数据基础查询服务。")
- public Map ntcDnsLogs(Page page, NtcDnsLog ntcDnsLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcDnsLogPage = new Page<>();
- try {
- ntcDnsLogPage = testService.findNtcDnsLogPage(
- new Page(request, response, NtcDnsLog.class), ntcDnsLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "Dns日志检索成功", ntcDnsLogPage, 0);
- }
-
- @RequestMapping(value = "/ntcMailLogs", method = RequestMethod.GET)
- @ApiOperation(value = "EMAIL日志查询", httpMethod = "GET", notes = "对应配置为“邮件管理”,存储动作为阻断与监测的命中日志。对日志功能“邮件管理”提供数据基础查询服务。")
- public Map ntcMailLogs(Page page, NtcMailLog ntcMailLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcMailLogPage = new Page<>();
- try {
- ntcMailLogPage = testService.findNtcMailLogPage(
- new Page(request, response, NtcMailLog.class), ntcMailLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "Mail日志检索成功", ntcMailLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcSslLogs", method = RequestMethod.GET)
- @ApiOperation(value = "SSL日志查询", httpMethod = "GET", notes = "对应配置为“网站管理-SSL”,存储动作为阻断与监测的命中日志。对日志功能“网站管理-SSL”提供数据基础查询服务。")
- public Map ntcSslLogs(Page page, NtcSslLog ntcSslLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcSslLogPage = new Page<>();
- try {
- ntcSslLogPage = testService.findNtcSslLogPage(
- new Page(request, response, NtcSslLog.class), ntcSslLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "SSL日志检索成功", ntcSslLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcPptpLogs", method = RequestMethod.GET)
- @ApiOperation(value = "PPTP日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-PPTP”,存储动作为阻断与监测的命中日志。对日志功能“隧道管理-PPTP”提供数据基础查询服务。")
- public Map ntcPptpLogs(Page page, NtcPptpLog ntcPptpLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcPptpLogPage = new Page<>();
- try {
- ntcPptpLogPage = testService.findNtcPptpLogPage(
- new Page(request, response, NtcPptpLog.class), ntcPptpLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "PPTP日志检索成功", ntcPptpLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcL2tpLogs", method = RequestMethod.GET)
- @ApiOperation(value = "L2TP日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-L2TP”,存储动作为阻断与监测的命中日志。对日志功能“隧道管理- L2TP”提供数据基础查询服务。")
- public Map ntcL2tpLogs(Page page, NtcL2tpLog ntcL2tpLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcL2tpLogPage = new Page<>();
- try {
- ntcL2tpLogPage = testService.findNtcL2tpLogPage(
- new Page(request, response, NtcL2tpLog.class), ntcL2tpLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "L2TP日志检索成功", ntcL2tpLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcOpenvpnLogs", method = RequestMethod.GET)
- @ApiOperation(value = "OPENVPN日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-OPENVPN”,存储动作为阻断与监测的命中日志。对日志功能“隧道管理- OPENVPN”提供数据基础查询服务。")
- public Map ntcOpenvpnLogs(Page page, NtcOpenvpnLog ntcOpenvpnLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcOpenvpnLogPage = new Page<>();
- try {
- ntcOpenvpnLogPage = testService.findNtcOpenvpnLogPage(
- new Page(request, response, NtcOpenvpnLog.class), ntcOpenvpnLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "Openvpn日志检索成功", ntcOpenvpnLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcIpsecLogs", method = RequestMethod.GET)
- @ApiOperation(value = "IPSEC日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-IPSEC”,存储动作为监测的命中日志。对日志功能“隧道管理- IPSEC”提供数据基础查询服务。")
- public Map ntcIpsecLogs(Page page, NtcIpsecLog ntcIpsecLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcIpsecLogPage = new Page<>();
- try {
- ntcIpsecLogPage = testService.findNtcIpsecLogPage(
- new Page(request, response, NtcIpsecLog.class), ntcIpsecLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "IPSEC日志检索成功", ntcIpsecLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcSshLogs", method = RequestMethod.GET)
- @ApiOperation(value = "SSH日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-SSH”,存储动作为阻断与监测的命中日志。对日志功能“隧道管理- SSH”提供数据基础查询服务。")
- public Map ntcSshLogs(Page page, NtcSshLog ntcSshLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcSshLogPage = new Page<>();
- try {
- ntcSshLogPage = testService.findNtcSshLogPage(
- new Page(request, response, NtcSshLog.class), ntcSshLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "SSH日志检索成功", ntcSshLogPage, 0);
- }
-
-
- @RequestMapping(value = "/ntcFtpLogs", method = RequestMethod.GET)
- @ApiOperation(value = "FTP日志查询", httpMethod = "GET", notes = "对应配置为“文件传输-FTP”,存储动作为阻断与监测的命中日志。对日志功能“文件传输-FTP”提供数据基础查询服务。")
- public Map ntcFtpLogs(Page page, NtcFtpLog ntcFtpLog, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page ntcFtpLogPage = new Page<>();
- try {
- ntcFtpLogPage = testService.findNtcFtpLogPage(
- new Page(request, response, NtcSshLog.class), ntcFtpLog);
-
- } catch(Exception e) {
- e.printStackTrace();
- }
-
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "FTP日志检索成功", ntcFtpLogPage, 0);
- }
-
- @RequestMapping(value = "/ntcPzReport", method = RequestMethod.GET)
- @ApiOperation(value = "配置日志总量统计", httpMethod = "GET", notes = "配置命中日志数量实时统计报表,对外提供多种数据表现形式,具体可应用于界面配置命中总量业务、配置报表业务等")
- public Map ntcPzReport(Page page, NtcPzReport ntcPzReport, Model model, HttpServletRequest request, HttpServletResponse response) {
- long start = System.currentTimeMillis();
- SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
-
- Page> ntcPzReportPage = new Page<>();
- try {
- ntcPzReportPage = testService.findNtcPzReport(new Page(request, response,NtcPzReport.class), ntcPzReport);
- } catch(Exception e) {
- e.printStackTrace();
- }
-
- return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "配置总量统计成功", ntcPzReportPage, 0);
- }
-
+public class LogController extends BaseRestController {
+ @Autowired
+ public LogTestService testService;
+ @Autowired
+ protected ServicesRequestLogService servicesRequestLogService;
+
+ @RequestMapping(value = "/ntcIpLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "IP地址日志查询", httpMethod = "GET", notes = "对应配置为IP地址管理,存储动作为阻断与监测的命中日志。对日志功能IP地址提供数据基础查询服务")
+ public Map ntcIpLogs(Page page, NtcIpLog ntcIpLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+ Page ntcIpLogPage = null;
+ try {
+ testService.queryConditionCheck(auditLogThread, start, ntcIpLog, NtcIpLog.class, page);
+ ntcIpLogPage = new Page();
+ String orderBy = "";
+ if (null != page.getOrderBy() && !page.getOrderBy().equals("")) {
+ orderBy = page.getOrderBySql(NtcIpLog.class.getSimpleName(), page.getOrderBy());
+ } else {
+ orderBy = "found_Time";
+ }
+ ResultSet rs = HiveSqlService.getResultSet(page, ntcIpLog,
+ Configurations.getStringProperty(NtcIpLog.class.getSimpleName() + "HiveTable", "ntc_ip_log"),
+ getCol2Col(), orderBy, null);
+ Map tableMapping = HiveJDBC.tableMapping(page, null, rs, NtcIpLog.class, "foundTime",
+ "recvTime");
+ if (tableMapping == null) {
+ ntcIpLogPage.setList(new ArrayList());
+ } else {
+ List list = new ArrayList();
+ if (tableMapping.get("obj").size() > page.getPageSize()) {
+ list = tableMapping.get("obj").subList(0, page.getPageSize());
+ } else {
+ list = tableMapping.get("obj").subList(0, tableMapping.get("obj").size());
+ }
+ if (list.size() > 0) {
+ String jsonString = JsonMapper.toJsonString(list);
+ List List = (java.util.List) JsonMapper.fromJsonList(jsonString,
+ NtcIpLog.class);
+ ntcIpLogPage.setList(List);
+
+ } else {
+ ntcIpLogPage.setList(new ArrayList());
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ auditLogThread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ logger.error(e);
+ if (!(e instanceof RestServiceException)) {
+ e = new RestServiceException(auditLogThread, System.currentTimeMillis() - start, "HTTP协议请求日志检索失败");
+ }
+ throw ((RestServiceException) e);
+ }
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "IP地址日志检索成功",
+ ntcIpLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcHttpLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "HTTP日志查询", httpMethod = "GET", notes = "对应配置为“网站管理-HTTP”,存储动作为阻断与监测的命中日志。对日志功能“网站管理-HTTP”提供数据基础查询服务")
+ public Map ntcHttpLogs(Page page, NtcHttpLog ntcHttpLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcHttpLogPage = new Page<>();
+ try {
+ ntcHttpLogPage = testService.findNtcHttpLogPage(new Page(request, response, NtcHttpLog.class),
+ ntcHttpLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "Http日志检索成功",
+ ntcHttpLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcDnsLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "DNS日志查询", httpMethod = "GET", notes = "对应配置为“网站管理-DNS”,存储动作为阻断与监测的命中日志。对日志功能“网站管理-DNS”提供数据基础查询服务。")
+ public Map ntcDnsLogs(Page page, NtcDnsLog ntcDnsLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcDnsLogPage = new Page<>();
+ try {
+ ntcDnsLogPage = testService.findNtcDnsLogPage(new Page(request, response, NtcDnsLog.class),
+ ntcDnsLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "Dns日志检索成功",
+ ntcDnsLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcMailLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "EMAIL日志查询", httpMethod = "GET", notes = "对应配置为“邮件管理”,存储动作为阻断与监测的命中日志。对日志功能“邮件管理”提供数据基础查询服务。")
+ public Map ntcMailLogs(Page page, NtcMailLog ntcMailLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcMailLogPage = new Page<>();
+ try {
+ ntcMailLogPage = testService.findNtcMailLogPage(new Page(request, response, NtcMailLog.class),
+ ntcMailLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "Mail日志检索成功",
+ ntcMailLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcSslLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "SSL日志查询", httpMethod = "GET", notes = "对应配置为“网站管理-SSL”,存储动作为阻断与监测的命中日志。对日志功能“网站管理-SSL”提供数据基础查询服务。")
+ public Map ntcSslLogs(Page page, NtcSslLog ntcSslLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcSslLogPage = new Page<>();
+ try {
+ ntcSslLogPage = testService.findNtcSslLogPage(new Page(request, response, NtcSslLog.class),
+ ntcSslLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "SSL日志检索成功",
+ ntcSslLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcPptpLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "PPTP日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-PPTP”,存储动作为阻断与监测的命中日志。对日志功能“隧道管理-PPTP”提供数据基础查询服务。")
+ public Map ntcPptpLogs(Page page, NtcPptpLog ntcPptpLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcPptpLogPage = new Page<>();
+ try {
+ ntcPptpLogPage = testService.findNtcPptpLogPage(new Page(request, response, NtcPptpLog.class),
+ ntcPptpLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "PPTP日志检索成功",
+ ntcPptpLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcL2tpLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "L2TP日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-L2TP”,存储动作为阻断与监测的命中日志。对日志功能“隧道管理- L2TP”提供数据基础查询服务。")
+ public Map ntcL2tpLogs(Page page, NtcL2tpLog ntcL2tpLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcL2tpLogPage = new Page<>();
+ try {
+ ntcL2tpLogPage = testService.findNtcL2tpLogPage(new Page(request, response, NtcL2tpLog.class),
+ ntcL2tpLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "L2TP日志检索成功",
+ ntcL2tpLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcOpenvpnLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "OPENVPN日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-OPENVPN”,存储动作为阻断与监测的命中日志。对日志功能“隧道管理- OPENVPN”提供数据基础查询服务。")
+ public Map ntcOpenvpnLogs(Page page, NtcOpenvpnLog ntcOpenvpnLog, Model model,
+ HttpServletRequest request, HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcOpenvpnLogPage = new Page<>();
+ try {
+ ntcOpenvpnLogPage = testService.findNtcOpenvpnLogPage(
+ new Page(request, response, NtcOpenvpnLog.class), ntcOpenvpnLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "Openvpn日志检索成功",
+ ntcOpenvpnLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcIpsecLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "IPSEC日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-IPSEC”,存储动作为监测的命中日志。对日志功能“隧道管理- IPSEC”提供数据基础查询服务。")
+ public Map ntcIpsecLogs(Page page, NtcIpsecLog ntcIpsecLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcIpsecLogPage = new Page<>();
+ try {
+ ntcIpsecLogPage = testService
+ .findNtcIpsecLogPage(new Page(request, response, NtcIpsecLog.class), ntcIpsecLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "IPSEC日志检索成功",
+ ntcIpsecLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcSshLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "SSH日志查询", httpMethod = "GET", notes = "对应配置为“隧道管理-SSH”,存储动作为阻断与监测的命中日志。对日志功能“隧道管理- SSH”提供数据基础查询服务。")
+ public Map ntcSshLogs(Page page, NtcSshLog ntcSshLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcSshLogPage = new Page<>();
+ try {
+ ntcSshLogPage = testService.findNtcSshLogPage(new Page(request, response, NtcSshLog.class),
+ ntcSshLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "SSH日志检索成功",
+ ntcSshLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcFtpLogs", method = RequestMethod.GET)
+ @ApiOperation(value = "FTP日志查询", httpMethod = "GET", notes = "对应配置为“文件传输-FTP”,存储动作为阻断与监测的命中日志。对日志功能“文件传输-FTP”提供数据基础查询服务。")
+ public Map ntcFtpLogs(Page page, NtcFtpLog ntcFtpLog, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page ntcFtpLogPage = new Page<>();
+ try {
+ ntcFtpLogPage = testService.findNtcFtpLogPage(new Page(request, response, NtcSshLog.class),
+ ntcFtpLog);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "FTP日志检索成功",
+ ntcFtpLogPage, 0);
+ }
+
+ @RequestMapping(value = "/ntcPzReport", method = RequestMethod.GET)
+ @ApiOperation(value = "配置日志总量统计", httpMethod = "GET", notes = "配置命中日志数量实时统计报表,对外提供多种数据表现形式,具体可应用于界面配置命中总量业务、配置报表业务等")
+ public Map ntcPzReport(Page page, NtcPzReport ntcPzReport, Model model, HttpServletRequest request,
+ HttpServletResponse response) {
+ long start = System.currentTimeMillis();
+ SaveRequestLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
+ request, null);
+
+ Page> ntcPzReportPage = new Page<>();
+ try {
+ ntcPzReportPage = testService.findNtcPzReport(new Page(request, response, NtcPzReport.class),
+ ntcPzReport);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "配置总量统计成功",
+ ntcPzReportPage, 0);
+ }
+
+ /**
+ *判断开始和结束时间是否为null,如果为null则初始化时间
+ * @param entity
+ * @throws Exception
+ */
+ public void resetTime(LogEntity> entity) throws Exception {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Map map = DateUtils.getLocalTime(entity.getSearchFoundStartTime(),
+ entity.getSearchFoundEndTime(), Constants.LOG_LOCAL_TIME, "log");
+ entity.setSearchFoundStartTime(map.get("startTime"));
+ entity.setSearchFoundEndTime(map.get("endTime"));
+ }
+
+ /**
+ * 将searchFoundStartTime,searchFoundEndTime与foundTime进行关联
+ * @return
+ */
+ public Map> getCol2Col() {
+ Map> col2col = new HashMap>();
+ Map startMap = new HashMap();
+ startMap.put("start", "foundTime");
+ col2col.put("searchFoundStartTime", startMap);
+ Map endMap = new HashMap();
+ endMap.put("end", "foundTime");
+ col2col.put("searchFoundEndTime", endMap);
+ return col2col;
+ }
}
diff --git a/src/main/java/com/nis/web/dao/DfLogSearchDao.java b/src/main/java/com/nis/web/dao/DfLogSearchDao.java
new file mode 100644
index 0000000..60e5e9b
--- /dev/null
+++ b/src/main/java/com/nis/web/dao/DfLogSearchDao.java
@@ -0,0 +1,24 @@
+package com.nis.web.dao;
+
+import java.util.List;
+
+import com.nis.domain.LogEntity;
+import com.nis.domain.restful.NtcIpLog;
+
+/**
+ *
+ * Title: DfLogSearchDao
+ * Description: 日志查询dao
+ * Company: IIE
+ * @author rkg
+ * @date 2018年7月2日
+ *
+ */
+@MyBatisDao
+public interface DfLogSearchDao extends CrudDao {
+
+// List findNtcIpLog(NtcIpLog log);
+
+
+
+}
diff --git a/src/main/java/com/nis/web/dao/DfLogSearchDao.xml b/src/main/java/com/nis/web/dao/DfLogSearchDao.xml
new file mode 100644
index 0000000..0ed5cfc
--- /dev/null
+++ b/src/main/java/com/nis/web/dao/DfLogSearchDao.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ cfg_id ,
+ found_time ,
+ recv_time ,
+ trans_proto ,
+ addr_type ,
+ d_ip ,
+ s_ip ,
+ d_port ,
+ s_port ,
+ service ,
+ entrance_id ,
+ device_id ,
+ direction ,
+ stream_dir ,
+ cap_ip ,
+ addr_list ,
+ user_region
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/nis/web/service/BaseLogService.java b/src/main/java/com/nis/web/service/BaseLogService.java
index 2cf280d..2d871eb 100644
--- a/src/main/java/com/nis/web/service/BaseLogService.java
+++ b/src/main/java/com/nis/web/service/BaseLogService.java
@@ -40,6 +40,7 @@ public abstract class BaseLogService {
protected final Logger logger = Logger.getLogger(this.getClass());
@Autowired
protected ElasticsearchSqlDao elasticsearchSqlDao;
+
/**
* wx checkCloumnIsExist(这里用一句话描述这个方法的作用) (这里描述这个方法适用条件 – 可选)
*
@@ -126,34 +127,58 @@ public abstract class BaseLogService {
}
}
- public void queryConditionCheck(SaveRequestLogThread thread,long start,LogEntity> entity,Class clazz,Page page) {
- logger.info("请求参数校验开始----"+System.currentTimeMillis());
+ /**
+ * 验证日志查询条件格式是否正确
+ * @param thread
+ * @param start
+ * @param entity
+ * @param clazz
+ * @param page
+ */
+ public void queryConditionCheck(SaveRequestLogThread thread, long start, LogEntity> entity, Class clazz,
+ Page page) {
+ logger.info("请求参数校验开始----" + System.currentTimeMillis());
try {
if (!StringUtil.isBlank(entity.getSearchCfgId())) {
Long.parseLong(entity.getSearchCfgId());
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchCfgId参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchCfgId参数错误");
}
+ try {
+ if (!StringUtil.isBlank(entity.getSearchDirection())) {
+ Integer.parseInt(entity.getSearchDirection());
+ }
+ } catch (NumberFormatException e) {
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ logger.error(e);
+ throw new RestServiceException(thread, System.currentTimeMillis() - start, "getSearchDirection参数格式错误",
+ RestBusinessCode.param_formate_error.getValue());
+ } catch (Exception e) {
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ logger.error(e);
+ throw new RestServiceException(thread, System.currentTimeMillis() - start, "getSearchDirection参数错误");
+ }
+
try {
if (!StringUtil.isBlank(entity.getSearchEntranceId())) {
Long.parseLong(entity.getSearchEntranceId());
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchEntranceId参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchEntranceId参数错误");
}
@@ -163,12 +188,12 @@ public abstract class BaseLogService {
sdf.parse(entity.getSearchFoundEndTime());
}
} catch (ParseException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchFoundEndTime参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchFoundEndTime参数格式格式");
}
@@ -178,41 +203,41 @@ public abstract class BaseLogService {
sdf.parse(entity.getSearchFoundStartTime());
}
} catch (ParseException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchFoundStartTime参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchFoundStartTime参数错误");
}
try {
- if (!StringUtil.isBlank(entity.getSearchServiceType())) {
- Integer.parseInt(entity.getSearchServiceType());
+ if (!StringUtil.isBlank(entity.getSearchService())) {
+ Integer.parseInt(entity.getSearchService());
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchServiceType参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchServiceType参数错误");
}
try {
- checkCloumnIsExist(thread,start,clazz, page);
+ checkCloumnIsExist(thread, start, clazz, page);
} catch (RestServiceException e) {
logger.error(e);
throw e;
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "请求参数错误");
}
- logger.info("请求参数校验结束----"+System.currentTimeMillis());
+ logger.info("请求参数校验结束----" + System.currentTimeMillis());
}
@@ -232,12 +257,12 @@ public abstract class BaseLogService {
sdf.parse(entity.getSearchStatStartTime());
}
} catch (ParseException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchStatStartTime参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchStatStartTime参数格式错误");
}
@@ -247,12 +272,12 @@ public abstract class BaseLogService {
sdf.parse(entity.getSearchStatEndTime());
}
} catch (ParseException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchStatEndTime参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchStatEndTime参数错误");
}
@@ -261,30 +286,29 @@ public abstract class BaseLogService {
Integer.parseInt(entity.getSearchService());
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchService参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchService参数错误");
}
try {
- checkCloumnIsExist(thread,start,clazz, page);
+ checkCloumnIsExist(thread, start, clazz, page);
} catch (RestServiceException e) {
logger.error(e);
throw e;
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "请求参数错误");
}
}
-
/**
* 管控实时统计公共查询字段验证
*
@@ -297,11 +321,11 @@ public abstract class BaseLogService {
sdf.parse(entity.getSearchReportEndTime());
}
} catch (ParseException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchReportEndTime参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchReportEndTime参数格式格式");
}
try {
@@ -309,11 +333,11 @@ public abstract class BaseLogService {
sdf.parse(entity.getSearchReportStartTime());
}
} catch (ParseException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchReportStartTime参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchReportStartTime参数错误");
}
@@ -322,11 +346,11 @@ public abstract class BaseLogService {
Integer.parseInt(entity.getSearchService());
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchService参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
throw new RestServiceException(thread, System.currentTimeMillis() - start, "searchService参数错误");
}
@@ -336,12 +360,12 @@ public abstract class BaseLogService {
Integer.parseInt(searchAttrType);
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchAttrType参数格式错误",
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchAttrType参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchAttrType参数错误");
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchAttrType参数错误");
}
try {
String searchLwhh = getSearchField(clazz, entity, "searchLwhh");
@@ -349,21 +373,21 @@ public abstract class BaseLogService {
Integer.parseInt(searchLwhh);
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchLwhh参数格式错误",
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchLwhh参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchLwhh参数错误");
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchLwhh参数错误");
}
-
+
try {
- checkCloumnIsExist(thread,start,clazz, page);
+ checkCloumnIsExist(thread, start, clazz, page);
} catch (RestServiceException e) {
logger.error(e);
throw e;
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
throw new RestServiceException(thread, System.currentTimeMillis() - start, "请求参数错误");
}
@@ -375,31 +399,32 @@ public abstract class BaseLogService {
*
* @param entity
*/
- public void queryConditionCheck(SaveRequestLogThread thread, long start,DfReportEntity entity, Class clazz, Page page) {
+ public void queryConditionCheck(SaveRequestLogThread thread, long start, DfReportEntity entity, Class clazz,
+ Page page) {
try {
if (!StringUtil.isBlank(entity.getSearchReportEndTime())) {
sdf.parse(entity.getSearchReportEndTime());
}
} catch (ParseException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchReportEndTime参数格式错误",
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchReportEndTime参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchReportEndTime参数格式格式");
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchReportEndTime参数格式格式");
}
-
+
try {
if (!StringUtil.isBlank(entity.getSearchReportStartTime())) {
sdf.parse(entity.getSearchReportStartTime());
}
} catch (ParseException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchReportStartTime参数格式错误",
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchReportStartTime参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchReportStartTime参数错误");
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchReportStartTime参数错误");
}
try {
@@ -408,12 +433,12 @@ public abstract class BaseLogService {
Integer.parseInt(searchAttrType);
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchAttrType参数格式错误",
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchAttrType参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchAttrType参数错误");
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchAttrType参数错误");
}
try {
String searchLwhh = getSearchField(clazz, entity, "searchLwhh");
@@ -421,12 +446,12 @@ public abstract class BaseLogService {
Integer.parseInt(searchLwhh);
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchLwhh参数格式错误",
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchLwhh参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchLwhh参数错误");
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchLwhh参数错误");
}
try {
String searchId = getSearchField(clazz, entity, "searchId");
@@ -434,42 +459,41 @@ public abstract class BaseLogService {
Integer.parseInt(searchId);
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchId参数格式错误",
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchId参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchId参数错误");
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchId参数错误");
}
-
+
try {
String searchService = getSearchField(clazz, entity, "searchService");
if (!StringUtil.isBlank(searchService)) {
Integer.parseInt(searchService);
}
} catch (NumberFormatException e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchService参数格式错误",
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchService参数格式错误",
RestBusinessCode.param_formate_error.getValue());
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
- throw new RestServiceException(thread,start,"searchService参数错误");
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
+ throw new RestServiceException(thread, start, "searchService参数错误");
}
-
-
+
try {
- checkCloumnIsExist(thread,start,clazz, page);
+ checkCloumnIsExist(thread, start, clazz, page);
} catch (RestServiceException e) {
logger.error(e);
throw e;
} catch (Exception e) {
- thread.setExceptionInfo(e.getMessage()+" "+e.getCause());
+ thread.setExceptionInfo(e.getMessage() + " " + e.getCause());
logger.error(e);
- throw new RestServiceException(thread,start,"请求参数错误");
+ throw new RestServiceException(thread, start, "请求参数错误");
}
}
-
+
/**
*
* @Title: getJedisKey
@@ -510,7 +534,7 @@ public abstract class BaseLogService {
String[] strArr = { "30" };
parapeterMapNew.put("pageSize", strArr);
}
- }else{
+ } else {
if (parapeterMapNew.get("pageNo") != null) {
parapeterMapNew.remove("pageNo");
}
@@ -538,8 +562,7 @@ public abstract class BaseLogService {
return key;
}
- protected String getSearchField(Class> clazz,
- Serializable entity, String fieldName) {
+ protected String getSearchField(Class> clazz, Serializable entity, String fieldName) {
try {
Field field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
diff --git a/src/main/java/com/nis/web/service/HiveSqlService.java b/src/main/java/com/nis/web/service/HiveSqlService.java
index 416b952..6bb7fe9 100644
--- a/src/main/java/com/nis/web/service/HiveSqlService.java
+++ b/src/main/java/com/nis/web/service/HiveSqlService.java
@@ -14,7 +14,8 @@ import java.util.Map;
import org.apache.ibatis.mapping.ResultMap;
import org.apache.ibatis.mapping.ResultMapping;
import org.apache.ibatis.session.SqlSessionFactory;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.nis.domain.Page;
import com.nis.util.Configurations;
@@ -25,13 +26,12 @@ import com.nis.util.StringUtil;
import com.nis.util.redis.SaveRedisThread;
public class HiveSqlService {
- private final static Logger logger = Logger.getLogger(HiveJDBC.class);
+ private final static Logger logger = LoggerFactory.getLogger(HiveSqlService.class);
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static ResultSet getResultSet(Page page, Object bean, String tableName,
Map> col2col, String orderBy, String searchActiveSys) throws Exception {
tableName = tableName.toLowerCase();
- tableName = Configurations.getStringProperty(tableName, "t_" + tableName).trim();
String showColmun = getFiledsSql(bean.getClass().getSimpleName(), page.getFields());
StringBuffer sql = new StringBuffer();
Map filedAndColumnMap = getFiledAndColumnMap(bean.getClass());
@@ -59,8 +59,10 @@ public class HiveSqlService {
Long foundTimePartStart = null;
Long foundTimePartEnd = null;
for (int i = 0; i < fields.length; i++) {
+ // 现在gwall日志表结构中只有数值和字符串两种类型,数值都是int类型没有bigint所以不需要加L,
Field f = fields[i];
String key = f.getName();// 获取字段名
+ String typeName = f.getType().getName();
if (f.getType().getName().equals("java.lang.String") && key.startsWith("search")) {
Object value = getFieldValue(bean, key);
if (value != null) {
@@ -81,7 +83,7 @@ public class HiveSqlService {
// value.toString().trim()
// + "','yyyy-mm-dd HH24:mi:ss')");
sql.append(" and " + filedAndColumnMap.get(col2col.get(key).get("start")) + ">="
- + value + "L");
+ + value);
} else {
// sql.append(" and " +
// filedAndColumnMap.get(col2col.get(key).get("end"))
@@ -89,7 +91,7 @@ public class HiveSqlService {
// value.toString().trim()
// + "','yyyy-mm-dd HH24:mi:ss')");
sql.append(" and " + filedAndColumnMap.get(col2col.get(key).get("end")) + "<"
- + value + "L");
+ + value);
}
}
} else {
@@ -98,39 +100,29 @@ public class HiveSqlService {
key = key.substring(0, 1).toLowerCase() + key.substring(1);
}
- if (!value.toString().trim().equals("") && filedAndColumnMap.containsKey(key)
- && (key.toLowerCase().equals("cfgid")
- || key.toLowerCase().equals("entranceid"))) {
- sql.append(
- " and " + filedAndColumnMap.get(key) + "=" + value.toString().trim() + "L");
- } else if (!value.toString().trim().equals("") && filedAndColumnMap.containsKey(key)
- && (key.toLowerCase().equals("protocol") || key.toLowerCase().equals("serverip")
- || key.toLowerCase().equals("clientip")
- || key.toLowerCase().equals("url")
- || key.toLowerCase().equals("mailfrom")
- || key.toLowerCase().equals("mailto")
- || key.toLowerCase().equals("encryptmode")
- || key.toLowerCase().equals("exprotocol")
- || key.toLowerCase().equals("cljip"))) {
+ if (typeName.equals("java.lang.String")) {
sql.append(" and " + filedAndColumnMap.get(key) + "='" + value.toString().trim()
+ "'");
- } else if (!value.toString().trim().equals("") && filedAndColumnMap.containsKey(key)
- && key.toLowerCase().equals("servicetype")) {
+ } else if (typeName.equals("java.lang.Integer") || typeName.equals("int")) {
sql.append(" and " + filedAndColumnMap.get(key) + "=" + value.toString().trim());
+
+ } else if (typeName.equals("java.lang.Long") || typeName.equals("long")) {
+ sql.append(
+ " and " + filedAndColumnMap.get(key) + "=" + value.toString().trim() + "L");
}
}
}
}
}
-
- //if (null != searchActiveSys && !searchActiveSys.equals(Constants.ACTIVESYS_A)) {// B版数据库才有found_time_partition字段,A版毛衣found_time_partition分区字段
- if (null != searchActiveSys){//为A版日志库添加分区字段
+ if (null != searchActiveSys) {// 添加分区字段
if (null != foundTimePartStart) {
- sql.append(" and found_time_partition>=" + foundTimePartStart + "L");
+ // sql.append(" and found_time_partition>=" + foundTimePartStart + "L");
+ sql.append(" and found_time_partition>=" + foundTimePartStart);
}
if (null != foundTimePartEnd) {
- sql.append(" and found_time_partition<" + foundTimePartEnd + "L");
+ // sql.append(" and found_time_partition<" + foundTimePartEnd + "L");
+ sql.append(" and found_time_partition<" + foundTimePartEnd);
}
}
@@ -141,9 +133,9 @@ public class HiveSqlService {
// sql.append(" order by " + orderBy + " limit 10000) t1) t2 where
// row_Num between " + startNum + " and " + endNum);
sql.append(" limit " + Constants.EVERY_GETHIVEDATANUM);
- logger.info("获取数据中心日志sql===================" + sql);
+ logger.info("获取数据中心日志sql==================={}", sql);
// ResultSet query = HiveJDBC.query(sql.toString());
- ResultSet query = HiveDataSource.query(sql.toString(), searchActiveSys);
+ ResultSet query = HiveDataSource.query(sql.toString());
logger.info("获取数据中心日志成功");
return query;
}
@@ -219,8 +211,10 @@ public class HiveSqlService {
}
}
- //if (null != searchActiveSys && !searchActiveSys.equals(Constants.ACTIVESYS_A)) {// B版数据库才有found_time_partition字段,A版毛衣found_time_partition分区字段
- if (null != searchActiveSys){
+ // if (null != searchActiveSys &&
+ // !searchActiveSys.equals(Constants.ACTIVESYS_A)) {//
+ // B版数据库才有found_time_partition字段,A版毛衣found_time_partition分区字段
+ if (null != searchActiveSys) {
if (null != foundTimePartStart) {
countSql.append(" and found_time_partition>=" + foundTimePartStart + "L");
}
@@ -232,7 +226,7 @@ public class HiveSqlService {
}
logger.info("获取数据中心日志总条数sql==================" + countSql.toString());
// ResultSet countRs = HiveJDBC.query(countSql.toString());
- ResultSet countRs = HiveDataSource.query(countSql.toString(), searchActiveSys);
+ ResultSet countRs = HiveDataSource.query(countSql.toString());
String countStr = null;
while (countRs.next()) {
countStr = countRs.getObject(1).toString();
diff --git a/src/main/java/com/nis/web/service/SaveRequestLogThread.java b/src/main/java/com/nis/web/service/SaveRequestLogThread.java
index 3fbd28e..20fea37 100644
--- a/src/main/java/com/nis/web/service/SaveRequestLogThread.java
+++ b/src/main/java/com/nis/web/service/SaveRequestLogThread.java
@@ -51,7 +51,7 @@ public class SaveRequestLogThread implements Runnable {
public void run() {
logger.info("线程开始执行!");
//新开线程切换数据源,不影响action中的数据源
- CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_C);//开启数据源C
+ CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_B);//开启数据源B
// TODO Auto-generated method stub
if(service!=null){
service.saveRequestLog(remoteAddr,requestURI,queryString,contextPath, operator, version, opAction, opTime, content, requestTime, consumerTime,businessCode,exceptionInfo,traceCode);
diff --git a/src/main/resources/applicationContext-mybatis.xml b/src/main/resources/applicationContext-mybatis.xml
index f30e3ca..31f1bcf 100644
--- a/src/main/resources/applicationContext-mybatis.xml
+++ b/src/main/resources/applicationContext-mybatis.xml
@@ -78,13 +78,13 @@
-
-
+
-
-
-
-
+
+
+
+
@@ -102,59 +102,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -192,10 +145,10 @@
-
-
-
-
+
+
+
+
diff --git a/src/main/resources/jdbc.properties b/src/main/resources/jdbc.properties
index c7e9698..1c09e6f 100644
--- a/src/main/resources/jdbc.properties
+++ b/src/main/resources/jdbc.properties
@@ -32,46 +32,23 @@ bonecp.partitionCount=3
bonecp.acquireIncrement=5
bonecp.statementsCacheSize=100
-############################################################################################################################################
-#数据中心神通数据库接口配置
-############################################################################################################################################
-bonecp.cluster.idleMaxAgeInMinutes=60
-bonecp.cluster.idleConnectionTestPeriodInMinutes=240
-bonecp.cluster.maxConnectionsPerPartition=10
-bonecp.cluster.minConnectionsPerPartition=5
-bonecp.cluster.partitionCount=3
-bonecp.cluster.acquireIncrement=5
-bonecp.cluster.statementsCacheSize=100
-jdbc.log.cluster.driver=com.oscar.cluster.BulkDriver
-jdbc.log.cluster.url=jdbc:oscarclusterbulk://10.3.129.125:2010/logdb
-jdbc.log.cluster.username=xa_z2_iie
-jdbc.log.cluster.key=2fa3hQn28+4AOdJXL4Ud2w==
-jdbc.log.cluster.password=uut+weC9of5ocPheagBJ4A==
+
+
############################################################################################################################################
#数据中心hive接口配置
############################################################################################################################################
#A版日志库
-jdbc.hiveA.driver=org.apache.hive.jdbc.HiveDriver
-jdbc.hiveA.url=jdbc:hive2://10.3.130.24:10000/default
-jdbc.hiveA.username=xa_z2_mesa
-jdbc.hiveA.key=aC/8fTC9vfPVhCk+CDzbAQ==
+jdbc.hive.driver=org.apache.hive.jdbc.HiveDriver
+jdbc.hive.url=jdbc:hive2://10.0.6.202:10000/maat
+jdbc.hive.username=xa_z2_mesa
+jdbc.hive.key=aC/8fTC9vfPVhCk+CDzbAQ==
#加密后密码
-jdbc.hiveA.password=V3GyFlG8Mg01bTt8ykFVaA==
+jdbc.hive.password=V3GyFlG8Mg01bTt8ykFVaA==
#实际密码
#jdbc.hiveA.password=123!@#qwe
-#B版日志库
-jdbc.hiveB.driver=org.apache.hive.jdbc.HiveDriver
-jdbc.hiveB.url=jdbc:hive2://10.3.130.25:10000/default
-jdbc.hiveB.username=xa_z2_mesa
-jdbc.hiveB.key=aC/8fTC9vfPVhCk+CDzbAQ==
-#加密后密码
-jdbc.hiveB.password=V3GyFlG8Mg01bTt8ykFVaA==
-#实际密码
-#jdbc.hiveB.password=123!@#qwe
-
bonecp.hive.idleMaxAgeInMinutes=60
bonecp.hive.idleConnectionTestPeriodInMinutes=240
bonecp.hive.maxConnectionsPerPartition=20
diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties
index ef919fa..c68b3c2 100644
--- a/src/main/resources/nis.properties
+++ b/src/main/resources/nis.properties
@@ -183,7 +183,7 @@ selFromHive=false
isGetHiveCount=false
#每次获取数据中心多少条数据,咱们在对获取的数据进行分页处理
-everyGetHiveDataNum=10000
+everyGetHiveDataNum=100
#oracle数据库有问题不从oracle查询数据,所有日志数据均从数据中心查询
onlySelFromHive=false
@@ -229,10 +229,8 @@ isUseES=false
-#数据中心A版数据库名称,程序中每次查询时使用的数据库名称 use dbA
-jdbc.hive.AName=xa_dfbhit_hive
-#数据中心B版数据库名称
-jdbc.hive.BName=xa_z2_mesalog_hive
+#数据中心hive日志库数据库名称,程序中每次查询时使用的数据库名称 use dbName
+jdbc.hive.Name=maat
maxPageSize=100000
@@ -243,8 +241,6 @@ isDebug=true
digest.gen.tool.path=maat-redis/digest_gen
-
-
#redis中有多少个数据库(需要加1,代码中用的小于不是小于等于)
maxRedisDBIndex=12
##存放编译,分组,域配置id关系的redis数据库编号
diff --git a/src/main/resources/spring-mvc.xml b/src/main/resources/spring-mvc.xml
index de1f4af..84df7c9 100644
--- a/src/main/resources/spring-mvc.xml
+++ b/src/main/resources/spring-mvc.xml
@@ -175,15 +175,21 @@
-
+
-
+
+
+
+
+
+
+
+
-
-
-
+
+
diff --git a/src/main/resources/table.properties b/src/main/resources/table.properties
index d565fc9..27fef91 100644
--- a/src/main/resources/table.properties
+++ b/src/main/resources/table.properties
@@ -1,62 +1,6 @@
-#由于数据中心日志表的表名会变动,所以本系统中将日志中心的表名提取到配置文件中方便后期修改
-#\u6570\u636E\u4E2D\u5FC3hive\u6570\u636E\u5E93\u8868\u540D
-df_ip_port_log=t_df_ip_port_log
-df_http_req_log=t_df_http_req_log_v3
-df_http_res_log=t_df_http_res_log_v3
-df_http_keyword_log=t_df_http_keyword_log
-
-df_mail_log=t_df_mail_log
-df_dns_log=t_df_dns_log
-df_ftp_log=t_df_ftp_log
-df_pptp_log=t_df_pptp_log
-df_l2tp_log=t_df_l2tp_log
-df_ipsec_log=t_df_ipsec_log
-df_openvpn_log=t_df_openvpn_log
-df_ssh_log=t_df_ssh_log
-df_ssl_log=t_df_ssl_log
-df_tunnel_random_log=t_df_tunnel_random_log
-
-#\u6570\u636E\u4E2D\u5FC3\u795E\u901A\u6570\u636E\u5E93A\u7248\u8868\u540D
-DfIpPortLogA=t_xa_df_ip_port_log_hit_mpp
-DfHttpReqLogA=t_xa_df_http_req_log_hit_mpp
-DfHttpResLogA=t_xa_df_http_res_log_hit_mpp
-DfHttpKeywordLogA=t_xa_df_http_keyword_log_hit_mpp
-
-DfMailLogA=t_xa_df_mail_log_hit_mpp
-DfDnsLogA=t_xa_df_dns_log_hit_mpp
-DfFtpLogA=t_xa_df_ftp_log_hit_mpp
-DfPptpLogA=t_xa_df_pptp_log_hit_mpp
-DfL2tpLogA=t_xa_df_l2tp_log_hit_mpp
-DfIpsecLogA=t_xa_df_ipsec_log_hit_mpp
-DfOpenvpnLogA=t_xa_df_openvpn_log_hit_mpp
-DfSshLogA=t_xa_df_ssh_log_hit_mpp
-DfSslLogA=t_xa_df_ssl_log_hit_mpp
-DfTunnelRandomLogA=t_xa_df_tunnel_random_log_hit_mpp
-
-#\u795E\u901A\u6570\u636E\u5E93B\u7248\u8868\u540D
-DfIpPortLogB=t_xa_df_ip_port_log_mpp
-DfHttpReqLogB=t_xa_df_http_req_log_mpp
-DfHttpResLogB=t_xa_df_http_res_log_mpp
-DfHttpKeywordLogB=t_xa_df_http_keyword_log_mpp
-
-DfMailLogB=t_xa_df_mail_log_mpp
-DfDnsLogB=t_xa_df_dns_log_mpp
-DfFtpLogB=t_xa_df_ftp_log_mpp
-DfPptpLogB=t_xa_df_pptp_log_mpp
-DfL2tpLogB=t_xa_df_l2tp_log_mpp
-DfIpsecLogB=t_xa_df_ipsec_log_mpp
-DfOpenvpnLogB=t_xa_df_openvpn_log_mpp
-DfSshLogB=t_xa_df_ssh_log_mpp
-DfSslLogB=t_xa_df_ssl_log_mpp
-DfTunnelRandomLogB=t_xa_df_tunnel_random_log_mpp
-
-
-
-
-
-
-
-
+#由于数据中心hive日志表的表名会变动,所以本系统中将日志的表名提取到配置文件中方便后期修改,key是bean的名称+HiveTable,value是hive的实际表名
+NtcIpLogHiveTable=NTC_IP_LOG
+NtcHttpLogHiveTable=NTC_HTTP_LOG