202504-Wms-MengYang/202504-Wms-MengYang-tp/wms_serve_mengyang/CLAUDE.md

143 lines
4.0 KiB
Markdown
Raw Normal View History

2025-07-21 17:05:18 +08:00
# 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