qihang-ecom-erp-open/README-OMS.md

220 lines
5.2 KiB
Markdown
Raw Normal View History

2024-07-17 22:06:56 +08:00
# 启航电商OMS订单处理系统
## 一、系统介绍
启航电商OMS订单处理系统是一套为电商企业构建的一套简单、实用、现代化UI的订单业务处理系统本项目采用Java SpringBoot3+SpringCloud+Vue2开发。
启航电商OMS订单处理系统主要场景是订单发货、售后处理、电子面单打印订单打印。该系统服务店铺订单业务处理全流程可使用接口与ERP系统进行对接。
**目前已接入:淘宝、京东、拼多多、抖店、视频号**,后续会继续接入快手小店、小红书等。
主体功能包括:
+ 订单管理:店铺订单同步、管理。
+ 发货管理:**电子面单打印**、发货记录、物流跟踪等。
+ 售后管理:店铺售后同步、售后处理(补发、换货、退货处理)等。
+ 店铺管理店铺管理、店铺商品管理拉取店铺商品、ERP关联
![预览](docs/preview-oms.png)
## 二、关键流程
### 2.1 关联商品SKU
```mermaid
graph TD
A[添加ERP商品SKU信息] -->B(拉取店铺商品)
B --> C[店铺商品SKU关联ERP商品SKU]
C --> E(完成)
```
### 2.2 处理订单(发货)
```mermaid
graph TD
A[店铺订单拉取] -->B(店铺订单推送到OMS订单中心)
B --> C(后台任务:订单商品数据自动关联ERP系统SKU)
C --> D[接口推送/手动推送:将订单推送给ERP系统-外部系统]
D --> E[接收/手动录入ERP系统发货单号]
E --> F[变更OMS订单状态 - 将发货信息推送给平台店铺]
F --> G(完成)
```
### 2.3 处理售后
```mermaid
graph TD
A[店铺退款拉取] -->B(店铺退款推送到OMS售后中心)
B --> D[接口推送/手动推送:将订单推送给ERP系统-外部系统]
D --> E[接收/手动录入ERP系统处理售后结果:补发/换货/退货]
E --> F[变更OMS售后状态 - 将售后结果信息推送给平台店铺]
F --> G(完成)
```
## 三、系统架构
### 1、开发环境级组件
#### 1.1 开发环境
+ Jdk17
+ Nodejsv16.20.0
#### 1.2 项目组件
##### 后端核心组件
+ SpringBoot3.0.2
+ spring-boot-starter-security
+ SpringCloudAlibaba2022.0.0.0
+ Nacos
+ SpringCloud Gateway
+ spring-cloud-starter-loadbalancer
##### 前端框架及组件
+ vue2
+ element
#### 1.3、存储及中间件
+ MySQL8
+ Redis7.x
+ Kafka
+ Nacos2.2.0(配置中心、注册中心)
+ Sentinel分布式流量治理组件
`java -Dserver.port=8888 -Dcsp.sentinel.dashboard.server=localhost:8888 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar`
### 2、项目结构
#### 2.1 core
项目公共模块包括:
+ `common`:公共类型
+ `security`:公共权限验证模块
#### 2.2 api
网关项目,负责微服务接口转发,前端统一通过网关调用其他微服务接口;
采用`gateway`进行api分发引入Sentinel进行流量治理。
#### 2.3 sys-api
项目系统微服务,主要功能包括:
+ 用户
+ 菜单
#### 2.4 oms-api
oms主功能微服务主要功能包括
+ 队列消息处理(订单消息、退款消息)
+ 订单接口
+ 退款接口
+ 店铺接口
#### 2.5 open-api
各开放平台微服务
##### 2.5.1 tao-api
淘宝开放平台接口api
##### 2.5.2 jd-api
京东开放平台接口api
##### 2.5.3 dou-api
抖店开放平台接口api
##### 2.5.4 pdd-api
拼多多开放平台接口api
##### 2.5.5 wei-api
微信视频号小店开放平台接口api
##### 2.5.6 kwai-api
快手小店开放平台接口api
### 3、运行说明
#### 3.1、启动环境
1. 启动MySQL8
2. 启动Redis7
3. 启动Sentinel1.8.7控制台
4. 启动Nacos2.2.0
5. 启动Kafka
#### 3.2、导入数据库
+ 创建数据库`qihang-erp`
+ 1、导入数据库结构sql脚本`docs\qihang-erp.sql`
+ 2、导入系统数据sql脚本`docs\qihang-erp-sys.sql`
#### 3.3、启动服务(项目)
1. 启动开放平台业务微服务tao-api、jd-api、dou-api、pdd-api等平台接口api微服务
2. 启动sys-api、oms-api微服务
3. 启动微服务网关api
#### 3.4、运行前端
+ Nodejs版本v16.20.0
+ 进入`vue`文件夹
+ 运行`npm install`
+ 运行`npm run dev`
+ 浏览网页`http://localhost`
### 4、项目部署
#### 4.1 打包
##### 后端打包
`mvn clean package`
##### 前端打包
`pnpm run build:prod`
#### 4.2 Nginx配置
```
# 上传文件至远程服务器
将打包生成在 `dist` 目录下的文件拷贝至 `/usr/share/nginx/html` 目录
# nginx.cofig 配置
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
# 反向代理配置
location /prod-api/ {
proxy_pass http://127.0.0.1:8080/; # 替换成你的后端网关API地址
}
}
```
## 四、期待您的支持
**感谢大家的关注与支持希望利用本人从事电商10余年的经验帮助到大家提升工作效率**
💖 如果觉得有用记得点 Star⭐
### 4.1 关注公众号
更多服务请关注作者微信公众号qihangerp168
<img src="docs/公众号.jpg" width="300px" />
💖 欢迎一起交流!
### 4.2 捐助项目
作者为兼职做开源,平时还需要工作,如果帮到了您可以请作者吃个盒饭
<img src="docs/weixinzhifu.jpg" width="300px" />
<img src="docs/zhifubao.jpg" width="300px" />