# 后台结构说明

## 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 启动顺序

1. 启动Nacos服务
2. 启动Seata服务
3. 启动Gateway网关
4. 启动各业务服务（admin, amazon, erp等）
5. 启动前端UI服务

## 7. 开发环境配置

### 7.1 环境要求

- **IDE**：IDEA（推荐）或Eclipse
- **JDK**：JDK 1.8+
- **数据库**：MySQL 8.0
- **缓存**：Redis
- **构建工具**：Maven 3.2.3+

### 7.2 配置步骤

1. 导入数据库脚本
2. 配置Nacos服务地址
3. 配置Redis连接
4. 配置各模块数据库连接
5. 启动各微服务模块

## 8. 系统功能模块

### 8.1 核心业务功能

- **用户管理**：多租户、角色权限、菜单管理
- **亚马逊集成**：账号授权、产品管理、订单处理
- **库存管理**：FBA/FBM库存、补货规划
- **财务管理**：结算报告、成本核算
- **广告管理**：广告活动、关键词优化
- **采购管理**：采购单、供应商管理
- **销售分析**：商品分析、趋势分析

### 8.2 技术特性

- **微服务架构**：模块化、可扩展
- **前后端分离**：Vue3前端 + SpringBoot后端
- **多租户支持**：支持多店铺独立运营
- **分布式事务**：保证数据一致性
- **定时任务**：Quartz任务调度
- **日志管理**：自动记录操作日志

## 9. 扩展与定制

### 9.1 模块扩展

系统采用模块化设计，支持：

- 新增业务模块
- 自定义功能开发
- 第三方系统集成

### 9.2 定制服务

- 系统源码搭建
- 成品系统部署
- 功能定制开发
- 技术支持服务