# laravel-batch-adjustment-api **Repository Path**: gwj06/laravel-batch-adjustment-api ## Basic Information - **Project Name**: laravel-batch-adjustment-api - **Description**: test - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-29 - **Last Updated**: 2026-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Batch Quantity Adjustment API 一个基于 Laravel 的仓库批次库存调整 API 演示项目。 --- ## 项目结构与设计 #### 项目结构 - warehouses 表:存储仓库信息。 - products 表:存储产品信息,属于某个仓库。 - batches 表:存储批次信息,包含当前数量,属于某个产品。 - adjustment_reasons 表:预定义的原因,包含名称、是否活跃、是否用于库存调整。 - 这里是列表文本inventory_adjustments 表:记录每次调整,包含批次 ID、原因 ID、旧数量、新数量、差异、备注等。 #### 项目设计 - 使用 Laravel Migrations 定义表结构,Models 定义关系,Seeders 填充初始数据。 - 使用 API Resources 将模型转换为 JSON 响应。 - 使用 Form Requests 进行请求验证。 - 使用 Database Transactions 确保批次数量更新和调整记录保存的原子性。 ## 项目目录树 ``` laravel-batch-adjustment-api/ ├── app/ # 应用程序核心代码 │ ├── Http/ # HTTP 层相关 │ │ ├── Controllers/ # 控制器 - 处理HTTP请求 │ │ │ ├── AdjustmentReasonController.php # 调整原因API控制器 │ │ │ └── InventoryAdjustmentController.php # 库存调整API控制器 │ │ ├── Requests/ # 表单请求验证 │ │ │ └── CreateAdjustmentRequest.php # 创建调整的验证规则 │ │ └── Resources/ # API资源转换层 │ │ ├── AdjustmentReasonResource.php # 调整原因数据转换 │ │ └── InventoryAdjustmentResource.php # 调整记录数据转换 │ └── Models/ # 数据模型 - 与数据库交互 │ ├── AdjustmentReason.php # 调整原因模型 │ ├── Batch.php # 批次模型 │ ├── InventoryAdjustment.php # 库存调整记录模型 │ ├── Product.php # 产品模型 │ └── Warehouse.php # 仓库模型 │ ├── database/ # 数据库相关文件 │ ├── migrations/ # 数据库迁移 - 创建表结构 │ │ ├── 2026_01_01_000000_create_warehouses_table.php # 仓库表 │ │ ├── 2026_01_01_000001_create_products_table.php # 产品表 │ │ ├── 2026_01_01_000002_create_batches_table.php # 批次表 │ │ ├── 2026_01_01_000003_create_adjustment_reasons_table.php # 调整原因表 │ │ └── 2026_01_01_000004_create_inventory_adjustments_table.php # 调整记录表 │ └── seeders/ # 数据填充 - 生成示例数据 │ ├── DatabaseSeeder.php # 主填充器(调用其他填充器) │ ├── WarehouseSeeder.php # 仓库示例数据 │ ├── ProductSeeder.php # 产品示例数据 │ ├── AdjustmentReasonSeeder.php # 调整原因示例数据 │ └── BatchSeeder.php # 批次示例数据 │ ├── routes/ # 路由定义 │ └── api.php # API路由 - 定义所有API端点 │ ├── tests/ # 测试文件 │ └── Feature/ # 功能测试 │ └── InventoryAdjustmentTest.php # 库存调整功能测试 │ ├── .env.example # 环境配置示例文件 ├── README.md # 项目说明文档 └── postman_collection.json # Postman API测试集合 ``` --- ## 环境要求 - PHP >= 8.1 - Composer - MySQL >= 5.7 / PostgreSQL >= 10 / SQLite 3.8+ - Git --- ## 安装步骤 1. 克隆代码仓库 ```bash git clone https://github.com/yourusername/batch-adjustment-api.git cd batch-adjustment-api ``` 2. 安装 PHP 依赖 ``` composer install ``` 3. 配置环境文件 ``` # 复制环境配置文件 cp .env.example .env # 生成应用密钥 php artisan key:generate ``` 4. 配置数据库 ``` 编辑 .env 文件,配置数据库连接信息: MySQL 配置: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=batch_adjustment DB_USERNAME=root DB_PASSWORD=your_password ``` 5. 运行数据库迁移 ``` php artisan migrate ``` 6. 填充种子数据 ``` php artisan db:seed