9.3. 实现下单逻辑
下单逻辑
接下来我们需要实现最基本的抢购逻辑,暂时不需要考虑性能问题。
1. 创建 Request 类
与众筹商品下单类似,我们需要创建一个秒杀商品下单的请求类,用于校验用户输入是否正确:
$ php artisan make:request SeckillOrderRequest
app/Http/Requests/SeckillOrderRequest.php
<?php
namespace App\Http\Requests;
use App\Models\Order;
use App\Models\Product;
use App\Models\ProductSku;
use Illuminate\Validation\Rule;
class SeckillOrderRequest extends Request
{
public function rules()
{
return [
'address_id' => [
'required',
Rule::exists('user_addresses', 'id')->where('user_id', $this->user()->id)
],
'sku_id' => [
'required',
function ($attribute, $value, $fail) {
if (!$sku = ProductSku::find($value)) {...