4.0 KiB
4.0 KiB
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构建。系统管理仓库的入库、出库、库存和任务调度等核心业务。
开发环境设置
构建和运行命令
# 编译项目
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),在开发新功能时建议:
- 先实现功能代码
- 使用Postman等工具进行API测试
- 检查数据库数据状态
- 验证定时任务执行情况