use WechatMiniProgramDeliveryReturnBundle\Entity\DeliveryReturnOrder;
use WechatMiniProgramDeliveryReturnBundle\Service\DeliveryReturnService;
// Create a new return order
$returnOrder = new DeliveryReturnOrder();
$returnOrder->setShopOrderId('ORDER_123456');
$returnOrder->setOpenId('user_openid');
$returnOrder->setOrderPrice(9999); // Price in cents
$returnOrder->setBizAddress([
'province' => 'Guangdong',
'city' => 'Shenzhen',
'area' => 'Nanshan',
'street' => 'Tencent Building'
]);
$returnOrder->setUserAddress([
'province' => 'Beijing',
'city' => 'Beijing',
'area' => 'Chaoyang',
'street' => 'User Address'
]);
// Persist the order
$entityManager->persist($returnOrder);
$entityManager->flush();
use WechatMiniProgramDeliveryReturnBundle\Service\DeliveryReturnService;
// Inject the service
$deliveryReturnService = $container->get(DeliveryReturnService::class);
// Sync a specific return order
$deliveryReturnService->syncReturnOrder($returnOrder);
use WechatMiniProgramDeliveryReturnBundle\Event\ReturnOrderSyncedEvent;
// Listen for return order sync events
$eventDispatcher->addListener(ReturnOrderSyncedEvent::class, function (ReturnOrderSyncedEvent $event) {
$returnOrder = $event->getReturnOrder();
// Handle the synchronized return order
});
use WechatMiniProgramDeliveryReturnBundle\Repository\DeliveryReturnOrderRepository;
// Get return orders by status
$repository = $entityManager->getRepository(DeliveryReturnOrder::class);
$pendingOrders = $repository->findByStatus(DeliveryReturnStatus::Waiting);
// Get return orders within date range
$recentOrders = $repository->findRecentOrders(15); // Last 15 days