## Why
当前项目中，控制器层与服务层、仓库层之间存在严重的领域侵入问题。具体表现为：
1.  **服务层直接吐出数据库模型：** 导致控制器层直接感知并操作领域模型，增加了控制器与数据持久化细节的耦合。
2.  **服务层接收数据库对象或仓库层特定结构：** 控制器层直接构建数据库模型或仓库层查询选项并传递给服务层/仓库层，使得服务层接口不够抽象，且控制器承担了不应有的数据转换职责。
3.  **业务逻辑散落在控制器层：** 控制器层包含了大量的业务规则判断、领域对象的创建与验证、以及对仓库层和领域服务的直接协调，这违反了控制器层应只做数据校验、绑定解析和调用服务层方法的原则，导致业务逻辑分散、难以维护和测试。
    *   **控制器直接进行领域模型内部字段的序列化/反序列化：** 例如，控制器直接对 `req.Properties` 进行 `json.Marshal` 操作，将领域模型的内部结构（如 JSON 字符串存储）暴露给控制器。
    *   **控制器直接实例化领域模型对象：** 控制器直接通过 `&models.Xxx{...}` 实例化领域模型对象，而非通过服务层进行创建。
    *   **控制器通过检查底层（仓库层或服务层）的特定错误类型或错误信息来执行业务判断：** 例如，通过 `strings.Contains(err.Error(), "...")` 或 `errors.Is(err, service.ErrXxx)` 来判断具体的业务错误类型，使得控制器与底层实现细节紧密耦合。

这些问题导致了代码的紧密耦合、可维护性差、测试困难，并且不利于后续的业务扩展和架构演进。

## What Changes
本次重构旨在解决上述领域侵入问题，明确各层的职责，提升代码质量。主要变更包括：
-   **服务层接口标准化：** 确保服务层方法只接收 DTO 或基本参数，并只返回 DTO 或业务领域对象（而非数据库模型）。
-   **控制器层职责收敛：** 控制器层将仅负责请求参数的绑定与校验、调用服务层方法，并将服务层返回的 DTO 转换为 HTTP 响应。所有业务逻辑、领域对象的创建与验证、以及与仓库层的直接交互都将从控制器层移除并下沉到服务层。
    *   **移除控制器中的领域模型内部字段序列化/反序列化逻辑：** 将此类操作下沉到服务层或专门的转换器中。
    *   **移除控制器中直接实例化领域模型对象的逻辑：** 领域模型的创建应通过服务层完成。
    *   **优化控制器中的业务错误处理：** 服务层将返回更抽象的业务错误，控制器层根据这些抽象错误进行统一的 HTTP 响应处理，避免直接依赖仓库层或服务层内部的具体错误类型或错误信息。
-   **DTO 转换逻辑下沉：** 将数据库模型与 DTO 之间的转换逻辑从控制器层移动到服务层内部或专门的转换器中。
-   **业务错误处理优化：** 服务层将返回更抽象的业务错误，控制器层根据这些抽象错误进行统一的 HTTP 响应处理，避免直接依赖仓库层或服务层内部的具体错误类型。

**BREAKING**：本次变更将涉及服务层接口的修改，以及控制器层对服务层调用的调整，可能对依赖这些接口的代码造成影响。

## Impact
-   **Affected specs:**
    -   `specs/monitor/spec.md` (如果存在，需要更新服务层返回 DTO 的要求)
    -   `specs/device/spec.md` (如果存在，需要更新服务层返回 DTO 的要求)
    -   `specs/pig-farm/spec.md` (如果存在，需要更新服务层返回 DTO 的要求)
    -   `specs/plan/spec.md` (如果存在，需要更新服务层返回 DTO 的要求)
    -   `specs/user/spec.md` (如果存在，需要更新服务层返回 DTO 的要求)
-   **Affected code:**
    -   `internal/app/controller/monitor/monitor_controller.go`
    -   `internal/app/controller/device/device_controller.go`
    -   `internal/app/controller/management/pig_farm_controller.go`
    -   `internal/app/controller/plan/plan_controller.go`
    -   `internal/app/controller/user/user_controller.go`
    -   `internal/app/service/monitor_service.go` (及其实现)
    -   `internal/app/service/device_service.go` (及其实现)
    -   `internal/app/service/pig_farm_service.go` (及其实现)
    -   `internal/app/service/plan_service.go` (及其实现)
    -   `internal/app/service/user_service.go` (及其实现)
    -   `internal/infra/repository/*.go` (可能需要调整接口，以适应服务层接收 DTO 的变化)
    -   `internal/infra/models/*.go` (可能需要添加或修改 DTO 转换方法)
    -   `internal/app/dto/*.go` (可能需要添加新的 DTO 或修改现有 DTO 的构造函数)
    -   `internal/core/component_initializers.go`
    -   `internal/app/api/api.go`
