BackflowService.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Services;
  3. use App\Models\Backflow;
  4. use App\Models\Config;
  5. use Carbon\Carbon;
  6. class BackflowService extends BaseService
  7. {
  8. public static string $MODEL = Backflow::class;
  9. /**
  10. * @param $memberId string 会员ID
  11. * @param $changeAmount float 充值或提现金额
  12. * @return Backflow
  13. */
  14. public static function updateOrCreate(string $memberId, float $changeAmount): Backflow
  15. {
  16. $data['date'] = Carbon::now('America/New_York')->format('Y-m-d');
  17. $data['backflow_ratio'] = Config::where('field', 'huishui_percentage')->first()->val;
  18. if ($changeAmount > 0) $data['recharge_amount'] = $changeAmount;
  19. else $data['withdrawal_amount'] = $changeAmount;
  20. $backflow = static::$MODEL::where('date', $data['date'])
  21. ->where('member_id', $memberId)->first();
  22. if ($backflow) {
  23. $backflow->update($data);
  24. } else {
  25. $backflow = static::$MODEL::create($data);
  26. }
  27. return $backflow;
  28. }
  29. public static function getWhere(array $search = []): array
  30. {
  31. return [];
  32. }
  33. }