- **`internal/app/controller/user/user_controller.go` (`user.Controller`)**
    - **结构体改造**:
        -   [x] 移除 `Controller` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `Ctx context.Context` 成员。
    - **构造函数改造 (`NewController`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 将这个 `Ctx` 赋值给 `Controller` 结构体的 `Ctx` 成员。
    - **公共方法改造 (`CreateUser`, `Login`, `SendTestNotification`)**:
        -   [x] 在每个方法入口处，从 `echo.Context` 中提取 `request.Context()` 作为 `upstreamCtx`。
        -   [x] 使用 `newCtx, logger := logs.Trace(upstreamCtx, c.Ctx, "MethodName")` 获取新的 `context.Context` 和
            `logger` 实例。
        -   [x] 将所有对 `c.logger.Errorf` 和 `c.logger.Infof` 的调用替换为 `logger.Errorf` 和 `logger.Infof`。
        -   [x] 确保所有对 `c.userService` 的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/app/controller/device/device_controller.go` (`device.Controller`)**
    - **结构体改造**:
        -   [x] 移除 `Controller` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `Ctx context.Context` 成员。
    - **构造函数改造 (`NewController`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 将这个 `Ctx` 赋值给 `Controller` 结构体的 `Ctx` 成员。
    - **公共方法改造 (`CreateDevice`, `GetDevice`, `ListDevices`, `UpdateDevice`, `DeleteDevice`, `ManualControl`,
      `CreateAreaController`, `GetAreaController`, `ListAreaControllers`, `UpdateAreaController`,
      `DeleteAreaController`, `CreateDeviceTemplate`, `GetDeviceTemplate`, `ListDeviceTemplates`,
      `UpdateDeviceTemplate`, `DeleteDeviceTemplate`)**:
        -   [x] 在每个方法入口处，从 `echo.Context` 中提取 `request.Context()` 作为 `upstreamCtx`。
        -   [x] 使用 `newCtx, logger := logs.Trace(upstreamCtx, c.Ctx, "MethodName")` 获取新的 `context.Context` 和
            `logger` 实例。
        -   [x] 将所有对 `c.logger.Errorf`, `c.logger.Warnf`, `c.logger.Infof` 的调用替换为 `logger.Errorf`,
            `logger.Warnf`, `logger.Infof`。
        -   [x] 确保所有对 `c.deviceService` 的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/app/controller/plan/plan_controller.go` (`plan.Controller`)**
    - **结构体改造**:
        -   [x] 移除 `Controller` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `Ctx context.Context` 成员。
    - **构造函数改造 (`NewController`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 将这个 `Ctx` 赋值给 `Controller` 结构体的 `Ctx` 成员。
    - **公共方法改造 (`CreatePlan`, `GetPlan`, `ListPlans`, `UpdatePlan`, `DeletePlan`, `StartPlan`, `StopPlan`)**:
        -   [x] 在每个方法入口处，从 `echo.Context` 中提取 `request.Context()` 作为 `upstreamCtx`。
        -   [x] 使用 `newCtx, logger := logs.Trace(upstreamCtx, c.Ctx, "MethodName")` 获取新的 `context.Context` 和
            `logger` 实例。
        -   [x] 将所有对 `c.logger.Errorf` 和 `c.logger.Infof` 的调用替换为 `logger.Errorf` 和 `logger.Infof`。
        -   [x] 确保所有对 `c.planService` 的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/app/controller/management/pig_farm_controller.go` (`management.PigFarmController`)**
    - **结构体改造**:
        -   [x] 移除 `PigFarmController` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `Ctx context.Context` 成员。
    - **构造函数改造 (`NewPigFarmController`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 将这个 `Ctx` 赋值给 `PigFarmController` 结构体的 `Ctx` 成员。
    - **公共方法改造 (`CreatePigHouse`, `GetPigHouse`, `ListPigHouses`, `UpdatePigHouse`, `DeletePigHouse`, `CreatePen`,
      `GetPen`, `ListPens`, `UpdatePen`, `DeletePen`, `UpdatePenStatus`)**:
        -   [x] 在每个方法入口处，从 `echo.Context` 中提取 `request.Context()` 作为 `upstreamCtx`。
        -   [x] 使用 `newCtx, logger := logs.Trace(upstreamCtx, c.Ctx, "MethodName")` 获取新的 `context.Context` 和
            `logger` 实例。
        -   [x] 将所有对 `c.logger.Errorf` 和 `c.logger.Infof` 的调用替换为 `logger.Errorf` 和 `logger.Infof`。
        -   [x] 确保所有对 `c.service` 的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/app/controller/management/pig_batch_controller.go` (`management.PigBatchController`)**
    - **结构体改造**:
        -   [x] 移除 `PigBatchController` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `Ctx context.Context` 成员。
    - **构造函数改造 (`NewPigBatchController`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 将这个 `Ctx` 赋值给 `PigBatchController` 结构体的 `Ctx` 成员。
    - **公共方法改造 (
      所有方法，例如 `CreatePigBatch`, `GetPigBatch`, `UpdatePigBatch`, `DeletePigBatch`, `ListPigBatches`,
      `AssignEmptyPensToBatch`, `ReclassifyPenToNewBatch`, `RemoveEmptyPenFromBatch`, `MovePigsIntoPen`)**:
        -   [x] 这些方法通过调用 `controller_helpers.go` 中的 `handleAPIRequest...` 系列函数来处理请求。
        -   [x] 确保传递给 `handleAPIRequest...` 系列函数的 `serviceExecutor` 匿名函数，其签名与 `controller_helpers.go`
            改造后期望的签名一致（即接收 `context.Context` 作为第一个参数）。
        -   [x] 在 `serviceExecutor` 匿名函数内部，将接收到的 `context.Context` 传递给 `c.service` 的相应方法。
- **`internal/app/controller/management/controller_helpers.go`**
    -   [x] 修改 `mapAndSendError` 函数中的 `c.logger.Errorf` 调用，改为从 `echo.Context` 中提取 `context.Context`，并使用
        `logs.Trace` 或 `logs.GetLogger` 获取 `logger` 实例进行日志记录。
    -   [x] 检查其他函数是否直接或间接依赖 `*PigBatchController` 的 `logger` 成员，并进行相应改造。
- **`internal/app/controller/management/pig_batch_trade_controller.go` (`management.PigBatchController`)**
    -   [x] 修改 `NewController` 函数，移除 `logger` 参数，改为接收 `Ctx context.Context`。
    -   [x] 移除 `Controller` 结构体中的 `logger` 成员，改为保存 `Ctx`。
    -   [x] **所有公共方法**: 接收 `echo.Context` 的方法，需要从中提取 `request.Context()` 作为 `upstreamCtx`。
- **`internal/app/controller/management/pig_batch_health_controller.go` (`management.PigBatchController`)**
    -   [x] 修改 `NewController` 函数，移除 `logger` 参数，改为接收 `Ctx context.Context`。
    -   [x] 移除 `Controller` 结构体中的 `logger` 成员，改为保存 `Ctx`。
    -   [x] **所有公共方法**: 接收 `echo.Context` 的方法，需要从中提取 `request.Context()` 作为 `upstreamCtx`。
- **`internal/app/controller/management/pig_batch_transfer_controller.go` (`management.PigBatchController`)**
    -   [x] 修改 `NewController` 函数，移除 `logger` 参数，改为接收 `Ctx context.Context`。
    -   [x] 移除 `Controller` 结构体中的 `logger` 成员，改为保存 `Ctx`。
    -   [x] **所有公共方法**: 接收 `echo.Context` 的方法，需要从中提取 `request.Context()` 作为 `upstreamCtx`。
- **`internal/app/controller/monitor/monitor_controller.go` (`monitor.Controller`)**
    - **结构体改造**:
        -   [x] 移除 `Controller` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `Ctx context.Context` 成员。
    - **构造函数改造 (`NewController`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 将这个 `Ctx` 赋值给 `Controller` 结构体的 `Ctx` 成员。
    - **公共方法改造 (
      所有方法，例如 `ListSensorData`, `ListDeviceCommandLogs`, `ListPlanExecutionLogs`, `ListTaskExecutionLogs`,
      `ListPendingCollections`, `ListUserActionLogs`, `ListRawMaterialPurchases`, `ListRawMaterialStockLogs`,
      `ListFeedUsageRecords`, `ListMedicationLogs`, `ListPigBatchLogs`, `ListWeighingBatches`, `ListWeighingRecords`,
      `ListPigTransferLogs`, `ListPigSickLogs`, `ListPigPurchases`, `ListPigSales`, `ListNotifications`)**:
        -   [x] 在每个方法入口处，从 `echo.Context` 中提取 `request.Context()` 作为 `upstreamCtx`。
        -   [x] 使用 `newCtx, logger := logs.Trace(upstreamCtx, c.Ctx, actionType)` 获取新的 `context.Context` 和
            `logger` 实例（`actionType` 为方法内部定义的常量）。
        -   [x] 将所有对 `c.logger.Errorf`, `c.logger.Warnf`, `c.logger.Infof` 的调用替换为 `logger.Errorf`,
            `logger.Warnf`, `logger.Infof`。
        -   [x] 确保所有对 `c.monitorService` 的调用都将 `newCtx` 作为第一个参数传递。


- **`internal/app/controller/response.go`**
    -   [x] 修改 `SendSuccessWithAudit` 和 `SendErrorWithAudit` 函数签名，使其接收 `ctx context.Context` 作为第一个参数。
    -   [x] 在 `setAuditDetails` 函数中，如果需要，从传入的 `context.Context` 中提取调用链信息，并将其添加到审计信息中。
- **`internal/app/controller/auth_utils.go`**
    -   [x] 检查 `GetOperatorIDFromContext` 和 `GetOperatorFromContext` 函数，确保它们能够正确地从 `echo.Context` 中获取
        `request.Context()`，并从中提取用户信息。