202504-Wms-MengYang/202504-Wms-MengYang-box/wms_serve_mengyang/CLAUDE.md
2025-07-21 17:05:18 +08:00

4.0 KiB
Raw Blame History

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),在开发新功能时建议:

  1. 先实现功能代码
  2. 使用Postman等工具进行API测试
  3. 检查数据库数据状态
  4. 验证定时任务执行情况