fix(log):日志检索模块,删除历史activesys ,修改logSource数据类型为int。增加NTC_IP_LOG 日志检索测试服务接口。后续删除历史遗留日志检索功能及其相关对象

This commit is contained in:
doufenghu
2018-06-10 16:18:34 +08:00
parent 7991707445
commit ea327b17d7
18 changed files with 314 additions and 5723 deletions

View File

@@ -219,9 +219,18 @@ public class BaseRestController {
return convert(restResult);
}
public Map serviceResponse(SaveRequestLogThread thread, long time, HttpServletRequest request,
HttpServletResponse response, String msg, Object data, String activeSys, String logSource) {
logger.info("结果集处理开始----" + System.currentTimeMillis());
/**
* 日志结果响应格式规范
* @param auditLogThread
* @param executedTime
* @param request
* @param msg
* @param data
* @param logSource
* @return
*/
public Map serviceLogResponse(SaveRequestLogThread auditLogThread, long executedTime, HttpServletRequest request,
String msg, Object data, Integer logSource) {
RestResult restResult = new RestResult();
String requestMethod = request.getMethod();
if (requestMethod.equals(RequestMethod.GET.name())) {
@@ -240,12 +249,11 @@ public class BaseRestController {
restResult.setFromUri(request.getRequestURI());
restResult.setData(data);
restResult.setMsg(msg);
restResult.setActiveSys(activeSys);
restResult.setLogSource(logSource);
restResult.setTraceCode(thread.getTraceCode());
thread.setConsumerTime(time);
thread.setBusinessCode(restResult.getBusinessCode().getValue());
new Thread(thread).start();
restResult.setTraceCode(auditLogThread.getTraceCode());
auditLogThread.setConsumerTime(executedTime);
auditLogThread.setBusinessCode(restResult.getBusinessCode().getValue());
new Thread(auditLogThread).start();
return convert(restResult);
}
@@ -264,7 +272,6 @@ public class BaseRestController {
}
successMap.put(RestConstants.TRACE_CODE, re.getTraceCode());
successMap.put(RestConstants.REST_SERVICE_DATA, re.getData());
logger.info("结果集处理结束----" + System.currentTimeMillis());
return successMap;
}

View File

@@ -50,7 +50,7 @@ public class DfKeyConvertUrlController extends BaseRestController{
@Autowired
protected ServicesRequestLogService servicesRequestLogService;
protected String logSource = "0";
protected int logSource = 0;
@RequestMapping(value="/dfKeyConvertUrlSources", method = RequestMethod.GET)
@ApiOperation(value="关键字业务转换URL日志信息获取" , httpMethod = "GET", notes="get log list")
@@ -61,7 +61,9 @@ public class DfKeyConvertUrlController extends BaseRestController{
if(!Constants.ACTIVESYS_A.equals(searchActiveSys)
&& !Constants.ACTIVESYS_C.equals(searchActiveSys)
) searchActiveSys=Constants.ACTIVESYS_B;
) {
searchActiveSys=Constants.ACTIVESYS_B;
}
long start=System.currentTimeMillis();
SaveRequestLogThread thread=super.saveRequestLog(servicesRequestLogService,Constants.OPACTION_GET,request, null);
@@ -80,11 +82,10 @@ public class DfKeyConvertUrlController extends BaseRestController{
if (!(e instanceof RestServiceException)) {
e = new RestServiceException(thread, System.currentTimeMillis() - start, "关键字业务转换URL日志信息检索失败");
}
((RestServiceException) e).setActiveSys(searchActiveSys);
((RestServiceException) e).setLogSource(logSource);
throw ((RestServiceException) e);
}
return serviceResponse(thread,System.currentTimeMillis()-start,request, response, "关键字业务转换URL日志信息检索成功",dfKeyConvertUrlPage
,searchActiveSys, logSource);
return serviceLogResponse(thread, System.currentTimeMillis()-start, request, "关键字业务转换URL日志信息检索成功",dfKeyConvertUrlPage
, logSource);
}
}

View File

@@ -50,7 +50,7 @@ public class DfKeyMailAddController extends BaseRestController {
@Autowired
protected DfKeyMailAddService dfKeyMailAddService;
protected String logSource = "0";
protected int logSource = 0;
@RequestMapping(value = "/dfKeyMailAddSources", method = RequestMethod.GET)
@ApiOperation(value = "关键字业务转换邮件地址日志信息获取", httpMethod = "GET", notes = "get log list")
@@ -61,7 +61,9 @@ public class DfKeyMailAddController extends BaseRestController {
if(!Constants.ACTIVESYS_A.equals(searchActiveSys)
&& !Constants.ACTIVESYS_C.equals(searchActiveSys)
) searchActiveSys=Constants.ACTIVESYS_B;
) {
searchActiveSys=Constants.ACTIVESYS_B;
}
long start = System.currentTimeMillis();
SaveRequestLogThread thread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
@@ -81,11 +83,11 @@ public class DfKeyMailAddController extends BaseRestController {
if (!(e instanceof RestServiceException)) {
e = new RestServiceException(thread, System.currentTimeMillis() - start, "关键字业务转换邮件地址日志信息检索失败");
}
((RestServiceException) e).setActiveSys(searchActiveSys);
((RestServiceException) e).setLogSource(logSource);
throw ((RestServiceException) e);
}
return serviceResponse(thread, System.currentTimeMillis() - start, request, response, "关键字业务转换邮件地址日志信息检索成功",
dfKeyMailAddPage,searchActiveSys, logSource);
return serviceLogResponse(thread, System.currentTimeMillis() - start, request, "关键字业务转换邮件地址日志信息检索成功",
dfKeyMailAddPage, logSource);
}
}

View File

@@ -50,7 +50,7 @@ public class IntervalTimeSearchController extends BaseRestController{
@Autowired
protected ServicesRequestLogService servicesRequestLogService;
protected String logSource = "0";
protected Integer logSource = 0;
@RequestMapping(value="/djFlowControlStopSources", method = RequestMethod.GET)
@ApiOperation(value="监测规则流控信息获取" , httpMethod = "GET", notes="get log list")
@@ -59,9 +59,12 @@ public class IntervalTimeSearchController extends BaseRestController{
Page page, DjFlowControlStop flowControlStop, HttpServletRequest request,
HttpServletResponse response, Model model) {
if(!Constants.ACTIVESYS_A.equals(searchActiveSys)
if (!Constants.ACTIVESYS_A.equals(searchActiveSys)
&& !Constants.ACTIVESYS_C.equals(searchActiveSys)
)searchActiveSys=Constants.ACTIVESYS_B;
) {
searchActiveSys=Constants.ACTIVESYS_B;
}
long start=System.currentTimeMillis();
SaveRequestLogThread thread=super.saveRequestLog(servicesRequestLogService,Constants.OPACTION_GET,request, null);
@@ -79,11 +82,10 @@ public class IntervalTimeSearchController extends BaseRestController{
if (!(e instanceof RestServiceException)) {
e = new RestServiceException(thread, System.currentTimeMillis() - start, "监测规则流控信息检索失败");
}
((RestServiceException) e).setActiveSys(searchActiveSys);
((RestServiceException) e).setLogSource(logSource);
throw ((RestServiceException) e);
}
return serviceResponse(thread,System.currentTimeMillis()-start,request, response, "监测规则流控信息检索成功",flowControlStopPage
,searchActiveSys, logSource);
return serviceLogResponse(thread, System.currentTimeMillis()-start,request, "监测规则流控信息检索成功", flowControlStopPage
, logSource);
}
}

View File

@@ -0,0 +1,58 @@
package com.nis.web.controller.restful;
import com.nis.domain.Page;
import com.nis.domain.restful.NtcIpLog;
import com.nis.util.Constants;
import com.nis.web.controller.BaseRestController;
import com.nis.web.service.SaveRequestLogThread;
import com.nis.web.service.ServicesRequestLogService;
import com.nis.web.service.restful.LogTestService;
import com.wordnik.swagger.annotations.Api;
import com.wordnik.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* Created by darnell on 2018/6/10.
*/
@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<String, ?> 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<NtcIpLog> ntcIpLogPage = new Page<>();
try {
ntcIpLogPage = testService.findNtcIpLogPage(
new Page<NtcIpLog>(request, response, NtcIpLog.class), ntcIpLog);
} catch(Exception e) {
e.printStackTrace();
}
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "IP地址日志检索成功", ntcIpLogPage, 0);
}
}

View File

@@ -24,7 +24,7 @@ import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/sys/area")
public class AreaController extends BaseController {
@ModelAttribute
public SysArea get(@RequestParam(required=false) Long id) {

View File

@@ -219,7 +219,7 @@ public abstract class BaseLogService {
/**
* wx 报表查询条件检查
*
* @param className
* @param clazz
* 需要检验的实体名称[需要保证resultMap的id命名方式为[className]Map]
* @param page
* 需要校验的page对象

View File

@@ -19,8 +19,9 @@ import org.apache.log4j.Logger;
import com.nis.datasource.CustomerContextHolder;
/**
* 审计日志工作线程
* @ClassName: SaveLogThread.java
* @Description: TODO
* @Description: 用于记录业务操作日志,后期用于审计及相关联调验证工作
* @author (dell)
* @date 2016年10月14日 下午6:26:41
* @version V1.0
@@ -66,7 +67,6 @@ public class SaveRequestLogThread implements Runnable {
* 创建一个新的实例 SaveRequestLogThread.
*
* @param service
* @param requestAddr
* @param requestURI
* @param queryString
* @param contextPath

View File

@@ -67,9 +67,6 @@ public class ServicesRequestLogService {
* request中的参数
* @param contextPath
* request中的参数
* @param request
* 请求
* @param response
* 响应
* @param operator
* 操作人

View File

@@ -0,0 +1,89 @@
package com.nis.web.service.restful;
import com.beust.jcommander.internal.Lists;
import com.nis.domain.Page;
import com.nis.domain.restful.DfIpPortLog;
import com.nis.domain.restful.NtcIpLog;
import com.nis.util.Constants;
import com.nis.web.service.BaseLogService;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Created by darnell on 2018/6/10.
* 日志测试业务类,用于接口或临时验证测试使用
*/
@Service
public class LogTestService extends BaseLogService {
protected final Logger logger = Logger.getLogger(this.getClass());
/**
* IP地址日志检索测试业务方法
* @param page
* @param entity
* @return
* @throws Exception
*/
public Page<NtcIpLog> findNtcIpLogPage(Page<NtcIpLog> page, NtcIpLog entity) throws Exception{
List<NtcIpLog> ntcIpLogs = Lists.newArrayList();
NtcIpLog ntcIpLog = new NtcIpLog();
ntcIpLog.setId(35L);
ntcIpLog.setCfgId(531L);
ntcIpLog.setServiceType(16);
ntcIpLog.setFoundTime(new Date());
ntcIpLog.setRecvTime(new Date());
ntcIpLog.setAddrType(4);
ntcIpLog.setProtocol("IPv4_TCP");
ntcIpLog.setClientIp("192.168.10.106");
ntcIpLog.setClientPort(80);
ntcIpLog.setServerIp("202.106.0.20");
ntcIpLog.setServerPort(8443);
ntcIpLog.setCljIp("10.0.6.240");
ntcIpLog.setDeviceId(1356981);
ntcIpLog.setDirection(0);
ntcIpLog.setStreamType(0);
ntcIpLog.setEntranceId(21L);
ntcIpLog.setUserRegion("531");
ntcIpLog.setClientLocate("本地地址");
ntcIpLog.setServerLocate("中国 北京 电信宽带光纤");
ntcIpLogs.add(ntcIpLog);
ntcIpLog = new NtcIpLog();
ntcIpLog.setId(36L);
ntcIpLog.setCfgId(532L);
ntcIpLog.setServiceType(128);
ntcIpLog.setFoundTime(new Date());
ntcIpLog.setRecvTime(new Date());
ntcIpLog.setAddrType(4);
ntcIpLog.setProtocol("IPv4_TCP");
ntcIpLog.setClientIp("192.168.10.106");
ntcIpLog.setClientPort(80);
ntcIpLog.setServerIp("202.106.0.20");
ntcIpLog.setServerPort(8443);
ntcIpLog.setCljIp("10.0.6.240");
ntcIpLog.setDeviceId(1356981);
ntcIpLog.setDirection(0);
ntcIpLog.setStreamType(0);
ntcIpLog.setEntranceId(21L);
ntcIpLog.setUserRegion("531");
ntcIpLog.setClientLocate("本地地址");
ntcIpLog.setServerLocate("中国 北京 电信宽带光纤");
ntcIpLogs.add(ntcIpLog);
page.setCount(ntcIpLogs.size());
page.setList(ntcIpLogs);
return page;
}
}