all(); if (!empty($param['status'])) $param['status'] = intval($param['status']+1); $productType = $this->service->productType(); $data = $this->service->setModel()->getList($param,['poi' => function($query){ $query->field("poi_id,poi_name,poi_address,nick_name"); }],true,['types'],['types' => function($query,$resp) use($productType){ $productTypeArr = []; foreach ($productType as $val) { $productTypeArr[$val['key']] = $val['name']; } return $productTypeArr[$resp['product_type']]??''; }]); return successTrans(100010,pageFormat($data),200); } catch (\Throwable $th) { return error($th->getMessage()); } } /** * 商品详情 * @param Request $request * @return Response */ #[GetMapping('detail')] public function getGoodDetail(Request $request): Response { try { $param = $this->_valid([ "id.require" => trans("empty.require"), "product_id.require" => trans("empty.require"), ],$request->method()); if (!is_array($param)) return error($param); $detail = $this->model->where("id",$param["id"])->with(['skuSpecs'])->findOrEmpty(); if ($detail->isEmpty()) return errorTrans("empty.data"); if ($detail['poi_id'] <> $request->user['store_id']) return errorTrans("error.param"); $detail['sold_start_times'] = [(string)$detail['sold_start_time'],(string)$detail['sold_end_time']]; $detail['use_times'] = [(string)$detail['use_time_start'],(string)$detail['use_time_end']]; return successTrans('success.data',$detail->toArray()); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } }