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