Commit 0d99eb1d authored by wangjinjing's avatar wangjinjing

推送车流

parent 2654c420
...@@ -59,13 +59,14 @@ public class ScheduleTaskConfig { ...@@ -59,13 +59,14 @@ public class ScheduleTaskConfig {
} }
} }
/***
@Scheduled(cron = "0 */2 * * * ?")//每2分钟执行一次 * 每2分钟执行一次查询事件推送给广达
private void sendToguangda() { */
@Scheduled(cron = "0 */2 * * * ?")
private void sendToguangdaEvent() {
//查询所有未推送的数据 //查询所有未推送的数据
List<Traffalarmrecord> resultlist=traffalarmrecordService.getTraffalarmrecordBystatus(); List<Traffalarmrecord> resultlist = traffalarmrecordService.getTraffalarmrecordBystatus();
for(Traffalarmrecord record:resultlist) for (Traffalarmrecord record : resultlist) {
{
try { try {
ResultObj obj = eventWriteService.updateAndAutoSendEvent(record); ResultObj obj = eventWriteService.updateAndAutoSendEvent(record);
if (obj.getStatus() != 200) { if (obj.getStatus() != 200) {
...@@ -73,14 +74,16 @@ public class ScheduleTaskConfig { ...@@ -73,14 +74,16 @@ public class ScheduleTaskConfig {
} else { } else {
log.info(record.getRecordid() + " send to guangda success"); log.info(record.getRecordid() + " send to guangda success");
} }
}catch (Exception ex){ } catch (Exception ex) {
log.error(record.getRecordid() + " send to guangda fail"+ex.toString()); log.error(record.getRecordid() + " send to guangda fail" + ex.toString());
} }
} }
} }
// @Scheduled(cron = "0 30/5 6-19 * * ?")//每隔5分钟统计当天目前为止的数据 // @Scheduled(cron = "0 30/5 6-19 * * ?")//每隔5分钟统计当天目前为止的数据
// private void statistoday() { // private void statistoday() {
// //判断是否为空表 // //判断是否为空表
......
...@@ -33,14 +33,4 @@ public class RouterController { ...@@ -33,14 +33,4 @@ public class RouterController {
return "login"; return "login";
} }
/**
* 首页入口
*
* @return
*/
@GetMapping("/{id}/chat")
public String index(@PathVariable("id") String id) {
return "index";
}
} }
...@@ -16,6 +16,8 @@ import org.apache.commons.lang3.StringUtils; ...@@ -16,6 +16,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.websocket.server.PathParam; import javax.websocket.server.PathParam;
...@@ -24,10 +26,7 @@ import java.io.InputStream; ...@@ -24,10 +26,7 @@ import java.io.InputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.*;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@RestController @RestController
...@@ -38,6 +37,8 @@ public class TraffController { ...@@ -38,6 +37,8 @@ public class TraffController {
@Autowired @Autowired
WebSocket webSocket; WebSocket webSocket;
@Autowired
TraffFlowService traffFlowService;
private Map<String, RateLimiter> rateLimiterMap; private Map<String, RateLimiter> rateLimiterMap;
private String port; private String port;
...@@ -45,8 +46,6 @@ public class TraffController { ...@@ -45,8 +46,6 @@ public class TraffController {
private Integer rate = 10; private Integer rate = 10;
private SbtdspsrMapper sbtdspsrMapper; private SbtdspsrMapper sbtdspsrMapper;
@Autowired
TraffFlowService traffFlowService;
@Value("${flv.resisvalue}") @Value("${flv.resisvalue}")
private String resisvalue; private String resisvalue;
...@@ -313,31 +312,63 @@ public class TraffController { ...@@ -313,31 +312,63 @@ public class TraffController {
public ResultObj traffflow(@RequestBody Vehicles vehicles) { public ResultObj traffflow(@RequestBody Vehicles vehicles) {
if ("TRAFFIC_STATISTICS_VEHICLES".equalsIgnoreCase(vehicles.getType())) { if ("TRAFFIC_STATISTICS_VEHICLES".equalsIgnoreCase(vehicles.getType())) {
log.info("Vehicles");
String[] sbAndTd = vehicles.getVideo_id().split("_"); String[] sbAndTd = vehicles.getVideo_id().split("_");
String sbbh = sbAndTd[0]; String sbbh = sbAndTd[0];
int tdbh = Integer.valueOf(sbAndTd[1]) + 1; int tdbh = Integer.valueOf(sbAndTd[1]) + 1;
//重置videoid //根据设备编号查询设备信息
vehicles.setVideo_id(sbbh + "_" + tdbh); List<Sbtdspsr> sbtdspsrList=sbtdspsrMapper.selectBySbbh(sbbh,tdbh);
//直接放入表中 if(sbtdspsrList.size()>0) {
List<Vehiclesdetail> vels = vehicles.getObjs(); //重置videoid
int result = 0; vehicles.setVideo_id(sbbh + "_" + tdbh);
for (Vehiclesdetail detail : vels) { Date date = new Date(Long.valueOf(vehicles.getTs()));
Vehicle v = new Vehicle(); //直接放入表中
v.setId(UUID.randomUUID().toString()); List<Vehiclesdetail> vels = vehicles.getObjs();
v.setCreate_time(new Date(Long.valueOf(vehicles.getTs()))); int result = 0;
v.setType(detail.getType()); int upnum = 0, downnum = 0;
v.setDirection(detail.getDirection()); VideoDeviceTraffic traff = new VideoDeviceTraffic();
v.setRuleTag(detail.getRuleTag()); for (Vehiclesdetail detail : vels) {
v.setClassification_confidence(detail.getClassification_confidence()); Vehicle v = new Vehicle();
v.setVideo_id(vehicles.getVideo_id()); v.setId(UUID.randomUUID().toString());
result = traffFlowService.saveTraffFlowDetail(v); v.setCreate_time(date);
v.setType(detail.getType());
v.setDirection(detail.getDirection());
v.setRuleTag(detail.getRuleTag());
v.setClassification_confidence(detail.getClassification_confidence());
v.setVideo_id(vehicles.getVideo_id());
result = traffFlowService.saveTraffFlowDetail(v);
if(detail.getDirection().equals("1"))
{
upnum++;
}
else if(detail.getDirection().equals("1"))
{
downnum++;
}
}
Sbtdspsr sbtdspsr = sbtdspsrList.get(0);
//发送给广达
traff.setDeviceId(sbtdspsr.getWbbh());
traff.setDateTime(date);
traff.setSsjg(sbtdspsrList.get(0).getXzbh());
traff.setDeviceName(sbtdspsr.getTdmc());
if(upnum>0) {
traff.setFx("1");
traff.setFxmc("上行");
//发送给广达上行数据
log.info("上行traff"+traff.toString());
traffFlowService.sendMessage(traff);
}
if(downnum>0) {
traff.setFx("2");
traff.setFxmc("下行");
//发送给广达上行数
log.info("下行"+traff.toString());
traffFlowService.sendMessage(traff);
}
//根据连接的name ,群发根据videoid 查询的结果
webSocket.GroupSendingByVideoid(vehicles.getVideo_id());
} }
//查询近五分钟的车流量,当天车流量websocket 直接推送过去
// log.info("fivevehivle");
//根据连接的name ,群发根据videoid 查询的结果
webSocket.GroupSendingByVideoid(vehicles.getVideo_id());
} }
return ResultObj.ok(); return ResultObj.ok();
} }
......
...@@ -13,4 +13,6 @@ public class Vehicles { ...@@ -13,4 +13,6 @@ public class Vehicles {
private String video_id; private String video_id;
private String ts; private String ts;
List<Vehiclesdetail> objs; List<Vehiclesdetail> objs;
} }
package com.hzjt.domain;
import java.util.Date;
public class VideoDeviceTraffic {
private String deviceId;
private String deviceName;
private Date dateTime;
private String ssjg;
private String speed;
private String flowRate;
private String fx;
private String fxmc;
private String sjly;
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public Date getDateTime() {
return dateTime;
}
public void setDateTime(Date dateTime) {
this.dateTime = dateTime;
}
public String getSsjg() {
return ssjg;
}
public void setSsjg(String ssjg) {
this.ssjg = ssjg;
}
public String getSpeed() {
return speed;
}
public void setSpeed(String speed) {
this.speed = speed;
}
public String getFlowRate() {
return flowRate;
}
public void setFlowRate(String flowRate) {
this.flowRate = flowRate;
}
public String getFx() {
return fx;
}
public void setFx(String fx) {
this.fx = fx;
}
public String getFxmc() {
return fxmc;
}
public void setFxmc(String fxmc) {
this.fxmc = fxmc;
}
public String getSjly() {
return sjly;
}
public void setSjly(String sjly) {
this.sjly = sjly;
}
@Override
public String toString() {
return "VideoDeviceTraffic{" +
"deviceId='" + deviceId + '\'' +
", deviceName='" + deviceName + '\'' +
", dateTime=" + dateTime +
", ssjg='" + ssjg + '\'' +
", speed='" + speed + '\'' +
", flowRate='" + flowRate + '\'' +
", fx='" + fx + '\'' +
", fxmc='" + fxmc + '\'' +
", sjly='" + sjly + '\'' +
'}';
}
}
package com.hzjt.domain;
public class VideoDeviceTrafficParam extends VideoDeviceTraffic {
private Integer pushstatus;
public Integer getPushstatus() {
return pushstatus;
}
public void setPushstatus(Integer pushstatus) {
this.pushstatus = pushstatus;
}
}
...@@ -3,6 +3,7 @@ package com.hzjt.mapper; ...@@ -3,6 +3,7 @@ package com.hzjt.mapper;
import com.hzjt.domain.DeviceChannelid; import com.hzjt.domain.DeviceChannelid;
import com.hzjt.domain.Traffalarmrecord; import com.hzjt.domain.Traffalarmrecord;
import com.hzjt.domain.TraffalarmrecordResult; import com.hzjt.domain.TraffalarmrecordResult;
import com.hzjt.domain.VideoDeviceTraffic;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.additional.dialect.oracle.InsertListMapper; import tk.mybatis.mapper.additional.dialect.oracle.InsertListMapper;
import tk.mybatis.mapper.common.BaseMapper; import tk.mybatis.mapper.common.BaseMapper;
...@@ -35,4 +36,6 @@ public interface TraffAlarmRecordMapper extends BaseMapper<Traffalarmrecord>, Co ...@@ -35,4 +36,6 @@ public interface TraffAlarmRecordMapper extends BaseMapper<Traffalarmrecord>, Co
List<Traffalarmrecord> getTraffalarmrecordBystatus(); List<Traffalarmrecord> getTraffalarmrecordBystatus();
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.hzjt.mapper; ...@@ -3,6 +3,7 @@ package com.hzjt.mapper;
import com.hzjt.domain.Vehicle; import com.hzjt.domain.Vehicle;
import com.hzjt.domain.Vehicles; import com.hzjt.domain.Vehicles;
import com.hzjt.domain.Vehiclesdetail; import com.hzjt.domain.Vehiclesdetail;
import com.hzjt.domain.VideoDeviceTraffic;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
...@@ -27,4 +28,6 @@ public interface TraffFlowMapper { ...@@ -27,4 +28,6 @@ public interface TraffFlowMapper {
Integer insertOrUpdatevehicleTodaystatistic(); Integer insertOrUpdatevehicleTodaystatistic();
String selectSbtddspsrRtspByVideoid(String videoid); String selectSbtddspsrRtspByVideoid(String videoid);
List<VideoDeviceTraffic> getTraffVicleBystatus();
} }
...@@ -15,17 +15,12 @@ import org.springframework.data.redis.core.StringRedisTemplate; ...@@ -15,17 +15,12 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import sun.misc.BASE64Encoder; import sun.misc.BASE64Encoder;
import tk.mybatis.mapper.entity.Condition; import tk.mybatis.mapper.entity.Condition;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.*; import java.util.concurrent.*;
...@@ -103,7 +98,7 @@ public class EventWriteService { ...@@ -103,7 +98,7 @@ public class EventWriteService {
return resultObj; return resultObj;
} }
private ResultObj sendMessage(Traffalarmrecord traffalarmrecord) throws InterruptedException, ExecutionException, TimeoutException { private ResultObj sendMessage(Traffalarmrecord traffalarmrecord) throws InterruptedException, ExecutionException, TimeoutException {
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8); headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity<Traffalarmrecord> requestEntity = new HttpEntity<>(traffalarmrecord, headers); HttpEntity<Traffalarmrecord> requestEntity = new HttpEntity<>(traffalarmrecord, headers);
......
...@@ -56,7 +56,6 @@ public class QingZhiLoginCacheService { ...@@ -56,7 +56,6 @@ public class QingZhiLoginCacheService {
} }
} }
} catch (Exception e) { } catch (Exception e) {
System.out.println(e.toString());
log.error(e.getMessage()); log.error(e.getMessage());
} }
return token; return token;
......
package com.hzjt.service; package com.hzjt.service;
import com.hzjt.domain.Vehicle; import com.hzjt.domain.*;
import com.hzjt.domain.Vehicles;
import com.hzjt.domain.Vehiclesdetail;
import com.hzjt.mapper.TraffFlowMapper; import com.hzjt.mapper.TraffFlowMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@Slf4j
@Service @Service
public class TraffFlowService { public class TraffFlowService {
@Autowired @Autowired
private TraffFlowMapper traffFlowMapper; private TraffFlowMapper traffFlowMapper;
@Autowired
private RestTemplate restTemplate;
@Value("${qingzhi.eventwrite.timeout}")
private Integer timeout;
@Value("${qingzhi.deviceTraffic.url}")
private String url;
@Autowired
QingZhiLoginCacheService qingZhiLoginCacheService;
public void saveTraffFlow(Vehicles vehicles) { public void saveTraffFlow(Vehicles vehicles) {
traffFlowMapper.add(vehicles); traffFlowMapper.add(vehicles);
...@@ -58,6 +72,22 @@ public class TraffFlowService { ...@@ -58,6 +72,22 @@ public class TraffFlowService {
} }
public List<VideoDeviceTraffic> getTraffVicleBystatus() {
return traffFlowMapper.getTraffVicleBystatus();
}
public void sendMessage(VideoDeviceTraffic videoDeviceTraffic){
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
//判断token
String token= qingZhiLoginCacheService.keepAlive();
headers.add("token", token);
HttpEntity<VideoDeviceTraffic> requestEntity = new HttpEntity<>(videoDeviceTraffic, headers);
try{
ResultObj obj= CompletableFuture.supplyAsync(() -> restTemplate.postForObject(url, requestEntity, ResultObj.class)).get(timeout,TimeUnit.SECONDS);
}catch (Exception ex){
log.error(videoDeviceTraffic.getDeviceId()+videoDeviceTraffic.getDateTime()+":"+ex.toString());
}
}
} }
\ No newline at end of file
...@@ -22,4 +22,8 @@ public class TraffalarmrecordService { ...@@ -22,4 +22,8 @@ public class TraffalarmrecordService {
return traffalarmrecordMapper.getTraffalarmrecordBystatus(); return traffalarmrecordMapper.getTraffalarmrecordBystatus();
} }
} }
\ No newline at end of file
...@@ -15,71 +15,42 @@ mybatis.configuration.default-statement-timeout=3000 ...@@ -15,71 +15,42 @@ mybatis.configuration.default-statement-timeout=3000
#mybatis.mapperLocations = classpath:xxx.xml #mybatis.mapperLocations = classpath:xxx.xml
logging.level.com.hzjt=debug logging.level.com.hzjt=debug
## \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u077F\uFFFD-\uFFFD\uFFFD\uFFFD\uFFFD\u0534\uFFFD\uFFFD\uFFFD\uFFFD spring.datasource.username=test
#spring.datasource.url=jdbc:dm://127.0.0.1:12345/auditlocal_cq spring.datasource.password=test
#spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver spring.datasource.url=jdbc:oracle:thin:@192.168.168.212:1523:helowin
#spring.datasource.username=SYSDBA
#spring.datasource.password=SYSDBA #spring.datasource.username=hzjt
##\uFFFD\uFFFD\uFFFD\u04F3\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD #spring.datasource.password=hzjt
#spring.datasource.type=org.apache.commons.dbcp.BasicDataSource #spring.datasource.url=jdbc:oracle:thin:@33.50.1.22:1521:orcl
#spring.datasource.dbcp2.max-wait-millis=10000
#spring.datasource.dbcp2.min-idle=5
#spring.datasource.dbcp2.initial-size=5
#spring.datasoe.dbcp2.validation-query=SELECT x
#spring.datasource.dbcp2.connection-properties=characterEncoding=utf8
# Mysql\uFFFD\uFFFD\uFFFD\u077F\uFFFD-\uFFFD\uFFFD\uFFFD\uFFFD\u0534\uFFFD\uFFFD\uFFFD\uFFFD
#spring.datasource.username=test
#spring.datasource.password=test
#spring.datasource.url=jdbc:oracle:thin:@192.168.168.212:1523:helowin
spring.datasource.username=hzjt
spring.datasource.password=hzjt
spring.datasource.url=jdbc:oracle:thin:@33.50.1.22:1521:orcl
spring.datasource.driverClassName=oracle.jdbc.OracleDriver spring.datasource.driverClassName=oracle.jdbc.OracleDriver
# druid # druid
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# \uFFFD\uFFFD\u02BC\uFFFD\uFFFD\uFFFD\uFFFD\u0421\uFFFD\uFFFD\uFFFD\uFFFD\u0421\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
spring.datasource.initialSize=5 spring.datasource.initialSize=5
spring.datasource.minIdle=5 spring.datasource.minIdle=5
spring.datasource.maxActive=20 spring.datasource.maxActive=20
# \uFFFD\uFFFD\uFFFD\u00FB\uFFFD\u0221\uFFFD\uFFFD\uFFFD\u04F5\u0234\uFFFD\uFFFD\uFFFD\u02B1\uFFFD\uFFFD\u02B1\uFFFD\uFFFD
spring.datasource.maxWait=60000 spring.datasource.maxWait=60000
# \uFFFD\uFFFD\uFFFD\u00FC\uFFFD\uFFFD\uFFFD\uFFFD\u00F2\u017D\uFFFD\uFFFD\uFFFD\u04BB\uFFFD\u03BC\uFFFD\u28EC\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04AA\uFFFD\u0631\u0575\u013F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04E3\uFFFD\uFFFD\uFFFD\u03BB\uFFFD\u01FA\uFFFD\uFFFD\uFFFD
spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.testWhileIdle=true spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false spring.datasource.testOnReturn=false
# \uFFFD\uFFFDPSCache\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05B8\uFFFD\uFFFD\u00FF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFDPSCache\uFFFD\u0134\uFFFD\u0421
spring.datasource.poolPreparedStatements=true spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# \uFFFD\uFFFD\uFFFD\u00FC\uFFFD\uFFFD\u0373\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0635\uFFFDfilters\uFFFD\uFFFD\u0225\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u063D\uFFFD\uFFFD\uFFFDsql\uFFFD\u07B7\uFFFD\u0373\uFFFD\u01A3\uFFFD'wall'\uFFFD\uFFFD\uFFFD\u06B7\uFFFD\uFFFD\uFFFD\u01FD
spring.datasource.filters=stat,wall spring.datasource.filters=stat,wall
# \u0368\uFFFD\uFFFDconnectProperties\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFDmergeSql\uFFFD\uFFFD\uFFFD\u0723\uFFFD\uFFFD\uFFFDSQL\uFFFD\uFFFD\u00BC
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# \uFFFD\u03F2\uFFFD\uFFFD\uFFFD\uFFFDDruidDataSource\uFFFD\u013C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
spring.datasource.useGlobalDataSourceStat=true spring.datasource.useGlobalDataSourceStat=true
#redis #redis
# Redis\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05B7
spring.redis.host=127.0.0.1 spring.redis.host=127.0.0.1
# Redis\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04F6\u02FF\uFFFD
spring.redis.port=6379 spring.redis.port=6379
# Redis\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uB8E8\u012C\uFFFD\uFFFD\u03AA\uFFFD\u0563\uFFFD
#spring.redis.password=123456 #spring.redis.password=123456
# Redis\uFFFD\uFFFD\uFFFD\u077F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA0\uFFFD\uFFFD
spring.redis.database=0 spring.redis.database=0
# \uFFFD\uFFFD\uFFFD\u04F3\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u02B9\uFFFD\u00F8\uFFFD\u05B5\uFFFD\uFFFD\u02BE\u00FB\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u01A3\uFFFD
spring.redis.pool.max-active=8 spring.redis.pool.max-active=8
# \uFFFD\uFFFD\uFFFD\u04F3\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0234\uFFFD\u02B1\uFFFD\u48E8\u02B9\uFFFD\u00F8\uFFFD\u05B5\uFFFD\uFFFD\u02BE\u00FB\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u01A3\uFFFD
spring.redis.pool.max-wait=5000 spring.redis.pool.max-wait=5000
# \uFFFD\uFFFD\uFFFD\u04F3\uFFFD\uFFFD\u0435\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
spring.redis.pool.max-idle=8 spring.redis.pool.max-idle=8
# \uFFFD\uFFFD\uFFFD\u04F3\uFFFD\uFFFD\u0435\uFFFD\uFFFD\uFFFD\u0421\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
spring.redis.pool.min-idle=0 spring.redis.pool.min-idle=0
# \uFFFD\uFFFD\uFFFD\u04F3\uFFFD\u02B1\u02B1\uFFFD\u48E8\uFFFD\uFFFD\uFFFD\uB8E9
spring.redis.timeout=2000 spring.redis.timeout=2000
#spring-session \u02B9\uFFFD\uFFFD
spring.session.store-type=none spring.session.store-type=none
ip.host=33.57.1.22 ip.host=33.57.1.22
port=21 port=21
...@@ -107,4 +78,5 @@ mybatis.mapper-locations=classpath:mapper/*.xml ...@@ -107,4 +78,5 @@ mybatis.mapper-locations=classpath:mapper/*.xml
spring.mvc.throw-exception-if-no-handler-found=true spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=true spring.resources.add-mappings=true
gs.traff.cloud.web.fileagent.url=ftp://reader:reader@33.50.1.22:21/gstraff/ gs.traff.cloud.web.fileagent.url=ftp://reader:reader@33.50.1.22:21/gstraff/
jms.queueName=demo_queue jms.queueName=demo_queue
\ No newline at end of file qingzhi.deviceTraffic.url=http://33.50.1.213:38080/api/jtldpt/impld/videoDeviceTraffic
\ No newline at end of file
...@@ -164,6 +164,19 @@ ...@@ -164,6 +164,19 @@
select squrllj from sbtdspsr where sbbh||'_'||tdbh =#{videoid} and rownum=1 select squrllj from sbtdspsr where sbbh||'_'||tdbh =#{videoid} and rownum=1
</select> </select>
<select id="getTraffVicleBystatus" resultType="com.hzjt.domain.VideoDeviceTrafficParam">
select
video_id deviceId,
ts dateTime ,
type ,
ruletag,
total
a.pushstatus
from VEHICLESTATISTIC ta
left join TRAFFVICLEWRITERESULT a on a.VIDEOID=b.VIDEOID
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment