getTimes(); $userId = $this->user_id; // 获取用户物品列表 $userItems = ItemService::getUserItems($userId); if ($userItems->isEmpty()) { // 用户没有物品,返回空列表 $this->response->setCode(RESPONSE_CODE::OK); $this->response->setMsg('查询成功,但用户没有物品'); return $response; } // 将物品数据添加到LastData中 $lastData = new LastData(); $itemList = []; foreach ($userItems as $item) { $dataItem = new DataItem(); $dataItem->setItemId($item->itemId); $dataItem->setQuantity($item->quantity); // 如果是单独属性物品,设置实例ID if ($item->instanceId) { $dataItem->setInstanceId($item->instanceId); } // 如果有过期时间,设置过期时间 if ($item->expireAt) { // 将过期时间转换为时间戳 $expireTime = strtotime($item->expireAt); $dataItem->setExpireTime($expireTime); } // 设置堆id(item_user表的id) $dataItem->setIuId($item->id); // 设置冻结状态 $dataItem->setIsFrozen($item->isFrozen); $itemList[] = $dataItem; } // 设置物品列表到LastData $lastData->setItems($itemList); // 设置LastData到响应 $this->response->setLastData($lastData); // 设置响应状态 $this->response->setCode(RESPONSE_CODE::OK); $this->response->setMsg('查询成功'); // 记录日志 Log::info('用户物品查询成功', [ 'user_id' => $userId, 'timestamp' => $timestamp, 'item_count' => $userItems->count() ]); } catch (\Exception $e) { Log::error('物品查询操作异常', [ 'user_id' => $this->user_id, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); // 重新抛出异常,交由框架处理 throw $e; } return $response; } }