Files
hyperf_service/app/Controller/Api/OrderController.php
2025-02-21 19:10:58 +08:00

89 lines
2.4 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Controller\Api;
use App\Controller\AbstractController;
use App\Middleware\Api\JwtAuthMiddleware;
use App\Service\Api\Order\CancelOrderService;
use App\Service\Api\Order\CheckCartService;
use App\Service\Api\Order\ConfirmationOrderService;
use App\Service\Api\Order\PlaceOrderService;
use App\Service\Api\Order\RefundOrderService;
use Hyperf\HttpServer\Annotation\Controller;
use Hyperf\HttpServer\Annotation\Middlewares;
use Hyperf\HttpServer\Annotation\RequestMapping;
use Hyperf\Validation\Annotation\Scene;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
#[Controller(prefix: 'api/order')]
#[Middlewares([
JwtAuthMiddleware::class,
])]
class OrderController extends AbstractController
{
/**
* @return array
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
#[RequestMapping(path: 'check_cart',methods: 'post')]
#[Scene(scene: 'check_cart')]
public function checkCart()
{
return (new CheckCartService)->handle();
}
/**
* @return array
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
#[RequestMapping(path: 'confirmation_order',methods: 'post')]
#[Scene(scene: 'confirmation_order')]
public function confirmationOrder()
{
return (new ConfirmationOrderService)->handle();
}
/**
* @return array
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
#[RequestMapping(path: 'place_order',methods: 'post')]
#[Scene(scene: 'place_order')]
public function placeOrder()
{
return (new PlaceOrderService)->handle();
}
/**
* 取消订单 type 1|2 good|balance
* @return array
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
#[RequestMapping(path: 'cancel_order',methods: 'post')]
#[Scene(scene: 'cancel_order')]
public function cancelOrder()
{
return (new CancelOrderService)->handle();
}
/**
* 订单退款(同理)
* @return array
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
#[RequestMapping(path: 'refund_order',methods: 'post')]
#[Scene(scene: 'refund_order')]
public function refundOrder()
{
return (new RefundOrderService)->handle();
}
}