Local.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace App\Utils\Payments;
  3. use App\Models\Goods;
  4. use App\Models\Order;
  5. use App\Services\PaymentService;
  6. use App\Utils\Helpers;
  7. use App\Utils\Library\Templates\Gateway;
  8. use Illuminate\Http\JsonResponse;
  9. use Illuminate\Http\Request;
  10. use Response;
  11. class Local extends PaymentService implements Gateway
  12. {
  13. public function purchase(Request $request): JsonResponse
  14. {
  15. $order = Order::find($request->input('id'));
  16. $goods = Goods::find($request->input('goods_id'));
  17. $user = $order->user;
  18. if ($user && $goods) {
  19. $user->update(['credit' => $user->credit - $order->amount]);
  20. // 记录余额操作日志
  21. Helpers::addUserCreditLog($user->id, $order->id, $user->credit + $order->amount, $user->credit, -1 * $order->amount, 'Purchased an item.');
  22. }
  23. $order->complete();
  24. return Response::json(['status' => 'success', 'message' => trans('user.purchase.completed')]);
  25. }
  26. public function notify(Request $request): void
  27. {
  28. }
  29. }