Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-api-boot-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-api-boot-master
Commits
d08cb662
Commit
d08cb662
authored
Jan 03, 2025
by
332784038@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单修改审批通过后检查入仓相关异常是否需要处理
parent
0c9ccddb
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
96 additions
and
14 deletions
+96
-14
WarehouseInOrderCheckExceptionEvent.java
...vent/warehouseIn/WarehouseInOrderCheckExceptionEvent.java
+20
-0
WarehouseInOrderCheckExceptionListener.java
...rder/listener/WarehouseInOrderCheckExceptionListener.java
+28
-0
OrderServiceImpl.java
...dao/module/order/service/order/impl/OrderServiceImpl.java
+5
-2
OrderWarehouseInService.java
...der/service/orderWarehouseIn/OrderWarehouseInService.java
+9
-4
OrderWarehouseInServiceImpl.java
...service/orderWarehouseIn/OrderWarehouseInServiceImpl.java
+29
-8
OrderWarehouseInFinishReqVO.java
...rder/vo/orderWarehouseIn/OrderWarehouseInFinishReqVO.java
+5
-0
No files found.
yudao-framework/yudao-spring-boot-starter-config/src/main/java/cn/iocoder/yudao/framework/apollo/core/event/warehouseIn/WarehouseInOrderCheckExceptionEvent.java
0 → 100644
View file @
d08cb662
package
cn
.
iocoder
.
yudao
.
framework
.
apollo
.
core
.
event
.
warehouseIn
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
/**
* 入仓订单检查订单入仓异常 Event
*
* @author zhengYi
*/
@Data
@AllArgsConstructor
public
class
WarehouseInOrderCheckExceptionEvent
{
/**
* 订单id
*/
private
Long
orderId
;
}
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/listener/WarehouseInOrderCheckExceptionListener.java
0 → 100644
View file @
d08cb662
package
cn
.
iocoder
.
yudao
.
module
.
order
.
listener
;
import
cn.iocoder.yudao.framework.apollo.core.event.warehouseIn.WarehouseInOrderCheckExceptionEvent
;
import
cn.iocoder.yudao.module.order.service.orderWarehouseIn.OrderWarehouseInService
;
import
lombok.AllArgsConstructor
;
import
org.springframework.context.event.EventListener
;
import
org.springframework.stereotype.Component
;
/**
* 入仓订单检查订单入仓异常监听
*
* @author zhengYi
*/
@Component
(
"WarehouseInOrderCheckExceptionListener"
)
@AllArgsConstructor
public
class
WarehouseInOrderCheckExceptionListener
{
private
final
OrderWarehouseInService
orderWarehouseInService
;
/**
* 入仓订单检查订单入仓异常更新业务
*
* @param event 订单id
*/
@EventListener
(
WarehouseInOrderCheckExceptionEvent
.
class
)
public
void
warehouseInOrderCheckExceptionEvent
(
WarehouseInOrderCheckExceptionEvent
event
)
{
orderWarehouseInService
.
finishWarehouseInWhenCheckException
(
event
.
getOrderId
());
}
}
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderServiceImpl.java
View file @
d08cb662
...
...
@@ -13,6 +13,7 @@ import cn.iocoder.yudao.framework.apollo.core.event.box.BoxCheckOrderRemoveLadin
import
cn.iocoder.yudao.framework.apollo.core.event.box.BoxOrderDynamicEstTimeEvent
;
import
cn.iocoder.yudao.framework.apollo.core.event.warehouseIn.WarehouseInOrderChangeChannelEvent
;
import
cn.iocoder.yudao.framework.apollo.core.event.warehouseIn.WarehouseInOrderChangeTransportEvent
;
import
cn.iocoder.yudao.framework.apollo.core.event.warehouseIn.WarehouseInOrderCheckExceptionEvent
;
import
cn.iocoder.yudao.framework.common.util.spring.enums.UserTypeEnum
;
import
cn.iocoder.yudao.framework.common.util.bigDecimal.BigDecimalUtils
;
import
cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO
;
...
...
@@ -5977,8 +5978,10 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
orderDO
.
setContainerNumber
(
null
);
orderDO
.
setTidanNo
(
null
);
orderMapper
.
updateById
(
orderDO
);
// TODO 这里修改完订单后需要对订单当前待处理的相关异常进行判断,是否需要重置
// TODO 注意:重泡货异常如果需要重置,需要调用计价接口,重新计算价格(这里计算的价格是应收总额价格)
// 检查入仓异常信息自动处理
applicationContext
.
publishEvent
(
new
WarehouseInOrderCheckExceptionEvent
(
orderDO
.
getOrderId
()));
// 处理控货信息
handleOrderCargoControl
(
consignorDO
,
orderDO
);
// 重新计价
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderWarehouseIn/OrderWarehouseInService.java
View file @
d08cb662
...
...
@@ -64,6 +64,14 @@ public interface OrderWarehouseInService extends IService<OrderWarehouseInDO> {
*/
boolean
finishWarehouseInWhenChangeTransportType
(
Long
orderId
);
/**
* 订单信息修改后需要检查订单入仓异常情况
*
* @param orderId
*/
void
finishWarehouseInWhenCheckException
(
Long
orderId
);
/**
* 订单储位接口
*
...
...
@@ -150,7 +158,6 @@ public interface OrderWarehouseInService extends IService<OrderWarehouseInDO> {
String
updateOrUpdateApply
(
@Valid
OrderWarehouseInUpdateApplyReqVO
updateReqVO
);
/**
* 出货阶段-追加申请
*
...
...
@@ -252,18 +259,16 @@ public interface OrderWarehouseInService extends IService<OrderWarehouseInDO> {
/**
* 获取打包后的订单首次完成入仓的统计数据
*
*
* @param orderId
* @return
*/
WarehouseInInfoVO
getStatisticsFirstFinishedAfterPacked
(
Long
orderId
);
List
<
OrderWarehouseInWithAttrVO
>
getOrderWarehouseInCommonAttrList
(
Long
orderId
,
Long
excludeOrderWarehouseInId
);
/**
* 有订单,但客户类型不正确。故这里通过客户订单来修改客户状态
*/
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderWarehouseIn/OrderWarehouseInServiceImpl.java
View file @
d08cb662
...
...
@@ -9,7 +9,6 @@ import cn.hutool.core.util.StrUtil;
import
cn.iocoder.yudao.framework.apollo.core.event.box.BoxCheckOrderSchedulingEvent
;
import
cn.iocoder.yudao.framework.apollo.core.event.Order.OrderApprovalTypeCheckEvent
;
import
cn.iocoder.yudao.framework.apollo.core.event.QueryChannelInfoEvent
;
import
cn.iocoder.yudao.framework.apollo.core.event.box.BoxOrderRevokeWarehouseCheckEvent
;
import
cn.iocoder.yudao.framework.apollo.core.event.box.BoxOrderShipmentWarehouseInEvent
;
import
cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
...
...
@@ -1093,6 +1092,27 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
return
this
.
finishWarehouseIn
(
finishReqVO
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
finishWarehouseInWhenCheckException
(
Long
orderId
)
{
OrderWarehouseInFinishReqVO
finishReqVO
=
new
OrderWarehouseInFinishReqVO
();
finishReqVO
.
setOrderId
(
orderId
);
//不需要更新影像
finishReqVO
.
setUpdateWarehouseInUrl
(
false
);
//不需要更新标签
finishReqVO
.
setUpdateLabel
(
false
);
//不需要更新用户的 状态 和下一次掉入公海时间
finishReqVO
.
setUpdateCustomer
(
false
);
//不需要给客户发送入仓短信
finishReqVO
.
setSendMsg
(
false
);
//不需要纪录操作日志
finishReqVO
.
setIsAddOrderOperateLog
(
false
);
// 不需要重订价格
finishReqVO
.
setIsResetPrice
(
false
);
this
.
finishWarehouseIn
(
finishReqVO
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
finishWarehouseIn
(
OrderWarehouseInFinishReqVO
finishReqVO
)
{
...
...
@@ -1315,14 +1335,15 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
// 重新调用计算订单价格, 订单信息和订单项信息需要重新查询,
// 可能创建异常和修改订单已经对订单信息造成改变
boolean
firstRucang
=
orderDO
.
getRucangTime
()
==
null
;
if
(
firstRucang
)
{
//在下面的函数中完成费用计算
orderService
.
finishOrderWarehouseIn
(
orderDO
.
getOrderId
());
}
else
{
orderService
.
finishOrderWarehouseInUpdate
(
orderDO
.
getOrderId
());
if
(
finishReqVO
.
getIsResetPrice
())
{
// 默认执行计价业务,可以手动确认不执行计价业务
if
(
firstRucang
)
{
//在下面的函数中完成费用计算
orderService
.
finishOrderWarehouseIn
(
orderDO
.
getOrderId
());
}
else
{
orderService
.
finishOrderWarehouseInUpdate
(
orderDO
.
getOrderId
());
}
}
}
// 更新订单状态
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/vo/orderWarehouseIn/OrderWarehouseInFinishReqVO.java
View file @
d08cb662
...
...
@@ -103,4 +103,9 @@ public class OrderWarehouseInFinishReqVO {
@Transient
private
Boolean
isAddOrderOperateLog
=
true
;
//是否需要重订价
@Transient
private
Boolean
isResetPrice
=
true
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment