1、rule.properties合库前后分成两个文件,rule.test为合库前的配置文件;

2、添加说话人识别、台标识别、人脸识别原始日志查询接口;
3、多媒体业务添加MM_SUBSCRIBE_ID;
4、日志总量统计默认时间由最近5分钟改为查询全部
This commit is contained in:
zhangdongxu
2018-09-19 14:53:19 +08:00
parent 6bc59f9763
commit b0091eb4c0
9 changed files with 845 additions and 54 deletions

View File

@@ -0,0 +1,73 @@
package com.nis.domain.restful;
import com.nis.domain.LogEntity;
import com.wordnik.swagger.annotations.ApiModelProperty;
/**
*
* @ClassName:MmFaceRecognizationLog
* @Description:TODO(这里用一句话描述这个类的作用)
* @author (zdx)
* @date 2018年9月17日 下午5:30:53
* @version V1.0
*/
public class MmFaceRecognizationLog extends LogEntity<MmFaceRecognizationLog> {
private static final long serialVersionUID = -6177790560553329386L;
@ApiModelProperty(value="节目ID", required=true)
protected String pid;
@ApiModelProperty(value="节目访问地址", required=true)
protected String url;
@ApiModelProperty(value="封堵现场片段路径", required=true)
protected String logUri;
@ApiModelProperty(value="入口页面", required=true)
protected String referer;
@ApiModelProperty(value="有害级别", required=true)
protected Integer level;
@ApiModelProperty(value="封堵类型", required=true)
protected Integer fdType;
@ApiModelProperty(value="协议", required=true)
protected String protocol;
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getLogUri() {
return logUri;
}
public void setLogUri(String logUri) {
this.logUri = logUri;
}
public String getReferer() {
return referer;
}
public void setReferer(String referer) {
this.referer = referer;
}
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
public Integer getFdType() {
return fdType;
}
public void setFdType(Integer fdType) {
this.fdType = fdType;
}
public String getProtocol() {
return protocol;
}
public void setProtocol(String protocol) {
this.protocol = protocol;
}
}

View File

@@ -0,0 +1,73 @@
package com.nis.domain.restful;
import com.nis.domain.LogEntity;
import com.wordnik.swagger.annotations.ApiModelProperty;
/**
*
* @ClassName:MmLogoDetectionLog
* @Description:TODO(这里用一句话描述这个类的作用)
* @author (zdx)
* @date 2018年9月17日 下午5:35:10
* @version V1.0
*/
public class MmLogoDetectionLog extends LogEntity<MmLogoDetectionLog> {
private static final long serialVersionUID = -6177790560553329386L;
@ApiModelProperty(value="节目ID", required=true)
protected String pid;
@ApiModelProperty(value="节目访问地址", required=true)
protected String url;
@ApiModelProperty(value="封堵现场片段路径", required=true)
protected String logUri;
@ApiModelProperty(value="入口页面", required=true)
protected String referer;
@ApiModelProperty(value="有害级别", required=true)
protected Integer level;
@ApiModelProperty(value="封堵类型", required=true)
protected Integer fdType;
@ApiModelProperty(value="协议", required=true)
protected String protocol;
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getLogUri() {
return logUri;
}
public void setLogUri(String logUri) {
this.logUri = logUri;
}
public String getReferer() {
return referer;
}
public void setReferer(String referer) {
this.referer = referer;
}
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
public Integer getFdType() {
return fdType;
}
public void setFdType(Integer fdType) {
this.fdType = fdType;
}
public String getProtocol() {
return protocol;
}
public void setProtocol(String protocol) {
this.protocol = protocol;
}
}

View File

@@ -0,0 +1,73 @@
package com.nis.domain.restful;
import com.nis.domain.LogEntity;
import com.wordnik.swagger.annotations.ApiModelProperty;
/**
*
* @ClassName:MmSpeakerRecognizationLog
* @Description:TODO(这里用一句话描述这个类的作用)
* @author (zdx)
* @date 2018年9月17日 下午5:36:48
* @version V1.0
*/
public class MmSpeakerRecognizationLog extends LogEntity<MmSpeakerRecognizationLog> {
private static final long serialVersionUID = -6177790560553329386L;
@ApiModelProperty(value="节目ID", required=true)
protected String pid;
@ApiModelProperty(value="节目访问地址", required=true)
protected String url;
@ApiModelProperty(value="封堵现场片段路径", required=true)
protected String logUri;
@ApiModelProperty(value="入口页面", required=true)
protected String referer;
@ApiModelProperty(value="有害级别", required=true)
protected Integer level;
@ApiModelProperty(value="封堵类型", required=true)
protected Integer fdType;
@ApiModelProperty(value="协议", required=true)
protected String protocol;
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getLogUri() {
return logUri;
}
public void setLogUri(String logUri) {
this.logUri = logUri;
}
public String getReferer() {
return referer;
}
public void setReferer(String referer) {
this.referer = referer;
}
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
public Integer getFdType() {
return fdType;
}
public void setFdType(Integer fdType) {
this.fdType = fdType;
}
public String getProtocol() {
return protocol;
}
public void setProtocol(String protocol) {
this.protocol = protocol;
}
}

View File

@@ -18,6 +18,8 @@ import com.nis.domain.LogEntity;
import com.nis.domain.Page;
import com.nis.domain.restful.MmAvIpLog;
import com.nis.domain.restful.MmAvUrlLog;
import com.nis.domain.restful.MmFaceRecognizationLog;
import com.nis.domain.restful.MmLogoDetectionLog;
import com.nis.domain.restful.MmPicIpLog;
import com.nis.domain.restful.MmPicUrlLog;
import com.nis.domain.restful.MmPornAudioLevelLog;
@@ -26,14 +28,14 @@ import com.nis.domain.restful.MmSampleAudioLog;
import com.nis.domain.restful.MmSamplePicLog;
import com.nis.domain.restful.MmSampleVideoLog;
import com.nis.domain.restful.MmSampleVoipLog;
import com.nis.domain.restful.MmSpeakerRecognizationLog;
import com.nis.domain.restful.MmVoipAccountLog;
import com.nis.domain.restful.MmVoipIpLog;
import com.nis.restful.RestServiceException;
import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.LogJDBCByDruid;
import com.nis.util.JsonMapper;
import com.nis.util.LogJDBCByDruid;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseRestController;
import com.nis.web.service.AuditLogThread;
@@ -701,6 +703,167 @@ public class MmLogSearchController extends BaseRestController {
logPage, 0);
}
@RequestMapping(value = "/mmSpeakerRecognizationLogs", method = RequestMethod.GET)
@ApiOperation(value = "说话人识别日志查询", httpMethod = "GET", notes = "对日志功能“说话人识别日志”提供数据基础查询服务")
public Map<String, ?> mmSpeakerRecognizationLogs(Page page, MmSpeakerRecognizationLog mmSpeakerRecognizationLog, Model model, HttpServletRequest request,
HttpServletResponse response) {
long start = System.currentTimeMillis();
AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
request, null);
Page<MmSpeakerRecognizationLog> logPage = null;
try {
resetTime(mmSpeakerRecognizationLog);
ntcLogService.queryConditionCheck(auditLogThread, start, mmSpeakerRecognizationLog, MmSpeakerRecognizationLog.class, page);
logPage = new Page<MmSpeakerRecognizationLog>();
logPage.setPageNo(page.getPageNo());
logPage.setPageSize(page.getPageSize());
String orderBy = "";
if (null != page.getOrderBy() && !page.getOrderBy().equals("")) {
orderBy = Page.getOrderBySql(MmSpeakerRecognizationLog.class.getSimpleName(), page.getOrderBy());
} else {
orderBy = "found_Time";
}
String sql = HiveSqlService.getSql(page, mmSpeakerRecognizationLog,
getTableName(MmSpeakerRecognizationLog.class.getSimpleName() + "HiveTable", "MM_SPEAKER_RECOGNIZATION_LOG"),
getCol2Col(), orderBy, null);
Map<String, List<Object>> tableMapping = new LogJDBCByDruid().tableMapping(page, null, sql, MmSpeakerRecognizationLog.class, "foundTime",
"recvTime");
if (tableMapping == null) {
logPage.setList(new ArrayList());
} else {
List list = tableMapping.get("obj");
if (list.size() > 0) {
String jsonString = JsonMapper.toJsonString(list);
List<MmSpeakerRecognizationLog> List = (java.util.List<MmSpeakerRecognizationLog>) JsonMapper.fromJsonList(jsonString,
MmSpeakerRecognizationLog.class);
logPage.setList(List);
logPage.setCount(List.size());
} else {
logPage.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, "说话人识别日志检索失败");
}
throw ((RestServiceException) e);
}
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "说话人识别日志检索成功",
logPage, 0);
}
@RequestMapping(value = "/mmLogoDetectionLogs", method = RequestMethod.GET)
@ApiOperation(value = "台标识别日志查询", httpMethod = "GET", notes = "对日志功能“台标识别IP日志”提供数据基础查询服务")
public Map<String, ?> mmLogoDetectionLogs(Page page, MmLogoDetectionLog mmLogoDetectionLog, Model model, HttpServletRequest request,
HttpServletResponse response) {
long start = System.currentTimeMillis();
AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
request, null);
Page<MmLogoDetectionLog> logPage = null;
try {
resetTime(mmLogoDetectionLog);
ntcLogService.queryConditionCheck(auditLogThread, start, mmLogoDetectionLog, MmLogoDetectionLog.class, page);
logPage = new Page<MmLogoDetectionLog>();
logPage.setPageNo(page.getPageNo());
logPage.setPageSize(page.getPageSize());
String orderBy = "";
if (null != page.getOrderBy() && !page.getOrderBy().equals("")) {
orderBy = Page.getOrderBySql(MmLogoDetectionLog.class.getSimpleName(), page.getOrderBy());
} else {
orderBy = "found_Time";
}
String sql = HiveSqlService.getSql(page, mmLogoDetectionLog,
getTableName(MmLogoDetectionLog.class.getSimpleName() + "HiveTable", "MM_LOGO_DETECTION_LOG"),
getCol2Col(), orderBy, null);
Map<String, List<Object>> tableMapping = new LogJDBCByDruid().tableMapping(page, null, sql, MmLogoDetectionLog.class, "foundTime",
"recvTime");
if (tableMapping == null) {
logPage.setList(new ArrayList());
} else {
List list = tableMapping.get("obj");
if (list.size() > 0) {
String jsonString = JsonMapper.toJsonString(list);
List<MmLogoDetectionLog> List = (java.util.List<MmLogoDetectionLog>) JsonMapper.fromJsonList(jsonString,
MmLogoDetectionLog.class);
logPage.setList(List);
logPage.setCount(List.size());
} else {
logPage.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, "台标识别日志检索失败");
}
throw ((RestServiceException) e);
}
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "台标识别日志检索成功",
logPage, 0);
}
@RequestMapping(value = "/mmFaceRecognizationLogs", method = RequestMethod.GET)
@ApiOperation(value = "人脸识别日志查询", httpMethod = "GET", notes = "对日志功能“人脸识别日志”提供数据基础查询服务")
public Map<String, ?> mmFaceRecognizationLogs(Page page, MmFaceRecognizationLog mmFaceRecognizationLog, Model model, HttpServletRequest request,
HttpServletResponse response) {
long start = System.currentTimeMillis();
AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET,
request, null);
Page<MmFaceRecognizationLog> logPage = null;
try {
resetTime(mmFaceRecognizationLog);
ntcLogService.queryConditionCheck(auditLogThread, start, mmFaceRecognizationLog, MmFaceRecognizationLog.class, page);
logPage = new Page<MmFaceRecognizationLog>();
logPage.setPageNo(page.getPageNo());
logPage.setPageSize(page.getPageSize());
String orderBy = "";
if (null != page.getOrderBy() && !page.getOrderBy().equals("")) {
orderBy = Page.getOrderBySql(MmFaceRecognizationLog.class.getSimpleName(), page.getOrderBy());
} else {
orderBy = "found_Time";
}
String sql = HiveSqlService.getSql(page, mmFaceRecognizationLog,
getTableName(MmFaceRecognizationLog.class.getSimpleName() + "HiveTable", "MM_FACE_RECOGNIZATION_LOG"),
getCol2Col(), orderBy, null);
Map<String, List<Object>> tableMapping = new LogJDBCByDruid().tableMapping(page, null, sql, MmFaceRecognizationLog.class, "foundTime",
"recvTime");
if (tableMapping == null) {
logPage.setList(new ArrayList());
} else {
List list = tableMapping.get("obj");
if (list.size() > 0) {
String jsonString = JsonMapper.toJsonString(list);
List<MmFaceRecognizationLog> List = (java.util.List<MmFaceRecognizationLog>) JsonMapper.fromJsonList(jsonString,
MmFaceRecognizationLog.class);
logPage.setList(List);
logPage.setCount(List.size());
} else {
logPage.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, "人脸识别日志检索失败");
}
throw ((RestServiceException) e);
}
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "人脸识别日志检索成功",
logPage, 0);
}
/**
*判断开始和结束时间是否为null,如果为null则初始化时间

View File

@@ -363,6 +363,10 @@ public class SingleDimensionReport extends BaseRestController {
* @throws Exception
*/
public void resetReportTime(NtcReportEntity<?> entity,Boolean isTotal) throws Exception {
//日志总量统计查询全部
if ("1".equals(entity.getSearchBusinessType())) {
return ;
}
if (StringUtil.isEmpty(entity.getSearchReportStartTime())&&StringUtil.isEmpty(entity.getSearchReportEndTime())) {
String dateType = "minute"; //默认为分钟
if (!isTotal){

View File

@@ -1023,4 +1023,134 @@
<result column="d_subscribe_id" jdbcType="VARCHAR" property="dSubscribeId" />
<result column="scene_file" jdbcType="VARCHAR" property="sceneFile" />
</resultMap>
<resultMap id="MmLogoDetectionLogMap" type="com.nis.domain.restful.MmLogoDetectionLog">
<result column="cfg_id" jdbcType="BIGINT" property="cfgId" />
<result column="found_Time" jdbcType="TIMESTAMP" property="foundTime" />
<result column="recv_Time" jdbcType="TIMESTAMP" property="recvTime" />
<result column="trans_proto" jdbcType="VARCHAR" property="transProto" />
<result column="addr_type" jdbcType="INTEGER" property="addrType" />
<result column="d_ip" jdbcType="VARCHAR" property="dIp" />
<result column="s_ip" jdbcType="VARCHAR" property="sIp" />
<result column="d_port" jdbcType="VARCHAR" property="dPort" />
<result column="s_port" jdbcType="VARCHAR" property="sPort" />
<result column="service" jdbcType="INTEGER" property="service" />
<result column="entrance_id" jdbcType="BIGINT" property="entranceId" />
<result column="device_id" jdbcType="INTEGER" property="deviceId" />
<result column="direction" jdbcType="INTEGER" property="direction" />
<result column="stream_dir" jdbcType="INTEGER" property="streamDir" />
<result column="cap_ip" jdbcType="VARCHAR" property="capIp" />
<result column="addr_list" jdbcType="VARCHAR" property="addrList" />
<result column="user_region" jdbcType="VARCHAR" property="userRegion" />
<result column="server_locate" jdbcType="VARCHAR" property="serverLocate" />
<result column="client_locate" jdbcType="VARCHAR" property="clientLocate" />
<result column="s_asn" jdbcType="VARCHAR" property="sAsn" />
<result column="d_asn" jdbcType="VARCHAR" property="dAsn" />
<result column="s_subscribe_id" jdbcType="VARCHAR" property="sSubscribeId" />
<result column="d_subscribe_id" jdbcType="VARCHAR" property="dSubscribeId" />
<result column="scene_file" jdbcType="VARCHAR" property="sceneFile" />
<result column="pid" jdbcType="VARCHAR" property="pid" />
<result column="url" jdbcType="VARCHAR" property="url" />
<result column="log_uri" jdbcType="VARCHAR" property="logUri" />
<result column="referer" jdbcType="VARCHAR" property="referer" />
<result column="level" jdbcType="INTEGER" property="level" />
<result column="fd_type" jdbcType="INTEGER" property="fdType" />
<result column="protocol" jdbcType="VARCHAR" property="protocol" />
</resultMap>
<resultMap id="MmSpeakerRecognizationLogMap" type="com.nis.domain.restful.MmSpeakerRecognizationLog">
<result column="cfg_id" jdbcType="BIGINT" property="cfgId" />
<result column="found_Time" jdbcType="TIMESTAMP" property="foundTime" />
<result column="recv_Time" jdbcType="TIMESTAMP" property="recvTime" />
<result column="trans_proto" jdbcType="VARCHAR" property="transProto" />
<result column="addr_type" jdbcType="INTEGER" property="addrType" />
<result column="d_ip" jdbcType="VARCHAR" property="dIp" />
<result column="s_ip" jdbcType="VARCHAR" property="sIp" />
<result column="d_port" jdbcType="VARCHAR" property="dPort" />
<result column="s_port" jdbcType="VARCHAR" property="sPort" />
<result column="service" jdbcType="INTEGER" property="service" />
<result column="entrance_id" jdbcType="BIGINT" property="entranceId" />
<result column="device_id" jdbcType="INTEGER" property="deviceId" />
<result column="direction" jdbcType="INTEGER" property="direction" />
<result column="stream_dir" jdbcType="INTEGER" property="streamDir" />
<result column="cap_ip" jdbcType="VARCHAR" property="capIp" />
<result column="addr_list" jdbcType="VARCHAR" property="addrList" />
<result column="user_region" jdbcType="VARCHAR" property="userRegion" />
<result column="server_locate" jdbcType="VARCHAR" property="serverLocate" />
<result column="client_locate" jdbcType="VARCHAR" property="clientLocate" />
<result column="s_asn" jdbcType="VARCHAR" property="sAsn" />
<result column="d_asn" jdbcType="VARCHAR" property="dAsn" />
<result column="s_subscribe_id" jdbcType="VARCHAR" property="sSubscribeId" />
<result column="d_subscribe_id" jdbcType="VARCHAR" property="dSubscribeId" />
<result column="scene_file" jdbcType="VARCHAR" property="sceneFile" />
<result column="pid" jdbcType="VARCHAR" property="pid" />
<result column="url" jdbcType="VARCHAR" property="url" />
<result column="log_uri" jdbcType="VARCHAR" property="logUri" />
<result column="referer" jdbcType="VARCHAR" property="referer" />
<result column="level" jdbcType="INTEGER" property="level" />
<result column="fd_type" jdbcType="INTEGER" property="fdType" />
<result column="protocol" jdbcType="VARCHAR" property="protocol" />
</resultMap>
<resultMap id="MmFaceRecognizationLogMap" type="com.nis.domain.restful.MmFaceRecognizationLog">
<result column="cfg_id" jdbcType="BIGINT" property="cfgId" />
<result column="found_Time" jdbcType="TIMESTAMP" property="foundTime" />
<result column="recv_Time" jdbcType="TIMESTAMP" property="recvTime" />
<result column="trans_proto" jdbcType="VARCHAR" property="transProto" />
<result column="addr_type" jdbcType="INTEGER" property="addrType" />
<result column="d_ip" jdbcType="VARCHAR" property="dIp" />
<result column="s_ip" jdbcType="VARCHAR" property="sIp" />
<result column="d_port" jdbcType="VARCHAR" property="dPort" />
<result column="s_port" jdbcType="VARCHAR" property="sPort" />
<result column="service" jdbcType="INTEGER" property="service" />
<result column="entrance_id" jdbcType="BIGINT" property="entranceId" />
<result column="device_id" jdbcType="INTEGER" property="deviceId" />
<result column="direction" jdbcType="INTEGER" property="direction" />
<result column="stream_dir" jdbcType="INTEGER" property="streamDir" />
<result column="cap_ip" jdbcType="VARCHAR" property="capIp" />
<result column="addr_list" jdbcType="VARCHAR" property="addrList" />
<result column="user_region" jdbcType="VARCHAR" property="userRegion" />
<result column="server_locate" jdbcType="VARCHAR" property="serverLocate" />
<result column="client_locate" jdbcType="VARCHAR" property="clientLocate" />
<result column="s_asn" jdbcType="VARCHAR" property="sAsn" />
<result column="d_asn" jdbcType="VARCHAR" property="dAsn" />
<result column="s_subscribe_id" jdbcType="VARCHAR" property="sSubscribeId" />
<result column="d_subscribe_id" jdbcType="VARCHAR" property="dSubscribeId" />
<result column="scene_file" jdbcType="VARCHAR" property="sceneFile" />
<result column="pid" jdbcType="VARCHAR" property="pid" />
<result column="url" jdbcType="VARCHAR" property="url" />
<result column="log_uri" jdbcType="VARCHAR" property="logUri" />
<result column="referer" jdbcType="VARCHAR" property="referer" />
<result column="level" jdbcType="INTEGER" property="level" />
<result column="fd_type" jdbcType="INTEGER" property="fdType" />
<result column="protocol" jdbcType="VARCHAR" property="protocol" />
</resultMap>
</mapper>