Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hzjtpushdateService
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
jianjin
hzjtpushdateService
Commits
0059040c
Commit
0059040c
authored
Dec 23, 2020
by
高飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决推送总是少推送几条数据的问题,定时抽取前一天vehicle 数据的时间问题
parent
bdc1180e
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
195 additions
and
41 deletions
+195
-41
src/main/java/com/hzjt/config/ScheduleTaskConfig.java
src/main/java/com/hzjt/config/ScheduleTaskConfig.java
+3
-3
src/main/java/com/hzjt/controller/TraffController.java
src/main/java/com/hzjt/controller/TraffController.java
+145
-9
src/main/java/com/hzjt/handler/WebSocket.java
src/main/java/com/hzjt/handler/WebSocket.java
+2
-2
src/main/java/com/hzjt/listener/MyApplicationStartingEventListener.java
...com/hzjt/listener/MyApplicationStartingEventListener.java
+6
-6
src/main/java/com/hzjt/mapper/TraffAlarmRecordMapper.java
src/main/java/com/hzjt/mapper/TraffAlarmRecordMapper.java
+1
-1
src/main/java/com/hzjt/mapper/TraffFlowMapper.java
src/main/java/com/hzjt/mapper/TraffFlowMapper.java
+6
-1
src/main/java/com/hzjt/service/CacheLoadService.java
src/main/java/com/hzjt/service/CacheLoadService.java
+3
-2
src/main/java/com/hzjt/service/QingZhiLoginCacheService.java
src/main/java/com/hzjt/service/QingZhiLoginCacheService.java
+7
-4
src/main/java/com/hzjt/service/TraffFlowService.java
src/main/java/com/hzjt/service/TraffFlowService.java
+2
-2
src/main/java/com/hzjt/service/TraffalarmrecordService.java
src/main/java/com/hzjt/service/TraffalarmrecordService.java
+2
-2
src/main/java/com/hzjt/service/TraffdevicewriteresultService.java
.../java/com/hzjt/service/TraffdevicewriteresultService.java
+14
-5
src/main/resources/mapper/TraffFlow.xml
src/main/resources/mapper/TraffFlow.xml
+2
-2
src/main/resources/mapper/Traffalarmrecord.xml
src/main/resources/mapper/Traffalarmrecord.xml
+2
-2
No files found.
src/main/java/com/hzjt/config/ScheduleTaskConfig.java
View file @
0059040c
...
@@ -30,11 +30,11 @@ public class ScheduleTaskConfig {
...
@@ -30,11 +30,11 @@ public class ScheduleTaskConfig {
@Scheduled
(
cron
=
"0 0 2 * * ? "
)
//每天凌晨2点执行
@Scheduled
(
cron
=
"0 0 2 * * ? "
)
//每天凌晨2点执行
private
void
statis
()
{
private
void
statis
()
{
log
.
info
(
"每天凌晨2点执行前一天数据整合"
);
log
.
info
(
"每天凌晨2点执行前一天数据整合"
);
String
date
=
DateUtils
.
getYesterday
(-
1
);
//
String date = DateUtils.getYesterday(-1);
//抽取前一天的车流量和事件统计数据入表
//抽取前一天的车流量和事件统计数据入表
Integer
result
=
traffFlowService
.
statisVehiclesByDay
(
date
);
Integer
result
=
traffFlowService
.
statisVehiclesByDay
();
//抽取前一天的事件统计到新表中
//抽取前一天的事件统计到新表中
Integer
resultrecord
=
traffalarmrecordService
.
statisTraffalarmrecordstatByDay
(
date
);
Integer
resultrecord
=
traffalarmrecordService
.
statisTraffalarmrecordstatByDay
();
//
//
// //删除当天的数据
// //删除当天的数据
// traffFlowService.deleteVehiclesByDay();
// traffFlowService.deleteVehiclesByDay();
...
...
src/main/java/com/hzjt/controller/TraffController.java
View file @
0059040c
...
@@ -4,25 +4,32 @@ import com.alibaba.fastjson.JSONArray;
...
@@ -4,25 +4,32 @@ import com.alibaba.fastjson.JSONArray;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.util.concurrent.RateLimiter
;
import
com.google.common.util.concurrent.RateLimiter
;
import
com.hzjt.domain.*
;
import
com.hzjt.domain.*
;
import
com.hzjt.handler.FileTransferManager
;
import
com.hzjt.handler.WebSocket
;
import
com.hzjt.handler.WebSocket
;
import
com.hzjt.mapper.SbtdspsrMapper
;
import
com.hzjt.mapper.SbtdspsrMapper
;
import
com.hzjt.mapper.TraffAlarmRecordMapper
;
import
com.hzjt.redis.RedisDao
;
import
com.hzjt.service.EventWriteService
;
import
com.hzjt.service.FtpService
;
import
com.hzjt.service.ImportService
;
import
com.hzjt.service.ImportService
;
import
com.hzjt.service.TraffFlowService
;
import
com.hzjt.service.TraffFlowService
;
import
com.hzjt.util.DateUtils
;
import
com.hzjt.util.*
;
import
com.hzjt.util.JsonUtil
;
import
com.hzjt.util.RedisEnum
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
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.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ScheduledExecutorService
;
import
java.util.concurrent.TimeUnit
;
@RestController
@RestController
...
@@ -48,8 +55,27 @@ public class TraffController {
...
@@ -48,8 +55,27 @@ public class TraffController {
@Autowired
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
private
StringRedisTemplate
stringRedisTemplate
;
@Autowired
RedisDao
redisDao
;
@Autowired
private
TraffAlarmRecordMapper
traffAlarmRecordMapper
;
@Autowired
FtpService
ftpService
;
@Autowired
EventWriteService
eventWriteService
;
@Value
(
"ftpIp"
)
String
ftpIp
;
@Value
(
"ftpPort"
)
private
String
ftpPort
;
@Value
(
"ftpUsername"
)
private
String
ftpUsername
;
@Value
(
"ftpPassword"
)
private
String
ftpPassword
;
@Value
(
"${alarmrecord.check.enable}"
)
private
String
checkEnable
;
// @Autowired
// @Autowired
...
@@ -58,6 +84,8 @@ public class TraffController {
...
@@ -58,6 +84,8 @@ public class TraffController {
private
static
final
String
TYPE
=
"TRAFFIC_INCIDENT_ALARM"
;
private
static
final
String
TYPE
=
"TRAFFIC_INCIDENT_ALARM"
;
ScheduledExecutorService
schedulepool
=
Executors
.
newScheduledThreadPool
(
5
);
//创
@Autowired
@Autowired
public
TraffController
(
public
TraffController
(
@Value
(
"${port}"
)
String
port
,
@Value
(
"${port}"
)
String
port
,
...
@@ -120,16 +148,124 @@ public class TraffController {
...
@@ -120,16 +148,124 @@ public class TraffController {
WebSocket
.
GroupSending
(
JsonUtil
.
beanToString
(
map
));
WebSocket
.
GroupSending
(
JsonUtil
.
beanToString
(
map
));
try
{
// 清空redis中的部分旧数据
try
{
// 清空redis中的部分旧数据
importService
.
cleanCache
();
//
importService.cleanCache();
// 将参数result中的部分数据存入redis中,并把格式校验成功的数据发布至对应频道中
// 将参数result中的部分数据存入redis中,并把格式校验成功的数据发布至对应频道中
importService
.
cacheAndPublish
(
JsonUtil
.
beanToString
(
trffClientMessage
));
//
importService.cacheAndPublish(JsonUtil.beanToString(trffClientMessage));
sendevent
(
trffClientMessage
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"MessageController receive putData error:"
+
e
.
toString
());
log
.
error
(
"MessageController receive putData error:"
+
e
.
toString
());
}
}
return
ResultObj
.
ok
(
trffClientMessage
);
return
ResultObj
.
ok
(
trffClientMessage
);
}
}
public
void
sendevent
(
Alarm
trffClientMessage
){
List
<
String
>
imgBase64List
=
trffClientMessage
.
getImg_base64
();
Traffalarmrecord
traffAlarmRecord
=
new
Traffalarmrecord
();
String
imgEnumHead
=
"IMG"
;
Ftp
ftp
=
ftpService
.
reloadFtp
();
for
(
int
i
=
0
;
i
<
imgBase64List
.
size
();
i
++)
{
/* 图片上传 */
String
path
=
trffClientMessage
.
getVideo_id
()
+
"/"
+
DateUtils
.
formatCurrDayNoSign
();
String
fileName
=
UUIDUtils
.
createuuid
()
+
".jpg"
;
if
(
FTPUtil
.
uploadFile
(
ftp
,
path
,
fileName
,
imgBase64List
.
get
(
i
)))
{
TraffAlarmRecordImgEnum
.
valueOf
(
imgEnumHead
+
i
).
setImg
(
traffAlarmRecord
,
FTPUtil
.
getFtpUrl
(
ftp
)
+
path
+
"/"
+
fileName
);
}
}
List
<
String
>
imgUrls
=
trffClientMessage
.
getImg_urls
();
for
(
int
i
=
0
;
i
<
imgUrls
.
size
();
i
++)
{
TraffAlarmRecordFromImgEnum
.
valueOf
(
imgEnumHead
+
i
).
setImg
(
traffAlarmRecord
,
imgUrls
.
get
(
i
));
}
String
[]
videoIdArr
=
trffClientMessage
.
getVideo_id
().
split
(
"_"
);
String
fdid
=
videoIdArr
[
0
];
traffAlarmRecord
.
setFdid
(
fdid
);
Integer
channelid
=
Integer
.
valueOf
(
videoIdArr
[
1
])
+
1
;
traffAlarmRecord
.
setChannelid
(
channelid
);
if
(
StringEnum
.
ONE
.
getValue
().
equals
(
checkEnable
))
{
/* 9:免审 */
traffAlarmRecord
.
setCheckstatus
(
9
);
}
int
recordid
=
traffAlarmRecordMapper
.
selectmax
();
traffAlarmRecord
.
setRecordid
((
long
)(
recordid
+
1
));
traffAlarmRecord
.
setProcessstatus
(
"0"
);
traffAlarmRecord
.
setAreaid
(
Long
.
valueOf
(
trffClientMessage
.
getDept
()));
traffAlarmRecord
.
setRecordtype
(
trffClientMessage
.
getIncident_type
().
toLowerCase
());
traffAlarmRecord
.
setVideourlfrom
(
trffClientMessage
.
getVideo_record_url
());
traffAlarmRecord
.
setRecordtime
(
new
Date
(
Long
.
valueOf
(
trffClientMessage
.
getTs
())));
traffAlarmRecord
.
setCreatetime
(
new
Date
());
traffAlarmRecord
.
setObjlable
(
trffClientMessage
.
getObjLabel
());
traffAlarmRecord
.
setPushstatus
(
9
);
//设置为未推送
traffAlarmRecordMapper
.
inserTraffAlarmRecord
(
traffAlarmRecord
);
try
{
String
basepath
=
"gstraff/"
+
traffAlarmRecord
.
getFdid
()
+
(
traffAlarmRecord
.
getChannelid
()
<
10
?
"0"
+
traffAlarmRecord
.
getChannelid
()
:
traffAlarmRecord
.
getChannelid
())
+
"/"
+
DateUtils
.
formatCurrDayNoSign
();
Map
<
String
,
Object
>
transferRecordMap
=
new
HashMap
<>();
FileTransferManager
.
fetchUrlsFromRecord
(
traffAlarmRecord
,
transferRecordMap
);
List
<
TransferResult
>
results
=
FileTransferManager
.
transferFile
(
transferRecordMap
,
ftp
,
basepath
);
log
.
info
(
"缓存数据上传结果:"
+
results
.
toString
());
Traffalarmrecord
recordBak
=
FileTransferManager
.
traffAlarmRecordUrlUpdate
(
results
);
traffAlarmRecord
.
setImg2path
(
recordBak
.
getImg2path
());
traffAlarmRecord
.
setImg3path
(
recordBak
.
getImg3path
());
traffAlarmRecord
.
setImg4path
(
recordBak
.
getImg4path
());
traffAlarmRecord
.
setImg5path
(
recordBak
.
getImg5path
());
traffAlarmRecord
.
setVideopath
(
recordBak
.
getVideopath
());
if
(
traffAlarmRecord
!=
null
&&
traffAlarmRecord
.
getRecordid
()
!=
null
)
{
traffAlarmRecordMapper
.
updateTraffAlarmRecordUrl
(
traffAlarmRecord
);
}
//如果监控视频为空,延时加载重新获取
if
(
null
==
recordBak
.
getVideopath
()
||
""
.
equalsIgnoreCase
(
recordBak
.
getVideopath
()))
{
schedulepool
.
schedule
(()->{
for
(
String
key
:
transferRecordMap
.
keySet
())
{
if
(
key
.
equals
(
"videopath"
))
{
final
String
url
=
transferRecordMap
.
get
(
key
).
toString
();
try
{
HttpURLConnection
connection
=
(
HttpURLConnection
)
new
URL
(
url
).
openConnection
();
//延迟连接
connection
.
setReadTimeout
(
2000
);
connection
.
setConnectTimeout
(
3000
);
connection
.
setRequestMethod
(
"GET"
);
String
pname
=
DateUtils
.
formatCurrDayNoSign
()
+
"_"
+
recordid
+
"_0000_"
+
key
.
replace
(
"path"
,
""
);
String
fileName
=
pname
+
".mp4"
;
String
ftputl
=
FTPUtil
.
getFtpUrl
(
ftp
)
+
basepath
+
"/"
+
fileName
;
if
(
connection
.
getResponseCode
()
==
HttpURLConnection
.
HTTP_OK
)
{
InputStream
inputStream
=
connection
.
getInputStream
();
log
.
info
(
"url:"
,
url
,
" --- "
+
"key:"
,
key
);
boolean
r
=
FTPUtil
.
uploadFile
(
ftp
,
basepath
,
fileName
,
inputStream
);
if
(
r
)
traffAlarmRecord
.
setVideopath
(
ftputl
);
//只更新监控
if
(
traffAlarmRecord
!=
null
&&
traffAlarmRecord
.
getRecordid
()
!=
null
)
{
traffAlarmRecordMapper
.
updateTraffAlarmRecordUrl
(
traffAlarmRecord
);
//推送给第三方
ResultObj
obj
=
eventWriteService
.
updateAndAutoSendEvent
(
traffAlarmRecord
);
log
.
info
(
"调用接口推送给广达返回信息:"
+
obj
.
toString
());
}
}
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
e
.
toString
());
log
.
error
(
e
.
toString
());
return
0
;
}
}
}
return
1
;
},
30
,
TimeUnit
.
SECONDS
);
//等待30秒钟执行
}
else
{
//推送给第三方
ResultObj
obj
=
eventWriteService
.
updateAndAutoSendEvent
(
traffAlarmRecord
);
log
.
info
(
"调用接口推送给广达返回信息:"
+
obj
.
toString
());
}
}
catch
(
Exception
e
)
{
log
.
error
(
"解析事件告警数据异常 :"
+
e
.
getMessage
());
}
}
private
RateLimiter
getRateLimiter
(
String
videoId
)
{
private
RateLimiter
getRateLimiter
(
String
videoId
)
{
RateLimiter
rateLimiter
;
RateLimiter
rateLimiter
;
...
...
src/main/java/com/hzjt/handler/WebSocket.java
View file @
0059040c
...
@@ -110,14 +110,14 @@ public class WebSocket {
...
@@ -110,14 +110,14 @@ public class WebSocket {
try
{
try
{
List
<
Map
>
map
=
new
ArrayList
<>();
List
<
Map
>
map
=
new
ArrayList
<>();
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
())
{
log
.
info
(
"name"
+
name
);
//
log.info("name" + name);
List
<
Map
>
dDayFlowmap
=
traffFlowService
.
selectFiveAndDayFlow
(
name
);
List
<
Map
>
dDayFlowmap
=
traffFlowService
.
selectFiveAndDayFlow
(
name
);
if
(
null
!=
dDayFlowmap
)
if
(
null
!=
dDayFlowmap
)
map
.
addAll
(
dDayFlowmap
);
map
.
addAll
(
dDayFlowmap
);
List
<
Map
>
TypeDayFlow
=
traffFlowService
.
selectFiveAndTypeDayFlow
(
name
);
List
<
Map
>
TypeDayFlow
=
traffFlowService
.
selectFiveAndTypeDayFlow
(
name
);
if
(
null
!=
dDayFlowmap
)
if
(
null
!=
dDayFlowmap
)
map
.
addAll
(
TypeDayFlow
);
map
.
addAll
(
TypeDayFlow
);
if
(!
map
.
isEmpty
())
{
if
(!
map
.
isEmpty
()
&&
null
!=
webSocketSet
.
get
(
name
)&&
null
!=
webSocketSet
.
get
(
name
).
session
)
{
synchronized
(
webSocketSet
.
get
(
name
).
session
)
{
synchronized
(
webSocketSet
.
get
(
name
).
session
)
{
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
().
sendText
(
JSONUtil
.
toJsonStr
(
map
));
webSocketSet
.
get
(
name
).
session
.
getBasicRemote
().
sendText
(
JSONUtil
.
toJsonStr
(
map
));
}
}
...
...
src/main/java/com/hzjt/listener/MyApplicationStartingEventListener.java
View file @
0059040c
...
@@ -39,13 +39,13 @@ public class MyApplicationStartingEventListener implements ApplicationListener<S
...
@@ -39,13 +39,13 @@ public class MyApplicationStartingEventListener implements ApplicationListener<S
ThreadPoolUtil
.
getSchedulePool
().
scheduleWithFixedDelay
(()
->
{
ThreadPoolUtil
.
getSchedulePool
().
scheduleWithFixedDelay
(()
->
{
CacheLoadService
cacheLoadService
=
applicationContext
.
getBean
(
CacheLoadService
.
class
);
CacheLoadService
cacheLoadService
=
applicationContext
.
getBean
(
CacheLoadService
.
class
);
cacheLoadService
.
loadFtpCache
();
cacheLoadService
.
loadFtpCache
();
},
200
,
6
0
,
TimeUnit
.
SECONDS
);
},
200
,
12
0
,
TimeUnit
.
SECONDS
);
//判断第三方登录是否有效
//
//判断第三方登录是否有效
ThreadPoolUtil
.
getSchedulePool
().
scheduleWithFixedDelay
(()
->
{
//
ThreadPoolUtil.getSchedulePool().scheduleWithFixedDelay(() -> {
QingZhiLoginCacheService
qingZhiLoginCacheService
=
applicationContext
.
getBean
(
QingZhiLoginCacheService
.
class
);
//
QingZhiLoginCacheService qingZhiLoginCacheService = applicationContext.getBean(QingZhiLoginCacheService.class);
qingZhiLoginCacheService
.
keepAlive
();
//
qingZhiLoginCacheService.keepAlive();
},
3
,
6
0
,
TimeUnit
.
SECONDS
);
// }, 3, 12
0, TimeUnit.SECONDS);
//查询flv值
//查询flv值
ThreadPoolUtil
.
getSchedulePool
().
scheduleWithFixedDelay
(()
->
{
ThreadPoolUtil
.
getSchedulePool
().
scheduleWithFixedDelay
(()
->
{
...
...
src/main/java/com/hzjt/mapper/TraffAlarmRecordMapper.java
View file @
0059040c
...
@@ -21,6 +21,6 @@ public interface TraffAlarmRecordMapper extends BaseMapper<Traffalarmrecord>, Co
...
@@ -21,6 +21,6 @@ public interface TraffAlarmRecordMapper extends BaseMapper<Traffalarmrecord>, Co
int
selectmax
();
int
selectmax
();
Integer
statisTraffalarmrecordstatByDay
(
String
starttime
);
Integer
statisTraffalarmrecordstatByDay
();
}
}
\ No newline at end of file
src/main/java/com/hzjt/mapper/TraffFlowMapper.java
View file @
0059040c
...
@@ -17,9 +17,14 @@ public interface TraffFlowMapper {
...
@@ -17,9 +17,14 @@ public interface TraffFlowMapper {
List
<
Map
>
selectFiveAndDayFlow
(
String
videoid
);
List
<
Map
>
selectFiveAndDayFlow
(
String
videoid
);
List
<
Map
>
selectFiveAndTypeDayFlow
(
String
videoid
);
List
<
Map
>
selectFiveAndTypeDayFlow
(
String
videoid
);
Integer
statisVehiclesByDay
(
String
startime
);
Integer
statisVehiclesByDay
();
Integer
deleteBeforeTwoMonthVehiclesDetails
(
String
startime
);
Integer
deleteBeforeTwoMonthVehiclesDetails
(
String
startime
);
Integer
deleteVehiclesByDay
();
Integer
deleteVehiclesByDay
();
Integer
insertOrUpdatevehicleTodaystatistic
();
Integer
insertOrUpdatevehicleTodaystatistic
();
String
selectSbtddspsrRtspByVideoid
(
String
videoid
);
String
selectSbtddspsrRtspByVideoid
(
String
videoid
);
}
}
src/main/java/com/hzjt/service/CacheLoadService.java
View file @
0059040c
...
@@ -10,6 +10,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
...
@@ -10,6 +10,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
@Service
@Service
@Slf4j
@Slf4j
...
@@ -27,11 +28,11 @@ public class CacheLoadService {
...
@@ -27,11 +28,11 @@ public class CacheLoadService {
public
boolean
loadFtpCache
()
{
public
boolean
loadFtpCache
()
{
try
{
try
{
Storageserver
server
=
new
Storageserver
();
Storageserver
server
=
new
Storageserver
();
server
.
setServerstatus
(
0
);
//
õ
server
.
setServerstatus
(
0
);
//
�����õ�
server
.
setServertype
(
"ftp"
);
server
.
setServertype
(
"ftp"
);
List
<
Storageserver
>
storageServers
=
storageServerMapper
.
queryStorageServerAll
(
server
);
List
<
Storageserver
>
storageServers
=
storageServerMapper
.
queryStorageServerAll
(
server
);
if
(!
storageServers
.
isEmpty
()
&&
storageServers
.
size
()
>
0
)
{
if
(!
storageServers
.
isEmpty
()
&&
storageServers
.
size
()
>
0
)
{
stringRedisTemplate
.
opsForValue
().
set
(
ftplistkey
,
new
Gson
().
toJson
(
storageServers
));
stringRedisTemplate
.
opsForValue
().
set
(
ftplistkey
,
new
Gson
().
toJson
(
storageServers
)
,
60
*
10
,
TimeUnit
.
SECONDS
);
}
else
{
}
else
{
System
.
out
.
println
(
"storageServers.isEmpty"
);
System
.
out
.
println
(
"storageServers.isEmpty"
);
}
}
...
...
src/main/java/com/hzjt/service/QingZhiLoginCacheService.java
View file @
0059040c
...
@@ -43,24 +43,26 @@ public class QingZhiLoginCacheService {
...
@@ -43,24 +43,26 @@ public class QingZhiLoginCacheService {
log
.
info
(
"config params:"
+
"redis key:"
+
qztoken
+
" ,username:"
+
username
+
" ,password:"
+
password
+
" ,url:"
+
url
+
" ,keepaliveurl:"
+
keepaliveurl
);
log
.
info
(
"config params:"
+
"redis key:"
+
qztoken
+
" ,username:"
+
username
+
" ,password:"
+
password
+
" ,url:"
+
url
+
" ,keepaliveurl:"
+
keepaliveurl
);
}
}
public
void
keepAlive
()
{
public
String
keepAlive
()
{
String
token
=
null
;
try
{
try
{
String
tokencache
=
stringRedisTemplate
.
opsForValue
().
get
(
qztoken
);
String
tokencache
=
stringRedisTemplate
.
opsForValue
().
get
(
qztoken
);
if
(
tokencache
!=
null
)
{
if
(
tokencache
!=
null
)
{
doKeepAlive
(
tokencache
);
token
=
doKeepAlive
(
tokencache
);
}
else
{
}
else
{
tokencache
=
loginServer
(
url
,
username
,
password
);
tokencache
=
loginServer
(
url
,
username
,
password
);
if
(
tokencache
!=
null
)
{
if
(
tokencache
!=
null
)
{
doKeepAlive
(
tokencache
);
token
=
doKeepAlive
(
tokencache
);
}
}
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
toString
());
System
.
out
.
println
(
e
.
toString
());
log
.
error
(
e
.
getMessage
());
log
.
error
(
e
.
getMessage
());
}
}
return
token
;
}
}
private
void
doKeepAlive
(
String
token
)
{
private
String
doKeepAlive
(
String
token
)
{
HttpHeaders
headers
=
getHttpHeaders
();
HttpHeaders
headers
=
getHttpHeaders
();
headers
.
add
(
"token"
,
token
);
headers
.
add
(
"token"
,
token
);
HttpEntity
<
String
>
requestEntity
=
new
HttpEntity
<>(
null
,
headers
);
HttpEntity
<
String
>
requestEntity
=
new
HttpEntity
<>(
null
,
headers
);
...
@@ -73,6 +75,7 @@ public class QingZhiLoginCacheService {
...
@@ -73,6 +75,7 @@ public class QingZhiLoginCacheService {
}
else
{
}
else
{
log
.
error
(
"doKeepAlive response "
+
"empty..."
);
log
.
error
(
"doKeepAlive response "
+
"empty..."
);
}
}
return
newToken
;
}
}
private
String
loginServer
(
String
url
,
String
username
,
String
password
)
{
private
String
loginServer
(
String
url
,
String
username
,
String
password
)
{
...
...
src/main/java/com/hzjt/service/TraffFlowService.java
View file @
0059040c
...
@@ -32,8 +32,8 @@ public class TraffFlowService {
...
@@ -32,8 +32,8 @@ public class TraffFlowService {
return
traffFlowMapper
.
selectFiveAndTypeDayFlow
(
videoid
);
return
traffFlowMapper
.
selectFiveAndTypeDayFlow
(
videoid
);
}
}
public
Integer
statisVehiclesByDay
(
String
starttime
)
{
public
Integer
statisVehiclesByDay
()
{
return
traffFlowMapper
.
statisVehiclesByDay
(
starttime
);
return
traffFlowMapper
.
statisVehiclesByDay
();
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
deleteBeforeTwoMonthVehicles
(
String
starttime
)
{
public
void
deleteBeforeTwoMonthVehicles
(
String
starttime
)
{
...
...
src/main/java/com/hzjt/service/TraffalarmrecordService.java
View file @
0059040c
...
@@ -15,8 +15,8 @@ public class TraffalarmrecordService {
...
@@ -15,8 +15,8 @@ public class TraffalarmrecordService {
@Autowired
@Autowired
private
TraffAlarmRecordMapper
traffalarmrecordMapper
;
private
TraffAlarmRecordMapper
traffalarmrecordMapper
;
public
Integer
statisTraffalarmrecordstatByDay
(
String
starttime
)
{
public
Integer
statisTraffalarmrecordstatByDay
()
{
return
traffalarmrecordMapper
.
statisTraffalarmrecordstatByDay
(
starttime
);
return
traffalarmrecordMapper
.
statisTraffalarmrecordstatByDay
();
}
}
...
...
src/main/java/com/hzjt/service/TraffdevicewriteresultService.java
View file @
0059040c
...
@@ -50,6 +50,9 @@ public class TraffdevicewriteresultService {
...
@@ -50,6 +50,9 @@ public class TraffdevicewriteresultService {
@Value
(
"${qingzhi.devicewrite.url}"
)
@Value
(
"${qingzhi.devicewrite.url}"
)
String
devicewriteurl
;
String
devicewriteurl
;
@Autowired
QingZhiLoginCacheService
qingZhiLoginCacheService
;
private
static
CompletionService
<
ResultObj
>
threadService
=
new
ExecutorCompletionService
<
ResultObj
>(
ThreadPoolUtil
.
getPool
());
private
static
CompletionService
<
ResultObj
>
threadService
=
new
ExecutorCompletionService
<
ResultObj
>(
ThreadPoolUtil
.
getPool
());
public
List
<
ResultObj
>
sendDevices
(
List
<
String
>
xhs
)
{
public
List
<
ResultObj
>
sendDevices
(
List
<
String
>
xhs
)
{
...
@@ -60,6 +63,7 @@ public class TraffdevicewriteresultService {
...
@@ -60,6 +63,7 @@ public class TraffdevicewriteresultService {
for
(
SbtdspsrParams
val
:
sbtdspsrs
)
{
for
(
SbtdspsrParams
val
:
sbtdspsrs
)
{
threadService
.
submit
(()
->
{
threadService
.
submit
(()
->
{
log
.
info
(
"sendtoguangda"
+
val
.
toString
());
ResultObj
obj
=
sendToGuangda
(
val
,
param
);
ResultObj
obj
=
sendToGuangda
(
val
,
param
);
obj
.
setData
(
val
.
getSbbh
()
+
"_"
+
val
.
getTdbh
());
obj
.
setData
(
val
.
getSbbh
()
+
"_"
+
val
.
getTdbh
());
return
obj
;
return
obj
;
...
@@ -96,6 +100,7 @@ public class TraffdevicewriteresultService {
...
@@ -96,6 +100,7 @@ public class TraffdevicewriteresultService {
WriteResultObj
writeResultObj
=
null
;
WriteResultObj
writeResultObj
=
null
;
try
{
try
{
//调用第三方的restful
//调用第三方的restful
log
.
error
(
"调用第三方的restful"
+
item
.
toString
());
writeResultObj
=
deviceWritePost
(
item
);
writeResultObj
=
deviceWritePost
(
item
);
}
}
catch
(
TimeoutException
e
)
{
catch
(
TimeoutException
e
)
{
...
@@ -238,11 +243,15 @@ public class TraffdevicewriteresultService {
...
@@ -238,11 +243,15 @@ public class TraffdevicewriteresultService {
private
WriteResultObj
deviceWritePost
(
DeviceWriteParam
param
)
throws
TimeoutException
,
InterruptedException
,
Exception
{
private
WriteResultObj
deviceWritePost
(
DeviceWriteParam
param
)
throws
TimeoutException
,
InterruptedException
,
Exception
{
HttpHeaders
headers
=
new
HttpHeaders
();
HttpHeaders
headers
=
new
HttpHeaders
();
String
token
=
stringRedisTemplate
.
opsForValue
().
get
(
qztoken
);
// String token = stringRedisTemplate.opsForValue().get(qztoken);
if
(
token
==
null
)
{
// if (token == null) {
log
.
error
(
"deviceWritePost {} : redis token empty.."
,
qztoken
);
//登录
return
null
;
log
.
info
(
"login"
,
qztoken
);
}
String
token
=
qingZhiLoginCacheService
.
keepAlive
();
log
.
error
(
"deviceWritePost {} : redis token empty.."
,
qztoken
);
// return null;
// }
log
.
info
(
"qztoken send guangda without keepalive"
,
qztoken
);
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON_UTF8
);
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON_UTF8
);
headers
.
add
(
"token"
,
token
);
//
headers
.
add
(
"token"
,
token
);
//
List
<
DeviceWriteParam
>
list
=
new
ArrayList
<>();
List
<
DeviceWriteParam
>
list
=
new
ArrayList
<>();
...
...
src/main/resources/mapper/TraffFlow.xml
View file @
0059040c
...
@@ -94,8 +94,8 @@
...
@@ -94,8 +94,8 @@
ruletag,
ruletag,
count(*) total
count(*) total
from vehicle b
from vehicle b
where CREATE_TIME>=
to_date( #{starttime}|| ' 00:00:00','yyyy-mm-dd hh24:mi:ss'
)
where CREATE_TIME>=
TRUNC (SYSDATE-1
)
and CREATE_TIME
<![CDATA[ <
= ]]>
to_date(#{starttime}||' 23:59:59','yyyy-mm-dd hh24:mi:ss'
)
and CREATE_TIME
<![CDATA[ <
]]>
TRUNC(SYSDATE
)
group by to_char(CREATE_TIME, 'yyyy-mm-dd'),
group by to_char(CREATE_TIME, 'yyyy-mm-dd'),
type,
type,
ruletag,
ruletag,
...
...
src/main/resources/mapper/Traffalarmrecord.xml
View file @
0059040c
...
@@ -122,8 +122,8 @@
...
@@ -122,8 +122,8 @@
sum( case when pushstatus =0 then 1 else 0 end)successpush,
sum( case when pushstatus =0 then 1 else 0 end)successpush,
sum( case when pushstatus =1 then 1 else 0 end)failpush
sum( case when pushstatus =1 then 1 else 0 end)failpush
FROM TRAFFALARMRECORD A
FROM TRAFFALARMRECORD A
where A.RECORDTIME>=
to_date(#{starttime}||' 00:00:00','YYYY-MM-DD HH24:MI:SS'
)
where A.RECORDTIME>=
TRUNC(SYSDATE-1
)
and A.RECORDTIME
<![CDATA[ <
= ]]>
to_date(#{starttime}||' 23:59:59','YYYY-MM-DD HH24:MI:SS'
)
and A.RECORDTIME
<![CDATA[ <
]]>
TRUNC(SYSDATE
)
group by to_char(A.RECORDTIME,'yyyy-MM-DD'),recordtype,A.FDID,CHANNELID,areaid
group by to_char(A.RECORDTIME,'yyyy-MM-DD'),recordtype,A.FDID,CHANNELID,areaid
</insert>
</insert>
...
...
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