# 启航电商ERP系统-商业版演示及文档 **Repository Path**: qiliping/qihangerp-demo ## Basic Information - **Project Name**: 启航电商ERP系统-商业版演示及文档 - **Description**: 启航电商ERP系统是一个轻量级现代化的电商业务处理系统,该系统专注核心订单处理业务。该项目采用SpringBoot3开发,帮助企业低成本构建订单中台。系统支持多平台多店铺商品、订单、售后、库存、电子面单等电商核心业务处理,支持:淘宝、京东、拼多多、抖店、微信小店等。主体功能包括:商品管理、订单管理、售后管理、发货管理、库存管理等。可使用接口对接内部ERP、WMS、财务等系统。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: http://qihangerp.cn/ - **GVP Project**: No ## Statistics - **Stars**: 166 - **Forks**: 131 - **Created**: 2014-09-30 - **Last Updated**: 2025-09-02 ## Categories & Tags **Categories**: search-engine **Tags**: 电商系统, PC商城, java商城, 商城系统, vue商城 ## README # 启航电商ERP3.0版本 ## 一、系统介绍 启航电商ERP系统由单纯的多平台多店铺订单处理系统,经过客户的实践不断演变成为一个拥有完整进销存包括仓库管理的综合电商ERP系统。启航电商ERP3.0支持多商户(商户可以独立管理自己的店铺、商品、采购、订单、出入库等),支持多仓库(仓库主要功能是订单发货、出入库等功能)。 ### 主体功能 主体功能包括: + 商品库: + 商品库:商品信息管理。 + 商品库存:商品库存查询。 + 商品分类管理:管理商品分类、分类属性规格。 + 商品品牌管理:品牌管理。 + 采购管理: + 采购单:采购单创建、审核等管理。 + 采购入库:采购物流、收货、生成入库单。 + 采购承运商:承运商管理。 + 供应商管理:管理供应商。 + 订单管理:(包括:订单库、店铺订单管理、支持手工建单模式) + 发货管理: + 打单发货:本地仓直接打单发货。 + 手动发货:本地仓发货,手动填写物流单号发货。 + 云仓发货:支持系统云仓(系统云仓是指使用仓库账号登录本系统发货的仓库类型)、京东云仓发货。 + 备货单:本地仓发货之后的备货单,备货单是为了生成出库单。 + 发货记录:发货记录,支持类型:订单发货、商品补发、商品换货、赠品发货等。。 + 电子面单设置:设置各平台电子面单打单发货的账号参数。 + 发货快递管理:设置发货快递,支持从各个平台拉取,快递参数用于平台店铺订单发 + 售后管理:(支持退货、换货、补发等业务场景) + 仓库管理: + 仓库商品管理:管理仓库的商品资料信息。 + 入库管理:入库单创建、入库操作等。 + 出库管理:出库单创建、出库操作等。 + 仓库管理:仓库类型有:本地仓、系统云仓、京东云仓,京东云仓则使用接口拉取京东云仓数据,本地仓可以设置本地仓的货架和仓库,系统云仓则是使用本系统作为仓库管理的仓库(设置账号独立登录)。 + 京东云仓配置:京东云仓参数配置。 + 店铺管理:(支持多平台、多店铺统一管理) + 店铺管理 + 店铺商品管理(店铺商品关联商品库商品) + 商户管理:设置商户账号独立登录 + 系统&接口配置 + 电商平台开关:平台开关及参数设置。 + 开放数据接口:对外开放接口权限配置及接口文档。 + 定时任务配置:系统定时任务参数配置 + 平台拉取日志:平台拉取日志 **支持数据接口对外对接自有系统或第三方系统** 本项目后端采用SpringCloud微服务架构开发,前端采用Vue2+ElementUI。支持分布式部署,支持大流量订单。 系统支持:淘宝、京东、拼多多、抖店、微信小店。可以免费扩展快手、小红书等其他电商平台,还可以扩展美团、饿了么等即时零售和其他电商业务。 **系统支持:多商户订单处理、多供应商发货** ### 系统角色 **完整系统有3个子系统角色。** #### 1、总部角色(管理员角色) 总部角色(管理员角色)拥有3大功能: + 完整电商ERP功能 + 商户、云仓账号管理功能 + 商户、云仓数据查询功能 完整功能核心订单业务处理系统,可以同时支持总管理员登录、商户登录、供应商登录。 #### 2、商户角色 管理商户自己的店铺、商品、订单,以及商户自己处理订单发货、库存管理。相当于OMS子账号。 #### 3、云仓角色 仓库发货后台,负责自己发货的订单发货处理,库存管理等。 ## 二、主体功能及流程 ### 主体功能 #### 1、商品管理 + 商品库管理:管理商品库商品,提供手动录入、API接收功能,可以设置自己发货还是供应商发货(影响到后台分单逻辑,即时生效)。 + 商品库SKU明细:查看所有商品库SKU + 店铺商品管理:店铺商品管理,店铺商品API拉取、店铺商品API更新(进行店铺商品与商品库商品关联,根据SKU编码关联)。 + 商品分类管理 + 商品品牌管理 + 供应商管理:可以设置供应商登录账号用于供应商后台登录 #### 2、订单管理 + 订单库:聚合订单查询、详情、管理。 + 订单明细:聚合订单明细查询。 + 店铺订单管理:订单API拉取、订单API更新、订单手动推送等,支持淘宝天猫、京东、拼多多、抖店、微信视频号。 #### 3、发货管理 + 待发货清单:(商品维度、订单维度),展示待分配发货的清单(系统会根据商品设置的自己发货还是供应商发货自动分配到发货订单库) + 取号发货:电子面单取号发货 + 订单打印:电子面单打印,支持淘宝天猫、京东、拼多多、抖店、微信视频号。 + 备货出库:电子面单取号之后会加入备货清单,提供给仓库备货查询。发货之后会从备货清单中移除。 + 发货记录:发货记录,提供手动发货功能。 + 物流跟踪:提供发货物流查询。 + 快递快递管理:管理发货的快递公司(支持从平台拉取、支持线下渠道手动添加发货快递)。 + 面单账户管理:管理店铺开通的电子面单账户 #### 4、售后管理 + 售后中新:聚合售后查询、详情、管理。 + 店铺售后管理:售后API拉取、售后API更新、手动推送、售后操作(同意、备注)。 + 售后处理记录:售后处理的记录查询,提供手动售后处理功能。 #### 5、库存管理 + 商品库存管理:查询库存 + 商品入库管理:支持手动入库 + 商品出库管理:支持手动出库 + 仓库仓位设置 #### 6、店铺&平台设置 + 商户管理:设置商户,商户可以单独登录商户后台处理商户自己的订单 + 店铺管理 + 平台设置 + 订单更新日志:查询更新日志,主动排错。 + 售后更新日志:查询更新日志,主动排错。 + 定时任务配置 ### 主体流程 #### 1、订单处理主流程 ```mermaid graph TD A[商品库录入本地商品] --> B(店铺参数设置) B --> C[店铺商品拉取] C --> C1[根据店铺商品填写的外部SKU编码自动关联商品库SKU] C --> C2[手动关联商品库SKU] C2 --> D[店铺商品关联商品库商品] C1 --> D D --> E(API拉取店铺订单) E --> F1[店铺订单商品SKU关联商品库SKU] E --> F2[手动修改订单商品SKU关联] F2 --> H(订单商品关联商品库) F1 --> H H --> G(等待发货) G --> I{分配发货方} I --> J1(供应商发货) I --> J2(自己发货) J1 --> K[电子面单打印发货单] J2 --> K K --> L[推送发货信息到店铺] L --> M[生成仓库备货单] M --> N(接收仓库出库回传信息) N --> O(完成订单发货) ``` #### 2、售后处理流程 ```mermaid graph TD A[收到订单售后信息] --> B(登记售后处理结果) B --> C[推送产生物流的售后到仓库] C --> D{仓库处理不同的售后} D --> E1(退货-拦截) D --> E2(换货-补发) E1 --> F[仓库回传处理结果] E2 --> F F --> G[记录仓库回传处理结果] G --> H(完成售后处理) ``` ## 三、软件架构 ### 1、开发环境级组件 #### 1.1 开发环境 + Jdk:17 + Nodejs:v16.20.0 #### 1.2 项目组件 ##### 后端核心组件 + SpringBoot:3.0.2 + spring-boot-starter-security ###### 微服务版本 + SpringCloudAlibaba:2022.0.0.0 + Nacos + SpringCloud Gateway + spring-cloud-starter-loadbalancer ##### 前端框架及组件 + vue2 + element #### 1.3、存储及中间件 + MySQL8 + Redis:7.x + 缓存 + 消息队列 + Nacos:2.3.2(配置中心、注册中心) + 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`:公共权限验证模块 + `open-sdk`:电商开放平台sdk #### 2.2 module 数据库操作层,包括 + goods:商品库模块 + shop:店铺模块 + stock:库存模块 + order:订单库模块 + scm:采购模块 + sys:系统模块 + tao:淘宝天猫模块 + jd:京东模块 + pdd:拼多多模块 + dou:抖店模块 + wei:微信小店模块 #### 2.3 api-services 相关微服务的模块封装 + dou-api:抖店相关微服务 + jd-api:京东相关微服务 + pdd-api:拼多多相关微服务 + tao-api:淘宝天猫相关微服务 + wei-api:微信小店相关微服务 #### 2.4 api **微服务** + gateway:网关 + sys-api:系统微服务 + oms-api:OMS微服务 + store-api:电商开放平台微服务 + vms-api:供应商api微服务 + open-api:对外接口微服务 #### 2.5 ux **前端项目:** + vue-oms:oms订单系统前端,支持商户登录 + vue-vms:vms供应商前端 ### 3、运行说明 #### 3.1、启动环境 1. 启动MySQL8 2. 启动Redis7 3. 启动Nacos2.3.2 #### 3.2、启动服务(项目) ##### 3.2.1 微服务版本 1. 启动业务微服务`api`父项目下:(sys-api、oms-api、store-api、open-api、gateway微服务) #### 3.3、运行前端 + Nodejs版本:v16.20.0 ##### 3.3.1 OMS订单处理系统 + 进入`vue-oms`文件夹 + 运行`npm install` + 运行`npm run dev` + 浏览网页`http://localhost:88` ##### 3.3.2 VMS供应商后台 + 进入`vue-vms`文件夹 + 运行`npm install` + 运行`npm run dev` + 浏览网页`http://localhost:88` ## 四、部署 ### 4.1 本地Docker部署 #### 后端部署 ##### 1、mvn项目打包 + mvn打包:`mvn clean package`(**注意修改服务器配置**) ##### 2、打包Docker镜像 + 进入`api`各项目文件夹 + 运行Docker打包命令:`docker build -t xxxx-api .` ##### 3、推送Docker镜像到服务器 **确保服务器上安装了Docker Registry** **确保本机安装了 Docker Desktop并且已经设置好了** + 1、TAG:`docker tag saas-api x.x.x.x:5000/saas-api:v2504251` + 2、PUSH:`docker push x.x.x.x:5000/saas-api:v2504251` + 3、登录服务器:`ssh root@x.x.x.x` + 4、拉取推送的镜像:`docker pull 127.0.0.1:5000/saas-api:v2504251` + 5、运行:`docker run -d --name qihang-saas-api -p 8088:8088 127.0.0.1:5000/saas-api:v2504251` #### 前端部署 ##### 1、npm打包 + 进入`ux`各项目文件夹 + `npm install` + `npm run build:prod` ##### 2、打包Docker镜像 + 修改Dockerfile文件:在各项文件夹目跟目录 + 修改nginx.conf文件:在各项文件夹目跟目录 + 打包Docker镜像:`docker build -t vue-xxx .` ##### 3、推送Docker镜像到服务器 **确保服务器上安装了Docker Registry** **确保本机安装了 Docker Desktop并且已经设置好了** + 1、TAG:`docker tag saas-api x.x.x.x:5000/vue-xxx:v2504251` + 2、PUSH:`docker push x.x.x.x:5000/vue-xxx:v2504251` + 3、登录服务器:`ssh root@x.x.x.x` + 4、拉取推送的镜像:`docker pull 127.0.0.1:5000/vue-xxx:v2504251` + 5、运行:`docker run -d --name qihang-vue-xxx -p 8088:8088 127.0.0.1:5000/vue-xxx:v2504251` ### 4.2 传统部署 #### 1、后端部署 ##### mvn打包 + mvn打包:`mvn clean package`(**注意修改服务器配置**) ##### 上传到服务器 + 上传文件:`scp -P 22 -r D:/projects/publish/qihangerp root@x.x.x.x:/opt` ##### 运行 + Java运行:`nohup java -jar api-3.0.2.jar > output.log 2>&1 &` #### 2、前端部署 ##### npm打包 + 进入`ux`各项目文件夹 + `npm install` + `npm run build:prod` ##### 上传到服务器 + 上传文件:`scp -P 22 -r D:/projects/publish/qihangerp root@x.x.x.x:/opt` ##### 运行 ###### Nginx配置 ``` # 上传文件至远程服务器 将打包生成在 `dist` 目录下的文件拷贝至 `/opt/qihangerp/nginx/dist` 目录 # nginx.cofig 配置 server { listen 80; server_name localhost; location / { #root /opt/qihangerp/nginx/dist; root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html; } # 反向代理配置 location /prod-api/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8088/; # 替换成你的后端网关API地址 } } ``` ### 4.3 Docker Compose部署 ## 五、售后服务 **售后联系作者:15818590119(老齐)**