123456789101112131415161718192021222324252627282930313233343536 |
- <?php
- namespace App\Services;
- use App\Models\Order;
- use Illuminate\Support\Facades\DB;
- class OrderService
- {
- public $order;
- public function __construct(Order $order)
- {
- $this->order = $order;
- }
- public function cancel():bool
- {
- $order = $this->order;
- DB::beginTransaction();
- $order->status = 2;
- if (!$order->save()) {
- DB::rollBack();
- return false;
- }
- if ($order->balance_amount) {
- $userService = new UserService();
- if (!$userService->addBalance($order->user_id, $order->balance_amount)) {
- DB::rollBack();
- return false;
- }
- }
- DB::commit();
- return true;
- }
- }
|