Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
map-parent
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
常超
map-parent
Commits
eddd1a48
Commit
eddd1a48
authored
Jun 05, 2021
by
YANGYANG
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预警
parent
1cee6e76
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
107 additions
and
8 deletions
+107
-8
common/common_utils/src/main/java/com/founder/commonutils/ZdryApiEntity/FenceTask.java
+4
-0
service/zdry/src/main/java/com/founder/zdry/controller/FenceTaskController.java
+2
-0
serviceapi/zdryapi/src/main/java/com/founder/zdryapi/controller/ZdryApiController.java
+19
-1
serviceapi/zdryapi/src/main/java/com/founder/zdryapi/service/ZdryApiService.java
+2
-0
serviceapi/zdryapi/src/main/java/com/founder/zdryapi/service/impl/ZdryApiServiceImpl.java
+80
-7
No files found.
common/common_utils/src/main/java/com/founder/commonutils/ZdryApiEntity/FenceTask.java
View file @
eddd1a48
...
...
@@ -66,4 +66,8 @@ public class FenceTask implements Serializable {
@ApiModelProperty
(
value
=
"任务类型"
)
@TableField
(
value
=
"task_type"
)
private
String
taskType
;
@ApiModelProperty
(
value
=
"预警"
)
@TableField
(
value
=
"warn"
)
private
int
warn
;
}
service/zdry/src/main/java/com/founder/zdry/controller/FenceTaskController.java
View file @
eddd1a48
...
...
@@ -63,5 +63,7 @@ public class FenceTaskController {
long
total
=
pageParam
.
getTotal
();
return
MapRestResult
.
build
(
ResultCode
.
SUCCESS
,
"成功获取任务列表信息"
,
total
,
records
);
}
}
serviceapi/zdryapi/src/main/java/com/founder/zdryapi/controller/ZdryApiController.java
View file @
eddd1a48
...
...
@@ -7,6 +7,7 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
...
...
@@ -65,7 +66,12 @@ public class ZdryApiController {
}
@ApiOperation
(
value
=
"批量获取设备离线在线状态数据"
)
@PostMapping
(
value
=
"/onlineAndWeardata"
)
@GetMapping
(
value
=
"/onlineAndWeardata"
)
//每隔5秒执行一次:*/5 * * * * ?
//每隔5分执行一次:0 */5 * * * ?
//每个整点执行一次:0 0 0/1 * * ?
//每天凌晨2点执行一次:0 0 2 * * ?
@Scheduled
(
cron
=
"0 0 0/1 * * ?"
)
public
MapRestResult
onlineAndWeardata
()
{
return
zdryApiService
.
onlineAndWeardata
();
}
...
...
@@ -87,5 +93,17 @@ public class ZdryApiController {
return
zdryApiService
.
deviceFenceTask
(
sbImei
,
name
,
time_begin
,
time_end
,
safe_area
);
}
@ApiOperation
(
value
=
"电子围栏预警"
)
@GetMapping
(
value
=
"/FenceWarning"
)
//每隔5秒执行一次:*/5 * * * * ?
//每隔5分执行一次:0 */5 * * * ?
//每个整点执行一次:0 0 0/1 * * ?
//每天凌晨2点执行一次:0 0 2 * * ?
@Scheduled
(
cron
=
"0 */10 * * * ?"
)
public
MapRestResult
FenceWarning
()
{
return
zdryApiService
.
FenceWarning
();
}
}
serviceapi/zdryapi/src/main/java/com/founder/zdryapi/service/ZdryApiService.java
View file @
eddd1a48
...
...
@@ -24,4 +24,6 @@ public interface ZdryApiService {
MapRestResult
onlineAndWeardata
();
MapRestResult
deviceFenceTask
(
String
sbImei
,
String
name
,
String
time_begin
,
String
time_end
,
String
safe_area
);
public
MapRestResult
FenceWarning
();
}
serviceapi/zdryapi/src/main/java/com/founder/zdryapi/service/impl/ZdryApiServiceImpl.java
View file @
eddd1a48
...
...
@@ -3,15 +3,14 @@ package com.founder.zdryapi.service.impl;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.founder.commonutils.ZdryApiEntity.
Device
;
import
com.founder.commonutils.ZdryApiEntity.
*
;
import
com.founder.commonutils.ZdryApiEntity.FenceTask
;
import
com.founder.commonutils.ZdryApiEntity.LocationData
;
import
com.founder.commonutils.ZdryApiEntity.OnlineAndWear
;
import
com.founder.commonutils.publicEntity.MapRestResult
;
import
com.founder.commonutils.publicEntity.ResultCode
;
import
com.founder.zdryapi.mapper.ZdryApiMapper
;
import
com.founder.zdryapi.mapper.ZdryFenceTaskMapper
;
import
com.founder.zdryapi.mapper.ZdryLocationMessageMapper
;
import
com.founder.zdryapi.mapper.ZdryMessageMapper
;
import
com.founder.zdryapi.service.ZdryApiService
;
import
org.apache.commons.lang.StringEscapeUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -27,9 +26,8 @@ import org.springframework.web.client.RestTemplate;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.time.LocalDateTime
;
import
java.util.*
;
/*
*
...
...
@@ -77,6 +75,12 @@ public class ZdryApiServiceImpl implements ZdryApiService {
@Autowired
private
ZdryFenceTaskMapper
zdryFenceTaskMapper
;
@Autowired
private
ZdryMessageMapper
zdryMessageMapper
;
@Autowired
private
ZdryLocationMessageMapper
zdryLocationMessageMapper
;
public
Device
getDevice
(
String
deviceId
){
Device
device
=
new
Device
();
try
{
...
...
@@ -468,6 +472,75 @@ public class ZdryApiServiceImpl implements ZdryApiService {
return
MapRestResult
.
build
(
ResultCode
.
SUCCESS
,
"设置电子围栏成功"
,
"1"
);
}
@Override
public
MapRestResult
FenceWarning
()
{
QueryWrapper
<
FenceTask
>
wrapperTask
=
new
QueryWrapper
<>();
wrapperTask
.
ge
(
"xxsc_pdbz"
,
"0"
);
// 先查询出所有围栏任务中设备编号
List
<
FenceTask
>
listImei
=
zdryFenceTaskMapper
.
selectList
(
wrapperTask
);
SimpleDateFormat
sf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
thirtyLater
=
now
.
minusMinutes
(
30
);
System
.
out
.
println
(
"30分钟前的时间:"
+
thirtyLater
);
// gk_message修改时间大于 当前时间减去30分钟认为出圈 围栏触发才推送数据 不触发不推送频率30分钟
List
<
Map
<
String
,
Object
>>
listResult
=
new
ArrayList
<>();
if
(
listImei
.
size
()>
0
){
for
(
FenceTask
data:
listImei
){
QueryWrapper
<
Message
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
ge
(
"gxsj"
,
thirtyLater
);
wrapper
.
eq
(
"sb_imei"
,
data
.
getSbImei
());
Message
message
=
zdryMessageMapper
.
selectOne
(
wrapper
);
if
(
null
!=
message
){
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
// 查询对应任务
QueryWrapper
<
FenceTask
>
wrapper1
=
new
QueryWrapper
<>();
wrapper1
.
eq
(
"sb_imei"
,
data
.
getSbImei
());
FenceTask
fenceTask
=
zdryFenceTaskMapper
.
selectOne
(
wrapper1
);
map
.
put
(
"任务名称"
,
fenceTask
.
getName
());
map
.
put
(
"设备编号"
,
data
.
getSbImei
());
map
.
put
(
"任务类型"
,
fenceTask
.
getTaskType
());
map
.
put
(
"时间段"
,
fenceTask
.
getTimeBegin
()+
"-"
+
fenceTask
.
getTimeEnd
());
// 同时更新fencetasks 围栏任务表 warn预警 1预警 0未预警
fenceTask
.
setWarn
(
1
);
zdryFenceTaskMapper
.
updateById
(
fenceTask
);
// 查询最新位置
QueryWrapper
<
LocationMessage
>
wrapper2
=
new
QueryWrapper
<>();
wrapper2
.
eq
(
"sb_imei"
,
data
.
getSbImei
());
LocationMessage
locationMessage
=
zdryLocationMessageMapper
.
selectOne
(
wrapper2
);
map
.
put
(
"最新位置"
,
locationMessage
.
getAddress
());
map
.
put
(
"经度"
,
locationMessage
.
getX
());
map
.
put
(
"纬度"
,
locationMessage
.
getY
());
map
.
put
(
"开始时间"
,
locationMessage
.
getTimeBegin
());
listResult
.
add
(
map
);
}
else
{
// 查询对应任务
QueryWrapper
<
FenceTask
>
wrapper1
=
new
QueryWrapper
<>();
wrapper1
.
eq
(
"sb_imei"
,
data
.
getSbImei
());
FenceTask
fenceTask
=
zdryFenceTaskMapper
.
selectOne
(
wrapper1
);
// 同时更新fencetasks 围栏任务表 warn预警 1预警 0未预警
fenceTask
.
setWarn
(
0
);
zdryFenceTaskMapper
.
updateById
(
fenceTask
);
}
}
}
else
{
return
MapRestResult
.
build
(
201
,
"参数不能为空"
,
"1"
,
"1"
);
}
if
(
listResult
.
size
()>
0
){
return
MapRestResult
.
build
(
200
,
"预警"
,
listResult
,
listResult
.
size
());
}
else
{
return
MapRestResult
.
build
(
200
,
"无预警"
,
"无"
,
"1"
);
}
}
public
String
getToken
()
{
HttpHeaders
headers
=
new
HttpHeaders
();
MediaType
type
=
MediaType
.
parseMediaType
(
"application/json"
);
...
...
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