RechargeBonus.php 1001 B

123456789101112131415161718192021
  1. <?php
  2. namespace App\Http\Controllers\admin;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\RechargeBonusAdminService;
  5. use Illuminate\Support\Facades\Log;
  6. use Illuminate\Validation\ValidationException;
  7. class RechargeBonus extends Controller
  8. {
  9. public function index(RechargeBonusAdminService $service) { return $this->run(fn () => $service->listing()); }
  10. public function save(RechargeBonusAdminService $service) { return $this->run(fn () => $service->save(request()->all())); }
  11. public function status(RechargeBonusAdminService $service) { return $this->run(fn () => $service->status(request()->all())); }
  12. private function run(callable $callback)
  13. {
  14. try { return $this->success($callback()); }
  15. catch (ValidationException $e) { return $this->error(-3, $e->validator->errors()->first()); }
  16. catch (\Throwable $e) { Log::error('recharge_bonus_failed', ['exception' => $e]); return $this->error(-3, '充值赠送操作失败,请稍后重试'); }
  17. }
  18. }