getTimes(); $userId = $this->user_id; // 获取用户物品列表 $userItems = ItemService::getUserItems($userId); if ($userItems->isEmpty()) { // 用户没有物品,返回空列表 $this->response->setCode(0); $this->response->setMsg('查询成功,但用户没有物品'); return $response; } // 将物品数据添加到LastData中 $lastData = new LastData(); $itemList = []; foreach ($userItems as $item) { $dataItem = new DataItem(); $dataItem->setItemId($item->item_id); $dataItem->setQuantity($item->quantity); // 如果是单独属性物品,设置实例ID if ($item->instance_id) { $dataItem->setInstanceId($item->instance_id); } // 如果有过期时间,设置过期时间 if ($item->expire_at) { // 将过期时间转换为时间戳 $expireTime = is_object($item->expire_at) ? $item->expire_at->timestamp : strtotime($item->expire_at); $dataItem->setExpireTime($expireTime); } $itemList[] = $dataItem; } // 设置物品列表到LastData $lastData->setItems($itemList); // 设置LastData到响应 $this->response->setLastData($lastData); // 设置响应状态 $this->response->setCode(0); $this->response->setMsg('查询成功'); // 记录日志 Log::info('用户物品查询成功', [ 'user_id' => $userId, 'timestamp' => $timestamp, 'item_count' => $userItems->count() ]); } catch (LogicException $e) { // 设置错误响应 $this->response->setCode(400); $this->response->setMsg($e->getMessage()); Log::warning('用户物品查询失败', [ 'user_id' => $this->user_id, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); } catch (\Exception $e) { // 设置错误响应 $this->response->setCode(500); $this->response->setMsg('系统错误,请稍后再试'); Log::error('物品查询操作异常', [ 'user_id' => $this->user_id, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); } return $response; } }