# Reddoor Micro-ERP System ## 项目简介 (Project Overview) 本项目是一个基于微服务架构思想的单体多模块后端企业级应用程序(Micro-ERP),涵盖了**完善的供应链(商城)、物流管理及企业级业务处理**。该系统提供了从商品管理、采购、销售、库存到财务结算的完整闭环,同时集成了复杂的物流运输路由计算、场站管理以支撑线下业务。 该项目适合作为新零售、电商ERP、同城/干线物流等混合业务场景的后端基石。 --- ## 技术栈 (Technology Stack) ### 核心框架 * **后端应用框架**: Spring Boot 2.5.14 * **安全认证**: JWT (jjwt) + 自定义/Shiro方案 * **持久层框架**: MyBatis-Plus 3.5.1 (含代码生成器) * **API文档**: Knife4j / Swagger 2 ### 数据与缓存 * **关系型数据库**: MySQL 5.7+ (连接池: Druid) * **缓存与分布式锁**: Redis (Redisson 3.17.2) ### 云服务与第三方集成 * **对象存储(OSS)**: 支持 MinIO, 阿里云 OSS, 腾讯云 COS, 七牛云 * **消息通知**: 腾讯云短信服务 (Tencent Cloud SMS) * **支付集成**: 支付宝 (Alipay SDK), Payment Spring Boot Starter * **微信生态**: WxJava (支持小程序与微信公众号) ### 工具与中间件 * **工具箱**: Hutool, Guava (Gson), MapStruct, EasyPoi (Excel导入导出) * **流程引擎**: Smart Flow (流程管理框架) * **授权与安全**: TrueLicense (License许可验证), Bcprov (加密算法) * **网络通信**: Smart Socket (AIO) ### 测试环境 * **单元/集成测试**: TestNG * **UI/自动化测试**: Selenium * **测试报告**: ExtentReports TestNG Adapter --- ## 项目结构 (Project Structure) 该工程采用 Maven 多模块 (Multi-Module) 结构,明确化了业务边界: ```text school (Root) ├── hiver-admin # 后端管理系统的入口模块 (启动应用) ├── hiver-core # 核心基础层:包含基础配置、物流实体与基础Dao (logistics, shopprint) ├── hiver-modules # 业务模块层结构封装: │ ├── hiver-app # 移动端/APP API (C端与普通工人端) │ ├── hiver-base # 基础服务 (系统字典、通用业务或基础RBAC) │ ├── hiver-file # 文件上传与对象存储统一管控 │ ├── hiver-mall # 供应链商城与ERP业务 (核心业务模块) │ ├── hiver-open # 开放平台/第三方对接API │ ├── hiver-quartz # 分布式定时任务调度模块 │ └── hiver-social # 社交与圈子功能等模块 └── pom.xml # 全局依赖管理 ``` --- ## 核心业务模块分析 (Business Models Analysis) ### 1. 供应链与商城管理 (hiver-mall) * **商品流**: 包括商品(Goods)、产品(Product)、分类(Category)、属性(Attribute)和品牌(Brand)的管理。 * **交易流**: 提供针对客户(Customer)、供应商(Supplier)的管理,涵盖采购单(Purchase)、销售单(Sale)、订单管理(Order)、购物车(Cart)、退货退款(ReturnSale/ReturnCommission)。 * **库存与财务**: 支持仓储管理(Stock/GoodsStock)、资金记录(DealingsRecord)、充值(Recharge)。 * **店铺与终端**: 提供门店/网点(Shop, ShopArea, ShopTakeaway)与终端员工/工人的管理(Worker, WorkerAuth, UserClockIn)。 ### 2. 物流与运输业务 (hiver-core logistics*) 深入集成了物流执行侧的实体: * **路由与节点**: 路由(logisticsroute)、公司路由(logisticscompanyroute)、站点管理(logisticsstation)、中转站(logisticstransferstation)。 * **业务操作**: 物流订单(logisticsorder)、装车日志(logisticsentruckinglog)、落车费规则计算(logisticslandingfeerules)。 ### 3. 多端支持与扩展 (hiver-app / hiver-open) * 提供给移动端(APP、小程序)的标准RESTful接口,支持微信生态。 * 提供标准的Open API以便与外部ERP/WMS进行数据对接。 --- ## 快速开始 (Getting Started) ### 1. 环境准备 * JDK 1.8 * Maven 3.6+ * MySQL 5.7+ * Redis 6.x+ (安装并正常运行) ### 2. 初始化项目 1. **克隆代码**: 将本工程导入到 IDEA 中。 2. **执行构建**: 在根目录下执行 `mvn clean install -Dmaven.test.skip=true` 解决所有依赖。 3. **导入数据库**: 寻找相关的 `.sql` 脚本导入到 MySQL 数据库中(如有)。自行配置好 `application-dev.yml` 中的 Redis 和 MySQL 信息。 4. **启动服务**: 找到 `hiver-admin` 模块中的 `HiverApplication.java` 启动类,直接启动即可运行后台 API 服务。 ### 3. 注意事项 * 如果提示 `lombok` 缺失,请在 IDE 中安装 Lombok 插件并开启 `Enable Annotation Processing`。 * 支付配置与OSS/短信配置:若是进行本地开发调试,请在配置或者数据库字典中替换成对应的测试 KEY 和 Secret。