Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
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
项目统一框架
amos-boot-biz
Commits
1f50f882
Commit
1f50f882
authored
Feb 21, 2024
by
litengwei
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop_dl' into develop_dl
parents
31a63895
48c5487a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
21 deletions
+52
-21
CarSpeedWarningRecord.java
...join/equipmanage/common/entity/CarSpeedWarningRecord.java
+6
-0
CarServiceImpl.java
.../com/yeejoin/equipmanage/service/impl/CarServiceImpl.java
+7
-10
JxiopCarIotListerServiceImpl.java
...quipmanage/service/impl/JxiopCarIotListerServiceImpl.java
+27
-11
WlCarMileageServiceImpl.java
...oin/equipmanage/service/impl/WlCarMileageServiceImpl.java
+12
-0
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-equip-api/src/main/java/com/yeejoin/equipmanage/common/entity/CarSpeedWarningRecord.java
View file @
1f50f882
...
...
@@ -53,4 +53,10 @@ public class CarSpeedWarningRecord extends BaseEntity {
@ApiModelProperty
(
value
=
"联系电话"
)
@TableField
(
"ownership"
)
private
String
ownership
;
@ApiModelProperty
(
value
=
"超速时间到分钟"
)
@TableField
(
"waring_date_minute"
)
private
String
waringDateMinute
;
@ApiModelProperty
(
value
=
"超速次数"
)
@TableField
(
"over_speed_count"
)
private
Integer
overSpeedCount
;
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/CarServiceImpl.java
View file @
1f50f882
...
...
@@ -1780,27 +1780,24 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
colModels
.
add
(
new
ColModel
(
"bizOrgName"
,
"所属单位"
));
colModels
.
add
(
new
ColModel
(
"waringDate"
,
"超速时间"
));
colModels
.
add
(
new
ColModel
(
"overSpeed"
,
"超速值(Km/h)"
));
Date
date
=
new
Date
();
String
endTime
=
DateUtil
.
format
(
date
,
DatePattern
.
NORM_DATETIME_FORMAT
);
date
=
DateUtil
.
offsetDay
(
date
,
-
5
);
String
startTime
=
DateUtil
.
format
(
date
,
DatePattern
.
NORM_DATETIME_FORMAT
);
QueryWrapper
queryWrapper
=
new
QueryWrapper
<
CarSpeedWarningRecord
>();
if
(
StringUtils
.
isNotEmpty
(
keyWord
))
{
queryWrapper
.
like
(
"biz_org_name"
,
keyWord
);
}
queryWrapper
.
orderByDesc
(
"over_speed"
);
queryWrapper
.
last
(
"limit "
+
(
current
-
1
)
*
pageSize
+
","
+
current
*
pageSize
);
queryWrapper
.
ge
(
"over_speed_count"
,
5
);
queryWrapper
.
orderByDesc
(
"waring_date"
);
// 过滤车牌
List
<
Car
>
clist
=
this
.
list
(
new
LambdaQueryWrapper
<
Car
>().
likeRight
(
Car:
:
getBizOrgCode
,
orgCode
));
List
<
String
>
carnums
=
clist
.
stream
().
map
(
i
->
i
.
getCarNum
()).
collect
(
Collectors
.
toList
());
if
(
carnums
.
size
()
>
0
)
{
queryWrapper
.
in
(
"car_num"
,
carnums
);
}
Integer
count
=
wlCarSpeedWaringRecordMapper
.
selectCount
(
queryWrapper
);
queryWrapper
.
last
(
"limit "
+
(
current
-
1
)
*
pageSize
+
","
+
pageSize
);
List
<
CarSpeedWarningRecord
>
list
=
wlCarSpeedWaringRecordMapper
.
selectList
(
queryWrapper
);
DataGridMock
dataGridMock
=
new
DataGridMock
(
current
,
wlCarSpeedWaringRecordMapper
.
getCountOfRecords
(),
true
,
current
,
list
);
Integer
totalPage
=
(
count
+
pageSize
-
1
)/
pageSize
;
DataGridMock
dataGridMock
=
new
DataGridMock
(
current
,
count
,
true
,
totalPage
,
list
);
basicTableDataDto
.
setDataGridMock
(
dataGridMock
);
basicTableDataDto
.
setColModel
(
colModels
);
return
basicTableDataDto
;
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/JxiopCarIotListerServiceImpl.java
View file @
1f50f882
...
...
@@ -64,8 +64,8 @@ public class JxiopCarIotListerServiceImpl {
private
RedisTemplate
redisTemplate
;
// @Async("equipAsyncExecutor")
public
void
processMessage
(
String
topic
,
MqttMessage
message
){
// @Async("equipAsyncExecutor")
public
void
processMessage
(
String
topic
,
MqttMessage
message
)
{
String
measurement
=
topic
.
split
(
"/"
)[
0
];
String
deviceName
=
topic
.
split
(
"/"
)[
1
];
//根据topic 组装iotCode
...
...
@@ -100,11 +100,11 @@ public class JxiopCarIotListerServiceImpl {
}
this
.
updateCarLocation
(
jsonObject
,
iotCode
);
String
coordinate
=
jsonObject
.
getString
(
"FireCar_Longitude"
)
+
","
+
jsonObject
.
getString
(
"FireCar_Latitude"
);
if
(
ObjectUtils
.
isEmpty
(
redisTemplate
.
opsForValue
().
get
(
iotCode
)))
{
if
(
ObjectUtils
.
isEmpty
(
redisTemplate
.
opsForValue
().
get
(
iotCode
)))
{
redisTemplate
.
opsForValue
().
set
(
iotCode
,
coordinate
,
10
,
TimeUnit
.
MINUTES
);
logger
.
info
(
"插入数据到::redis"
);
}
else
{
if
(!
String
.
valueOf
(
redisTemplate
.
opsForValue
().
get
(
iotCode
)).
equals
(
coordinate
))
{
}
else
{
if
(!
String
.
valueOf
(
redisTemplate
.
opsForValue
().
get
(
iotCode
)).
equals
(
coordinate
))
{
redisTemplate
.
opsForValue
().
set
(
iotCode
,
coordinate
,
10
,
TimeUnit
.
MINUTES
);
logger
.
info
(
"插入数据到::redis"
);
}
...
...
@@ -203,10 +203,10 @@ public class JxiopCarIotListerServiceImpl {
logger
.
info
(
"----------------更新车辆电池电量信息成功----------------"
);
carMapper
.
updateById
(
car
);
logger
.
info
(
"车牌号::"
+
car
.
getCarNum
()
+
"最大车速:"
+
maxSpeed
+
"当前车速::"
+
speed
);
if
((
speed
-
maxSpeed
)
>
0
)
{
List
<
CarSpeedWarningRecord
>
list
=
wlCarSpeedWaringRecordMapper
.
selectList
(
new
QueryWrapper
<
CarSpeedWarningRecord
>().
eq
(
"car_num"
,
car
.
getCarNum
()).
between
(
"waring_date"
,
DateUtil
.
offsetMinute
(
new
Date
(),
10
),
new
Date
()));
if
(!(
list
.
size
()
>
0
))
{
if
((
speed
-
maxSpeed
)
>
0
)
{
List
<
CarSpeedWarningRecord
>
list
=
wlCarSpeedWaringRecordMapper
.
selectList
(
new
QueryWrapper
<
CarSpeedWarningRecord
>().
eq
(
"car_num"
,
car
.
getCarNum
()).
between
(
"waring_date"
,
DateUtil
.
offsetMinute
(
new
Date
(),
-
10
),
new
Date
()));
if
(!(
list
.
size
()
>
0
))
{
CarSpeedWarningRecord
carSpeedWarningRecord
=
new
CarSpeedWarningRecord
();
carSpeedWarningRecord
.
setCarNum
(
car
.
getCarNum
());
carSpeedWarningRecord
.
setDriver
(
car
.
getDriver
());
...
...
@@ -215,13 +215,29 @@ public class JxiopCarIotListerServiceImpl {
carSpeedWarningRecord
.
setOwnership
(
car
.
getOwnership
());
carSpeedWarningRecord
.
setBizOrgName
(
car
.
getBizOrgName
());
carSpeedWarningRecord
.
setWaringDate
(
DateUtil
.
parse
(
waringDate
,
DatePattern
.
NORM_DATETIME_PATTERN
));
wlCarSpeedWaringRecordMapper
.
insert
(
carSpeedWarningRecord
);
carSpeedWarningRecord
.
setWaringDateMinute
(
DateUtil
.
format
(
carSpeedWarningRecord
.
getWaringDate
(),
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
));
carSpeedWarningRecord
.
setOverSpeedCount
(
1
);
if
((
speed
-
maxSpeed
)<
maxSpeed
){
wlCarSpeedWaringRecordMapper
.
insert
(
carSpeedWarningRecord
);
}
logger
.
info
(
"-----------触发车辆超速告警成功--------"
);
}
else
{
CarSpeedWarningRecord
carSpeedWarningRecord
=
list
.
get
(
0
);
if
(!
carSpeedWarningRecord
.
getWaringDateMinute
().
equals
(
DateUtil
.
parse
(
waringDate
,
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
)))
{
carSpeedWarningRecord
.
setOverSpeedCount
(
carSpeedWarningRecord
.
getOverSpeedCount
()
+
1
);
carSpeedWarningRecord
.
setWaringDate
(
DateUtil
.
parse
(
waringDate
,
DatePattern
.
NORM_DATETIME_PATTERN
));
carSpeedWarningRecord
.
setWaringDateMinute
(
DateUtil
.
format
(
carSpeedWarningRecord
.
getWaringDate
(),
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
));
if
((
speed
-
maxSpeed
)<
maxSpeed
){
carSpeedWarningRecord
.
setOverSpeed
(
speed
-
maxSpeed
);
}
wlCarSpeedWaringRecordMapper
.
updateById
(
carSpeedWarningRecord
);
}
logger
.
info
(
"-----------更新车辆超速告警成功--------"
);
}
}
logger
.
info
(
"-----------推送车辆位置消息到到地图成功--------"
);
try
{
emqkeeper
.
getMqttClient
().
publish
(
"car/location"
,
sendArr
.
toJSONString
().
getBytes
(),
0
,
false
);
emqkeeper
.
getMqttClient
().
publish
(
"car/location"
,
sendArr
.
toJSONString
().
getBytes
(),
0
,
false
);
}
catch
(
MqttException
e
)
{
e
.
printStackTrace
();
}
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/WlCarMileageServiceImpl.java
View file @
1f50f882
...
...
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yeejoin.equipmanage.common.entity.Car
;
import
com.yeejoin.equipmanage.common.entity.CarSpeedWarningRecord
;
import
com.yeejoin.equipmanage.common.entity.WlCarMileage
;
import
com.yeejoin.equipmanage.common.utils.CoordinateUtil
;
import
com.yeejoin.equipmanage.common.utils.DateUtils
;
...
...
@@ -19,6 +20,7 @@ import com.yeejoin.equipmanage.fegin.IotFeign;
import
com.yeejoin.equipmanage.listener.CarIotNewListener
;
import
com.yeejoin.equipmanage.mapper.CarMapper
;
import
com.yeejoin.equipmanage.mapper.WlCarMileageMapper
;
import
com.yeejoin.equipmanage.mapper.WlCarSpeedWaringRecordMapper
;
import
com.yeejoin.equipmanage.service.ICarService
;
import
com.yeejoin.equipmanage.service.IWlCarMileageService
;
import
org.apache.commons.lang3.ObjectUtils
;
...
...
@@ -76,6 +78,8 @@ public class WlCarMileageServiceImpl extends ServiceImpl<WlCarMileageMapper, WlC
@Autowired
WlCarMileageMapper
wlCarMileageMapper
;
@Autowired
WlCarSpeedWaringRecordMapper
wlCarSpeedWaringRecordMapper
;
@Autowired
CarMapper
carMapper
;
@Value
(
"${car.max.speed:100}"
)
private
Integer
CAR_MAX_SPEED
;
...
...
@@ -393,6 +397,10 @@ public class WlCarMileageServiceImpl extends ServiceImpl<WlCarMileageMapper, WlC
}
});
log
.
info
(
"-------------------跨天轨迹切分任务执行完成.............."
);
//删除过期的告警数据
Date
endTime
=
DateUtil
.
offsetDay
(
new
Date
(),-
15
);
String
endTimeStr
=
DateUtil
.
format
(
endTime
,
"yyyy-MM-dd HH:mm:00"
);
wlCarSpeedWaringRecordMapper
.
delete
(
new
QueryWrapper
<
CarSpeedWarningRecord
>().
le
(
"waring_date"
,
endTimeStr
));
}
@Scheduled
(
cron
=
"${mileage.splitmileage.cron}"
)
...
...
@@ -472,6 +480,10 @@ public class WlCarMileageServiceImpl extends ServiceImpl<WlCarMileageMapper, WlC
});
log
.
info
(
"轨迹切分任务执行完成.............."
);
//删除无效的告警数据
Date
endTime
=
DateUtil
.
offsetMinute
(
new
Date
(),-
10
);
String
endTimeStr
=
DateUtil
.
format
(
endTime
,
"yyyy-MM-dd HH:mm:00"
);
wlCarSpeedWaringRecordMapper
.
delete
(
new
QueryWrapper
<
CarSpeedWarningRecord
>().
le
(
"waring_date"
,
endTimeStr
).
lt
(
"over_speed_count"
,
5
));
}
@Override
...
...
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