6
0
Fork 0

优化取消订单

release
李静 2021-12-20 13:59:40 +08:00
parent 08eb0f11d9
commit 42bdfafd4c
2 changed files with 8 additions and 10 deletions

View File

@ -6,6 +6,7 @@ use App\Endpoint\Api\Http\Controllers\Controller;
use App\Endpoint\Api\Http\Resources\OrderResource;
use App\Endpoint\Api\Http\Resources\OrderResourceCollection;
use App\Exceptions\BizException;
use App\Helpers\Order as OrderHelper;
use App\Helpers\Paginator as PaginatorHelper;
use App\Models\Order;
use App\Services\OrderService;
@ -72,7 +73,7 @@ class OrderController extends Controller
$user = $request->user();
try {
$order = DB::transaction(function () use ($isQuick, $user, $request) {
$order = DB::transaction(function () use ($isQuick, $user, $request) {
$orderService = new OrderService();
if ($isQuick) {
@ -94,7 +95,7 @@ class OrderController extends Controller
$request->input('note'),
);
}, 3);
} catch (BizException | ModelNotFoundException $e) {
} catch (ModelNotFoundException | BizException $e) {
throw $e;
} catch (Throwable $e) {
report($e);
@ -155,6 +156,7 @@ class OrderController extends Controller
if ($order->isWaitShipping()) {
$order->refundTasks()->create([
'sn' => OrderHelper::serialNumber(),
'amount' => $order->total_amount,
]);
}
@ -163,12 +165,12 @@ class OrderController extends Controller
'status' => Order::STATUS_CANCELLED,
]);
});
} catch (BizException $e) {
} catch (ModelNotFoundException | BizException $e) {
throw $e;
} catch (Throwable $e) {
report($e);
throw new BizException('订单支付失败,请重试');
throw new BizException('取消失败,请重试');
}
return response()->noContent();
@ -195,7 +197,7 @@ class OrderController extends Controller
return (new OrderService())->pay($order, $input['pay_way']);
});
} catch (BizException $e) {
} catch (ModelNotFoundException | BizException $e) {
throw $e;
} catch (Throwable $e) {
report($e);

View File

@ -2,8 +2,6 @@
namespace App\Helpers;
use Illuminate\Support\Str;
class Order
{
/**
@ -13,8 +11,6 @@ class Order
*/
public static function serialNumber(): string
{
$rand = strtoupper(Str::random(6));
return date('YmdHis').$rand;
return date('YmdHis').sprintf('%06d', mt_rand(1, 999999));
}
}