UserAuthForm.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Admin\Actions\Users;
  3. use App\Models\User;
  4. use App\Models\UserIdentify;
  5. use App\Models\UserVipLogModel;
  6. use App\Models\VipModel;
  7. use Dcat\Admin\Contracts\LazyRenderable;
  8. use Dcat\Admin\Traits\LazyWidget;
  9. use Dcat\Admin\Widgets\Form;
  10. use Illuminate\Support\Facades\DB;
  11. use PHPUnit\Util\Exception;
  12. class UserAuthForm extends Form implements LazyRenderable
  13. {
  14. use LazyWidget;
  15. public function __construct($data = [], $key = null)
  16. {
  17. parent::__construct($data, $key);
  18. }
  19. public function handle(array $input)
  20. {
  21. DB::beginTransaction();
  22. try {
  23. $user_identify = UserIdentify::query()->find($input['id']);
  24. if($input['is_auth']>0){
  25. $user_identify->status = 1;
  26. $user_identify->save();
  27. $user = User::query()->find($user_identify->user_id);
  28. if(!$user){
  29. throw new Exception(trans('user.help.refresh_error'));
  30. }
  31. $user->is_auth = $input['is_auth'];
  32. $user->save();
  33. }
  34. DB::commit();
  35. }catch (\Exception $exception){
  36. DB::rollBack();
  37. return $this->response()->error($exception->getMessage());
  38. }
  39. return $this->response()->success('success')->refresh();
  40. }
  41. public function form()
  42. {
  43. $this->hidden('id')->value($this->payload['id']);
  44. $this->radio('is_auth', trans('user.fields.is_auth'))->options([0=> trans('user.fields.unauthorized'),1=> trans('user.fields.organization'),2=> trans('user.fields.public_figure')])->default(0);
  45. }
  46. }