UserService.php 959 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Services;
  3. use App\Models\Order;
  4. use App\Models\User;
  5. use Auth;
  6. class UserService {
  7. private static $user;
  8. public function __construct(User $user = null) {
  9. self::$user = $user?: Auth::getUser();
  10. }
  11. public function isAvailable(): bool {
  12. return !self::$user->ban_time && self::$user->transfer_enable && self::$user->expired_at > time();
  13. }
  14. // 添加用户余额
  15. public function updateCredit(int $credit): bool {
  16. self::$user->credit += $credit;
  17. return self::$user->credit >= 0 && self::$user->save();
  18. }
  19. // 添加用户流量
  20. public function incrementData(int $data): bool {
  21. self::$user->transfer_enable += $data;
  22. return self::$user->save();
  23. }
  24. public function isNotCompleteOrderByUserId(int $userId): bool {
  25. return Order::uid($userId)->whereIn('status', [0, 1])->exists();
  26. }
  27. public function trafficFetch(int $u, int $d): bool {
  28. self::$user->u += $u;
  29. self::$user->d += $d;
  30. return self::$user->save();
  31. }
  32. }