34 lines
822 B
PHP
34 lines
822 B
PHP
<?php
|
|
|
|
namespace Peidikeji\Order\Action;
|
|
|
|
use Dcat\Admin\Show\AbstractTool;
|
|
use Peidikeji\Order\Enums\OrderScene;
|
|
use Peidikeji\Order\Models\Order;
|
|
|
|
class ShowShipQrcode extends AbstractTool
|
|
{
|
|
protected $style = 'btn btn-sm btn-primary';
|
|
|
|
protected $title = '生成提货码';
|
|
|
|
public function handle()
|
|
{
|
|
$id = $this->getKey();
|
|
$order = Order::findOrFail($id);
|
|
$url = $order->generateShipQrcode();
|
|
if (!$url) {
|
|
return $this->response()->error('生成提货码失败');
|
|
}
|
|
|
|
return $this->response()->success('操作成功')->refresh();
|
|
}
|
|
|
|
public function allowed()
|
|
{
|
|
$model = $this->parent->model();
|
|
$code = data_get($model, 'extra.ship_qrcode');
|
|
return $model->scene === OrderScene::Merchant && !$code;
|
|
}
|
|
}
|