117 lines
3.1 KiB
PHP
117 lines
3.1 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\OrderInfoService;
|
|
use App\Service\Api\Order\OrderListService;
|
|
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();
|
|
}
|
|
|
|
/**
|
|
* 订单列表
|
|
* @return array
|
|
* @throws ContainerExceptionInterface
|
|
* @throws NotFoundExceptionInterface
|
|
*/
|
|
#[RequestMapping(path: 'order_list',methods: 'get')]
|
|
#[Scene(scene: 'order_list')]
|
|
public function orderList()
|
|
{
|
|
return (new OrderListService)->handle();
|
|
}
|
|
|
|
/**
|
|
* 订单详情
|
|
* @return array
|
|
* @throws ContainerExceptionInterface
|
|
* @throws NotFoundExceptionInterface
|
|
*/
|
|
#[RequestMapping(path: 'order_info',methods: 'get')]
|
|
#[Scene(scene: 'order_info')]
|
|
public function orderInfo()
|
|
{
|
|
return (new OrderInfoService)->handle();
|
|
}
|
|
}
|