Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
f8bef67e
提交
f8bef67e
authored
7月 08, 2024
作者:
刘海泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增同步数媒宝运单相关接口信息
上级
f911d407
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
135 行增加
和
7 行删除
+135
-7
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+2
-0
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+7
-0
OrderChildExpectDTO.java
...ain/java/com/clx/performance/dto/OrderChildExpectDTO.java
+1
-0
PushOrderChildExpectTimeJob.java
.../com/clx/performance/job/PushOrderChildExpectTimeJob.java
+115
-0
OrderChildService.java
...n/java/com/clx/performance/service/OrderChildService.java
+3
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+6
-7
OrderChildStruct.java
...ain/java/com/clx/performance/struct/OrderChildStruct.java
+1
-0
没有找到文件。
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
f8bef67e
...
@@ -198,4 +198,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
...
@@ -198,4 +198,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
void
updateBatchOwnerCancel
(
List
<
String
>
childNos
);
void
updateBatchOwnerCancel
(
List
<
String
>
childNos
);
List
<
CancelOrderGoodsWeightDTO
>
statisticsCancelOrderGoodsWeight
(
List
<
String
>
childNos
);
List
<
CancelOrderGoodsWeightDTO
>
statisticsCancelOrderGoodsWeight
(
List
<
String
>
childNos
);
List
<
OrderChild
>
listBeforeUnloadOrderChild
();
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
f8bef67e
...
@@ -655,4 +655,11 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
...
@@ -655,4 +655,11 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public
List
<
CancelOrderGoodsWeightDTO
>
statisticsCancelOrderGoodsWeight
(
List
<
String
>
childNos
)
{
public
List
<
CancelOrderGoodsWeightDTO
>
statisticsCancelOrderGoodsWeight
(
List
<
String
>
childNos
)
{
return
baseMapper
.
statisticsCancelOrderGoodsWeight
(
childNos
);
return
baseMapper
.
statisticsCancelOrderGoodsWeight
(
childNos
);
}
}
@Override
public
List
<
OrderChild
>
listBeforeUnloadOrderChild
()
{
return
list
(
lQrWrapper
()
.
lt
(
OrderChild
::
getStatus
,
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
())
);
}
}
}
performance-web/src/main/java/com/clx/performance/dto/OrderChildExpectDTO.java
浏览文件 @
f8bef67e
...
@@ -25,6 +25,7 @@ public class OrderChildExpectDTO implements Serializable {
...
@@ -25,6 +25,7 @@ public class OrderChildExpectDTO implements Serializable {
private
String
truckLatitudeY
;
//车辆位置维度
private
String
truckLatitudeY
;
//车辆位置维度
private
Integer
expectTransportTimeSecond
;
//预计运输时间
private
Integer
expectTransportTimeSecond
;
//预计运输时间
private
String
expectTransportTime
;
//预计运输时间(转化秒 为几小时几分钟)
private
String
expectTransportTime
;
//预计运输时间(转化秒 为几小时几分钟)
private
String
createTime
;
//插入缓存的时间
}
}
performance-web/src/main/java/com/clx/performance/job/PushOrderChildExpectTimeJob.java
0 → 100644
浏览文件 @
f8bef67e
package
com
.
clx
.
performance
.
job
;
import
com.alibaba.fastjson.JSON
;
import
com.clx.open.sdk.callback.OpenCallBackClient
;
import
com.clx.open.sdk.callback.message.OrderChildExpectTimeMessage
;
import
com.clx.order.enums.SyncPlatformEnum
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.performance.config.ThirdAppConfig
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dto.OrderChildExpectDTO
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.listener.OrderChildDtsListener
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.struct.OrderChildStruct
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.msl.common.job.JobLog
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.DateUtils
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.exception.ExceptionUtils
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
@Slf4j
@Component
@AllArgsConstructor
public
class
PushOrderChildExpectTimeJob
{
private
final
OrderChildDao
orderChildDao
;
private
final
OrderFeign
orderFeign
;
private
final
OrderChildService
orderChildService
;
private
final
OrderChildStruct
orderChildStruct
;
private
final
DriverService
driverService
;
private
final
ThirdAppConfig
thirdAppConfig
;
private
final
OrderChildDtsListener
orderChildDtsListener
;
/**
* 推送运单预计时间到对应的平台
*/
@XxlJob
(
"pushOrderChildExpectTimeJob"
)
public
void
pushOrderChildExpectTimeJob
()
{
try
{
pushOrderChildExpectTime2ThirdPlatform
();
}
catch
(
Exception
e
)
{
log
.
warn
(
"定时任务推送运单预计时间到对应的平台失败,异常原因:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
JobLog
.
error
(
"定时任务获取平台车辆定位信息失败,异常原因====================="
,
e
);
}
}
//数媒宝对应的运单进行实时预计时间推送
public
void
pushOrderChildExpectTime2ThirdPlatform
(){
log
.
info
(
"开始查询承运系统未到达目的地前的运单开始==================="
);
List
<
OrderChild
>
list
=
orderChildDao
.
listBeforeUnloadOrderChild
();
log
.
info
(
"查询到承运系统未到达目的地前的运单条数:{} 条"
,
list
.
size
());
if
(
CollectionUtils
.
isNotEmpty
(
list
)){
List
<
String
>
orderNoList
=
list
.
stream
().
map
(
OrderChild:
:
getOrderNo
).
collect
(
Collectors
.
toList
());
Result
<
Map
<
String
,
Integer
>>
mapResult
=
orderFeign
.
queryListOrderSource
(
orderNoList
);
if
(!
mapResult
.
succeed
()){
log
.
warn
(
"通过订单编号查询订单来源信息失败,响应结果:{}"
,
mapResult
);
return
;
}
Map
<
String
,
Integer
>
orderSourceMap
=
mapResult
.
getData
();
list
.
forEach
(
item
->{
//交易平台数媒宝同步运单同步实时预计时间
if
(
Objects
.
equals
(
orderSourceMap
.
get
(
item
.
getOrderNo
()),
SyncPlatformEnum
.
Source
.
TRADE_PLATFORM
.
getCode
())){
List
<
OrderChildExpectDTO
>
expectList
=
orderChildService
.
getOrderChildExpect
(
item
.
getChildNo
());
if
(
CollectionUtils
.
isNotEmpty
(
expectList
)
||
StringUtils
.
isNotBlank
(
expectList
.
get
(
0
).
getCreateTime
())){
log
.
info
(
"运单号:{} 未从缓存中查询到对应的预计时间信息"
,
item
.
getChildNo
());
return
;
}
OrderChildExpectDTO
orderChildExpect
=
expectList
.
get
(
0
);
LocalDateTime
calcExpectTime
=
DateUtils
.
parseDateTime
(
orderChildExpect
.
getCreateTime
()).
get
();
//如果缓存预计时间 插入的不是10分钟之内的,则不进行使用
if
(
LocalDateTimeUtils
.
betweenMin
(
calcExpectTime
,
LocalDateTime
.
now
())
>
10
){
log
.
info
(
"运单号:{} 从缓存中查询到对应的预计时间信息超过10分钟,不进行使用"
,
item
.
getChildNo
());
return
;
}
OrderChildExpectTimeMessage
message
=
new
OrderChildExpectTimeMessage
();
message
.
setChildNo
(
item
.
getChildNo
());
message
.
setStatus
(
item
.
getStatus
());
if
(
item
.
getStatus
()
<
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
()){
//到达货源地之前
message
.
setExpectArriveTime
(
orderChildExpect
.
getExpectArriveTime
());
}
else
{
//到达货源地之后 && 到达目的地之前
message
.
setExpectArriveTime
(
orderChildExpect
.
getExpectReceiveTime
());
}
String
data
=
JSON
.
toJSONString
(
message
);
OpenCallBackClient
openCallBackClient
=
thirdAppConfig
.
getOpenCallBackClient
(
SyncPlatformEnum
.
Source
.
TRADE_PLATFORM
.
getCode
().
toString
());
log
.
info
(
"运单预计时间信息同步开始,请求参数:{}"
,
data
);
Result
<?>
result
=
openCallBackClient
.
encryptPost
(
data
,
message
.
topic
());
log
.
info
(
"运单预计时间信息同步,响应结果:{}"
,
JSON
.
toJSONString
(
result
));
}
});
}
}
}
performance-web/src/main/java/com/clx/performance/service/OrderChildService.java
浏览文件 @
f8bef67e
package
com
.
clx
.
performance
.
service
;
package
com
.
clx
.
performance
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.dto.OrderChildExpectDTO
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.app.*
;
import
com.clx.performance.param.app.*
;
...
@@ -99,4 +100,6 @@ public interface OrderChildService {
...
@@ -99,4 +100,6 @@ public interface OrderChildService {
Integer
getOrderChildCheck
(
OrderChildCheckParam
param
);
Integer
getOrderChildCheck
(
OrderChildCheckParam
param
);
void
cancelOrderChilds
(
CancelOrderGoodsParam
param
);
void
cancelOrderChilds
(
CancelOrderGoodsParam
param
);
List
<
OrderChildExpectDTO
>
getOrderChildExpect
(
String
orderChildNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
f8bef67e
...
@@ -58,7 +58,6 @@ import com.clx.performance.utils.zjxl.ZjxlGpsService;
...
@@ -58,7 +58,6 @@ import com.clx.performance.utils.zjxl.ZjxlGpsService;
import
com.clx.performance.vo.app.*
;
import
com.clx.performance.vo.app.*
;
import
com.clx.performance.vo.app.owner.OwnerOrderChildVO
;
import
com.clx.performance.vo.app.owner.OwnerOrderChildVO
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
...
@@ -2432,12 +2431,10 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2432,12 +2431,10 @@ public class OrderChildServiceImpl implements OrderChildService {
RedisConstants
.
ZJXL_TRUCK_TRACE_LIST
);
RedisConstants
.
ZJXL_TRUCK_TRACE_LIST
);
//查询平台未完结的运单
//查询平台未完结的运单
List
<
Integer
>
list
=
Arrays
.
asList
(
List
<
Integer
>
list
=
Arrays
.
asList
(
OrderChildEnum
.
Status
.
CREATED
.
getCode
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
(),
new
Integer
[]{
OrderChildEnum
.
Status
.
CREATED
.
getCode
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
(),
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
());
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
(),
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
()});
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
listOrderChild
(
list
);
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
listOrderChild
(
list
);
for
(
OrderChild
child
:
orderChildList
)
{
for
(
OrderChild
child
:
orderChildList
)
{
...
@@ -2500,6 +2497,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2500,6 +2497,7 @@ public class OrderChildServiceImpl implements OrderChildService {
expect
.
setExpectReceiveTime
(
DateUtils
.
formatDateTime
(
expectTime
).
get
());
expect
.
setExpectReceiveTime
(
DateUtils
.
formatDateTime
(
expectTime
).
get
());
expect
.
setExpectReceiveTimeSecond
(
plusTime
);
expect
.
setExpectReceiveTimeSecond
(
plusTime
);
}
}
expect
.
setCreateTime
(
DateUtils
.
formatDateTime
(
LocalDateTime
.
now
()).
get
());
cacheOrderChildExpectData
(
childNo
,
expect
);
cacheOrderChildExpectData
(
childNo
,
expect
);
}
}
}
}
...
@@ -2551,6 +2549,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2551,6 +2549,7 @@ public class OrderChildServiceImpl implements OrderChildService {
* @Param [orderChildNo]
* @Param [orderChildNo]
* @return
* @return
**/
**/
@Override
public
List
<
OrderChildExpectDTO
>
getOrderChildExpect
(
String
orderChildNo
){
public
List
<
OrderChildExpectDTO
>
getOrderChildExpect
(
String
orderChildNo
){
List
<
String
>
keyList
=
(
List
<
String
>)
redisTemplate
.
opsForHash
().
get
(
List
<
String
>
keyList
=
(
List
<
String
>)
redisTemplate
.
opsForHash
().
get
(
RedisConstants
.
ORDER_CHILD_EXPECT_TIME_DATA_KEY_MAP
,
orderChildNo
);
RedisConstants
.
ORDER_CHILD_EXPECT_TIME_DATA_KEY_MAP
,
orderChildNo
);
...
...
performance-web/src/main/java/com/clx/performance/struct/OrderChildStruct.java
浏览文件 @
f8bef67e
...
@@ -38,4 +38,5 @@ public interface OrderChildStruct {
...
@@ -38,4 +38,5 @@ public interface OrderChildStruct {
List
<
LineWarnTruckTraceInfoVO
>
convertLineWarnTruckTraceInfoVO
(
List
<
OrderChild
>
list
);
List
<
LineWarnTruckTraceInfoVO
>
convertLineWarnTruckTraceInfoVO
(
List
<
OrderChild
>
list
);
OrderChildMessage
convert2Message
(
OrderChild
item
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论