targetId, $item->quantity, [ 'param1' => $item->param1, 'param2' => $item->param2, 'source_type' => $sourceType, 'source_id' => $sourceId, 'source' => 'reward', // 保持向后兼容 'extra_data' => $item->extraData ]); Log::info("物品奖励发放成功", [ 'userId' => $userId, 'itemId' => $item->targetId, 'quantity' => $item->quantity, 'sourceType' => $sourceType, 'sourceId' => $sourceId ]); } catch (Exception $e) { Log::error("物品奖励发放失败", [ 'userId' => $userId, 'itemId' => $item->targetId, 'quantity' => $item->quantity, 'sourceType' => $sourceType, 'sourceId' => $sourceId, 'error' => $e->getMessage() ]); throw new Exception("物品奖励发放失败: " . $e->getMessage()); } } }