Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hzjtpushwebsocket
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gszd
hzjtpushwebsocket
Commits
92b3255a
Commit
92b3255a
authored
Jun 01, 2021
by
wangjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
事件推送
parent
68b02faf
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
154 additions
and
86 deletions
+154
-86
src/main/java/com/hzjt/config/ScheduleTaskConfig.java
src/main/java/com/hzjt/config/ScheduleTaskConfig.java
+19
-8
src/main/java/com/hzjt/controller/RouterController.java
src/main/java/com/hzjt/controller/RouterController.java
+3
-2
src/main/java/com/hzjt/controller/TraffController.java
src/main/java/com/hzjt/controller/TraffController.java
+53
-33
src/main/java/com/hzjt/handler/WebSocket.java
src/main/java/com/hzjt/handler/WebSocket.java
+8
-6
src/main/java/com/hzjt/mapper/TraffFlowMapper.java
src/main/java/com/hzjt/mapper/TraffFlowMapper.java
+1
-1
src/main/java/com/hzjt/redis/Receiver.java
src/main/java/com/hzjt/redis/Receiver.java
+1
-1
src/main/java/com/hzjt/service/EventWriteService.java
src/main/java/com/hzjt/service/EventWriteService.java
+7
-5
src/main/java/com/hzjt/service/TraffFlowService.java
src/main/java/com/hzjt/service/TraffFlowService.java
+7
-4
src/main/resources/application.properties
src/main/resources/application.properties
+7
-7
src/main/resources/mapper/TraffFlow.xml
src/main/resources/mapper/TraffFlow.xml
+48
-19
No files found.
src/main/java/com/hzjt/config/ScheduleTaskConfig.java
View file @
92b3255a
package
com
.
hzjt
.
config
;
package
com
.
hzjt
.
config
;
import
com.alibaba.fastjson.JSON
;
import
com.hzjt.domain.ResultObj
;
import
com.hzjt.domain.ResultObj
;
import
com.hzjt.domain.Traffalarmrecord
;
import
com.hzjt.domain.Traffalarmrecord
;
import
com.hzjt.domain.VideoDeviceTraffic
;
import
com.hzjt.handler.WebSocket
;
import
com.hzjt.handler.WebSocket
;
import
com.hzjt.service.EventWriteService
;
import
com.hzjt.service.EventWriteService
;
import
com.hzjt.service.TraffFlowService
;
import
com.hzjt.service.TraffFlowService
;
...
@@ -18,6 +20,7 @@ import org.springframework.stereotype.Component;
...
@@ -18,6 +20,7 @@ import org.springframework.stereotype.Component;
import
java.net.URI
;
import
java.net.URI
;
import
java.util.Calendar
;
import
java.util.Calendar
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@Slf4j
@Slf4j
@Component
@Component
...
@@ -62,26 +65,34 @@ public class ScheduleTaskConfig {
...
@@ -62,26 +65,34 @@ public class ScheduleTaskConfig {
/***
/***
* 每2分钟执行一次查询事件推送给广达
* 每2分钟执行一次查询事件推送给广达
*/
*/
@Scheduled
(
cron
=
"0 */2 * * * ?"
)
//
@Scheduled(cron = "0 */2 * * * ?")
private
void
sendToguangdaEvent
()
{
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
)
{
log
.
error
(
"2 min send to guangda result"
+
obj
.
getMsg
()+
obj
.
getStatus
());
log
.
error
(
record
.
getRecordid
()
+
" send to guangda success"
);
}
catch
(
Exception
ex
)
{
}
else
{
log
.
info
(
record
.
getRecordid
()
+
" send to guangda fail"
+
obj
.
getMsg
());
}
}
catch
(
Exception
ex
)
{
log
.
error
(
record
.
getRecordid
()
+
" send to guangda fail"
+
ex
.
toString
());
log
.
error
(
record
.
getRecordid
()
+
" send to guangda fail"
+
ex
.
toString
());
}
}
}
}
}
}
/***
* 每5分钟执行一次查询车流推送给广达
*/
@Scheduled
(
cron
=
"0 */5 * * * ?"
)
private
void
sendToguangdaDevice
()
{
log
.
info
(
"fiveflow sendto guangda"
);
//查询所有未推送的数据
List
<
VideoDeviceTraffic
>
trafflist
=
traffFlowService
.
getfiveFlowByVideoid
(
null
);
if
(
trafflist
.
size
()>
0
)
{
log
.
info
(
"fiveflow"
+
JSON
.
toJSONString
(
trafflist
));
traffFlowService
.
sendMessages
(
trafflist
);
}
}
// @Scheduled(cron = "0 30/5 6-19 * * ?")//每隔5分钟统计当天目前为止的数据
// @Scheduled(cron = "0 30/5 6-19 * * ?")//每隔5分钟统计当天目前为止的数据
...
...
src/main/java/com/hzjt/controller/RouterController.java
View file @
92b3255a
package
com
.
hzjt
.
controller
;
package
com
.
hzjt
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.hzjt.domain.VideoDeviceTraffic
;
import
com.hzjt.mapper.TraffFlowMapper
;
import
com.hzjt.mapper.TraffFlowMapper
;
import
com.hzjt.service.TraffFlowService
;
import
com.hzjt.service.TraffFlowService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -9,6 +10,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
...
@@ -9,6 +10,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
...
@@ -39,8 +41,7 @@ TraffFlowService traffFlowService;
...
@@ -39,8 +41,7 @@ TraffFlowService traffFlowService;
@GetMapping
(
"/indexxx"
)
@GetMapping
(
"/indexxx"
)
public
void
indexxx
()
{
public
void
indexxx
()
{
Map
map
=
traffFlowService
.
getfiveFlowByVideoid
(
"1"
);
List
<
VideoDeviceTraffic
>
map
=
traffFlowService
.
getfiveFlowByVideoid
(
"1"
);
System
.
out
.
println
(
map
);
}
}
}
}
src/main/java/com/hzjt/controller/TraffController.java
View file @
92b3255a
...
@@ -123,6 +123,12 @@ public class TraffController {
...
@@ -123,6 +123,12 @@ public class TraffController {
// log.info("video_id值异常 值为:" + videoId);
// log.info("video_id值异常 值为:" + videoId);
return
ResultObj
.
error
(
ResponseEnum
.
E_1002
.
getCode
(),
"video_id值异常 值为:"
+
videoId
);
return
ResultObj
.
error
(
ResponseEnum
.
E_1002
.
getCode
(),
"video_id值异常 值为:"
+
videoId
);
}
}
/* 限流 */
if
(!
getRateLimiter
(
videoId
).
tryAcquire
())
{
log
.
info
(
"[事件推送]->设备"
+
videoId
+
"-推送已达到限流限制"
);
return
ResultObj
.
error
(
ResponseEnum
.
E_9999
.
getCode
(),
"设备"
+
videoId
+
"请求过于频繁"
);
}
String
[]
sbAndTd
=
videoId
.
split
(
"_"
);
String
[]
sbAndTd
=
videoId
.
split
(
"_"
);
String
sbbh
=
sbAndTd
[
0
];
String
sbbh
=
sbAndTd
[
0
];
int
tdbh
=
Integer
.
valueOf
(
sbAndTd
[
1
])
+
1
;
int
tdbh
=
Integer
.
valueOf
(
sbAndTd
[
1
])
+
1
;
...
@@ -167,6 +173,7 @@ public class TraffController {
...
@@ -167,6 +173,7 @@ public class TraffController {
traffAlarmRecord
.
setVideourlfrom
(
trffClientMessage
.
getVideo_record_url
());
traffAlarmRecord
.
setVideourlfrom
(
trffClientMessage
.
getVideo_record_url
());
traffAlarmRecord
.
setCreatetime
(
new
Date
());
traffAlarmRecord
.
setCreatetime
(
new
Date
());
traffAlarmRecord
.
setObjlable
(
trffClientMessage
.
getObjLabel
());
traffAlarmRecord
.
setObjlable
(
trffClientMessage
.
getObjLabel
());
traffAlarmRecord
.
setPushstatus
(
9
);
//设置为未推送
// log.info("selectInworkRectifytimeTraffAlarm" + exists);
// log.info("selectInworkRectifytimeTraffAlarm" + exists);
if
((
traffAlarmRecord
.
getRecordtype
().
equalsIgnoreCase
(
"roadworks_out_of_line"
)
||
traffAlarmRecord
.
getRecordtype
().
equalsIgnoreCase
(
"roadworks"
)))
{
if
((
traffAlarmRecord
.
getRecordtype
().
equalsIgnoreCase
(
"roadworks_out_of_line"
)
||
traffAlarmRecord
.
getRecordtype
().
equalsIgnoreCase
(
"roadworks"
)))
{
...
@@ -262,17 +269,17 @@ public class TraffController {
...
@@ -262,17 +269,17 @@ public class TraffController {
traffAlarmRecord
.
setPushstatus
(
9
);
//待推送及videopath
traffAlarmRecord
.
setPushstatus
(
9
);
//待推送及videopath
traffAlarmRecordMapper
.
updateTraffAlarmRecordUrl
(
traffAlarmRecord
);
traffAlarmRecordMapper
.
updateTraffAlarmRecordUrl
(
traffAlarmRecord
);
//推送给第三方
//推送给第三方
//
if(!manualStatus.equalsIgnoreCase("1")) {
if
(!
manualStatus
.
equalsIgnoreCase
(
"1"
))
{
//
ResultObj obj = eventWriteService.updateAndAutoSendEvent(traffAlarmRecord);
ResultObj
obj
=
eventWriteService
.
updateAndAutoSendEvent
(
traffAlarmRecord
);
//
//
log.info("send to guangda:HTTP_OK" + obj.toString());
// log.info("send to guangda:HTTP_OK" + obj.toString());
//
}
}
}
}
}
else
{
}
else
{
//只更新待推送
//只更新待推送
traffAlarmRecord
.
setPushstatus
(
9
);
traffAlarmRecord
.
setPushstatus
(
9
);
traffAlarmRecordMapper
.
updateTraffAlarmRecordUrl
(
traffAlarmRecord
);
traffAlarmRecordMapper
.
updateTraffAlarmRecordUrl
(
traffAlarmRecord
);
//
ResultObj obj = eventWriteService.updateAndAutoSendEvent(traffAlarmRecord);
ResultObj
obj
=
eventWriteService
.
updateAndAutoSendEvent
(
traffAlarmRecord
);
//
log.info("send to guangda HttpURLConnection.HTTP_Fail--->response message:" + obj.toString());
log
.
info
(
"send to guangda HttpURLConnection.HTTP_Fail--->response message:"
+
obj
.
toString
());
}
}
...
@@ -294,8 +301,8 @@ public class TraffController {
...
@@ -294,8 +301,8 @@ public class TraffController {
if
(!
manualStatus
.
equalsIgnoreCase
(
"1"
))
{
if
(!
manualStatus
.
equalsIgnoreCase
(
"1"
))
{
traffAlarmRecord
.
setPushstatus
(
9
);
traffAlarmRecord
.
setPushstatus
(
9
);
traffAlarmRecordMapper
.
updateTraffAlarmRecordUrl
(
traffAlarmRecord
);
traffAlarmRecordMapper
.
updateTraffAlarmRecordUrl
(
traffAlarmRecord
);
//
ResultObj obj = eventWriteService.updateAndAutoSendEvent(traffAlarmRecord);
ResultObj
obj
=
eventWriteService
.
updateAndAutoSendEvent
(
traffAlarmRecord
);
//
log.info("send to guangda novideopath --->response message" + obj.toString());
log
.
info
(
"send to guangda novideopath --->response message"
+
obj
.
toString
());
}
}
}
}
...
@@ -383,6 +390,19 @@ public class TraffController {
...
@@ -383,6 +390,19 @@ public class TraffController {
webSocket
.
AppointSending
(
rules
.
getVideo_id
(),
JsonUtil
.
beanToString
(
map
));
webSocket
.
AppointSending
(
rules
.
getVideo_id
(),
JsonUtil
.
beanToString
(
map
));
return
ResultObj
.
ok
();
return
ResultObj
.
ok
();
}
}
private
RateLimiter
getRateLimiter
(
String
videoId
)
{
RateLimiter
rateLimiter
;
if
(
rateLimiterMap
.
containsKey
(
videoId
))
{
rateLimiter
=
rateLimiterMap
.
get
(
videoId
);
}
else
{
RateLimiter
value
=
RateLimiter
.
create
(
rate
);
rateLimiter
=
rateLimiterMap
.
putIfAbsent
(
videoId
,
value
);
if
(
rateLimiter
==
null
)
{
rateLimiter
=
value
;
}
}
return
rateLimiter
;
}
...
@@ -430,7 +450,7 @@ public class TraffController {
...
@@ -430,7 +450,7 @@ public class TraffController {
List
<
AutoVehiclesdetail
>
vels
=
vehicles
.
getObjs
();
List
<
AutoVehiclesdetail
>
vels
=
vehicles
.
getObjs
();
int
upnum
=
0
,
downnum
=
0
;
int
upnum
=
0
,
downnum
=
0
;
Date
date
=
new
Date
(
Long
.
valueOf
(
vehicles
.
getTs
()));
Date
date
=
new
Date
(
Long
.
valueOf
(
vehicles
.
getTs
()));
List
<
VideoDeviceTraffic
>
trafflist
=
new
ArrayList
<>();
//
List<VideoDeviceTraffic> trafflist = new ArrayList<>();
for
(
AutoVehiclesdetail
detail
:
vels
)
{
for
(
AutoVehiclesdetail
detail
:
vels
)
{
Vehicle
v
=
new
Vehicle
();
Vehicle
v
=
new
Vehicle
();
...
@@ -443,30 +463,30 @@ public class TraffController {
...
@@ -443,30 +463,30 @@ public class TraffController {
v
.
setVideo_id
(
vehicles
.
getVideo_id
());
v
.
setVideo_id
(
vehicles
.
getVideo_id
());
traffFlowService
.
saveTraffFlowDetail
(
v
);
traffFlowService
.
saveTraffFlowDetail
(
v
);
}
}
Sbtdspsr
sbtdspsr
=
sbtdspsrList
.
get
(
0
);
//
Sbtdspsr sbtdspsr = sbtdspsrList.get(0);
Map
map
=
traffFlowService
.
getfiveFlowByVideoid
(
vehicles
.
getVideo_id
());
//
Map map = traffFlowService.getfiveFlowByVideoid(vehicles.getVideo_id());
//发送给广达
//
//发送给广达
VideoDeviceTraffic
traff
=
new
VideoDeviceTraffic
();
//
VideoDeviceTraffic traff = new VideoDeviceTraffic();
traff
.
setDeviceId
(
sbtdspsr
.
getWbbh
());
//
traff.setDeviceId(sbtdspsr.getWbbh());
traff
.
setDateTime
(
date
);
//
traff.setDateTime(date);
traff
.
setSsjg
(
sbtdspsrList
.
get
(
0
).
getXzbh
());
//
traff.setSsjg(sbtdspsrList.get(0).getXzbh());
traff
.
setDeviceName
(
sbtdspsr
.
getTdmc
());
//
traff.setDeviceName(sbtdspsr.getTdmc());
traff
.
setSjly
(
"zksy"
);
//
traff.setSjly("zksy");
traff
.
setFlowRate
(
map
.
get
(
"upfiveflow"
)==
null
?
"0"
:
String
.
valueOf
(
map
.
get
(
"upfiveflow"
)));
//
traff.setFlowRate(map.get("upfiveflow")==null?"0":String.valueOf(map.get("upfiveflow")));
traff
.
setFxmc
(
"上行"
);
//
traff.setFxmc("上行");
traff
.
setFx
(
"1"
);
//
traff.setFx("1");
trafflist
.
add
(
traff
);
//
trafflist.add(traff);
VideoDeviceTraffic
traffwodn
=
new
VideoDeviceTraffic
();
//
VideoDeviceTraffic traffwodn = new VideoDeviceTraffic();
traffwodn
.
setDeviceId
(
sbtdspsr
.
getWbbh
());
//
traffwodn.setDeviceId(sbtdspsr.getWbbh());
traffwodn
.
setDateTime
(
date
);
//
traffwodn.setDateTime(date);
traffwodn
.
setSsjg
(
sbtdspsrList
.
get
(
0
).
getXzbh
());
//
traffwodn.setSsjg(sbtdspsrList.get(0).getXzbh());
traffwodn
.
setDeviceName
(
sbtdspsr
.
getTdmc
());
//
traffwodn.setDeviceName(sbtdspsr.getTdmc());
traffwodn
.
setSjly
(
"zksy"
);
//
traffwodn.setSjly("zksy");
traffwodn
.
setFlowRate
(
map
.
get
(
"downfiveflow"
)==
null
?
"0"
:
String
.
valueOf
(
map
.
get
(
"downfiveflow"
)));
//
traffwodn.setFlowRate(map.get("downfiveflow")==null?"0":String.valueOf(map.get("downfiveflow")));
traffwodn
.
setFxmc
(
"下行"
);
//
traffwodn.setFxmc("下行");
traffwodn
.
setFx
(
"2"
);
//
traffwodn.setFx("2");
trafflist
.
add
(
traffwodn
);
//
trafflist.add(traffwodn);
traffFlowService
.
sendMessages
(
trafflist
);
//
traffFlowService.sendMessages(trafflist);
//查询近五分钟的车流量,当天车流量websocket 直接推送过去
//查询近五分钟的车流量,当天车流量websocket 直接推送过去
//根据连接的name ,群发根据videoid 查询的结果
//根据连接的name ,群发根据videoid 查询的结果
webSocket
.
GroupSendingByVideoid
(
vehicles
.
getVideo_id
());
webSocket
.
GroupSendingByVideoid
(
vehicles
.
getVideo_id
());
...
...
src/main/java/com/hzjt/handler/WebSocket.java
View file @
92b3255a
...
@@ -91,16 +91,18 @@ public class WebSocket {
...
@@ -91,16 +91,18 @@ public class WebSocket {
* @param message
* @param message
*/
*/
public
void
GroupSending
(
String
message
)
{
public
void
GroupSending
(
String
message
)
{
synchronized
(
session
)
{
for
(
String
name
:
webSocketSet
.
keySet
())
{
for
(
String
name
:
webSocketSet
.
keySet
())
{
try
{
try
{
if
(
null
!=
webSocketSet
.
get
(
name
)
&&
null
!=
webSocketSet
.
get
(
name
).
session
&&
null
!=
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
())
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
().
sendText
(
message
);
if
(
null
!=
webSocketSet
.
get
(
name
)
&&
null
!=
webSocketSet
.
get
(
name
).
session
&&
null
!=
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
())
}
catch
(
Exception
e
)
{
synchronized
(
webSocketSet
.
get
(
name
).
session
)
{
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
().
sendText
(
message
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
}
}
}
}
}
/**
/**
...
@@ -141,7 +143,7 @@ public class WebSocket {
...
@@ -141,7 +143,7 @@ public class WebSocket {
*/
*/
public
void
AppointSending
(
String
name
,
String
message
)
{
public
void
AppointSending
(
String
name
,
String
message
)
{
if
(
null
!=
webSocketSet
.
get
(
name
)
&&
null
!=
webSocketSet
.
get
(
name
).
session
&&
null
!=
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
())
{
if
(
null
!=
webSocketSet
.
get
(
name
)
&&
null
!=
webSocketSet
.
get
(
name
).
session
&&
null
!=
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
())
{
synchronized
(
session
)
{
synchronized
(
webSocketSet
.
get
(
name
).
session
)
{
try
{
try
{
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
().
sendText
(
message
);
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
().
sendText
(
message
);
...
...
src/main/java/com/hzjt/mapper/TraffFlowMapper.java
View file @
92b3255a
...
@@ -18,7 +18,7 @@ public interface TraffFlowMapper {
...
@@ -18,7 +18,7 @@ public interface TraffFlowMapper {
List
<
Map
>
selectFiveAndDayFlow
(
String
videoid
);
List
<
Map
>
selectFiveAndDayFlow
(
String
videoid
);
List
<
Map
>
selectFiveAndTypeDayFlow
(
String
videoid
);
List
<
Map
>
selectFiveAndTypeDayFlow
(
String
videoid
);
Map
getfiveFlowByVideoid
(
String
videoid
);
List
<
VideoDeviceTraffic
>
getfiveFlowByVideoid
(
String
videoid
);
Integer
statisVehiclesByDay
();
Integer
statisVehiclesByDay
();
...
...
src/main/java/com/hzjt/redis/Receiver.java
View file @
92b3255a
...
@@ -151,7 +151,7 @@ public class Receiver {
...
@@ -151,7 +151,7 @@ public class Receiver {
//推送给第三方
//推送给第三方
ResultObj
obj
=
eventWriteService
.
updateAndAutoSendEvent
(
traffAlarmRecord
);
ResultObj
obj
=
eventWriteService
.
updateAndAutoSendEvent
(
traffAlarmRecord
);
//
log.info("调用接口推送给广达返回信息:" + obj.toString());
log
.
info
(
"调用接口推送给广达返回信息:"
+
obj
.
toString
());
}
}
}
}
...
...
src/main/java/com/hzjt/service/EventWriteService.java
View file @
92b3255a
...
@@ -154,15 +154,16 @@ public class EventWriteService {
...
@@ -154,15 +154,16 @@ public class EventWriteService {
eventWriteParam
.
setEventProof5
(
Img
!=
null
?
base64Encoder
.
encode
(
Img
)
:
null
);
eventWriteParam
.
setEventProof5
(
Img
!=
null
?
base64Encoder
.
encode
(
Img
)
:
null
);
}
}
if
(
traffalarmrecord
.
getVideopath
()
!=
null
)
{
//
if(traffalarmrecord.getVideopath() != null ) {
byte
[]
video
=
FTPUtil
.
getFtpPicBytes
(
traffalarmrecord
.
getVideopath
());
//
byte[] video = FTPUtil.getFtpPicBytes(traffalarmrecord.getVideopath());
eventWriteParam
.
setEventvideo1
(
video
!=
null
?
base64Encoder
.
encode
(
video
)
:
null
);
//
eventWriteParam.setEventvideo1(video != null ? base64Encoder.encode(video) : null);
}
//
}
//String strBase64 = new BASE64Encoder().encode(FTPUtil.getFtpPicBytes(strings.get(i).get("PICPATH1").toString()));
//String strBase64 = new BASE64Encoder().encode(FTPUtil.getFtpPicBytes(strings.get(i).get("PICPATH1").toString()));
WriteResultObj
writeResultObj
;
WriteResultObj
writeResultObj
;
Long
endtime
=
System
.
currentTimeMillis
();
Long
endtime
=
System
.
currentTimeMillis
();
try
{
try
{
log
.
info
(
"eventWriteParam========"
+
eventWriteParam
.
toString
());
writeResultObj
=
sendMessage
(
eventWriteParam
);
writeResultObj
=
sendMessage
(
eventWriteParam
);
}
catch
(
TimeoutException
e
)
{
}
catch
(
TimeoutException
e
)
{
log
.
error
(
"事件推送eventwrite - sendEvent 请求超时:"
+
"事件="
+
traffalarmrecord
.
toString
()+
",错误原因="
+
e
.
toString
()+
",请求总消耗时长"
+(
endtime
-
starttime
)+
"毫秒,"
+
writeInfoStr
(
eventWriteParam
));
log
.
error
(
"事件推送eventwrite - sendEvent 请求超时:"
+
"事件="
+
traffalarmrecord
.
toString
()+
",错误原因="
+
e
.
toString
()+
",请求总消耗时长"
+(
endtime
-
starttime
)+
"毫秒,"
+
writeInfoStr
(
eventWriteParam
));
...
@@ -172,7 +173,7 @@ public class EventWriteService {
...
@@ -172,7 +173,7 @@ public class EventWriteService {
"nt 请求异常:"
+
"事件="
+
traffalarmrecord
.
toString
()+
",错误原因="
+
e
.
toString
()+
",请求总消耗时长"
+(
endtime
-
starttime
)+
"毫秒,"
+
writeInfoStr
(
eventWriteParam
));
"nt 请求异常:"
+
"事件="
+
traffalarmrecord
.
toString
()+
",错误原因="
+
e
.
toString
()+
",请求总消耗时长"
+(
endtime
-
starttime
)+
"毫秒,"
+
writeInfoStr
(
eventWriteParam
));
return
ResultObj
.
error
(
ResponseEnum
.
E_9999
.
getCode
(),
e
.
toString
());
return
ResultObj
.
error
(
ResponseEnum
.
E_9999
.
getCode
(),
e
.
toString
());
}
}
// log.info("事件推送eventwrite - sendEvent 请求成功:"+"事件
="+traffalarmrecord.toString()+",请求总消耗时长"+(endtime-starttime)+"毫秒,"+writeInfoStr(eventWriteParam));
log
.
info
(
"事件推送eventwrite - sendEvent success:"
+
"
="
+
traffalarmrecord
.
toString
()+
",请求总消耗时长"
+(
endtime
-
starttime
)+
"毫秒,"
+
writeInfoStr
(
eventWriteParam
));
dealResult
(
writeResultObj
,
traffalarmrecord
);
dealResult
(
writeResultObj
,
traffalarmrecord
);
return
ResultObj
.
error
(
writeResultObj
.
getStatus
(),
writeResultObj
.
getMessage
(),
writeResultObj
.
getData
());
return
ResultObj
.
error
(
writeResultObj
.
getStatus
(),
writeResultObj
.
getMessage
(),
writeResultObj
.
getData
());
}
}
...
@@ -194,6 +195,7 @@ public class EventWriteService {
...
@@ -194,6 +195,7 @@ public class EventWriteService {
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON_UTF8
);
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON_UTF8
);
String
token
=
stringRedisTemplate
.
opsForValue
().
get
(
qztoken
);
String
token
=
stringRedisTemplate
.
opsForValue
().
get
(
qztoken
);
headers
.
add
(
"token"
,
token
);
headers
.
add
(
"token"
,
token
);
log
.
info
(
"token========"
+
token
);
HttpEntity
<
List
<
EventWriteParam
>>
requestEntity
=
new
HttpEntity
<>(
list
,
headers
);
HttpEntity
<
List
<
EventWriteParam
>>
requestEntity
=
new
HttpEntity
<>(
list
,
headers
);
return
CompletableFuture
.
supplyAsync
(()
->
restTemplate
.
postForObject
(
url
,
requestEntity
,
WriteResultObj
.
class
)).
get
(
timeout
,
TimeUnit
.
MILLISECONDS
);
return
CompletableFuture
.
supplyAsync
(()
->
restTemplate
.
postForObject
(
url
,
requestEntity
,
WriteResultObj
.
class
)).
get
(
timeout
,
TimeUnit
.
MILLISECONDS
);
}
}
...
...
src/main/java/com/hzjt/service/TraffFlowService.java
View file @
92b3255a
package
com
.
hzjt
.
service
;
package
com
.
hzjt
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.hzjt.domain.*
;
import
com.hzjt.domain.*
;
import
com.hzjt.mapper.TraffFlowMapper
;
import
com.hzjt.mapper.TraffFlowMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -73,7 +74,7 @@ public class TraffFlowService {
...
@@ -73,7 +74,7 @@ public class TraffFlowService {
}
}
public
Map
getfiveFlowByVideoid
(
String
videoid
)
{
public
List
<
VideoDeviceTraffic
>
getfiveFlowByVideoid
(
String
videoid
)
{
return
traffFlowMapper
.
getfiveFlowByVideoid
(
videoid
);
return
traffFlowMapper
.
getfiveFlowByVideoid
(
videoid
);
...
@@ -106,12 +107,14 @@ public class TraffFlowService {
...
@@ -106,12 +107,14 @@ public class TraffFlowService {
//判断token
//判断token
String
token
=
qingZhiLoginCacheService
.
keepAlive
();
String
token
=
qingZhiLoginCacheService
.
keepAlive
();
headers
.
add
(
"token"
,
token
);
headers
.
add
(
"token"
,
token
);
log
.
info
(
"fiveflow token"
+
token
);
log
.
info
(
"fiveflow url"
+
url
);
HttpEntity
<
List
<
VideoDeviceTraffic
>>
requestEntity
=
new
HttpEntity
<>(
list
,
headers
);
HttpEntity
<
List
<
VideoDeviceTraffic
>>
requestEntity
=
new
HttpEntity
<>(
list
,
headers
);
try
{
try
{
ResultObj
obj
=
CompletableFuture
.
supplyAsync
(()
->
restTemplate
.
postForObject
(
url
,
requestEntity
,
ResultObj
.
class
)).
get
(
timeout
,
TimeUnit
.
SECONDS
);
ResultObj
obj
=
CompletableFuture
.
supplyAsync
(()
->
restTemplate
.
postForObject
(
url
,
requestEntity
,
ResultObj
.
class
)).
get
(
timeout
,
TimeUnit
.
MILLI
SECONDS
);
log
.
info
(
"send devicelist
result "
+
obj
.
getMsg
());
log
.
info
(
"send devicelist
to guangda result "
+
obj
.
getStatus
()+
obj
.
getData
()
+
obj
.
getMsg
());
}
catch
(
Exception
ex
){
}
catch
(
Exception
ex
){
log
.
error
(
"send
to guangda list
error:"
+
ex
.
toString
());
log
.
error
(
"send
devicelist to guangda
error:"
+
ex
.
toString
());
}
}
}
}
}
}
\ No newline at end of file
src/main/resources/application.properties
View file @
92b3255a
...
@@ -13,15 +13,15 @@ mybatis.configuration.map-underscore-to-camel-case=true
...
@@ -13,15 +13,15 @@ mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.default-fetch-size
=
100
mybatis.configuration.default-fetch-size
=
100
mybatis.configuration.default-statement-timeout
=
3000
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
spring.datasource.username
=
test
#
spring.datasource.username=test
spring.datasource.password
=
test
#
spring.datasource.password=test
spring.datasource.url
=
jdbc:oracle:thin:@192.168.168.212:1523:helowin
#
spring.datasource.url=jdbc:oracle:thin:@192.168.168.212:1523:helowin
#
spring.datasource.username=hzjt
spring.datasource.username
=
hzjt
#
spring.datasource.password=hzjt
spring.datasource.password
=
hzjt
#
spring.datasource.url=jdbc:oracle:thin:@33.50.1.22:1521:orcl
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
...
...
src/main/resources/mapper/TraffFlow.xml
View file @
92b3255a
...
@@ -175,26 +175,55 @@
...
@@ -175,26 +175,55 @@
from VEHICLESTATISTIC ta
from VEHICLESTATISTIC ta
left join TRAFFVICLEWRITERESULT a on a.VIDEOID=b.VIDEOID
left join TRAFFVICLEWRITERESULT a on a.VIDEOID=b.VIDEOID
</select>
</select>
<select
id=
"getfiveFlowByVideoid"
resultType=
"java.util.HashMap"
>
<select
id=
"getfiveFlowByVideoid"
resultType=
"com.hzjt.domain.VideoDeviceTraffic"
>
select NVL(sum(case
SELECT
when ruletag = '2' then
wbbh deviceId,
1
tdmc deviceName,
else
SYSDATE dateTime,
0
xzbh ssjg,
end),
flow flowRate,
0)as "downfiveflow",
'1' fx,
NVL(sum(case
'' fxmc,
when ruletag = '1' then
'zksy' sjly
1
FROM
else
sbtdspsr b
0
inner JOIN (
end),
SELECT
0) as "upfiveflow"
NVL(COUNT(*), 0) flow,
from vehicle
video_id
where CREATE_TIME >= SYSDATE - 5 / 1440 and video_id=#{videoid}
FROM
vehicle
WHERE
ruletag = '1'
AND CREATE_TIME >= SYSDATE - 5 / 1440
GROUP BY
video_id
) A ON video_id = CONCAT (CONCAT(b.sbbh, '_'), b.tdbh)
UNION ALL
SELECT
wbbh deviceId,
tdmc deviceName,
SYSDATE dateTime,
xzbh ssjg,
flow flowRate,
'2' fx,
'' fxmc,
'zksy' sjly
FROM
sbtdspsr b
inner JOIN (
SELECT
NVL (COUNT(*), 0) flow,
video_id
FROM
vehicle
WHERE
ruletag = '2'
AND CREATE_TIME >= SYSDATE - 5 / 1440
GROUP BY
video_id
) A ON video_id = CONCAT (CONCAT(b.sbbh, '_'), b.tdbh)
</select>
</select>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment