diff --git a/Makefile b/Makefile index 291ef82..62b6659 100644 --- a/Makefile +++ b/Makefile @@ -61,3 +61,17 @@ dev: .PHONY: mcp-chrome mcp-chrome: node "C:\nvm4w\nodejs\node_modules\chrome-devtools-mcp\build\src\index.js" + +# 生成文件目录树 +.PHONY: tree + +# 定义要额外排除的生成代码目录 +EXCLUDE_CONTEXT_PREFIX = internal/infra/transport/lora/chirp_stack_proto/ +# 最终的文件清单会保存在这里 +OUTPUT_FILE = project_structure.txt + +# 使用 PowerShell 脚本块执行 Git 命令和二次过滤 +tree: + @powershell -Command "git ls-files --exclude-standard | Select-String -NotMatch '$(EXCLUDE_CONTEXT_PREFIX)' | Out-File -Encoding UTF8 $(OUTPUT_FILE)" + @powershell -Command "Add-Content -Path $(OUTPUT_FILE) -Value '$(EXCLUDE_CONTEXT_PREFIX)' -Encoding UTF8" + @echo "The project file list has been generated to project_structure.txt" diff --git a/project_structure.txt b/project_structure.txt new file mode 100644 index 0000000..908e130 --- /dev/null +++ b/project_structure.txt @@ -0,0 +1,161 @@ + +.air.toml +.gitignore +.golangci.yml +.swaggo +AGENTS.md +Makefile +README.md +RELAY_API.md +TODO-List.txt +config.example.yml +config.yml +docs/docs.go +docs/swagger.json +docs/swagger.yaml +go.mod +go.sum +internal/app/api/api.go +internal/app/api/router.go +internal/app/controller/auth_utils.go +internal/app/controller/device/device_controller.go +internal/app/controller/management/controller_helpers.go +internal/app/controller/management/pig_batch_controller.go +internal/app/controller/management/pig_batch_health_controller.go +internal/app/controller/management/pig_batch_trade_controller.go +internal/app/controller/management/pig_batch_transfer_controller.go +internal/app/controller/management/pig_farm_controller.go +internal/app/controller/monitor/monitor_controller.go +internal/app/controller/plan/plan_controller.go +internal/app/controller/response.go +internal/app/controller/user/user_controller.go +internal/app/dto/device_converter.go +internal/app/dto/device_dto.go +internal/app/dto/monitor_converter.go +internal/app/dto/monitor_dto.go +internal/app/dto/notification_converter.go +internal/app/dto/notification_dto.go +internal/app/dto/pig_batch_dto.go +internal/app/dto/pig_farm_dto.go +internal/app/dto/plan_converter.go +internal/app/dto/plan_dto.go +internal/app/dto/user_dto.go +internal/app/middleware/audit.go +internal/app/middleware/auth.go +internal/app/service/device_service.go +internal/app/service/monitor_service.go +internal/app/service/pig_batch_service.go +internal/app/service/pig_farm_service.go +internal/app/service/pig_service.go +internal/app/service/plan_service.go +internal/app/service/user_service.go +internal/app/webhook/chirp_stack.go +internal/app/webhook/chirp_stack_types.go +internal/app/webhook/placeholder_listener.go +internal/app/webhook/transport.go +internal/core/application.go +internal/core/component_initializers.go +internal/core/data_initializer.go +internal/domain/audit/service.go +internal/domain/device/device_service.go +internal/domain/device/general_device_service.go +internal/domain/notify/notify.go +internal/domain/pig/pen_transfer_manager.go +internal/domain/pig/pig_batch_service.go +internal/domain/pig/pig_batch_service_method.go +internal/domain/pig/pig_batch_service_pen_transfer.go +internal/domain/pig/pig_batch_service_pig_sick.go +internal/domain/pig/pig_batch_service_pig_trade.go +internal/domain/pig/pig_sick_manager.go +internal/domain/pig/pig_trade_manager.go +internal/domain/scheduler/analysis_plan_task_manager.go +internal/domain/scheduler/scheduler.go +internal/domain/scheduler/task.go +internal/domain/task/delay_task.go +internal/domain/task/full_collection_task.go +internal/domain/task/release_feed_weight_task.go +internal/domain/task/task.go +internal/domain/token/token_service.go +internal/infra/config/config.go +internal/infra/database/postgres.go +internal/infra/database/storage.go +internal/infra/logs/logs.go +internal/infra/models/device.go +internal/infra/models/device_template.go +internal/infra/models/execution.go +internal/infra/models/farm_asset.go +internal/infra/models/feed.go +internal/infra/models/medication.go +internal/infra/models/models.go +internal/infra/models/notify.go +internal/infra/models/pig_batch.go +internal/infra/models/pig_sick.go +internal/infra/models/pig_trade.go +internal/infra/models/pig_transfer.go +internal/infra/models/plan.go +internal/infra/models/schedule.go +internal/infra/models/sensor_data.go +internal/infra/models/user.go +internal/infra/notify/lark.go +internal/infra/notify/log_notifier.go +internal/infra/notify/notify.go +internal/infra/notify/smtp.go +internal/infra/notify/wechat.go +internal/infra/repository/area_controller_repository.go +internal/infra/repository/device_command_log_repository.go +internal/infra/repository/device_repository.go +internal/infra/repository/device_template_repository.go +internal/infra/repository/execution_log_repository.go +internal/infra/repository/medication_log_repository.go +internal/infra/repository/notification_repository.go +internal/infra/repository/pending_collection_repository.go +internal/infra/repository/pending_task_repository.go +internal/infra/repository/pig_batch_log_repository.go +internal/infra/repository/pig_batch_repository.go +internal/infra/repository/pig_farm_repository.go +internal/infra/repository/pig_pen_repository.go +internal/infra/repository/pig_sick_repository.go +internal/infra/repository/pig_trade_repository.go +internal/infra/repository/pig_transfer_log_repository.go +internal/infra/repository/plan_repository.go +internal/infra/repository/raw_material_repository.go +internal/infra/repository/repository.go +internal/infra/repository/sensor_data_repository.go +internal/infra/repository/unit_of_work.go +internal/infra/repository/user_action_log_repository.go +internal/infra/repository/user_repository.go +internal/infra/transport/lora/chirp_stack.go +internal/infra/transport/lora/lora_mesh_uart_passthrough_transport.go +internal/infra/transport/lora/placeholder_transport.go +internal/infra/transport/proto/device.pb.go +internal/infra/transport/proto/device.proto +internal/infra/transport/transport.go +internal/infra/utils/command_generater/modbus_rtu.go +internal/infra/utils/time.go +internal/infra/utils/validation.go +main.go +openspec/AGENTS.md +openspec/changes/archive/2025-10-30-refactor-migrate-gin-to-echo/design.md +openspec/changes/archive/2025-10-30-refactor-migrate-gin-to-echo/proposal.md +openspec/changes/archive/2025-10-30-refactor-migrate-gin-to-echo/specs/http-server/spec.md +openspec/changes/archive/2025-10-30-refactor-migrate-gin-to-echo/tasks.md +openspec/changes/archive/2025-10-31-refactor-business-logic-layering/design.md +openspec/changes/archive/2025-10-31-refactor-business-logic-layering/proposal.md +openspec/changes/archive/2025-10-31-refactor-business-logic-layering/specs/business-logic-layering/spec.md +openspec/changes/archive/2025-10-31-refactor-business-logic-layering/tasks.md +openspec/changes/archive/2025-11-01-add-plan-recovery-option/design.md +openspec/changes/archive/2025-11-01-add-plan-recovery-option/proposal.md +openspec/changes/archive/2025-11-01-add-plan-recovery-option/specs/plan-lifecycle/spec.md +openspec/changes/archive/2025-11-01-add-plan-recovery-option/tasks.md +openspec/changes/update-delete-pre-check/proposal.md +openspec/changes/update-delete-pre-check/specs/area-controller/spec.md +openspec/changes/update-delete-pre-check/specs/device-template/spec.md +openspec/changes/update-delete-pre-check/specs/device/spec.md +openspec/project.md +openspec/specs/business-logic-layering/spec.md +openspec/specs/http-server/spec.md +openspec/specs/plan-lifecycle/spec.md +package-lock.json + + +internal/infra/transport/lora/chirp_stack_proto/