RechargeOrderPaySuccess.php 948 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Modules\Trade\Pay;
  3. use App\Modules\Product\Models\Product;
  4. use App\Modules\Subscribe\Models\Order;
  5. use App\Modules\User\Models\User;
  6. use DB;
  7. /**
  8. *
  9. * @property \App\Modules\Product\Models\Product $product
  10. */
  11. class RechargeOrderPaySuccess extends PaySuccessAbstract
  12. {
  13. private $product;
  14. public function __construct(Order $order)
  15. {
  16. parent::__construct($order);
  17. $this->product = Product::find($order->product_id);
  18. }
  19. protected function handlePayProcess()
  20. {
  21. $charge = $this->product->price * 100;
  22. $given = $this->product->given;
  23. $uid = $this->order->uid;
  24. User::where('id', $uid)->update(
  25. [
  26. 'balance' => DB::raw('balance+' . ($charge + $given)),
  27. 'charge_balance' => DB::raw('charge_balance+' . $charge),
  28. 'reward_balance' => DB::raw('reward_balance+' . $given),
  29. ]
  30. );
  31. }
  32. }