PHP code example of tourze / wechat-mini-program-insurance-freight-bundle

1. Go to this page and download the library: Download tourze/wechat-mini-program-insurance-freight-bundle library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

tourze / wechat-mini-program-insurance-freight-bundle example snippets


return [
    // ...
    WechatMiniProgramInsuranceFreightBundle\WechatMiniProgramInsuranceFreightBundle::class => ['all' => true],
];



use WechatMiniProgramInsuranceFreightBundle\Service\InsuranceFreightService;
use WechatMiniProgramInsuranceFreightBundle\Request\CreateInsuranceOrderRequest;

// Inject the service
public function __construct(
    private readonly InsuranceFreightService $insuranceService
) {}

// Create an insurance order
$request = new CreateInsuranceOrderRequest();
$request->setOrderNo('ORDER_12345');
$request->setEstimateAmount(10000); // Amount in cents

$order = $this->insuranceService->createInsuranceOrder($request);



use WechatMiniProgramInsuranceFreightBundle\Entity\InsuranceOrder;
use WechatMiniProgramInsuranceFreightBundle\Enum\InsuranceOrderStatus;

// Create a new insurance order
$order = new InsuranceOrder();
$order->setOrderNo('ORDER_12345');
$order->setStatus(InsuranceOrderStatus::CREATED);
$order->setEstimateAmount(10000);

// Persist to database
$entityManager->persist($order);
$entityManager->flush();



use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use WechatMiniProgramInsuranceFreightBundle\Event\InsuranceOrderCreatedEvent;

class CustomInsuranceOrderSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            InsuranceOrderCreatedEvent::class => 'onOrderCreated',
        ];
    }

    public function onOrderCreated(InsuranceOrderCreatedEvent $event)
    {
        $order = $event->getOrder();
        // Custom logic here
    }
}



use WechatMiniProgramInsuranceFreightBundle\Repository\InsuranceOrderRepository;

public function __construct(
    private readonly InsuranceOrderRepository $orderRepository
) {}

// Find orders by status
$orders = $this->orderRepository->findByStatus(InsuranceOrderStatus::SECURING);

// Find orders within date range
$orders = $this->orderRepository->findOrdersInDateRange($startDate, $endDate);