UserExtractController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace app\controller\api\user;
  3. use app\extra\basic\Base;
  4. use app\extra\service\user\UserExtractService;
  5. use app\middleware\AuthMiddleware;
  6. use app\validate\api\user\UserExtractValidate;
  7. use DI\Attribute\Inject;
  8. use LinFly\Annotation\Route\Controller;
  9. use LinFly\Annotation\Route\Middleware;
  10. use LinFly\Annotation\Route\Route;
  11. use Shopwwi\WebmanAuth\Auth;
  12. use support\Request;
  13. use support\Response;
  14. #[Controller(prefix: "/api/user/extract/"),Middleware(AuthMiddleware::class)]
  15. class UserExtractController extends Base
  16. {
  17. #[Inject]
  18. protected UserExtractService $service;
  19. #[Inject]
  20. protected UserExtractValidate $validate;
  21. /**
  22. * 申请提现
  23. * @param Request $request
  24. * @return Response
  25. */
  26. #[Route(path: "cash",methods: "post")]
  27. public function cash(Request $request): Response
  28. {
  29. try {
  30. $param = $request->post();
  31. if (!$this->validate->check($param)) return error($this->validate->getError());
  32. $param = $this->validate->checked($param);
  33. $user = (new Auth)->guard("user")->user()->toArray();
  34. $state = $this->service->cash($user,$param);
  35. if (!$state) return errorTrans("error.data");
  36. return successTrans("success.data");
  37. } catch (\Throwable $throwable) {
  38. return error($throwable->getMessage());
  39. }
  40. }
  41. }