Goods.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace app\controller\api;
  3. use app\extra\basic\Base;
  4. use app\middleware\AuthMiddleware;
  5. use app\model\saas\SaasGoods;
  6. use DI\Attribute\Inject;
  7. use LinFly\Annotation\Attributes\Route\Controller;
  8. use LinFly\Annotation\Attributes\Route\GetMapping;
  9. use LinFly\Annotation\Attributes\Route\Middleware;
  10. use support\Request;
  11. use support\Response;
  12. #[Controller("/dy/goods"),Middleware(AuthMiddleware::class)]
  13. class Goods extends Base
  14. {
  15. #[Inject]
  16. protected SaasGoods $model;
  17. #[GetMapping("data")]
  18. public function getGoodsData(Request $request): Response
  19. {
  20. try {
  21. $param = $this->_valid([
  22. "goods.require" => trans("empty.require"),
  23. "spm.require" => trans("empty.require"),
  24. ],$request->method());
  25. if (!is_array($param)) return error($param);
  26. $data = $this->model->where("id",$param['spm'])->with(['poi' => function ($query) {
  27. $query->field("poi_id,poi_name,poi_address,longitude,latitude");
  28. }])->findOrEmpty();
  29. if ($data->isEmpty()) return errorTrans("empty.data");
  30. return $this->encode("success",$data->toArray());
  31. } catch (\Throwable $th) {
  32. return error($th->getMessage());
  33. }
  34. }
  35. }