Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
3a3c197f
提交
3a3c197f
authored
5月 11, 2024
作者:
艾庆国
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
运单预警
上级
9c8fd584
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
346 行增加
和
402 行删除
+346
-402
VehicleWarnInfoDaoImpl.java
...formance/dao/impl/vehiclewarn/VehicleWarnInfoDaoImpl.java
+0
-3
VehicleWarnCommonInfoDTO.java
...performance/dto/vehiclewarn/VehicleWarnCommonInfoDTO.java
+2
-0
VehicleWarnCommonServiceImpl.java
...ervice/impl/vehiclewarn/VehicleWarnCommonServiceImpl.java
+38
-8
VehicleWarnInfoServiceImpl.java
.../service/impl/vehiclewarn/VehicleWarnInfoServiceImpl.java
+1
-8
VehicleWarnLoadAndUnloadWarnServiceImpl.java
.../vehiclewarn/VehicleWarnLoadAndUnloadWarnServiceImpl.java
+16
-132
VehicleWarnMqHandlerServiceImpl.java
...ice/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
+82
-11
VehicleWarnParkWarnServiceImpl.java
...vice/impl/vehiclewarn/VehicleWarnParkWarnServiceImpl.java
+145
-0
VehicleWarnReceiveAddressWarnServiceImpl.java
...vehiclewarn/VehicleWarnReceiveAddressWarnServiceImpl.java
+31
-218
VehicleWarnSendAddressWarnServiceImpl.java
...pl/vehiclewarn/VehicleWarnSendAddressWarnServiceImpl.java
+10
-20
VehicleWarnCommonService.java
...ormance/service/vehiclewarn/VehicleWarnCommonService.java
+6
-0
VehicleWarnParkWarnService.java
...mance/service/vehiclewarn/VehicleWarnParkWarnService.java
+12
-0
VehicleWarnReceiveAddressWarnService.java
...ice/vehiclewarn/VehicleWarnReceiveAddressWarnService.java
+3
-2
没有找到文件。
performance-web/src/main/java/com/clx/performance/dao/impl/vehiclewarn/VehicleWarnInfoDaoImpl.java
浏览文件 @
3a3c197f
...
...
@@ -43,7 +43,6 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
.
eq
(
VehicleWarnInfo:
:
getId
,
item
.
getId
())
.
ne
(
VehicleWarnInfo:
:
getStatus
,
VehicleWarnInfoEnum
.
Status
.
RESOLVE
)
.
set
(
VehicleWarnInfo:
:
getSuspendTime
,
item
.
getSuspendTime
())
.
set
(
VehicleWarnInfo:
:
getStatus
,
item
.
getStatus
())
);
}
else
if
(
Objects
.
equals
(
warnRang
,
VehicleWarnRangEnum
.
WarnRange
.
ORDER_GOODS
.
getCode
()))
{
...
...
@@ -52,7 +51,6 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
.
eq
(
VehicleWarnInfo:
:
getOrderGoodsNo
,
item
.
getOrderGoodsNo
())
.
ne
(
VehicleWarnInfo:
:
getStatus
,
VehicleWarnInfoEnum
.
Status
.
RESOLVE
)
.
set
(
VehicleWarnInfo:
:
getSuspendTime
,
item
.
getSuspendTime
())
.
set
(
VehicleWarnInfo:
:
getStatus
,
item
.
getStatus
())
);
}
else
{
...
...
@@ -60,7 +58,6 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
.
eq
(
VehicleWarnInfo:
:
getWarnConfigId
,
item
.
getWarnConfigId
())
.
ne
(
VehicleWarnInfo:
:
getStatus
,
VehicleWarnInfoEnum
.
Status
.
RESOLVE
)
.
set
(
VehicleWarnInfo:
:
getSuspendTime
,
item
.
getSuspendTime
())
.
set
(
VehicleWarnInfo:
:
getStatus
,
item
.
getStatus
())
);
}
}
...
...
performance-web/src/main/java/com/clx/performance/dto/vehiclewarn/VehicleWarnCommonInfoDTO.java
浏览文件 @
3a3c197f
...
...
@@ -27,4 +27,6 @@ public class VehicleWarnCommonInfoDTO {
LocalDateTime
currentTime
;
//当前时间
private
LocalDateTime
transportEndTime
;
//拉运结束时间
}
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnCommonServiceImpl.java
浏览文件 @
3a3c197f
...
...
@@ -3,7 +3,6 @@ package com.clx.performance.service.impl.vehiclewarn;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnRangeDao
;
import
com.clx.performance.dto.gd.GdRouteDTO
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnInfoEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnRangEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
...
...
@@ -15,6 +14,7 @@ import com.clx.performance.service.vehiclewarn.VehicleWarnCommonService;
import
com.clx.performance.service.vehiclewarn.VehicleWarnMqService
;
import
com.clx.performance.utils.gd.GdService
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.utils.gps.GpsUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -46,14 +46,14 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService {
public
void
vehicleWarnInfoUpdate
(
OrderChild
orderChild
,
VehicleWarnInfo
vehicleWarnInfo
,
VehicleWarnConfig
vehicleWarnConfig
){
// 更新
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
())
){
if
(
vehicleWarnInfo
!=
null
){
// 计算下次生效时间
LocalDateTime
nextTime
=
vehicleWarnInfo
.
getWarnTime
().
plusMinutes
(
vehicleWarnConfig
.
getInterval
().
multiply
(
new
BigDecimal
(
MIN_FER_HOUR
)).
intValue
());
if
(
nextTime
.
isAfter
(
LocalDateTime
.
now
()))
{
return
;}
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
updateWarn
(
vehicleWarnInfo
);
vehicleWarnInfoDao
.
updateWarn
Time
(
vehicleWarnInfo
);
return
;
}
...
...
@@ -65,6 +65,7 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService {
vehicleWarnInfo
.
setWarnName
(
vehicleWarnConfig
.
getWarnName
());
vehicleWarnInfo
.
setWarnLevel
(
vehicleWarnConfig
.
getWarnLevel
());
vehicleWarnInfo
.
setOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
());
vehicleWarnInfo
.
setChildNo
(
orderChild
.
getChildNo
());
vehicleWarnInfo
.
setSendAddressId
(
orderChild
.
getSendAddressId
());
vehicleWarnInfo
.
setSendAddress
(
orderChild
.
getSendAddress
());
...
...
@@ -95,16 +96,16 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService {
if
(!
vehicleWarnRangList
.
isEmpty
()){
for
(
VehicleWarnRang
item
:
vehicleWarnRangList
)
{
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
ALL
.
getCode
())){
return
true
;
return
item
.
getWarnEndTime
().
isAfter
(
LocalDateTime
.
now
())
;
}
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
ORDER
.
getCode
())){
if
(
Objects
.
equals
(
vehicleWarnChild
.
getOrderNo
(),
item
.
getOrderNo
()))
{
return
true
;
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
ORDER
_GOODS
.
getCode
())){
if
(
Objects
.
equals
(
vehicleWarnChild
.
getOrder
Goods
No
(),
item
.
getOrderNo
()))
{
return
item
.
getWarnEndTime
().
isAfter
(
LocalDateTime
.
now
())
;
}
}
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
CHILD
.
getCode
())){
if
(
Objects
.
equals
(
vehicleWarnChild
.
getChildNo
(),
item
.
getChildNo
()))
{
return
true
;
return
item
.
getWarnEndTime
().
isAfter
(
LocalDateTime
.
now
())
;
}
}
}
...
...
@@ -150,4 +151,33 @@ public class VehicleWarnCommonServiceImpl implements VehicleWarnCommonService {
if
(
currentPosition
==
null
)
{
return
0
;}
return
getNeedTime
(
currentPosition
[
0
],
currentPosition
[
1
],
destinationLongitude
,
destinationLatitude
);
}
/**
* 获取需要距离(m)
*/
@Override
public
int
getNeedDistance
(
BigDecimal
[]
currentPosition
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
){
int
needDistance
=
0
;
if
(
currentPosition
==
null
)
{
return
0
;}
try
{
List
<
GdRouteDTO
>
gdRouteDTOS
=
gdService
.
getRoute
(
currentPosition
[
0
],
currentPosition
[
1
],
destinationLongitude
,
destinationLatitude
);
if
(!
gdRouteDTOS
.
isEmpty
()){
needDistance
=
gdRouteDTOS
.
get
(
0
).
getDistance
();
}
}
catch
(
ServiceSystemException
e
)
{
log
.
info
(
"获取高德线路失败, msg:{}"
,
e
.
getMessage
());
}
return
needDistance
;
}
@Override
public
Integer
getDistance
(
BigDecimal
[]
currentPosition
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
)
{
if
(
currentPosition
==
null
)
{
return
null
;}
return
GpsUtil
.
distanceM
(
currentPosition
[
0
],
currentPosition
[
1
],
destinationLongitude
,
destinationLatitude
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnInfoServiceImpl.java
浏览文件 @
3a3c197f
...
...
@@ -56,14 +56,7 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findById
(
param
.
getId
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
LocalDateTime
endTime
=
LocalDateTimeUtils
.
parseTime
(
param
.
getWarnEndTime
());
vehicleWarnInfo
.
setSuspendTime
(
endTime
);
if
(
endTime
.
isBefore
(
LocalDateTime
.
now
())){
vehicleWarnInfo
.
setStatus
(
VehicleWarnInfoEnum
.
Status
.
SUSPEND
.
getCode
());
}
else
{
vehicleWarnInfo
.
setStatus
(
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
());
}
vehicleWarnInfo
.
setSuspendTime
(
LocalDateTimeUtils
.
parseTime
(
param
.
getWarnEndTime
()));
vehicleWarnInfoDao
.
updateSuspendTime
(
vehicleWarnInfo
,
param
.
getWarnRang
());
VehicleWarnLog
vehicleWarnLog
=
new
VehicleWarnLog
();
...
...
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnLoadAndUnloadWarnServiceImpl.java
浏览文件 @
3a3c197f
package
com
.
clx
.
performance
.
service
.
impl
.
vehiclewarn
;
import
com.clx.performance.dao.impl.vehiclewarn.VehicleWarnRangeDaoImpl
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnConfigDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnConfigEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnInfoEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnRangEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnConfig
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnInfo
;
import
com.clx.performance.
model.vehiclewarn.VehicleWarnRang
;
import
com.clx.performance.
service.vehiclewarn.VehicleWarnCommonService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnLoadAndUnloadWarnService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnMqService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -33,11 +30,7 @@ public class VehicleWarnLoadAndUnloadWarnServiceImpl implements VehicleWarnLoadA
@Autowired
private
VehicleWarnInfoDao
vehicleWarnInfoDao
;
@Autowired
private
VehicleWarnRangeDaoImpl
vehicleWarnRangeDao
;
@Autowired
private
VehicleWarnMqService
vehicleWarnMqService
;
private
VehicleWarnCommonService
vehicleWarnCommonService
;
/**
* 装车超时
...
...
@@ -56,62 +49,22 @@ public class VehicleWarnLoadAndUnloadWarnServiceImpl implements VehicleWarnLoadA
}
private
void
doLoadTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findEnableByChildNoAndWarnConfigType
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 暂停检测
boolean
suspend
=
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
// 已暂停
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
SUSPEND
.
getCode
())){
if
(
suspend
)
{
return
;}
// 暂停恢复
vehicleWarnInfo
.
setStatus
(
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
());
vehicleWarnInfoDao
.
updateStatus
(
vehicleWarnInfo
);
}
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
if
(
suspend
)
{
return
;}
// 超时判断
int
time
=
vehicleWarnConfig
.
getTimeoutRatio
().
multiply
(
new
BigDecimal
(
MIN_FER_HOUR
)).
intValue
();
if
(
orderChild
.
getArriveSendTime
().
plusMinutes
(
time
).
isAfter
(
LocalDateTime
.
now
())){
return
;}
// 更新
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
())){
// 计算下次生效时间
LocalDateTime
nextTime
=
vehicleWarnInfo
.
getWarnTime
().
plusMinutes
(
vehicleWarnConfig
.
getInterval
().
multiply
(
new
BigDecimal
(
MIN_FER_HOUR
)).
intValue
());
if
(
nextTime
.
isAfter
(
LocalDateTime
.
now
()))
{
return
;}
vehicleWarnCommonService
.
vehicleWarnInfoUpdate
(
orderChild
,
vehicleWarnInfo
,
vehicleWarnConfig
);
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
updateWarn
(
vehicleWarnInfo
);
return
;
}
// 新增
vehicleWarnInfo
=
new
VehicleWarnInfo
();
vehicleWarnInfo
.
setWarnConfigId
(
vehicleWarnConfig
.
getId
());
vehicleWarnInfo
.
setWarnType
(
vehicleWarnConfig
.
getWarnType
());
vehicleWarnInfo
.
setWarnName
(
vehicleWarnConfig
.
getWarnName
());
vehicleWarnInfo
.
setWarnName
(
vehicleWarnConfig
.
getWarnName
());
vehicleWarnInfo
.
setWarnLevel
(
vehicleWarnConfig
.
getWarnLevel
());
vehicleWarnInfo
.
setChildNo
(
orderChild
.
getChildNo
());
vehicleWarnInfo
.
setSendAddressId
(
orderChild
.
getSendAddressId
());
vehicleWarnInfo
.
setSendAddress
(
orderChild
.
getSendAddress
());
vehicleWarnInfo
.
setReceiveAddressId
(
orderChild
.
getReceiveAddressId
());
vehicleWarnInfo
.
setReceiveAddress
(
orderChild
.
getReceiveAddress
());
vehicleWarnInfo
.
setTruckId
(
orderChild
.
getTruckId
());
vehicleWarnInfo
.
setTruckNo
(
orderChild
.
getTruckNo
());
vehicleWarnInfo
.
setDriverUserNo
(
orderChild
.
getDriverUserNo
());
vehicleWarnInfo
.
setDriverName
(
orderChild
.
getDriverName
());
vehicleWarnInfo
.
setDriverMobile
(
orderChild
.
getDriverMobile
());
vehicleWarnInfo
.
setTakeTime
(
orderChild
.
getPayTime
());
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
saveEntity
(
vehicleWarnInfo
);
// 发送mq (预警通知)
vehicleWarnMqService
.
truckWarnNotice
(
vehicleWarnInfo
.
getId
());
}
/**
...
...
@@ -131,90 +84,21 @@ public class VehicleWarnLoadAndUnloadWarnServiceImpl implements VehicleWarnLoadA
}
private
void
doUnloadTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findEnableByChildNoAndWarnConfigType
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 暂停检测
boolean
suspend
=
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
// 已暂停
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
SUSPEND
.
getCode
())){
if
(
suspend
)
{
return
;}
// 暂停恢复
vehicleWarnInfo
.
setStatus
(
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
());
vehicleWarnInfoDao
.
updateStatus
(
vehicleWarnInfo
);
}
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
if
(
suspend
)
{
return
;}
// 超时判断
int
time
=
vehicleWarnConfig
.
getTimeoutRatio
().
multiply
(
new
BigDecimal
(
MIN_FER_HOUR
)).
intValue
();
if
(
orderChild
.
getArriveReceiveTime
().
plusMinutes
(
time
).
isAfter
(
LocalDateTime
.
now
())){
return
;}
// 更新
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
())){
// 计算下次生效时间
LocalDateTime
nextTime
=
vehicleWarnInfo
.
getWarnTime
().
plusMinutes
(
vehicleWarnConfig
.
getInterval
().
multiply
(
new
BigDecimal
(
MIN_FER_HOUR
)).
intValue
());
if
(
nextTime
.
isAfter
(
LocalDateTime
.
now
()))
{
return
;}
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
updateWarn
(
vehicleWarnInfo
);
return
;
}
// 新增
vehicleWarnInfo
=
new
VehicleWarnInfo
();
vehicleWarnInfo
.
setWarnConfigId
(
vehicleWarnConfig
.
getId
());
vehicleWarnInfo
.
setWarnType
(
vehicleWarnConfig
.
getWarnType
());
vehicleWarnInfo
.
setWarnName
(
vehicleWarnConfig
.
getWarnName
());
vehicleWarnInfo
.
setWarnLevel
(
vehicleWarnConfig
.
getWarnLevel
());
vehicleWarnInfo
.
setChildNo
(
orderChild
.
getChildNo
());
vehicleWarnInfo
.
setSendAddressId
(
orderChild
.
getSendAddressId
());
vehicleWarnInfo
.
setSendAddress
(
orderChild
.
getSendAddress
());
vehicleWarnInfo
.
setReceiveAddressId
(
orderChild
.
getReceiveAddressId
());
vehicleWarnInfo
.
setReceiveAddress
(
orderChild
.
getReceiveAddress
());
vehicleWarnInfo
.
setTruckId
(
orderChild
.
getTruckId
());
vehicleWarnInfo
.
setTruckNo
(
orderChild
.
getTruckNo
());
vehicleWarnInfo
.
setDriverUserNo
(
orderChild
.
getDriverUserNo
());
vehicleWarnInfo
.
setDriverName
(
orderChild
.
getDriverName
());
vehicleWarnInfo
.
setDriverMobile
(
orderChild
.
getDriverMobile
());
vehicleWarnInfo
.
setTakeTime
(
orderChild
.
getPayTime
());
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
saveEntity
(
vehicleWarnInfo
);
// 发送mq (预警通知)
vehicleWarnMqService
.
truckWarnNotice
(
vehicleWarnInfo
.
getId
());
}
/**
* 暂停检测
*/
private
boolean
suspendCheck
(
VehicleWarnChild
vehicleWarnChild
,
Integer
warnConfigId
){
// 报警暂停
List
<
VehicleWarnRang
>
vehicleWarnRangList
=
vehicleWarnRangeDao
.
ListByWarnConfigId
(
warnConfigId
);
if
(!
vehicleWarnRangList
.
isEmpty
()){
for
(
VehicleWarnRang
item
:
vehicleWarnRangList
)
{
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
ALL
.
getCode
())){
return
true
;
}
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
ORDER
.
getCode
())){
if
(
Objects
.
equals
(
vehicleWarnChild
.
getOrderNo
(),
item
.
getOrderNo
()))
{
return
true
;
}
}
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
CHILD
.
getCode
())){
if
(
Objects
.
equals
(
vehicleWarnChild
.
getChildNo
(),
item
.
getChildNo
()))
{
return
true
;
}
}
}
}
return
false
;
vehicleWarnCommonService
.
vehicleWarnInfoUpdate
(
orderChild
,
vehicleWarnInfo
,
vehicleWarnConfig
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
浏览文件 @
3a3c197f
...
...
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
import
com.clx.message.feign.ClxMessageOpenapiFeign
;
import
com.clx.message.req.batch.AliBatchSmsMessageReq
;
import
com.clx.message.req.message.ClinkMessageReq
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
import
com.clx.performance.config.ClxMessageConfig
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
...
...
@@ -13,7 +14,9 @@ import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao
;
import
com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.ResultEnum
;
import
com.clx.performance.extranal.user.OrderService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
...
...
@@ -23,6 +26,7 @@ import com.clx.performance.param.mq.vehiclewarn.VehicleWarnChildAddMqParam;
import
com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnMqParam
;
import
com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnNoticeMqParam
;
import
com.clx.performance.service.vehiclewarn.*
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -33,7 +37,6 @@ import java.time.LocalDateTime;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.UUID
;
@Slf4j
@Service
...
...
@@ -61,6 +64,10 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
private
ClxMessageConfig
clxMessageConfig
;
@Autowired
private
ClxMessageOpenapiFeign
clxMessageOpenapiFeign
;
@Autowired
private
VehicleWarnParkWarnService
vehicleWarnParkWarnService
;
@Autowired
private
OrderService
orderService
;
@Override
public
void
orderChildAdd
(
VehicleWarnChildAddMqParam
mq
)
{
...
...
@@ -73,7 +80,7 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
int
arriveReceiveExpectTime
=
vehicleWarnCommonService
.
getNeedTime
(
currentPosition
,
orderGoods
.
getReceiveLongitude
(),
orderGoods
.
getReceiveLatitude
());
VehicleWarnChild
vehicleWarnChild
=
new
VehicleWarnChild
();
vehicleWarnChild
.
setOrderNo
(
orderChild
.
getOrderNo
());
vehicleWarnChild
.
setOrder
Goods
No
(
orderChild
.
getOrderNo
());
vehicleWarnChild
.
setChildNo
(
orderChild
.
getChildNo
());
vehicleWarnChild
.
setTruckNo
(
orderChild
.
getTruckNo
());
vehicleWarnChild
.
setDriverUserNo
(
orderChild
.
getDriverUserNo
());
...
...
@@ -97,18 +104,34 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
VehicleWarnChild
vehicleWarnChild
=
vehicleWarnChildDao
.
findByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
VehicleWarnCommonInfoDTO
commonInfo
=
new
VehicleWarnCommonInfoDTO
();
commonInfo
.
setLastArriveSendTime
(
orderGoods
.
getLastArriveReceiveTime
());
commonInfo
.
setLastArriveReceiveTime
(
orderGoods
.
getLastArriveSendTime
());
commonInfo
.
setCurrentTime
(
LocalDateTime
.
now
());
FeignOrderInfoVO
orderInfo
=
orderService
.
getOrderInfo
(
orderGoods
.
getOrderNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_INVALID
);
commonInfo
.
setTransportEndTime
(
LocalDateTimeUtils
.
parseTime
(
orderInfo
.
getTransportEndTime
()));
// 获取当前位置
commonInfo
.
setCurrentPosition
(
vehicleWarnCommonService
.
getCurrentPosition
(
orderChild
.
getTruckNo
(),
orderChild
.
getDriverUserNo
()));
// 距货源地时间
commonInfo
.
setSendAddressDistance
(
vehicleWarnCommonService
.
getNeedTime
(
commonInfo
.
getCurrentPosition
()[
0
],
commonInfo
.
getCurrentPosition
()[
1
],
vehicleWarnChild
.
getSendLongitude
(),
vehicleWarnChild
.
getSendLatitude
()));
// 距目的地时间
commonInfo
.
setReceiveAddressDistance
(
vehicleWarnCommonService
.
getNeedTime
(
commonInfo
.
getCurrentPosition
()[
0
],
commonInfo
.
getCurrentPosition
()[
1
],
vehicleWarnChild
.
getReceiveLongitude
(),
vehicleWarnChild
.
getReceiveLatitude
()));
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
CREATED
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
())
)
{
// 距货源地时间
commonInfo
.
setSendAddressTime
(
vehicleWarnCommonService
.
getNeedTime
(
commonInfo
.
getCurrentPosition
(),
vehicleWarnChild
.
getSendLongitude
(),
vehicleWarnChild
.
getSendLatitude
()));
}
commonInfo
.
setLastArriveSendTime
(
orderGoods
.
getLastArriveReceiveTime
());
commonInfo
.
setLastArriveReceiveTime
(
orderGoods
.
getLastArriveSendTime
());
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
)
{
// 距目的地时间
commonInfo
.
setReceiveAddressTime
(
vehicleWarnCommonService
.
getNeedTime
(
commonInfo
.
getCurrentPosition
(),
vehicleWarnChild
.
getReceiveLongitude
(),
vehicleWarnChild
.
getReceiveLatitude
()));
// 距目的地距离
commonInfo
.
setReceiveAddressDistance
(
vehicleWarnCommonService
.
getNeedDistance
(
commonInfo
.
getCurrentPosition
(),
vehicleWarnChild
.
getReceiveLongitude
(),
vehicleWarnChild
.
getReceiveLatitude
()));
}
commonInfo
.
setCurrentTime
(
LocalDateTime
.
now
());
// 前往货源地超时
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
CREATED
.
getCode
())
...
...
@@ -134,15 +157,63 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
}
}
// 装车超时
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
){
vehicleWarnLoadAndUnloadWarnService
.
loadTimeout
(
orderChild
,
vehicleWarnChild
);
try
{
vehicleWarnLoadAndUnloadWarnService
.
loadTimeout
(
orderChild
,
vehicleWarnChild
);
}
catch
(
Exception
e
){
log
.
error
(
"装车超时错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
// 卸车超时
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
())
){
vehicleWarnLoadAndUnloadWarnService
.
unloadTimeout
(
orderChild
,
vehicleWarnChild
);
try
{
vehicleWarnLoadAndUnloadWarnService
.
unloadTimeout
(
orderChild
,
vehicleWarnChild
);
}
catch
(
Exception
e
){
log
.
error
(
"卸车超时错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
// 前往目的地超时
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
){
vehicleWarnReceiveAddressWarnService
.
gotoReceiveAddressTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
// 到达目的地超时
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
){
vehicleWarnReceiveAddressWarnService
.
arriveReceiveAddressTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
// 停留超时
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
){
vehicleWarnParkWarnService
.
packTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
// 敏感区停留超时
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
){
vehicleWarnParkWarnService
.
sensitiveAreaParkTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
// 更新目的地距离
if
(
commonInfo
.
getReceiveAddressDistance
()
!=
null
)
{
vehicleWarnChild
.
setReceiveAddressDistance
(
commonInfo
.
getReceiveAddressDistance
());
vehicleWarnChildDao
.
updateReceiveAddressDistance
(
vehicleWarnChild
);
}
}
@Override
...
...
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnParkWarnServiceImpl.java
0 → 100644
浏览文件 @
3a3c197f
package
com
.
clx
.
performance
.
service
.
impl
.
vehiclewarn
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnConfigDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao
;
import
com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnConfigEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnInfoEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnConfig
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnInfo
;
import
com.clx.performance.service.trace.TruckTraceService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnCommonService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnParkWarnService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Objects
;
@Slf4j
@Service
public
class
VehicleWarnParkWarnServiceImpl
implements
VehicleWarnParkWarnService
{
private
static
final
Integer
MIN_FER_HOUR
=
60
;
private
static
final
Integer
DISTANCE_DEFAULT
=
2000
;
@Autowired
private
VehicleWarnConfigDao
vehicleWarnConfigDao
;
@Autowired
private
VehicleWarnInfoDao
vehicleWarnInfoDao
;
@Autowired
private
TruckTraceService
truckTraceService
;
@Autowired
private
VehicleWarnCommonService
vehicleWarnCommonService
;
/**
* 停留超时
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
packTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
){
// 未装车前往目的地判断
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())){
// 首次不处理预警
if
(
vehicleWarnChild
.
getReceiveAddressDistance
()
==
null
){
return
;
}
else
{
Integer
needDistance
=
commonInfo
.
getReceiveAddressDistance
();
// 未前往目的地不处理预警
if
(
vehicleWarnChild
.
getReceiveAddressDistance
()-
needDistance
<
DISTANCE_DEFAULT
){
return
;}
}
}
// 停留时间
int
parkTime
=
truckTraceService
.
getParkTime
(
vehicleWarnChild
.
getTruckNo
(),
vehicleWarnChild
.
getDriverUserNo
());
if
(
parkTime
==
0
)
{
return
;}
List
<
VehicleWarnConfig
>
vehicleWarnConfigList
=
vehicleWarnConfigDao
.
listByWarnType
(
VehicleWarnConfigEnum
.
WarnType
.
PARK_TIMEOUT
.
getCode
());
if
(
vehicleWarnConfigList
.
isEmpty
())
{
return
;}
for
(
VehicleWarnConfig
item
:
vehicleWarnConfigList
)
{
doParkTimeout
(
orderChild
,
vehicleWarnChild
,
item
,
parkTime
);
}
}
private
void
doParkTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
,
int
parkTimee
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 暂停检测
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
if
(
suspend
)
{
return
;}
// 超时判断
int
time
=
vehicleWarnConfig
.
getTimeoutRatio
().
multiply
(
new
BigDecimal
(
MIN_FER_HOUR
)).
intValue
();
if
(
parkTimee
>
time
){
return
;}
// 更新
vehicleWarnCommonService
.
vehicleWarnInfoUpdate
(
orderChild
,
vehicleWarnInfo
,
vehicleWarnConfig
);
}
@Override
public
void
sensitiveAreaParkTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
)
{
// 未装车前往目的地判断
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())){
// 首次不处理预警
if
(
vehicleWarnChild
.
getReceiveAddressDistance
()
==
null
){
return
;
}
else
{
Integer
needDistance
=
commonInfo
.
getReceiveAddressDistance
();
// 未前往目的地不处理预警
if
(
vehicleWarnChild
.
getReceiveAddressDistance
()-
needDistance
<
DISTANCE_DEFAULT
){
return
;}
}
}
// 停留时间
int
parkTime
=
truckTraceService
.
getParkTime
(
vehicleWarnChild
.
getTruckNo
(),
vehicleWarnChild
.
getDriverUserNo
());
if
(
parkTime
==
0
)
{
return
;}
List
<
VehicleWarnConfig
>
vehicleWarnConfigList
=
vehicleWarnConfigDao
.
listByWarnType
(
VehicleWarnConfigEnum
.
WarnType
.
SENSITIVE_AREA_PARK_TIMEOUT
.
getCode
());
if
(
vehicleWarnConfigList
.
isEmpty
())
{
return
;}
for
(
VehicleWarnConfig
item
:
vehicleWarnConfigList
)
{
doSensitiveParkTimeout
(
orderChild
,
vehicleWarnChild
,
item
,
commonInfo
);
}
}
private
void
doSensitiveParkTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
,
VehicleWarnCommonInfoDTO
commonInfo
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 敏感区距离
Integer
sensitiveDistance
=
vehicleWarnCommonService
.
getDistance
(
commonInfo
.
getCurrentPosition
(),
vehicleWarnConfig
.
getLongitude
(),
vehicleWarnConfig
.
getLatitude
());
if
(
sensitiveDistance
==
null
||
sensitiveDistance
>
vehicleWarnConfig
.
getRadius
())
{
return
;}
// 暂停检测
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
if
(
suspend
)
{
return
;}
// 更新
vehicleWarnCommonService
.
vehicleWarnInfoUpdate
(
orderChild
,
vehicleWarnInfo
,
vehicleWarnConfig
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnReceiveAddressWarnServiceImpl.java
浏览文件 @
3a3c197f
package
com
.
clx
.
performance
.
service
.
impl
.
vehiclewarn
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.impl.vehiclewarn.VehicleWarnRangeDaoImpl
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnChildDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnConfigDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao
;
import
com.clx.performance.dto.
gd.GdRoute
DTO
;
import
com.clx.performance.dto.
vehiclewarn.VehicleWarnCommonInfo
DTO
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.ResultEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnConfigEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnInfoEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnRangEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnConfig
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnInfo
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnRang
;
import
com.clx.performance.service.trace.TruckTraceService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnMqService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnCommonService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnReceiveAddressWarnService
;
import
com.clx.performance.utils.gd.GdService
;
import
com.msl.common.exception.ServiceSystemException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -36,34 +26,21 @@ import java.util.Objects;
@Slf4j
@Service
public
class
VehicleWarnReceiveAddressWarnServiceImpl
implements
VehicleWarnReceiveAddressWarnService
{
private
static
final
Integer
MIN_FER_HOUR
=
60
;
private
static
final
Integer
SEC_FER_MIN
=
60
;
private
static
final
Integer
DISTANCE_DEFAULT
=
2000
;
@Autowired
private
OrderGoodsDao
orderGoodsDao
;
@Autowired
private
VehicleWarnChildDao
vehicleWarnChildDao
;
@Autowired
private
VehicleWarnConfigDao
vehicleWarnConfigDao
;
@Autowired
private
VehicleWarnInfoDao
vehicleWarnInfoDao
;
@Autowired
private
VehicleWarnRangeDaoImpl
vehicleWarnRangeDao
;
@Autowired
private
GdService
gdService
;
@Autowired
private
TruckTraceService
truckTraceService
;
@Autowired
private
VehicleWarnMqService
vehicleWarnMqService
;
private
VehicleWarnCommonService
vehicleWarnCommonService
;
/**
* 前往
货源
地超时
* 前往
目的
地超时
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
gotoReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
){
public
void
gotoReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
){
if
(
vehicleWarnChild
.
getArriveReceiveExpectTime
()
==
null
)
{
return
;}
// 未装车前往目的地判断
...
...
@@ -74,8 +51,7 @@ public class VehicleWarnReceiveAddressWarnServiceImpl implements VehicleWarnRece
return
;
}
else
{
int
needDistance
=
getNeedDistance
(
vehicleWarnChild
.
getTruckNo
(),
vehicleWarnChild
.
getDriverUserNo
(),
vehicleWarnChild
.
getReceiveLongitude
(),
vehicleWarnChild
.
getReceiveLatitude
());
Integer
needDistance
=
commonInfo
.
getReceiveAddressDistance
();
// 未前往目的地不处理预警
if
(
vehicleWarnChild
.
getReceiveAddressDistance
()-
needDistance
<
DISTANCE_DEFAULT
){
return
;}
...
...
@@ -85,11 +61,11 @@ public class VehicleWarnReceiveAddressWarnServiceImpl implements VehicleWarnRece
}
}
// 理论时间
Integer
expectTime
=
vehicleWarnChild
.
getArriveReceiveExpectTime
();
// 计算需要的时间
Integer
needTime
=
getNeedTime
(
vehicleWarnChild
.
getTruckNo
(),
vehicleWarnChild
.
getDriverUserNo
(),
vehicleWarnChild
.
getReceiveLongitude
(),
vehicleWarnChild
.
getReceiveLatitude
());
Integer
needTime
=
commonInfo
.
getReceiveAddressTime
();
List
<
VehicleWarnConfig
>
vehicleWarnConfigList
=
vehicleWarnConfigDao
.
listByWarnType
(
VehicleWarnConfigEnum
.
WarnType
.
GOTO_RECEIVE_TIMEOUT
.
getCode
());
if
(
vehicleWarnConfigList
.
isEmpty
())
{
return
;}
...
...
@@ -101,19 +77,14 @@ public class VehicleWarnReceiveAddressWarnServiceImpl implements VehicleWarnRece
}
private
void
doGotoReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
,
Integer
expectTime
,
Integer
needTime
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findEnableByChildNoAndWarnConfigType
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 暂停检测
boolean
suspend
=
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
// 已暂停
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
SUSPEND
.
getCode
())){
if
(
suspend
)
{
return
;}
// 暂停恢复
vehicleWarnInfo
.
setStatus
(
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
());
vehicleWarnInfoDao
.
updateStatus
(
vehicleWarnInfo
);
}
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
if
(
suspend
)
{
return
;}
LocalDateTime
loadTime
=
orderChild
.
getLoadTime
();
...
...
@@ -122,82 +93,39 @@ public class VehicleWarnReceiveAddressWarnServiceImpl implements VehicleWarnRece
if
(
loadTime
.
plusMinutes
(
expectTime
).
plusMinutes
(
time
).
isAfter
(
LocalDateTime
.
now
().
plusMinutes
(
needTime
))){
return
;}
// 更新
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
())){
// 计算下次生效时间
LocalDateTime
nextTime
=
vehicleWarnInfo
.
getWarnTime
().
plusMinutes
(
vehicleWarnConfig
.
getInterval
().
multiply
(
new
BigDecimal
(
MIN_FER_HOUR
)).
intValue
());
if
(
nextTime
.
isAfter
(
LocalDateTime
.
now
()))
{
return
;}
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
updateWarn
(
vehicleWarnInfo
);
return
;
}
// 新增
vehicleWarnInfo
=
new
VehicleWarnInfo
();
vehicleWarnInfo
.
setWarnConfigId
(
vehicleWarnConfig
.
getId
());
vehicleWarnInfo
.
setWarnType
(
vehicleWarnConfig
.
getWarnType
());
vehicleWarnInfo
.
setWarnName
(
vehicleWarnConfig
.
getWarnName
());
vehicleWarnInfo
.
setWarnName
(
vehicleWarnConfig
.
getWarnName
());
vehicleWarnInfo
.
setWarnLevel
(
vehicleWarnConfig
.
getWarnLevel
());
vehicleWarnInfo
.
setChildNo
(
orderChild
.
getChildNo
());
vehicleWarnInfo
.
setSendAddressId
(
orderChild
.
getSendAddressId
());
vehicleWarnInfo
.
setSendAddress
(
orderChild
.
getSendAddress
());
vehicleWarnInfo
.
setReceiveAddressId
(
orderChild
.
getReceiveAddressId
());
vehicleWarnInfo
.
setReceiveAddress
(
orderChild
.
getReceiveAddress
());
vehicleWarnInfo
.
setTruckId
(
orderChild
.
getTruckId
());
vehicleWarnInfo
.
setTruckNo
(
orderChild
.
getTruckNo
());
vehicleWarnInfo
.
setDriverUserNo
(
orderChild
.
getDriverUserNo
());
vehicleWarnInfo
.
setDriverName
(
orderChild
.
getDriverName
());
vehicleWarnInfo
.
setDriverMobile
(
orderChild
.
getDriverMobile
());
vehicleWarnInfo
.
setTakeTime
(
orderChild
.
getPayTime
());
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
saveEntity
(
vehicleWarnInfo
);
// 发送mq (预警通知)
vehicleWarnMqService
.
truckWarnNotice
(
vehicleWarnInfo
.
getId
());
vehicleWarnCommonService
.
vehicleWarnInfoUpdate
(
orderChild
,
vehicleWarnInfo
,
vehicleWarnConfig
);
}
/**
* 到达
货源
地超时
* 到达
目的
地超时
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
arriveReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
){
public
void
arriveReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
){
if
(
vehicleWarnChild
.
getArriveReceiveExpectTime
()
==
null
)
{
return
;}
// 未装车前往目的地判断
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())){
int
needDistance
=
getNeedDistance
(
vehicleWarnChild
.
getTruckNo
(),
vehicleWarnChild
.
getDriverUserNo
(),
vehicleWarnChild
.
getReceiveLongitude
(),
vehicleWarnChild
.
getReceiveLatitude
());
// 首次不处理预警
if
(
vehicleWarnChild
.
getReceiveAddressDistance
()
==
null
){
vehicleWarnChild
.
setReceiveAddressDistance
(
needDistance
);
vehicleWarnChildDao
.
updateReceiveAddressDistance
(
vehicleWarnChild
);
return
;
}
else
{
Integer
needDistance
=
commonInfo
.
getReceiveAddressDistance
();
// 未前往目的地不处理预警
if
(
vehicleWarnChild
.
getReceiveAddressDistance
()-
needDistance
<
DISTANCE_DEFAULT
){
return
;}
vehicleWarnChild
.
setReceiveAddressDistance
(
needDistance
);
vehicleWarnChildDao
.
updateReceiveAddressDistance
(
vehicleWarnChild
);
}
}
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
// 计算需要的时间
int
needTime
=
getNeedTime
(
vehicleWarnChild
.
getTruckNo
(),
vehicleWarnChild
.
getDriverUserNo
(),
vehicleWarnChild
.
getReceiveLongitude
(),
vehicleWarnChild
.
getReceiveLatitude
()
);
int
needTime
=
commonInfo
.
getReceiveAddressTime
();
LocalDateTime
lastArriveReceiveTime
=
commonInfo
.
getLastArriveReceiveTime
(
);
// 超时判断
LocalDateTime
now
=
LocalDateTime
.
now
();
if
(
orderGoods
.
getLastArriveReceiveTime
()
.
isAfter
(
now
.
plusMinutes
(
needTime
)))
{
return
;}
LocalDateTime
now
=
commonInfo
.
getCurrentTime
();
if
(
lastArriveReceiveTime
.
isAfter
(
now
.
plusMinutes
(
needTime
)))
{
return
;}
List
<
VehicleWarnConfig
>
vehicleWarnConfigList
=
vehicleWarnConfigDao
.
listByWarnType
(
VehicleWarnConfigEnum
.
WarnType
.
ARRIVE_RECEIVE_DELAY
.
getCode
());
if
(
vehicleWarnConfigList
.
isEmpty
())
{
return
;}
...
...
@@ -209,132 +137,17 @@ public class VehicleWarnReceiveAddressWarnServiceImpl implements VehicleWarnRece
}
private
void
doArriveReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findEnableByChildNoAndWarnConfigType
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
// 暂停检测
boolean
suspend
=
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
// 已暂停
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
SUSPEND
.
getCode
())){
if
(
suspend
)
{
return
;}
// 暂停恢复
vehicleWarnInfo
.
setStatus
(
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
());
vehicleWarnInfoDao
.
updateStatus
(
vehicleWarnInfo
);
}
// 更新
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
())){
// 计算下次生效时间
LocalDateTime
nextTime
=
vehicleWarnInfo
.
getWarnTime
().
plusMinutes
(
vehicleWarnConfig
.
getInterval
().
multiply
(
new
BigDecimal
(
MIN_FER_HOUR
)).
intValue
());
if
(
nextTime
.
isAfter
(
LocalDateTime
.
now
()))
{
return
;}
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
updateWarn
(
vehicleWarnInfo
);
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 新增
vehicleWarnInfo
=
new
VehicleWarnInfo
();
vehicleWarnInfo
.
setWarnConfigId
(
vehicleWarnConfig
.
getId
());
vehicleWarnInfo
.
setWarnType
(
vehicleWarnConfig
.
getWarnType
());
vehicleWarnInfo
.
setWarnName
(
vehicleWarnConfig
.
getWarnName
());
vehicleWarnInfo
.
setWarnLevel
(
vehicleWarnConfig
.
getWarnLevel
());
vehicleWarnInfo
.
setChildNo
(
orderChild
.
getChildNo
());
vehicleWarnInfo
.
setSendAddressId
(
orderChild
.
getSendAddressId
());
vehicleWarnInfo
.
setSendAddress
(
orderChild
.
getSendAddress
());
vehicleWarnInfo
.
setReceiveAddressId
(
orderChild
.
getReceiveAddressId
());
vehicleWarnInfo
.
setReceiveAddress
(
orderChild
.
getReceiveAddress
());
vehicleWarnInfo
.
setTruckId
(
orderChild
.
getTruckId
());
vehicleWarnInfo
.
setTruckNo
(
orderChild
.
getTruckNo
());
vehicleWarnInfo
.
setDriverUserNo
(
orderChild
.
getDriverUserNo
());
vehicleWarnInfo
.
setDriverName
(
orderChild
.
getDriverName
());
vehicleWarnInfo
.
setDriverMobile
(
orderChild
.
getDriverMobile
());
vehicleWarnInfo
.
setTakeTime
(
orderChild
.
getPayTime
());
vehicleWarnInfo
.
setWarnTime
(
LocalDateTime
.
now
());
vehicleWarnInfoDao
.
saveEntity
(
vehicleWarnInfo
);
// 发送mq (预警通知)
vehicleWarnMqService
.
truckWarnNotice
(
vehicleWarnInfo
.
getId
());
}
/**
* 暂停检测
*/
private
boolean
suspendCheck
(
VehicleWarnChild
vehicleWarnChild
,
Integer
warnConfigId
){
// 报警暂停
List
<
VehicleWarnRang
>
vehicleWarnRangList
=
vehicleWarnRangeDao
.
ListByWarnConfigId
(
warnConfigId
);
if
(!
vehicleWarnRangList
.
isEmpty
()){
for
(
VehicleWarnRang
item
:
vehicleWarnRangList
)
{
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
ALL
.
getCode
())){
return
true
;
}
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
ORDER
.
getCode
())){
if
(
Objects
.
equals
(
vehicleWarnChild
.
getOrderNo
(),
item
.
getOrderNo
()))
{
return
true
;
}
}
if
(
Objects
.
equals
(
item
.
getWarnRang
(),
VehicleWarnRangEnum
.
WarnRange
.
CHILD
.
getCode
())){
if
(
Objects
.
equals
(
vehicleWarnChild
.
getChildNo
(),
item
.
getChildNo
()))
{
return
true
;
}
}
}
}
return
false
;
}
/**
* 获取需要时间(min)
*/
private
int
getNeedTime
(
String
truckNo
,
Long
userNo
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
){
int
needTime
=
0
;
BigDecimal
[]
lastPosition
=
truckTraceService
.
getCurrentPosition
(
truckNo
,
userNo
);
if
(
lastPosition
!=
null
)
{
try
{
List
<
GdRouteDTO
>
gdRouteDTOS
=
gdService
.
getRoute
(
lastPosition
[
0
],
lastPosition
[
1
],
destinationLongitude
,
destinationLatitude
);
if
(!
gdRouteDTOS
.
isEmpty
()){
needTime
=
gdRouteDTOS
.
get
(
0
).
getDuration
()
/
SEC_FER_MIN
;
}
}
catch
(
ServiceSystemException
e
)
{
log
.
info
(
"获取高德线路失败, truckNo:{}, userNo:{}, msg:{}"
,
truckNo
,
userNo
,
e
.
getMessage
());
}
}
return
needTime
;
}
/**
* 获取需要距离(m)
*/
private
int
getNeedDistance
(
String
truckNo
,
Long
userNo
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
){
int
needDistance
=
0
;
BigDecimal
[]
lastPosition
=
truckTraceService
.
getCurrentPosition
(
truckNo
,
userNo
);
if
(
lastPosition
!=
null
)
{
try
{
List
<
GdRouteDTO
>
gdRouteDTOS
=
gdService
.
getRoute
(
lastPosition
[
0
],
lastPosition
[
1
],
destinationLongitude
,
destinationLatitude
);
if
(!
gdRouteDTOS
.
isEmpty
()){
needDistance
=
gdRouteDTOS
.
get
(
0
).
getDistance
();
}
}
catch
(
ServiceSystemException
e
)
{
log
.
info
(
"获取高德线路失败, truckNo:{}, userNo:{}, msg:{}"
,
truckNo
,
userNo
,
e
.
getMessage
());
}
}
// 暂停检测
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
if
(
suspend
)
{
return
;}
return
needDistance
;
// 更新
vehicleWarnCommonService
.
vehicleWarnInfoUpdate
(
orderChild
,
vehicleWarnInfo
,
vehicleWarnConfig
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnSendAddressWarnServiceImpl.java
浏览文件 @
3a3c197f
...
...
@@ -56,19 +56,14 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd
}
private
void
doGotoSendAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
,
long
expectTime
,
Integer
needTime
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findEnableByChildNoAndWarnConfigType
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 暂停检测
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
// 已暂停
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
SUSPEND
.
getCode
())){
if
(
suspend
)
{
return
;}
// 暂停恢复
vehicleWarnInfo
.
setStatus
(
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
());
vehicleWarnInfoDao
.
updateStatus
(
vehicleWarnInfo
);
}
if
(
suspend
)
{
return
;}
// 超时判断
int
time
=
vehicleWarnConfig
.
getTimeoutRatio
().
multiply
(
new
BigDecimal
(
expectTime
)).
divide
(
new
BigDecimal
(
"100"
),
0
,
RoundingMode
.
HALF_UP
).
intValue
();
...
...
@@ -104,19 +99,14 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd
}
private
void
doArriveSendAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findEnableByChildNoAndWarnConfigType
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 暂停检测
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
// 已暂停
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
SUSPEND
.
getCode
())){
if
(
suspend
)
{
return
;}
// 暂停恢复
vehicleWarnInfo
.
setStatus
(
VehicleWarnInfoEnum
.
Status
.
INIT
.
getCode
());
vehicleWarnInfoDao
.
updateStatus
(
vehicleWarnInfo
);
}
if
(
suspend
)
{
return
;}
// 更新
vehicleWarnCommonService
.
vehicleWarnInfoUpdate
(
orderChild
,
vehicleWarnInfo
,
vehicleWarnConfig
);
...
...
performance-web/src/main/java/com/clx/performance/service/vehiclewarn/VehicleWarnCommonService.java
浏览文件 @
3a3c197f
...
...
@@ -18,4 +18,10 @@ public interface VehicleWarnCommonService {
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
);
int
getNeedTime
(
BigDecimal
[]
currentPosition
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
);
int
getNeedDistance
(
BigDecimal
[]
currentPosition
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
);
Integer
getDistance
(
BigDecimal
[]
currentPosition
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
);
}
performance-web/src/main/java/com/clx/performance/service/vehiclewarn/VehicleWarnParkWarnService.java
0 → 100644
浏览文件 @
3a3c197f
package
com
.
clx
.
performance
.
service
.
vehiclewarn
;
import
com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
public
interface
VehicleWarnParkWarnService
{
void
packTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
);
void
sensitiveAreaParkTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
);
}
performance-web/src/main/java/com/clx/performance/service/vehiclewarn/VehicleWarnReceiveAddressWarnService.java
浏览文件 @
3a3c197f
package
com
.
clx
.
performance
.
service
.
vehiclewarn
;
import
com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
public
interface
VehicleWarnReceiveAddressWarnService
{
void
gotoReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
);
void
gotoReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
);
void
arriveReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
);
void
arriveReceiveAddressTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论