Commit 576de3be by xmh

<feat> 分析流播放地址适配ip,去掉配置

<fix> 事件检索重构
1 parent 8bfb5d5e
...@@ -16,143 +16,142 @@ import java.util.HashMap; ...@@ -16,143 +16,142 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public abstract class BaseServiceImpl <T extends BaseModel> implements BaseService<T> { public abstract class BaseServiceImpl<T extends BaseModel> implements BaseService<T> {
/** /**
* slf4j 日志对象 用来记录log * slf4j 日志对象 用来记录log
*/ */
protected Logger logger = LoggerFactory.getLogger(getClass()); protected Logger logger = LoggerFactory.getLogger(getClass());
private Map<String,String> columnNamePropertyMap = null; private Map<String, String> columnNamePropertyMap = null;
public T selectByPrimaryKey(Object id) { public T selectByPrimaryKey(Object id) {
return getMapper().selectByPrimaryKey(id); return getMapper().selectByPrimaryKey(id);
} }
public T insert(T record) { public T insert(T record) {
getMapper().insert(record); getMapper().insert(record);
return record; return record;
} }
@Override @Override
public T insertSelective(T record) { public T insertSelective(T record) {
getMapper().insertSelective(record); getMapper().insertSelective(record);
return record; return record;
} }
@Override
@Override public int deleteByPrimaryKey(Object b) {
public int deleteByPrimaryKey(Object b) { return getMapper().deleteByPrimaryKey(b);
return getMapper().deleteByPrimaryKey(b); }
}
@Override
@Override public int updateByPrimaryKey(T record) {
public int updateByPrimaryKey(T record) { return getMapper().updateByPrimaryKey(record);
return getMapper().updateByPrimaryKey(record); }
}
@Override
@Override public int updateByPrimaryKeySelective(T record) {
public int updateByPrimaryKeySelective(T record) { return getMapper().updateByPrimaryKeySelective(record);
return getMapper().updateByPrimaryKeySelective(record); }
}
@Override
@Override public PageInfo<T> pagedQuery(BaseExample example, int pageNum, int pageSize) {
public PageInfo<T> pagedQuery(BaseExample example, int pageNum, int pageSize) { if (pageSize > 0) {
if(pageSize>0){ PageHelper.startPage(pageNum, pageSize);
PageHelper.startPage(pageNum, pageSize); Page<T> result = (Page<T>) getMapper().selectByExample(example);
Page<T> result = (Page<T>) getMapper().selectByExample(example); return new PageInfo<T>(result);
PageInfo<T> pageInfo = new PageInfo<T>(result); } else {
return pageInfo; List<T> result = getMapper().selectByExample(example);
}else{ Page<T> p = new Page<T>();
List<T> result = (List<T>) getMapper().selectByExample(example); p.addAll(result);
Page<T> p = new Page<T>(); return new PageInfo<T>(p);
p.addAll(result); }
PageInfo<T> pageInfo = new PageInfo<T>(p);
return pageInfo; }
}
@Override
} public int countByExample(BaseExample example) {
return getMapper().countByExample(example);
@Override }
public int countByExample(BaseExample example) {
return getMapper().countByExample(example); @Override
} public int deleteByExample(BaseExample example) {
return getMapper().deleteByExample(example);
@Override }
public int deleteByExample(BaseExample example) {
return getMapper().deleteByExample(example); @Override
} public List<T> selectByExample(BaseExample example) {
return getMapper().selectByExample(example);
@Override }
public List<T> selectByExample(BaseExample example) {
return getMapper().selectByExample(example); @Override
} public int updateByExampleSelective(T record, BaseExample example) {
return getMapper().updateByExampleSelective(record, example);
@Override }
public int updateByExampleSelective(T record, BaseExample example) {
return getMapper().updateByExampleSelective(record, example); @Override
} public int updateByExample(T record, BaseExample example) {
return getMapper().updateByExample(record, example);
@Override }
public int updateByExample(T record, BaseExample example) {
return getMapper().updateByExample(record, example); @Override
} public List<Object> getIdsByByExample(BaseExample example) {
List<T> list = selectByExample(example);
@Override List<Object> result = new ArrayList<Object>();
public List<Object> getIdsByByExample(BaseExample example) { for (T t : list) {
List<T> list= selectByExample(example); Object pk = getPKByModel(t);
List<Object> result = new ArrayList<Object>(); if (pk != null) {
for(T t : list){ result.add(pk);
Object pk = getPKByModel(t); }
if(pk!=null){ }
result.add(pk); return result;
} }
}
return result; @Override
} public Object getPKByModel(BaseModel baseModel) {
throw new UnsupportedOperationException();
@Override }
public Object getPKByModel(BaseModel baseModel) {
throw new UnsupportedOperationException(); public String getColumnNameByProperty(String property) {
} if (columnNamePropertyMap == null) {
columnNamePropertyMap = getColumnNamePropertyMap();
public String getColumnNameByProperty(String property){ }
if(columnNamePropertyMap == null){ return columnNamePropertyMap.get(property);
columnNamePropertyMap = getColumnNamePropertyMap(); }
}
return columnNamePropertyMap.get(property); public Map getColumnNamePropertyMap() {
} Map<String, String> result = new HashMap<String, String>();
try {
public Map getColumnNamePropertyMap(){ SqlSession sqlSession = getSqlSessionByMapper(getMapper());
Map<String, String> result = new HashMap<String, String>(); ResultMap resultMap = sqlSession.getConfiguration().getResultMap(getMapperClassByMapper(getMapper()).getName() + ".BaseResultMapRoot");
try { List<ResultMapping> propertyResultMappings = resultMap.getPropertyResultMappings();
SqlSession sqlSession = getSqlSessionByMapper(getMapper()); for (ResultMapping resultMapping : propertyResultMappings) {
ResultMap resultMap = sqlSession.getConfiguration().getResultMap(getMapperClassByMapper(getMapper()).getName()+".BaseResultMapRoot"); result.put(resultMapping.getProperty(), resultMapping.getColumn());
List<ResultMapping> propertyResultMappings = resultMap.getPropertyResultMappings(); }
for (ResultMapping resultMapping : propertyResultMappings) { } catch (Exception e) {
result.put(resultMapping.getProperty(), resultMapping.getColumn()); e.printStackTrace();
} }
} catch (Exception e) { return result;
e.printStackTrace();
} }
return result;
private SqlSession getSqlSessionByMapper(BaseMapper mapper) throws Exception {
} Object mapperProxy = ((Proxy) mapper).getInvocationHandler(mapper);
private SqlSession getSqlSessionByMapper(BaseMapper mapper) throws Exception {
Object mapperProxy = ((Proxy) mapper).getInvocationHandler(mapper);
Field sqlSession = mapperProxy.getClass().getDeclaredField("sqlSession"); Field sqlSession = mapperProxy.getClass().getDeclaredField("sqlSession");
sqlSession.setAccessible(true); sqlSession.setAccessible(true);
return (SqlSession) sqlSession.get(mapperProxy); return (SqlSession) sqlSession.get(mapperProxy);
} }
private Class getMapperClassByMapper(BaseMapper mapper) throws Exception {
Object mapperProxy = ((Proxy) mapper).getInvocationHandler(mapper); private Class getMapperClassByMapper(BaseMapper mapper) throws Exception {
Object mapperProxy = ((Proxy) mapper).getInvocationHandler(mapper);
Field mapperInterface = mapperProxy.getClass().getDeclaredField("mapperInterface"); Field mapperInterface = mapperProxy.getClass().getDeclaredField("mapperInterface");
mapperInterface.setAccessible(true); mapperInterface.setAccessible(true);
return (Class) mapperInterface.get(mapperProxy); return (Class) mapperInterface.get(mapperProxy);
} }
} }
...@@ -55,21 +55,12 @@ public class VionConfig { ...@@ -55,21 +55,12 @@ public class VionConfig {
static class Srs { static class Srs {
private String ip; private String ip;
private String rtmpPort = "1935"; private String rtmpPort = "1935";
private String httpPort = "8080";
public String getRtmpUrl(String taskUnid) { public String getRtmpUrl(String taskUnid) {
String url = "rtmp://" + ip + ":" + rtmpPort + "/live/" + taskUnid; String url = "rtmp://" + ip + ":" + rtmpPort + "/live/" + taskUnid;
log.debug(url); log.debug(url);
return url; return url;
} }
public String getHttpUrl(String taskUnid) {
// todo
String url = "http://36.112.68.214:30010/srs/live/" + taskUnid + ".flv";
// String url = "http://" + ip + ":" + httpPort + "/srs/live/" + taskUnid + ".flv";
log.debug(url);
return url;
}
} }
public @Getter public @Getter
......
...@@ -11,9 +11,16 @@ import com.viontech.fanxing.query.controller.base.BehaviorBaseController; ...@@ -11,9 +11,16 @@ import com.viontech.fanxing.query.controller.base.BehaviorBaseController;
import com.viontech.fanxing.query.service.main.OpsClientService; import com.viontech.fanxing.query.service.main.OpsClientService;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@Controller @Controller
@RequestMapping("/behaviors") @RequestMapping("/behaviors")
...@@ -25,11 +32,12 @@ public class BehaviorController extends BehaviorBaseController { ...@@ -25,11 +32,12 @@ public class BehaviorController extends BehaviorBaseController {
@Override @Override
protected BaseExample getExample(BehaviorVo behaviorVo, int type) { protected BaseExample getExample(BehaviorVo behaviorVo, int type) {
BehaviorExample behaviorExample = (BehaviorExample) super.getExample(behaviorVo, type); BehaviorExample behaviorExample = (BehaviorExample) super.getExample(behaviorVo, type);
behaviorExample.createColumns().hasIdColumn().hasEventTimeColumn().hasPicsColumn();
return behaviorExample; return behaviorExample;
} }
@Override @Override
public Object page(BehaviorVo behaviorVo, int page, int pageSize, String sortName, String sortOrder) { public Object page(BehaviorVo behaviorVo, @RequestParam(value = "page", defaultValue = "-1") int page, @RequestParam(value = "pageSize", defaultValue = "100") int pageSize, String sortName, String sortOrder) {
Assert.notNull(behaviorVo.getEventTime_gte(), "起始时间不能为空"); Assert.notNull(behaviorVo.getEventTime_gte(), "起始时间不能为空");
Assert.notNull(behaviorVo.getEventTime_lte(), "结束时间不能为空"); Assert.notNull(behaviorVo.getEventTime_lte(), "结束时间不能为空");
SimplePropertyPreFilter simplePropertyPreFilter = new SimplePropertyPreFilter(); SimplePropertyPreFilter simplePropertyPreFilter = new SimplePropertyPreFilter();
......
...@@ -32,7 +32,7 @@ public class TrafficController extends TrafficBaseController { ...@@ -32,7 +32,7 @@ public class TrafficController extends TrafficBaseController {
@Override @Override
protected BaseExample getExample(TrafficVo trafficVo, int type) { protected BaseExample getExample(TrafficVo trafficVo, int type) {
TrafficExample trafficExample = (TrafficExample) super.getExample(trafficVo, type); TrafficExample trafficExample = (TrafficExample) super.getExample(trafficVo, type);
trafficExample.createColumns().hasIdColumn().hasEventTimeColumn(); trafficExample.createColumns().hasIdColumn().hasEventTimeColumn().hasVideoNameColumn().hasPicsColumn();
return trafficExample; return trafficExample;
} }
......
package com.viontech.fanxing.query.service.impl; package com.viontech.fanxing.query.service.impl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.viontech.fanxing.commons.base.BaseExample;
import com.viontech.fanxing.commons.base.BaseMapper; import com.viontech.fanxing.commons.base.BaseMapper;
import com.viontech.fanxing.commons.base.BaseServiceImpl; import com.viontech.fanxing.commons.base.BaseServiceImpl;
import com.viontech.fanxing.query.mapper.BehaviorMapper;
import com.viontech.fanxing.commons.model.Behavior; import com.viontech.fanxing.commons.model.Behavior;
import com.viontech.fanxing.commons.model.BehaviorExample;
import com.viontech.fanxing.query.mapper.BehaviorMapper;
import com.viontech.fanxing.query.service.adapter.BehaviorService; import com.viontech.fanxing.query.service.adapter.BehaviorService;
import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service @Service
public class BehaviorServiceImpl extends BaseServiceImpl<Behavior> implements BehaviorService { public class BehaviorServiceImpl extends BaseServiceImpl<Behavior> implements BehaviorService {
@Resource @Resource
...@@ -17,4 +24,24 @@ public class BehaviorServiceImpl extends BaseServiceImpl<Behavior> implements Be ...@@ -17,4 +24,24 @@ public class BehaviorServiceImpl extends BaseServiceImpl<Behavior> implements Be
public BaseMapper<Behavior> getMapper() { public BaseMapper<Behavior> getMapper() {
return behaviorMapper; return behaviorMapper;
} }
@Override
public PageInfo<Behavior> pagedQuery(BaseExample example, int pageNum, int pageSize) {
if (pageSize > 0) {
PageHelper.startPage(pageNum, pageSize);
Page<Behavior> result = (Page<Behavior>) behaviorMapper.selectByExampleWithBLOBs((BehaviorExample) example);
return new PageInfo<>(result);
} else {
List<Behavior> result = behaviorMapper.selectByExampleWithBLOBs((BehaviorExample) example);
Page<Behavior> p = new Page<>();
p.addAll(result);
return new PageInfo<>(p);
}
}
@Override
public List<Behavior> selectByExample(BaseExample example) {
return behaviorMapper.selectByExampleWithBLOBs(((BehaviorExample) example));
}
} }
\ No newline at end of file \ No newline at end of file
...@@ -183,7 +183,7 @@ public class VAServerService { ...@@ -183,7 +183,7 @@ public class VAServerService {
throw new FanXingException("设备离线"); throw new FanXingException("设备离线");
} }
String rtmpUrl = vionConfig.getSrs().getRtmpUrl(taskUnid); String rtmpUrl = vionConfig.getSrs().getRtmpUrl(taskUnid);
String httpUrl = vionConfig.getSrs().getHttpUrl(taskUnid); String httpUrl = "/srs/live/" + taskUnid + ".flv";
vaServerHttpService.startAnalyzeStream(taskUnid, vaServerInfo, rtmpUrl); vaServerHttpService.startAnalyzeStream(taskUnid, vaServerInfo, rtmpUrl);
return httpUrl; return httpUrl;
} else { } else {
......
...@@ -57,5 +57,4 @@ vion: ...@@ -57,5 +57,4 @@ vion:
srs: srs:
ip: 192.168.9.233 ip: 192.168.9.233
rtmp-port: 1935 rtmp-port: 1935
http-port: 30010
receive-result-prefix-path: http://192.168.9.116:30010/api receive-result-prefix-path: http://192.168.9.116:30010/api
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!