AgentController.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. declare(strict_types=1);
  3. namespace app\miniapi\controller;
  4. use support\Request;
  5. use support\Response;
  6. use support\annotation\route\DisableDefaultRoute;
  7. use app\miniapi\exception\ApiException;
  8. use app\miniapi\service\AgentQuery;
  9. #[DisableDefaultRoute]
  10. final class AgentController extends BaseController
  11. {
  12. public function agent(Request $request, string $agent, string $section): Response
  13. {
  14. $service = new AgentQuery($this->access($request));
  15. $id = $this->id($agent);
  16. return $this->success($request, match($section) {
  17. 'dashboard' => $service->dashboard($id),
  18. 'customers' => $service->customers($id, $request->get()),
  19. 'orders' => $service->orders($id, $request->get()),
  20. 'commissions' => $service->commissions($id, $request->get()),
  21. default => throw new ApiException(40401, '接口不存在', 404)
  22. });
  23. }
  24. public function withdraw(Request $request, string $agent): Response
  25. {
  26. return $this->success($request, (new AgentQuery($this->access($request)))->withdraw($this->id($agent)));
  27. }
  28. }