Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
a68d8a3b
提交
a68d8a3b
authored
11月 14, 2023
作者:
liuhaiquan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增取消订单和到达最晚拉运时间的最后一车逻辑判断
上级
c1823326
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
46 行增加
和
37 行删除
+46
-37
OrderChildFeignController.java
...rformance/controller/feign/OrderChildFeignController.java
+0
-11
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+3
-1
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+13
-3
OrderChildDtsListener.java
...a/com/clx/performance/listener/OrderChildDtsListener.java
+18
-2
LastTruckService.java
...in/java/com/clx/performance/service/LastTruckService.java
+2
-3
LastTruckServiceImpl.java
...om/clx/performance/service/impl/LastTruckServiceImpl.java
+10
-15
OrderChildSqlProvider.java
...om/clx/performance/sqlProvider/OrderChildSqlProvider.java
+0
-2
没有找到文件。
performance-web/src/main/java/com/clx/performance/controller/feign/OrderChildFeignController.java
浏览文件 @
a68d8a3b
...
@@ -13,7 +13,6 @@ import lombok.AllArgsConstructor;
...
@@ -13,7 +13,6 @@ import lombok.AllArgsConstructor;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
import
java.util.List
;
...
@@ -61,14 +60,4 @@ public class OrderChildFeignController {
...
@@ -61,14 +60,4 @@ public class OrderChildFeignController {
return
Result
.
ok
(
feignOrderChildService
.
getLineStatistics
(
sendSystemAddressId
,
receiveSystemAddressId
));
return
Result
.
ok
(
feignOrderChildService
.
getLineStatistics
(
sendSystemAddressId
,
receiveSystemAddressId
));
}
}
@ApiOperation
(
value
=
"运单取消/到达最晚拉运时间 同步最后一车"
,
notes
=
"<br>By:刘海泉"
)
@RequestMapping
(
value
=
"/syncLastTruck"
,
method
=
RequestMethod
.
GET
)
Result
<?>
syncLastTruck
(
@RequestParam
(
"orderNo"
)
@NotBlank
(
message
=
"订单编号不能为空"
)
String
orderNo
){
return
lastTruckService
.
syncLastTruckChild4OrderTrigger
(
orderNo
);
}
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
a68d8a3b
...
@@ -153,5 +153,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
...
@@ -153,5 +153,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
BigDecimal
getLastDriverFreightByTransportLine
(
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
);
BigDecimal
getLastDriverFreightByTransportLine
(
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
);
OrderChild
findLastTruckChildByCreateTime
(
String
orderNo
);
OrderChild
getOrderCompleteLastTruck
(
String
orderNo
);
Long
haveArriveReceiveChild
(
String
orderNo
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
a68d8a3b
...
@@ -467,11 +467,21 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
...
@@ -467,11 +467,21 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
}
}
@Override
@Override
public
OrderChild
findLastTruckChildByCreateTime
(
String
orderNo
)
{
public
OrderChild
getOrderCompleteLastTruck
(
String
orderNo
)
{
LambdaQueryWrapper
<
OrderChild
>
query
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
OrderChild
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
OrderChild
::
getOrderNo
,
orderNo
);
query
.
eq
(
OrderChild
::
getOrderNo
,
orderNo
);
query
.
orderByDesc
(
OrderChild
::
getCreateTime
);
query
.
ge
(
OrderChild
::
getStatus
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
query
.
le
(
OrderChild
::
getStatus
,
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
());
query
.
orderByDesc
(
OrderChild
::
getArriveReceiveTime
);
query
.
last
(
"limit 1"
);
query
.
last
(
"limit 1"
);
return
baseMapper
.
selectOne
(
query
);
return
baseMapper
.
selectOne
(
query
);
}
}
@Override
public
Long
haveArriveReceiveChild
(
String
orderNo
)
{
LambdaQueryWrapper
<
OrderChild
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
OrderChild
::
getOrderNo
,
orderNo
);
query
.
lt
(
OrderChild
::
getStatus
,
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
());
return
baseMapper
.
selectCount
(
query
);
}
}
}
performance-web/src/main/java/com/clx/performance/listener/OrderChildDtsListener.java
浏览文件 @
a68d8a3b
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import
com.clx.open.sdk.callback.OpenCallBackClient
;
import
com.clx.open.sdk.callback.OpenCallBackClient
;
import
com.clx.open.sdk.callback.message.OrderChildMessage
;
import
com.clx.open.sdk.callback.message.OrderChildMessage
;
import
com.clx.open.sdk.enums.ResultStatusEnum
;
import
com.clx.open.sdk.enums.ResultStatusEnum
;
import
com.clx.order.enums.OrderEnum
;
import
com.clx.order.enums.SyncPlatformEnum
;
import
com.clx.order.enums.SyncPlatformEnum
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.order.vo.feign.FeignOrderVO
;
...
@@ -95,14 +96,29 @@ public class OrderChildDtsListener {
...
@@ -95,14 +96,29 @@ public class OrderChildDtsListener {
OpenCallBackClient
client
=
new
OpenCallBackClient
(
mslAppConfig
.
getUrl
(),
mslAppConfig
.
getAppId
(),
mslAppConfig
.
getSecret
());
OpenCallBackClient
client
=
new
OpenCallBackClient
(
mslAppConfig
.
getUrl
(),
mslAppConfig
.
getAppId
(),
mslAppConfig
.
getSecret
());
Result
<?>
result
=
client
.
encryptPost
(
JSON
.
toJSONString
(
after
),
after
.
topic
());
Result
<?>
result
=
client
.
encryptPost
(
JSON
.
toJSONString
(
after
),
after
.
topic
());
log
.
info
(
"运单信息同步,运单编号:{},响应结果:{}"
,
after
.
getChildNo
(),
JSON
.
toJSONString
(
result
));
log
.
info
(
"运单信息同步,运单编号:{},响应结果:{}"
,
after
.
getChildNo
(),
JSON
.
toJSONString
(
result
));
syncLastTruck
(
orderInfoFeign
,
after
);
}
}
public
void
syncLastTruck
(
FeignOrderVO
orderInfoFeign
,
OrderChildMessage
after
){
//当运单状态为到达目的地之后的状态时候,需要判断最后一车的逻辑
//当运单状态为到达目的地之后的状态时候,需要判断最后一车的逻辑
if
(
after
.
getStatus
()
>=
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
()
&&
after
.
getStatus
()
<=
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
()){
if
(
after
.
getStatus
()
>=
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
()
&&
after
.
getStatus
()
<=
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
()){
OrderChild
child
=
lastTruckService
.
getLastTruckChild
(
after
.
getOrderNo
());
OrderChild
child
;
if
(
Objects
.
equals
(
orderInfoFeign
.
getOrderStatus
(),
OrderEnum
.
Status
.
COMPLETED
.
getCode
())
||
Objects
.
equals
(
orderInfoFeign
.
getOrderStatus
(),
OrderEnum
.
Status
.
SUCCESS
.
getCode
()))
{
//订单变成已完成 || 已完结
OrderEnum
.
Status
byCode
=
OrderEnum
.
Status
.
getByCode
(
orderInfoFeign
.
getOrderStatus
());
log
.
info
(
"订单号:{},运单号:{},订单状态:{},开始查询最后一车运单==========="
,
orderInfoFeign
.
getOrderNo
(),
after
.
getChildNo
(),
Objects
.
nonNull
(
byCode
)?
byCode
.
getName
():
"未知状态"
);
child
=
lastTruckService
.
getOrderCompleteLastTruck
(
after
.
getOrderNo
());
}
else
{
// 订单除 已完成 || 已完结 外的其他状态
child
=
lastTruckService
.
getLastTruckChild
(
after
.
getOrderNo
());
}
if
(
Objects
.
nonNull
(
child
)){
if
(
Objects
.
nonNull
(
child
)){
lastTruckService
.
syncLastTruckChild
(
child
);
lastTruckService
.
syncLastTruckChild
(
child
);
}
}
}
}
}
}
}
}
}
performance-web/src/main/java/com/clx/performance/service/LastTruckService.java
浏览文件 @
a68d8a3b
package
com
.
clx
.
performance
.
service
;
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.msl.common.result.Result
;
public
interface
LastTruckService
{
public
interface
LastTruckService
{
OrderChild
getLastTruckChild
(
String
orderNo
);
OrderChild
getLastTruckChild
(
String
orderNo
);
Result
<?>
syncLastTruckChild
(
OrderChild
child
);
void
syncLastTruckChild
(
OrderChild
child
);
Result
<?>
syncLastTruckChild4OrderTrigger
(
String
orderNo
);
OrderChild
getOrderCompleteLastTruck
(
String
orderNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/LastTruckServiceImpl.java
浏览文件 @
a68d8a3b
...
@@ -67,29 +67,24 @@ public class LastTruckServiceImpl implements LastTruckService {
...
@@ -67,29 +67,24 @@ public class LastTruckServiceImpl implements LastTruckService {
* @return
* @return
**/
**/
@Override
@Override
public
Result
<?>
syncLastTruckChild
(
OrderChild
child
)
{
public
void
syncLastTruckChild
(
OrderChild
child
)
{
OrderChildMessage
message
=
orderChildStruct
.
convertMessage
(
child
);
OrderChildMessage
message
=
orderChildStruct
.
convertMessage
(
child
);
message
.
setLastFlag
(
ResultStatusEnum
.
YES
.
getCode
());
message
.
setLastFlag
(
ResultStatusEnum
.
YES
.
getCode
());
log
.
info
(
"开始同步最后一车的运单,运单编号:{},运单信息:{}"
,
child
.
getChildNo
(),
JSON
.
toJSONString
(
message
));
log
.
info
(
"开始同步最后一车的运单,运单编号:{},运单信息:{}"
,
child
.
getChildNo
(),
JSON
.
toJSONString
(
message
));
OpenCallBackClient
client2
=
new
OpenCallBackClient
(
mslAppConfig
.
getUrl
(),
mslAppConfig
.
getAppId
(),
mslAppConfig
.
getSecret
());
OpenCallBackClient
client2
=
new
OpenCallBackClient
(
mslAppConfig
.
getUrl
(),
mslAppConfig
.
getAppId
(),
mslAppConfig
.
getSecret
());
Result
<?>
result2
=
client2
.
encryptPost
(
JSON
.
toJSONString
(
message
),
message
.
topic
());
Result
<?>
result2
=
client2
.
encryptPost
(
JSON
.
toJSONString
(
message
),
message
.
topic
());
log
.
info
(
"结束同步最后一车的运单,运单编号:{},响应结果:{}"
,
child
.
getChildNo
(),
JSON
.
toJSONString
(
result2
));
log
.
info
(
"结束同步最后一车的运单,运单编号:{},响应结果:{}"
,
child
.
getChildNo
(),
JSON
.
toJSONString
(
result2
));
return
result2
;
}
}
/**
@Override
* @Author kavin
public
OrderChild
getOrderCompleteLastTruck
(
String
orderNo
)
{
* @Description 订单取消、到达最晚拉运时间 同步最后一车
//判断当前订单下是否存在未到达目的地之前的运单 && 排除掉已取消的运单
* @Param [orderNo]
Long
count
=
orderChildDao
.
haveArriveReceiveChild
(
orderNo
);
* @return
log
.
info
(
"已完成/已完结的订单号:{},查询运单状态非取消并且在到达目的地之前的运单数量为:{}"
,
orderNo
,
count
);
**/
if
(
count
==
0
){
public
Result
<?>
syncLastTruckChild4OrderTrigger
(
String
orderNo
)
{
//说明排除已取消的运单后,剩下的所有运单都已经是到达目的地之后的状态,根据到达目的地的时间倒序取出第一条运单作为最后一车
OrderChild
child
=
orderChildDao
.
findLastTruckChildByCreateTime
(
orderNo
);
return
orderChildDao
.
getOrderCompleteLastTruck
(
orderNo
);
log
.
info
(
"订单取消/到达最晚拉运时间获取最后一车运单,订单号:{} ,获取到的最后一车的运单信息:{}"
,
orderNo
,
JSON
.
toJSONString
(
child
));
if
(
Objects
.
nonNull
(
child
)){
return
syncLastTruckChild
(
child
);
}
}
return
Result
.
ok
(
"承运系统提示:承运系统未查询到该订单下的运单信息"
)
;
return
null
;
}
}
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderChildSqlProvider.java
浏览文件 @
a68d8a3b
package
com
.
clx
.
performance
.
sqlProvider
;
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.param.app.PageOrderChildOfDriverParam
;
import
com.clx.performance.param.app.PageOrderChildOfDriverParam
;
...
@@ -16,7 +15,6 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -16,7 +15,6 @@ import org.apache.commons.lang3.StringUtils;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
import
org.apache.ibatis.jdbc.SQL
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论