Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
7ef33231
提交
7ef33231
authored
11月 14, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v6.4_transportation_20231110' into…
Merge remote-tracking branch 'origin/v6.4_transportation_20231110' into v6.4_transportation_20231110
上级
7dc3c6fb
c878fa64
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
134 行增加
和
17 行删除
+134
-17
CollectTruckWaitEnum.java
...m/clx/performance/enums/collect/CollectTruckWaitEnum.java
+2
-2
OrderChildFeign.java
.../main/java/com/clx/performance/feign/OrderChildFeign.java
+8
-0
IntegralTruckVO.java
.../main/java/com/clx/performance/vo/pc/IntegralTruckVO.java
+29
-4
OrderChildLineStatisticsVO.java
...x/performance/vo/pc/child/OrderChildLineStatisticsVO.java
+4
-0
CollectTruckWaitVO.java
...com/clx/performance/vo/pc/collect/CollectTruckWaitVO.java
+1
-1
OrderChildFeignController.java
...rformance/controller/feign/OrderChildFeignController.java
+13
-0
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+3
-1
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+24
-2
OrderChildDtsListener.java
...a/com/clx/performance/listener/OrderChildDtsListener.java
+1
-7
LastTruckService.java
...in/java/com/clx/performance/service/LastTruckService.java
+6
-0
LastTruckServiceImpl.java
...om/clx/performance/service/impl/LastTruckServiceImpl.java
+41
-0
FeignOrderChildServiceImpl.java
...rmance/service/impl/child/FeignOrderChildServiceImpl.java
+2
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/collect/CollectTruckWaitEnum.java
浏览文件 @
7ef33231
...
...
@@ -12,8 +12,8 @@ public enum CollectTruckWaitEnum {
@Getter
@AllArgsConstructor
public
enum
ReportType
{
LOAD
(
1
,
"
装车类型
"
),
UNLOAD
(
2
,
"
卸车类型
"
);
LOAD
(
1
,
"
货源地排队
"
),
UNLOAD
(
2
,
"
目的地排队
"
);
private
final
Integer
code
;
private
final
String
msg
;
...
...
performance-api/src/main/java/com/clx/performance/feign/OrderChildFeign.java
浏览文件 @
7ef33231
...
...
@@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
@FeignClient
(
name
=
"clx-performance"
)
...
...
@@ -20,4 +21,11 @@ public interface OrderChildFeign {
Result
<
OrderChildLineStatisticsVO
>
lineStatistics
(
@RequestParam
@NotNull
(
message
=
"发货地址不可为空"
)
Integer
sendSystemAddressId
,
@RequestParam
@NotNull
(
message
=
"收货货地不可为空"
)
Integer
receiveSystemAddressId
);
@RequestMapping
(
value
=
"clx-performance/feign/orderChild/syncLastTruck"
,
method
=
RequestMethod
.
GET
)
Result
<?>
syncLastTruck
(
@RequestParam
(
"orderNo"
)
@NotBlank
(
message
=
"订单编号不能为空"
)
String
orderNo
);
}
performance-api/src/main/java/com/clx/performance/vo/pc/IntegralTruckVO.java
浏览文件 @
7ef33231
...
...
@@ -3,10 +3,10 @@ package com.clx.performance.vo.pc;
import
com.clx.performance.util.NumberToChineseUtil
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.
Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
lombok.
*
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* @Author: aiqinguo
...
...
@@ -58,4 +58,28 @@ public class IntegralTruckVO {
@ApiModelProperty
(
value
=
"信息上报积分"
,
example
=
"1"
)
private
Integer
reportIntegral
=
0
;
@ApiModelProperty
(
value
=
"信息上报积分"
,
example
=
"1"
)
private
List
<
IntegralItem
>
integralItemList
;
public
List
<
IntegralItem
>
getIntegralItemList
()
{
return
Arrays
.
asList
(
new
IntegralItem
(
"运单完成积分"
,
orderChildCompleteIntegral
),
new
IntegralItem
(
"平台补偿积分"
,
platformCompensationIntegral
),
new
IntegralItem
(
"运单取消积分"
,
orderChildCancelIntegral
),
new
IntegralItem
(
"运单超时积分"
,
orderChildTimeoutIntegral
),
new
IntegralItem
(
"信息上报积分"
,
reportIntegral
)
);
}
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public
static
class
IntegralItem
{
@ApiModelProperty
(
value
=
"名称"
,
example
=
"1"
)
private
String
name
;
@ApiModelProperty
(
value
=
"信息上报积分"
,
example
=
"1"
)
private
Integer
integral
;
}
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/pc/child/OrderChildLineStatisticsVO.java
浏览文件 @
7ef33231
...
...
@@ -30,4 +30,8 @@ public class OrderChildLineStatisticsVO {
@ApiModelProperty
(
"时长均值"
)
private
Integer
timeAvg
;
@ApiModelProperty
(
"司机运费"
)
private
BigDecimal
driverFreight
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/collect/CollectTruckWaitVO.java
浏览文件 @
7ef33231
...
...
@@ -84,7 +84,7 @@ public class CollectTruckWaitVO {
@ApiModelProperty
(
value
=
"预计等待时长图片"
,
example
=
""
)
private
List
<
String
>
stationImageList
;
public
List
<
String
>
getStationImageList
()
{
return
StringUtils
.
isEmpty
(
station
Out
Image
)?
new
ArrayList
<>()
:
JSON
.
parseArray
(
stationInImage
,
String
.
class
);
return
StringUtils
.
isEmpty
(
station
In
Image
)?
new
ArrayList
<>()
:
JSON
.
parseArray
(
stationInImage
,
String
.
class
);
}
@ApiModelProperty
(
value
=
"上报时间"
,
example
=
""
)
...
...
performance-web/src/main/java/com/clx/performance/controller/feign/OrderChildFeignController.java
浏览文件 @
7ef33231
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.controller.feign;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.service.LastTruckService
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.child.FeignOrderChildService
;
import
com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO
;
...
...
@@ -12,6 +13,7 @@ import lombok.AllArgsConstructor;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
...
...
@@ -26,6 +28,8 @@ public class OrderChildFeignController {
private
final
FeignOrderChildService
feignOrderChildService
;
private
final
LastTruckService
lastTruckService
;
@GetMapping
({
"/getOrderChildTotalByUserNo"
})
Integer
getTrucksByOrderGoodsNo
(
@RequestParam
(
"userNo"
)
@NotNull
(
message
=
"用户编号不可为空"
)
Long
userNo
)
{
...
...
@@ -58,4 +62,13 @@ public class OrderChildFeignController {
}
@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
浏览文件 @
7ef33231
...
...
@@ -11,7 +11,6 @@ import com.clx.performance.vo.app.OrderChildVO;
import
com.clx.performance.vo.pc.PageCarrierOrderChildVO
;
import
com.clx.performance.vo.pc.PageOrderChildPoundAuditVO
;
import
com.msl.common.base.Optional
;
import
com.msl.common.base.PageParam
;
import
com.msl.common.dao.BaseDao
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -152,4 +151,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List
<
OrderChild
>
selectInOrderChildNoList
(
List
<
String
>
childNoList
);
List
<
Double
>
getLossNet
(
OrderChildReportParam
param
);
BigDecimal
getLastDriverFreightByTransportLine
(
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
);
OrderChild
findLastTruckChildByCreateTime
(
String
orderNo
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
7ef33231
...
...
@@ -13,11 +13,9 @@ import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import
com.clx.performance.param.app.PageOrderChildOfDriverSearchParam
;
import
com.clx.performance.param.pc.*
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.clx.performance.vo.pc.OrderGoodsVO
;
import
com.clx.performance.vo.pc.PageCarrierOrderChildVO
;
import
com.clx.performance.vo.pc.PageOrderChildPoundAuditVO
;
import
com.msl.common.base.Optional
;
import
com.msl.common.base.PageParam
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -25,6 +23,7 @@ import org.springframework.stereotype.Repository;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @Author: aiqinguo
...
...
@@ -452,4 +451,27 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public
List
<
Double
>
getLossNet
(
OrderChildReportParam
param
)
{
return
baseMapper
.
getLossNet
(
param
);
}
@Override
public
BigDecimal
getLastDriverFreightByTransportLine
(
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
)
{
LambdaQueryWrapper
<
OrderChild
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
OrderChild
::
getSendSystemAddressId
,
sendSystemAddressId
);
query
.
eq
(
OrderChild
::
getReceiveSystemAddressId
,
receiveSystemAddressId
);
query
.
orderByDesc
(
OrderChild
::
getCreateTime
);
query
.
last
(
"limit 1"
);
OrderChild
child
=
baseMapper
.
selectOne
(
query
);
if
(
Objects
.
nonNull
(
child
)){
return
child
.
getFreight
();
}
return
BigDecimal
.
ZERO
;
}
@Override
public
OrderChild
findLastTruckChildByCreateTime
(
String
orderNo
)
{
LambdaQueryWrapper
<
OrderChild
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
OrderChild
::
getOrderNo
,
orderNo
);
query
.
orderByDesc
(
OrderChild
::
getCreateTime
);
query
.
last
(
"limit 1"
);
return
baseMapper
.
selectOne
(
query
);
}
}
performance-web/src/main/java/com/clx/performance/listener/OrderChildDtsListener.java
浏览文件 @
7ef33231
...
...
@@ -99,13 +99,7 @@ public class OrderChildDtsListener {
if
(
after
.
getStatus
()
>=
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
()
&&
after
.
getStatus
()
<=
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
()){
OrderChild
child
=
lastTruckService
.
getLastTruckChild
(
after
.
getOrderNo
());
if
(
Objects
.
nonNull
(
child
)){
OrderChildMessage
message
=
orderChildStruct
.
convertMessage
(
child
);
message
.
setLastFlag
(
ResultStatusEnum
.
YES
.
getCode
());
log
.
info
(
"开始同步最后一车的运单,运单编号:{},运单信息:{}"
,
child
.
getChildNo
(),
JSON
.
toJSONString
(
message
));
OpenCallBackClient
client2
=
new
OpenCallBackClient
(
mslAppConfig
.
getUrl
(),
mslAppConfig
.
getAppId
(),
mslAppConfig
.
getSecret
());
Result
<?>
result2
=
client2
.
encryptPost
(
JSON
.
toJSONString
(
message
),
message
.
topic
());
log
.
info
(
"结束同步最后一车的运单,运单编号:{},响应结果:{}"
,
child
.
getChildNo
(),
JSON
.
toJSONString
(
result2
));
lastTruckService
.
syncLastTruckChild
(
child
);
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/service/LastTruckService.java
浏览文件 @
7ef33231
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.model.OrderChild
;
import
com.msl.common.result.Result
;
public
interface
LastTruckService
{
OrderChild
getLastTruckChild
(
String
orderNo
);
Result
<?>
syncLastTruckChild
(
OrderChild
child
);
Result
<?>
syncLastTruckChild4OrderTrigger
(
String
orderNo
);
}
performance-web/src/main/java/com/clx/performance/service/impl/LastTruckServiceImpl.java
浏览文件 @
7ef33231
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.clx.open.sdk.callback.OpenCallBackClient
;
import
com.clx.open.sdk.callback.message.OrderChildMessage
;
import
com.clx.open.sdk.enums.ResultStatusEnum
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.config.MslAppConfig
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.service.LastTruckService
;
import
com.clx.performance.struct.OrderChildStruct
;
import
com.msl.common.result.Result
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
...
...
@@ -26,6 +33,8 @@ public class LastTruckServiceImpl implements LastTruckService {
private
final
OrderFeign
orderFeign
;
private
final
OrderChildDao
orderChildDao
;
private
final
OrderChildStruct
orderChildStruct
;
private
final
MslAppConfig
mslAppConfig
;
/**
* @Author kavin
* @Description 判断最后一车的逻辑
...
...
@@ -51,4 +60,36 @@ public class LastTruckServiceImpl implements LastTruckService {
}
return
null
;
}
/**
* @Author kavin
* @Description 同步最后一车
* @Param [child]
* @return
**/
@Override
public
Result
<?>
syncLastTruckChild
(
OrderChild
child
)
{
OrderChildMessage
message
=
orderChildStruct
.
convertMessage
(
child
);
message
.
setLastFlag
(
ResultStatusEnum
.
YES
.
getCode
());
log
.
info
(
"开始同步最后一车的运单,运单编号:{},运单信息:{}"
,
child
.
getChildNo
(),
JSON
.
toJSONString
(
message
));
OpenCallBackClient
client2
=
new
OpenCallBackClient
(
mslAppConfig
.
getUrl
(),
mslAppConfig
.
getAppId
(),
mslAppConfig
.
getSecret
());
Result
<?>
result2
=
client2
.
encryptPost
(
JSON
.
toJSONString
(
message
),
message
.
topic
());
log
.
info
(
"结束同步最后一车的运单,运单编号:{},响应结果:{}"
,
child
.
getChildNo
(),
JSON
.
toJSONString
(
result2
));
return
result2
;
}
/**
* @Author kavin
* @Description 订单取消、到达最晚拉运时间 同步最后一车
* @Param [orderNo]
* @return
**/
public
Result
<?>
syncLastTruckChild4OrderTrigger
(
String
orderNo
)
{
OrderChild
child
=
orderChildDao
.
findLastTruckChildByCreateTime
(
orderNo
);
log
.
info
(
"订单取消/到达最晚拉运时间获取最后一车运单,订单号:{} ,获取到的最后一车的运单信息:{}"
,
orderNo
,
JSON
.
toJSONString
(
child
));
if
(
Objects
.
nonNull
(
child
)){
return
syncLastTruckChild
(
child
);
}
return
Result
.
ok
(
"承运系统提示:承运系统未查询到该订单下的运单信息"
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/child/FeignOrderChildServiceImpl.java
浏览文件 @
7ef33231
...
...
@@ -34,6 +34,8 @@ public class FeignOrderChildServiceImpl implements FeignOrderChildService {
vo
.
setPoundDifferenceRatioAvg
(
linePoundDifferenceRatioAvg
==
null
?
null
:
linePoundDifferenceRatioAvg
.
setScale
(
4
,
RoundingMode
.
HALF_UP
).
movePointRight
(
2
));
vo
.
setTimeAvg
(
timeAvg
==
null
?
null
:
timeAvg
/
60
);
BigDecimal
driverFreight
=
orderChildDao
.
getLastDriverFreightByTransportLine
(
sendSystemAddressId
,
receiveSystemAddressId
);
vo
.
setDriverFreight
(
driverFreight
);
return
vo
;
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论