后台结构说明
1. 系统概述
1.1 项目简介
Wimoor ERP是国内首款100%开源、支持商用的亚马逊ERP系统,采用微服务+前后端分离+中央登录模式,支持新旧系统无缝对接。
技术栈:
- 核心框架:SpringBoot 2.6.13 + Spring Cloud 2021.0.5
- 微服务组件:Nacos + Seata + Gateway
- 持久层:Mybatis + Mybatis Plus
- 前端技术:Vue3 + Element Plus + Node.js
- 数据库:MySQL 8.0 + Redis
- 项目管理:Maven 3.2.3+
2. 项目根目录结构
2.1 核心配置文件
├── README.md # 项目说明文档
├── pom.xml # Maven父项目配置
├── nacos.env # Nacos环境变量配置
├── LICENSE # MIT开源协议
└── .gitignore # Git忽略配置
2.2 初始化配置目录 (init-config)
init-config/
├── mysql/ # 数据库初始化脚本
│ ├── readme.txt # 数据库说明
│ ├── 数据/ # 基础数据SQL
│ └── 数据库结构/ # 表结构SQL
├── nacos/ # Nacos配置中心
│ ├── DEFAULT_GROUP/ # 默认配置组
│ ├── install.txt # 安装说明
│ └── nacos-seata-version-map.png
└── seata/ # 分布式事务配置
├── readme.txt
├── seata-application.yml
└── seataServer.properties
2.3 日志目录
logs/
└── wimoor-gen/ # 代码生成器日志
├── error.log # 错误日志
├── info.log # 信息日志
└── 按日期分割的日志文件
3. 微服务模块架构
3.1 核心基础模块 (wimoor-common)
功能:提供公共组件和工具类
wimoor-common/
├── common-core/ # 核心工具类
├── common-core-ext/ # 扩展工具类
├── common-entity/ # 实体类定义
├── common-feishu/ # 飞书集成
├── common-mvc/ # MVC相关组件
├── common-mybatis/ # Mybatis配置
├── common-redis/ # Redis缓存
├── common-storage/ # 文件存储
├── common-swagger/ # API文档
└── pom.xml
3.2 网关服务 (wimoor-gateway)
功能:API网关,路由转发和负载均衡
wimoor-gateway/
├── src/main/java/ # 网关核心代码
├── src/main/resources/ # 配置文件
│ ├── bootstrap.yml # 启动配置
│ ├── bootstrap-dev.yml # 开发环境配置
│ └── bootstrap-prod.yml # 生产环境配置
└── target/ # 编译输出
3.3 管理系统 (wimoor-admin)
功能:系统管理和用户权限控制
wimoor-admin/
├── admin-api/ # API接口模块
├── admin-boot/ # 启动模块
└── pom.xml
3.4 亚马逊业务模块 (wimoor-amazon)
功能:亚马逊卖家业务核心功能
wimoor-amazon/
├── amazon-api/ # 亚马逊API接口
├── amazon-boot/ # 亚马逊启动模块
├── amazon-follow/ # 产品跟卖功能
├── amazon-sp-api/ # 亚马逊SP API集成
└── pom.xml
3.5 亚马逊广告模块 (wimoor-amazon-adv)
功能:亚马逊广告管理
wimoor-amazon-adv/
├── amazon-adv-api/ # 广告API接口
├── amazon-adv-boot/ # 广告启动模块
└── pom.xml
3.6 API接口模块 (wimoor-api)
功能:对外提供统一API接口
wimoor-api/
├── wimoor-api-admin/ # 管理API
├── wimoor-api-amazon/ # 亚马逊API
├── wimoor-api-quote/ # 报价API
└── pom.xml
3.7 功能模块 (wimoor-modules)
功能:业务功能模块集合
wimoor-modules/
├── wimoor-data/ # 数据处理模块
├── wimoor-finance/ # 财务管理模块
├── wimoor-gen/ # 代码生成器模块
├── wimoor-quote/ # 报价管理模块
└── pom.xml
3.8 ERP模块 (wimoor-erp)
功能:企业资源计划管理
4. 数据库架构设计
4.1 数据库划分
系统采用分库设计,按业务模块划分:
- db_admin:管理系统数据库
- db_amazon:亚马逊业务数据库
- db_amazon_adv:亚马逊广告数据库
- db_erp:ERP业务数据库
- db_finance:财务数据库
- db_quartz:定时任务数据库
- db_quote:报价数据库
- db_datamove:数据迁移数据库
- seata:分布式事务数据库
4.2 核心表结构
- 用户权限:t_user, t_role, t_sys_menu, t_user_role
- 亚马逊业务:t_amazon_auth, t_product_info, t_amz_order_main
- 库存管理:t_amz_rpt_inventory_detail
- 财务管理:t_amz_settlement_report
5. 微服务架构设计
5.1 服务发现与配置中心
- Nacos:服务注册发现 + 配置中心
- 配置管理:通过bootstrap.yml加载Nacos配置
5.2 分布式事务
- Seata:处理跨服务事务一致性
- 事务模式:支持AT、TCC等模式
5.3 API网关
- Gateway:统一入口,路由转发
- 负载均衡:集成Ribbon负载均衡
- 熔断降级:集成Hystrix熔断器
6. 部署架构
6.1 依赖服务
必需服务:
├── MySQL 8.0 # 数据库
├── Redis # 缓存和Session
├── Nacos # 服务注册配置中心
└── Seata # 分布式事务
可选服务:
└── Cas-Server # 中央登录模块
6.2 启动顺序
- 启动Nacos服务
- 启动Seata服务
- 启动Gateway网关
- 启动各业务服务(admin, amazon, erp等)
- 启动前端UI服务
7. 开发环境配置
7.1 环境要求
- IDE:IDEA(推荐)或Eclipse
- JDK:JDK 1.8+
- 数据库:MySQL 8.0
- 缓存:Redis
- 构建工具:Maven 3.2.3+
7.2 配置步骤
- 导入数据库脚本
- 配置Nacos服务地址
- 配置Redis连接
- 配置各模块数据库连接
- 启动各微服务模块
8. 系统功能模块
8.1 核心业务功能
- 用户管理:多租户、角色权限、菜单管理
- 亚马逊集成:账号授权、产品管理、订单处理
- 库存管理:FBA/FBM库存、补货规划
- 财务管理:结算报告、成本核算
- 广告管理:广告活动、关键词优化
- 采购管理:采购单、供应商管理
- 销售分析:商品分析、趋势分析
8.2 技术特性
- 微服务架构:模块化、可扩展
- 前后端分离:Vue3前端 + SpringBoot后端
- 多租户支持:支持多店铺独立运营
- 分布式事务:保证数据一致性
- 定时任务:Quartz任务调度
- 日志管理:自动记录操作日志
9. 扩展与定制
9.1 模块扩展
系统采用模块化设计,支持:
- 新增业务模块
- 自定义功能开发
- 第三方系统集成
9.2 定制服务
- 系统源码搭建
- 成品系统部署
- 功能定制开发
- 技术支持服务