all(); if (!empty($param['size'])) { $param['pageSize'] = $param['size']; } if (empty($param['status'])) { $param['statusGt'] = 1; } $param['openid'] = $request->user['openid']; $data = $this->service->setModel()->getList($param,['product' => function($query){ $query->field("product_id,product_name,price"); },'poi' => function($query){ $query->field("poi_id,poi_name"); }]); return successTrans("success.data",pageFormat($data)); } catch (\Throwable $th) { return error($th->getMessage()); } } #[GetMapping('chat')] public function getDataListChat(Request $request): Response { try { $param = $request->all(); if (!empty($param['size'])) { $param['pageSize'] = $param['size']; } if (empty($param['status'])) { $param['statusGt'] = 1; } // $param['openid'] = $request->user['openid']; $data = $this->service->setModel()->getList($param,['product' => function($query){ $query->field("product_id,product_name,price"); },'poi' => function($query){ $query->field("poi_id,poi_name"); }]); return successTrans("success.data",pageFormat($data)); } catch (\Throwable $th) { return error($th->getMessage()); } } #[GetMapping('detail')] public function getDataDetail(Request $request): Response { try { $param = $this->_valid([ "order.require" => trans("empty.require"), "option.default" => "" ],$request->method()); if (!is_array($param)) return error($param); $order = $this->model->where("out_order_no",$param['order'])->with(['product','poi'])->append(['refund_num'])->withAttr(['refund_num' => function($data,$next){ return (new SaasOrderItem)->where(['order_sn' => $next['order_sn'],'status' => 2])->count(); }])->findOrEmpty(); if ($order->isEmpty()) return errorTrans("empty.data"); $order['end_time'] = timeDiff(strtotime("+30 minutes",strtotime($order['create_at'])),time()); $order['mobile'] = $order['mobile']?hide_mobile($order['mobile']):'-'; $user = (new SaasUserOpen)->where(['openid' => $request->user['openid']])->findOrEmpty(); if ($user->isEmpty()) return error("数据错误"); $userState = 1; if (empty($user['avatar'])) { $userState = 0; } $order['user'] = $userState; return $this->encode("ok",$order->toArray()); } catch (\Throwable $th) { return error($th->getMessage()); } } }