feat(order): 添加后台指派配送员时同步商城订单发货状态功能
- 在订单更新接口中添加配送员指派后的状态同步逻辑 - 新增 markShopOrderShippedAfterRiderAssigned 方法用于状态同步 - 实现后台指派配送员时自动将关联商城订单标记为已发货状态 - 添加相关业务方法注释说明使用场景和目的 - 确保配送员指派后订单状态的一致性同步
This commit is contained in:
@@ -242,6 +242,13 @@ public class GltTicketOrderController extends BaseController {
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody GltTicketOrder gltTicketOrder) {
|
||||
if (gltTicketOrderService.updateById(gltTicketOrder)) {
|
||||
// 后台指派配送员(直接改 riderId)时,同步商城订单为“已发货”(deliveryStatus=20)
|
||||
if (gltTicketOrder != null
|
||||
&& gltTicketOrder.getId() != null
|
||||
&& gltTicketOrder.getRiderId() != null
|
||||
&& gltTicketOrder.getRiderId() > 0) {
|
||||
gltTicketOrderService.markShopOrderShippedAfterRiderAssigned(gltTicketOrder.getId(), getTenantId());
|
||||
}
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
|
||||
@@ -64,6 +64,13 @@ public interface GltTicketOrderService extends IService<GltTicketOrder> {
|
||||
*/
|
||||
void accept(Integer id, Integer riderId, Integer tenantId);
|
||||
|
||||
/**
|
||||
* 指派/接单成功后,同步关联商城订单发货状态为“已发货”(deliveryStatus=20)。
|
||||
*
|
||||
* <p>用于后台指派配送员(不走接单接口)等场景的状态兜底同步。</p>
|
||||
*/
|
||||
void markShopOrderShippedAfterRiderAssigned(Integer ticketOrderId, Integer tenantId);
|
||||
|
||||
/**
|
||||
* 配送员开始配送:10 -> 20,并写 sendStartTime。
|
||||
*/
|
||||
|
||||
@@ -244,6 +244,11 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
||||
throw new BusinessException("订单状态不允许接单");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markShopOrderShippedAfterRiderAssigned(Integer ticketOrderId, Integer tenantId) {
|
||||
updateShopOrderDeliveryStatusAfterAccept(ticketOrderId, tenantId, LocalDateTime.now());
|
||||
}
|
||||
|
||||
private void updateShopOrderDeliveryStatusAfterAccept(Integer ticketOrderId, Integer tenantId, LocalDateTime now) {
|
||||
if (ticketOrderId == null || tenantId == null) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user