Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
f97dea79
提交
f97dea79
authored
10月 26, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
取消接口
上级
b7f42fb9
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
64 行增加
和
25 行删除
+64
-25
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+64
-25
没有找到文件。
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
f97dea79
...
...
@@ -3,17 +3,16 @@ package com.clx.performance.service.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.clx.order.enums.OrderEnum
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.UpdateOrderInfoResidueWeightParam
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.TruckDemandEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.service.OrderCancelService
;
import
com.clx.performance.service.OrderChildService
;
import
com.msl.common.result.Result
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -38,7 +37,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
OrderGoodsTruckBindDao
orderGoodsTruckBindDao
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerCancelOrderPre
(
String
orderNo
)
{
...
...
@@ -71,7 +69,9 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
}
else
{
BigDecimal
orderChildResidueWeight
=
orderChildrenList
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
BigDecimal
orderChildResidueWeight
=
orderChildrenList
.
stream
()
.
map
(
OrderChild:
:
getWeight
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
if
(
orderChildResidueWeight
.
compareTo
(
orderTransportWeight
)
==
0
)
{
throw
new
RuntimeException
(
"当前订单已无余量可取消"
);
}
...
...
@@ -92,14 +92,14 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerCancelOrder
(
String
orderNo
)
{
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
FeignOrderVO
orderInfoFeign
VO
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
Map
<
Integer
,
BigDecimal
>
truckDemandMap
=
new
HashMap
<>();
truckDemandMap
.
put
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
(),
BigDecimal
.
ZERO
);
truckDemandMap
.
put
(
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
(),
BigDecimal
.
ZERO
);
if
(!
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
().
equals
(
orderInfoFeign
.
getTruckDemand
()))
{
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderInfoFeign
.
getOrderStatus
()))
{
if
(!
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
().
equals
(
orderInfoFeign
VO
.
getTruckDemand
()))
{
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderInfoFeign
VO
.
getOrderStatus
()))
{
//已完结
List
<
OrderChild
>
orderChildrenList
=
orderChildDao
.
selectResidueWeight
(
orderNo
);
...
...
@@ -110,15 +110,22 @@ public class OrderCancelServiceImpl implements OrderCancelService {
//TODO 补充批量更新接口 关闭运单状态
orderChildDao
.
updateEntityByKey
(
update
);
}
Map
<
String
,
List
<
OrderGoods
>>
orderGoodsMap
=
orderGoodsList
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderGoods:
:
getOrderGoodsNo
));
Map
<
String
,
List
<
OrderGoods
>>
orderGoodsMap
=
orderGoodsList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderGoods:
:
getOrderGoodsNo
));
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildrenList
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildrenList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
for
(
Map
.
Entry
<
String
,
List
<
OrderGoods
>>
entry
:
orderGoodsMap
.
entrySet
())
{
String
orderGoodsNo
=
entry
.
getKey
();
OrderGoods
orderGoods
=
entry
.
getValue
().
get
(
0
);
BigDecimal
sum
=
orderChildMap
.
get
(
orderGoodsNo
).
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
()).
add
(
orderGoods
.
getResidueTransportWeight
().
add
(
sum
)));
BigDecimal
sum
=
orderChildMap
.
get
(
orderGoodsNo
).
stream
()
.
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
orderGoods
.
getResidueTransportWeight
().
add
(
sum
)));
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
//TODO 补充批量更新接口 关闭货单状态
...
...
@@ -127,10 +134,12 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
else
if
(
OrderEnum
.
Status
.
CANCELED
.
getCode
().
equals
(
orderInfoFeign
.
getOrderStatus
()))
{
}
else
if
(
OrderEnum
.
Status
.
CANCELED
.
getCode
().
equals
(
orderInfoFeign
VO
.
getOrderStatus
()))
{
//已取消
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
()).
add
(
orderGoods
.
getResidueTransportWeight
()));
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
//TODO 补充批量更新接口 关闭货单状态
...
...
@@ -139,9 +148,26 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
Integer
truckDemand
=
orderInfoFeignVO
.
getTruckDemand
();
BigDecimal
residueWeight
=
truckDemandMap
.
get
(
truckDemand
);
UpdateOrderInfoResidueWeightParam
param
=
new
UpdateOrderInfoResidueWeightParam
();
param
.
setOrderId
(
orderInfoFeignVO
.
getId
());
if
(
truckDemand
.
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
param
.
setUpdateType
(
"2"
);
param
.
setResidueWeight
(
residueWeight
.
add
(
new
BigDecimal
(
orderInfoFeignVO
.
getResidueWeight
())));
param
.
setPlatWeight
(
residueWeight
);
}
if
(
truckDemand
.
equals
(
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
()))
{
param
.
setUpdateType
(
"3"
);
param
.
setResidueWeight
(
residueWeight
.
add
(
new
BigDecimal
(
orderInfoFeignVO
.
getResidueWeight
())));
param
.
setOwnWeight
(
residueWeight
);
}
orderFeign
.
updateOrderInfoResidueWeight
(
param
);
}
else
{
Map
<
Integer
,
BigDecimal
>
vehicleUsageMap
=
new
HashMap
<>();
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderInfoFeign
.
getOrderStatus
()))
{
Map
<
Integer
,
BigDecimal
>
vehicleUsageMap
=
new
HashMap
<>();
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderInfoFeign
VO
.
getOrderStatus
()))
{
//已完结
List
<
OrderChild
>
orderChildrenList
=
orderChildDao
.
selectResidueWeight
(
orderNo
);
...
...
@@ -153,16 +179,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderChildDao
.
updateEntityByKey
(
update
);
}
//货单
Map
<
String
,
List
<
OrderGoods
>>
orderGoodsMap
=
orderGoodsList
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderGoods:
:
getOrderGoodsNo
));
Map
<
String
,
List
<
OrderGoods
>>
orderGoodsMap
=
orderGoodsList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderGoods:
:
getOrderGoodsNo
));
//运单
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildrenList
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildrenList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
for
(
Map
.
Entry
<
String
,
List
<
OrderGoods
>>
entry
:
orderGoodsMap
.
entrySet
())
{
String
orderGoodsNo
=
entry
.
getKey
();
OrderGoods
orderGoods
=
entry
.
getValue
().
get
(
0
);
BigDecimal
sum
=
orderChildMap
.
get
(
orderGoodsNo
).
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
()).
add
(
orderGoods
.
getResidueTransportWeight
().
add
(
sum
)));
BigDecimal
sum
=
orderChildMap
.
get
(
orderGoodsNo
).
stream
()
.
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
.
add
(
orderGoods
.
getResidueTransportWeight
().
add
(
sum
)));
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
//TODO 补充批量更新接口 关闭货单状态
...
...
@@ -172,10 +203,12 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
}
else
if
(
OrderEnum
.
Status
.
CANCELED
.
getCode
().
equals
(
orderInfoFeign
.
getOrderStatus
()))
{
}
else
if
(
OrderEnum
.
Status
.
CANCELED
.
getCode
().
equals
(
orderInfoFeign
VO
.
getOrderStatus
()))
{
//已取消
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
()).
add
(
orderGoods
.
getResidueTransportWeight
()));
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
//TODO 补充批量更新接口 关闭货单状态
...
...
@@ -185,13 +218,19 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
}
String
platformResidueCarryWeight
=
orderInfoFeign
.
getPlatformResidueCarryWeight
();
String
ownResidueCarryWeight
=
orderInfoFeign
.
getOwnResidueCarryWeight
();
String
platformResidueCarryWeight
=
orderInfoFeign
VO
.
getPlatformResidueCarryWeight
();
String
ownResidueCarryWeight
=
orderInfoFeign
VO
.
getOwnResidueCarryWeight
();
BigDecimal
platformResidueSum
=
new
BigDecimal
(
platformResidueCarryWeight
).
add
(
vehicleUsageMap
.
get
(
1
));
BigDecimal
ownResidueSum
=
new
BigDecimal
(
ownResidueCarryWeight
).
add
(
vehicleUsageMap
.
get
(
2
));
BigDecimal
residueSum
=
new
BigDecimal
(
orderInfoFeign
.
getResidueWeight
()).
add
(
platformResidueSum
).
add
(
ownResidueSum
);
BigDecimal
residueSum
=
new
BigDecimal
(
orderInfoFeignVO
.
getResidueWeight
()).
add
(
platformResidueSum
).
add
(
ownResidueSum
);
UpdateOrderInfoResidueWeightParam
param
=
new
UpdateOrderInfoResidueWeightParam
();
param
.
setOrderId
(
orderInfoFeignVO
.
getId
());
param
.
setUpdateType
(
"4"
);
param
.
setResidueWeight
(
residueSum
);
param
.
setPlatWeight
(
platformResidueSum
);
param
.
setOwnWeight
(
ownResidueSum
);
orderFeign
.
updateOrderInfoResidueWeight
(
param
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论