diff --git a/app/Constants/Common/OrderCode.php b/app/Constants/Common/OrderCode.php index 8049aa2..5f3970c 100644 --- a/app/Constants/Common/OrderCode.php +++ b/app/Constants/Common/OrderCode.php @@ -42,4 +42,10 @@ class OrderCode */ const ORDER_TYPE_GOOD = 1; const ORDER_TYPE_BALANCE = 2; + + /** + * @var string 订单类型前缀 + */ + const ORDER_TYPE_GOOD_PREFIX = 'OG'; + const ORDER_TYPE_BALANCE_PREFIX = 'OB'; } \ No newline at end of file diff --git a/app/Controller/Api/PayController.php b/app/Controller/Api/PayController.php index b334f41..f2a0436 100644 --- a/app/Controller/Api/PayController.php +++ b/app/Controller/Api/PayController.php @@ -8,14 +8,25 @@ use App\Controller\AbstractController; use App\Middleware\Api\JwtAuthMiddleware; use Hyperf\HttpServer\Annotation\Controller; use Hyperf\HttpServer\Annotation\Middlewares; +use Hyperf\HttpServer\Annotation\RequestMapping; +use Hyperf\Validation\Annotation\Scene; -#[Controller(prefix: 'api/order')] +#[Controller(prefix: 'api/pay')] #[Middlewares([ JwtAuthMiddleware::class, ])] class PayController extends AbstractController { - public function index() + #[RequestMapping(path: 'order',methods: 'POST')] + #[Scene(scene: 'order')] + public function order() + { + + } + + #[RequestMapping(path: 'refund',methods: 'POST')] + #[Scene(scene: 'refund')] + public function refund() { } diff --git a/app/Service/Api/Order/PlaceOrderService.php b/app/Service/Api/Order/PlaceOrderService.php index 8849340..d8965b0 100644 --- a/app/Service/Api/Order/PlaceOrderService.php +++ b/app/Service/Api/Order/PlaceOrderService.php @@ -11,7 +11,6 @@ declare(strict_types=1); namespace App\Service\Api\Order; use App\Amqp\Producer\CancelOrderProducer; -use App\Constants\Common\GoodCode; use App\Constants\Common\OrderCode; use App\Constants\ConfigCode; use App\Exception\ErrException; @@ -184,7 +183,7 @@ class PlaceOrderService extends BaseOrderService { $orderInsertModel = new Order(); - $orderInsertModel->order_sno = '123'; + $orderInsertModel->order_sno = $this->generateOrderNo(OrderCode::ORDER_TYPE_GOOD, $this->userId); $orderInsertModel->user_id = $this->userId; $orderInsertModel->cycle_id = $this->cycleId; $orderInsertModel->site_id = $this->siteId; diff --git a/app/Service/ServiceTrait/Api/OrderTrait.php b/app/Service/ServiceTrait/Api/OrderTrait.php index 21ee3bc..db8d9e9 100644 --- a/app/Service/ServiceTrait/Api/OrderTrait.php +++ b/app/Service/ServiceTrait/Api/OrderTrait.php @@ -16,6 +16,7 @@ use App\Cache\Redis\Api\SiteCache; use App\Cache\Redis\RedisCache; use App\Constants\ApiCode; use App\Constants\Common\GoodCode; +use App\Constants\Common\OrderCode; use App\Constants\ConfigCode; use App\Exception\ErrException; use Hyperf\Amqp\Producer; @@ -38,6 +39,20 @@ trait OrderTrait #[Inject] protected RedisCache $redis; + /** + * 生成订单号 + * @param int $type + * @param int $userId + * @return string + */ + protected function generateOrderNo(int $type,int $userId): string + { + return match ($type) { + OrderCode::ORDER_TYPE_GOOD => OrderCode::ORDER_TYPE_GOOD_PREFIX . '_' .date("YmdHis") . $userId . mt_rand(10000000, 99999999), + OrderCode::ORDER_TYPE_BALANCE => OrderCode::ORDER_TYPE_BALANCE_PREFIX. '_' .date("YmdHis"). $userId. mt_rand(10000000, 99999999), + }; + } + /** * 生成购物车数据 * @param array $data