# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## 项目概述 这是一个宝应梦阳WMS(仓库管理系统)后端项目,基于Spring Boot 3.3.5和Java 21开发,使用Maven构建。系统管理仓库的入库、出库、库存和任务调度等核心业务。 ## 开发环境设置 ### 构建和运行命令 ```bash # 编译项目 mvn clean compile # 打包项目 mvn clean package # 运行项目 mvn spring-boot:run # 跳过测试运行(默认配置) mvn clean package -Dmaven.test.skip=true ``` ### 数据库配置 - 本地开发:MySQL `localhost:3306/wms_mengyang_box` - 生产环境:MySQL `10.18.58.21:3306/wms_yachi_nantong` - 用户名/密码:本地使用root/root,生产使用user/user ### 应用配置 - 服务端口:12315 - 应用名称:wms_main - 文件上传限制:单文件100MB,总计1000MB ## 核心架构 ### 分层架构 系统采用标准的MVC三层架构: - **Controller层**:REST API接口,包含mywms和wms两个模块 - **Service层**:业务逻辑层,分为controller、business、api三个子模块 - **DAO层**:数据访问层,使用MyBatis-Plus ### 核心业务模块 #### 1. MyWMS模块 (`controller/mywms/`) 自定义WMS接口: - `POST /orderIn` - 入库订单接口 - `POST /orderOut` - 出库订单接口 - `POST /stock` - 库存查询接口 #### 2. 深度策略服务 (`service/business/DepthStrategyService`) 核心算法模块,实现智能仓储策略: - 支持托盘库(TP)和料箱库(BOX)两种存储类型 - 动态深度分析和出库优化策略 #### 3. 任务调度系统 (`service/quartz_job/`) 基于Quartz的定时任务: - `WmsTaskExecutor` - WMS任务执行器 - `MyOutExecutor` - 出库任务执行器 - `WcsStackerTaskSender` - WCS任务发送器 #### 4. 设备集成 (`service/api/`) - `WcsApiService` - WCS系统集成 - `ExternalApiService` - 外部系统API调用 ### 数据模型结构 - `po/` - 数据库实体对象(Persistent Object) - `dto/request/` - 请求数据传输对象 - `dto/response/` - 响应数据传输对象 - `bo/` - 业务对象(Business Object) - `vo/` - 视图对象(View Object) ### 常用枚举类 (`constant/enums/`) - `StorageTypeEnums` - 存储类型(托盘库TP/料箱库BOX) - `WmsDepthStrategyEnums` - 深度策略枚举 - `WmsTaskTypeEnums` - 任务类型枚举 - `OrderStatusEnum` - 订单状态枚举 ## 技术栈 ### 核心依赖 - Spring Boot Web 3.3.5 - REST API框架 - Spring Boot Quartz - 定时任务调度 - MyBatis-Plus 3.5.7 - ORM框架 - MySQL Connector - 数据库连接 - Lombok - 代码简化 ### 工具库 - Hutool 5.8.33 - Java工具类库 - FastJSON 2.0.21 - JSON处理 - EasyExcel 4.0.3 & EasyPOI 4.5.0 - Excel处理 - Apache HttpClient 4.5.13 - HTTP客户端 - Google Guava 33.3.1 - 集合工具 ## 开发注意事项 ### 代码规范 - 使用Lombok注解减少样板代码 - 统一的API响应格式(WmsApiResponse) - 枚举类管理常量值 - 接口-实现分离的服务层设计 ### 数据库操作 - 使用MyBatis-Plus进行ORM操作 - 支持批量操作和事务处理 - 驼峰命名自动映射 - ID生成策略:assign_id ### 错误处理 - 统一异常处理器:`WmsControllerExceptionHandler` - 标准化错误码:`WmsApiResponseCodeEnums` - 请求日志过滤器:`RequestLogFilter` ### Excel处理 系统支持完整的Excel导入导出功能: - 货物信息、产品信息、库存信息等业务数据 - 使用EasyExcel和EasyPOI双重支持 - 模板位置:`excel/easypoi/excelTemplate/` ## 外部系统集成 ### WCS系统集成 - 堆垛机任务调度 - 载具管理(托盘和料箱) - TCP/HTTP通信协议 ### MES系统对接 - 制造执行系统数据交换 - 生产任务状态同步 ## 测试说明 项目配置中跳过了单元测试执行(`maven-surefire-plugin.skip=true`),在开发新功能时建议: 1. 先实现功能代码 2. 使用Postman等工具进行API测试 3. 检查数据库数据状态 4. 验证定时任务执行情况 ## Claude交互指南 ### AI助手通用记录 - 说中文,think hard