Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
bc7573a4
提交
bc7573a4
authored
5月 09, 2024
作者:
艾庆国
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
运单预警
上级
633587de
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
35 行增加
和
14 行删除
+35
-14
VehicleWarnMqHandlerServiceImpl.java
...ice/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
+35
-14
没有找到文件。
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
浏览文件 @
bc7573a4
...
@@ -11,7 +11,7 @@ import com.clx.performance.dao.OrderGoodsDao;
...
@@ -11,7 +11,7 @@ import com.clx.performance.dao.OrderGoodsDao;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnChildDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnChildDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao
;
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.OrderChildEnum
;
import
com.clx.performance.enums.ResultEnum
;
import
com.clx.performance.enums.ResultEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
...
@@ -22,19 +22,15 @@ import com.clx.performance.model.vehiclewarn.VehicleWarnUser;
...
@@ -22,19 +22,15 @@ import com.clx.performance.model.vehiclewarn.VehicleWarnUser;
import
com.clx.performance.param.mq.vehiclewarn.VehicleWarnChildAddMqParam
;
import
com.clx.performance.param.mq.vehiclewarn.VehicleWarnChildAddMqParam
;
import
com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnMqParam
;
import
com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnMqParam
;
import
com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnNoticeMqParam
;
import
com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnNoticeMqParam
;
import
com.clx.performance.service.trace.TruckTraceService
;
import
com.clx.performance.service.vehiclewarn.*
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnLoadAndUnloadWarnService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnMqHandlerService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnSendAddressWarnService
;
import
com.clx.performance.utils.gd.GdService
;
import
com.msl.common.exception.ServiceSystemException
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.
util.List
;
import
java.
time.LocalDateTime
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.UUID
;
import
java.util.UUID
;
...
@@ -58,9 +54,9 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -58,9 +54,9 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
@Autowired
@Autowired
private
VehicleWarnLoadAndUnloadWarnService
vehicleWarnLoadAndUnloadWarnService
;
private
VehicleWarnLoadAndUnloadWarnService
vehicleWarnLoadAndUnloadWarnService
;
@Autowired
@Autowired
private
TruckTraceService
truckTrace
Service
;
private
VehicleWarnReceiveAddressWarnService
vehicleWarnReceiveAddressWarn
Service
;
@Autowired
@Autowired
private
GdService
gd
Service
;
private
VehicleWarnCommonService
vehicleWarnCommon
Service
;
@Autowired
@Autowired
private
ClxMessageConfig
clxMessageConfig
;
private
ClxMessageConfig
clxMessageConfig
;
@Autowired
@Autowired
...
@@ -71,8 +67,10 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -71,8 +67,10 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
int
arriveSendExpectTime
=
getNeedTime
(
orderChild
.
getTruckNo
(),
orderChild
.
getDriverUserNo
(),
orderGoods
.
getSendLongitude
(),
orderGoods
.
getSendLatitude
());
// 计算预计时间
int
arriveReceiveExpectTime
=
getNeedTime
(
orderChild
.
getTruckNo
(),
orderChild
.
getDriverUserNo
(),
orderGoods
.
getReceiveLongitude
(),
orderGoods
.
getReceiveLatitude
());
BigDecimal
[]
currentPosition
=
vehicleWarnCommonService
.
getCurrentPosition
(
orderChild
.
getTruckNo
(),
orderChild
.
getDriverUserNo
());
int
arriveSendExpectTime
=
vehicleWarnCommonService
.
getNeedTime
(
currentPosition
,
orderGoods
.
getSendLongitude
(),
orderGoods
.
getSendLatitude
());
int
arriveReceiveExpectTime
=
vehicleWarnCommonService
.
getNeedTime
(
currentPosition
,
orderGoods
.
getReceiveLongitude
(),
orderGoods
.
getReceiveLatitude
());
VehicleWarnChild
vehicleWarnChild
=
new
VehicleWarnChild
();
VehicleWarnChild
vehicleWarnChild
=
new
VehicleWarnChild
();
vehicleWarnChild
.
setOrderNo
(
orderChild
.
getOrderNo
());
vehicleWarnChild
.
setOrderNo
(
orderChild
.
getOrderNo
());
...
@@ -94,15 +92,34 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -94,15 +92,34 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
@Override
@Override
public
void
truckWarn
(
VehicleWarnTruckWarnMqParam
mq
)
{
public
void
truckWarn
(
VehicleWarnTruckWarnMqParam
mq
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
VehicleWarnChild
vehicleWarnChild
=
vehicleWarnChildDao
.
findByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
VehicleWarnChild
vehicleWarnChild
=
vehicleWarnChildDao
.
findByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
VehicleWarnCommonInfoDTO
commonInfo
=
new
VehicleWarnCommonInfoDTO
();
// 获取当前位置
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
()));
commonInfo
.
setLastArriveSendTime
(
orderGoods
.
getLastArriveReceiveTime
());
commonInfo
.
setLastArriveReceiveTime
(
orderGoods
.
getLastArriveSendTime
());
commonInfo
.
setCurrentTime
(
LocalDateTime
.
now
());
// 前往货源地超时
// 前往货源地超时
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
CREATED
.
getCode
())
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
CREATED
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
())
){
){
vehicleWarnSendAddressWarnService
.
gotoSendAddressTimeout
(
orderChild
,
vehicleWarnChild
);
try
{
vehicleWarnSendAddressWarnService
.
gotoSendAddressTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
catch
(
Exception
e
){
log
.
error
(
"前往货源地超时错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
}
// 到达货源地超时
// 到达货源地超时
...
@@ -110,7 +127,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -110,7 +127,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
())
){
){
vehicleWarnSendAddressWarnService
.
arriveSendAddressTimeout
(
orderChild
,
vehicleWarnChild
);
try
{
vehicleWarnSendAddressWarnService
.
arriveSendAddressTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
catch
(
Exception
e
){
log
.
error
(
"到达货源地超时错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
}
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论