正在加载流程图...
1 2 3 4 5 6
CRMEB 开源商城系统 v5.6.4

功能流程图 汇总文档

涵盖分销、员工加盟、快捷收款、积分系统、视频红包、门店管理等核心功能的完整业务流程可视化展示

开始浏览
👥
分销功能
🎓
员工加盟
💳
快捷收款
🏆
积分系统
💌
视频红包
🏢
门店管理
👥

分销功能使用流程

核心功能

分销商申请、推广绑定、佣金计算、提现等完整业务流程

分销功能允许用户成为分销商,通过分享商品链接或邀请好友注册获得佣金奖励。系统支持多级分销模式,分销商可发展下级形成分销网络。

01 核心业务流程

flowchart TD Start([开始]) --> Visit[用户访问商城浏览商品] Visit --> CheckDist{是否已是分销商?} CheckDist -->|否| Apply[申请成为分销商
填写申请信息] Apply --> Audit1[后台审核] Audit1 -->|通过| Become[成为分销商] Audit1 -->|拒绝| End1([结束]) CheckDist -->|是| DistCenter[分销商中心
查看分销数据] Become --> DistCenter DistCenter --> Promote[获取推广方式
分享商品/邀请] Promote --> FriendClick[好友点击链接或扫描海报] FriendClick --> CheckNew{好友是否新用户?} CheckNew -->|否| Record1[记录访问无佣金] --> End1 CheckNew -->|是| Bind[绑定上下级关系
好友成为下级] Bind --> Order[好友下单购买完成支付] Order --> Complete[订单完成/确认收货] Complete --> Calc[计算分销佣金
按佣金比例分配] Calc --> Income[佣金入账
可提现余额增加] Income --> Withdraw[分销商申请提现
选择提现方式] Withdraw --> Audit2[后台审核提现
转账到用户账户] Audit2 --> End2([结束]) style Start fill:#10b981,stroke:#059669,color:#fff style End1 fill:#ef4444,stroke:#dc2626,color:#fff style End2 fill:#10b981,stroke:#059669,color:#fff style CheckDist fill:#f59e0b,stroke:#d97706,color:#fff style CheckNew fill:#f59e0b,stroke:#d97706,color:#fff style Audit1 fill:#3b82f6,stroke:#2563eb,color:#fff style Audit2 fill:#3b82f6,stroke:#2563eb,color:#fff style Become fill:#22c55e,stroke:#16a34a,color:#fff

02 佣金计算流程

flowchart LR A[订单完成触发] --> B[获取分销配置] B --> C{是否符合
分佣条件?} C -->|否| D[不分佣] C -->|是| E[查找分销关系链] E --> F[计算各级佣金] F --> G[一级佣金] F --> H[二级佣金] G --> I[保存佣金记录] H --> I I --> J[佣金结算] J --> K[直接到账] J --> L[冻结期后到账] style A fill:#10b981,stroke:#059669,color:#fff style C fill:#f59e0b,stroke:#d97706,color:#fff style F fill:#3b82f6,stroke:#2563eb,color:#fff style I fill:#22c55e,stroke:#16a34a,color:#fff
📋 分销商申请流程详情
1. 用户发起申请 ├── 入口: 个人中心 → 分销中心 → 申请成为分销商 ├── 填写申请信息 │ ├── 真实姓名 │ ├── 手机号码 │ ├── 身份证号(可选) │ └── 申请理由(可选) └── 提交申请 → 数据保存到 eb_user_apply 表 (status: 0=待审核) 2. 后台审核 ├── 管理员登录后台 ├── 进入: 用户管理 → 分销商管理 → 分销商申请 ├── 查看申请详情 └── 审核操作 ├── 通过: 更新 status=1, is_promoter=1, 发送通知 └── 拒绝: 更新 status=2, 填写拒绝原因, 发送通知 3. 成为分销商后 ├── 解锁分销商中心功能 │ ├── 推广海报生成 │ ├── 推广链接获取 │ ├── 佣金统计查看 │ ├── 下级分销商管理 │ └── 提现申请 └── 获得默认分销等级权限
📋 数据库表结构与API接口
表名说明主要字段
eb_user用户表(扩展字段)is_promoter, spread_uid, now_money, brokerage_price
eb_user_apply分销商申请表uid, real_name, phone, status
eb_user_bill用户账单表(佣金记录)uid, pm, category, number, link_id
eb_user_extract提现申请表uid, extract_type, extract_price, status
eb_store_bargain_config分销配置表store_brokerage_ratio, store_brokerage_two
接口路径说明
申请成为分销商POST /api/user/spread/apply提交分销商申请
获取分销商信息GET /api/user/spread/info获取分销商数据统计
获取推广海报GET /api/user/spread/banner生成分享海报
获取下级列表GET /api/user/spread/people查看团队成员
申请提现POST /api/user/extract提交佣金提现申请
💡
注意事项
分销功能需符合相关法律法规,建议设置合理的佣金比例和防刷机制。系统支持一级、二级分销模式,佣金计算基数可选择商品实付金额、原价或利润。
🎓

员工加盟功能流程

人力资源

配送员、店员、客服等员工加盟的完整业务流程

员工加盟功能允许符合条件的用户申请成为平台员工,通过审核后获得相应的工作权限和收益。系统支持配送员、门店店员、客服专员等多种类型。

01 核心业务流程

flowchart TD Start([开始]) --> Visit[用户访问平台了解加盟信息] Visit --> Select[选择加盟类型查看要求] Select --> Check{是否符合条件?} Check -->|否| Tip1[提示不满足条件
结束申请] --> End1([结束]) Check -->|是| Fill[填写加盟申请
提交个人资料] Fill --> Upload[上传证件材料
身份证/资质证] Upload --> Sign[签署电子合同
确认加盟协议] Sign --> Deposit[缴纳保证金
部分类型需要] Deposit --> Submit[提交申请审核
等待平台审核] Submit --> Audit{平台审核} Audit -->|拒绝| Tip2[通知拒绝原因
可重新申请] --> End1 Audit -->|通过| Train[员工培训考核
线上/线下] Train --> Exam{培训考核} Exam -->|未通过| Retrain[重新培训] --> Train Exam -->|通过| Auth[开通工作权限
分配工作账号] Auth --> Work[开始接单工作
完成任务获取收益] Work --> Settle[收益结算提现
查看业绩统计] Settle --> End2([结束]) style Start fill:#10b981,stroke:#059669,color:#fff style End1 fill:#ef4444,stroke:#dc2626,color:#fff style End2 fill:#10b981,stroke:#059669,color:#fff style Check fill:#f59e0b,stroke:#d97706,color:#fff style Audit fill:#3b82f6,stroke:#2563eb,color:#fff style Exam fill:#f59e0b,stroke:#d97706,color:#fff

02 员工类型对比

🚚
配送员
  • • 年龄 18-50 周岁
  • • 需有交通工具
  • • 健康证(餐饮)
  • • 驾驶证(汽车配送)
🛒
门店店员
  • • 年龄 18-45 周岁
  • • 高中及以上学历
  • • 有零售/服务经验
  • • 形象良好,沟通能力强
📞
客服专员
  • • 年龄 20-35 周岁
  • • 大专及以上学历
  • • 打字 60字/分钟以上
  • • 需电脑和安静环境
📋 数据库表结构与API接口
表名说明主要字段
eb_staff_apply员工申请表uid, staff_type, real_name, phone, status
eb_staff员工表uid, staff_no, staff_type, work_status, total_income
eb_staff_schedule员工排班表staff_id, work_date, start_time, end_time
eb_staff_work_record工作记录表staff_id, work_date, order_count, income
eb_staff_income员工收益表staff_id, type, amount, status
⚠️
合规要求
员工加盟需签订正式劳动合同,缴纳社会保险(全职),保障员工合法权益。需进行身份验证、资质审核,并定期进行培训考核。
💳

快捷收款流程

门店工具

店员生成二维码、用户扫码添加购物车的完整流程

快捷收款功能让店员在线下向顾客展示商品,顾客扫码即可将商品添加到购物车并完成结算,新用户扫码还会自动绑定分销关系。

01 数据流转时序图

sequenceDiagram autonumber participant C as 店员(小程序) participant B as 后端服务 participant R as 缓存(Redis) participant U as 用户(微信) C->>B: 1. 添加商品到清单 B->>R: 2. 保存商品列表 C->>B: 3. 点击生成二维码 B->>R: 4. 生成缓存key
staff_id存入缓存 B->>U: 5. 调用微信接口
wxacode.get
scene=k=xxx B-->>C: 6. 返回小程序码 U->>U: 7. 微信扫码 U->>B: 8. 根据key查缓存 B->>B: 9. 批量添加购物车
绑定分销关系 B-->>U: 10. 返回结果 U->>U: 11. 跳转购物车

02 用户端扫码流程

flowchart TD A[用户微信扫一扫] --> B[小程序码解析scene参数] B --> C[进入scan_result页面] C --> D[解析key参数] D --> E{是否已登录?} E -->|否| F[跳转登录页
登录后返回] E -->|是| G[调用接口
quick_collection/add_by_qrcode] F --> G G --> H[后端处理] H --> I[根据key查缓存
获取商品列表] I --> J[获取staff_id] J --> K[遍历商品
添加到购物车] K --> L{是否新用户?} L -->|是| M[绑定分销关系
店员ID为上级] L -->|否| N[继续流程] M --> O[返回结果] N --> O O --> P{添加成功?} P -->|是| Q[直接跳转购物车] P -->|否| R[显示错误提示] style E fill:#f59e0b,stroke:#d97706,color:#fff style L fill:#f59e0b,stroke:#d97706,color:#fff style P fill:#f59e0b,stroke:#d97706,color:#fff style Q fill:#22c55e,stroke:#16a34a,color:#fff
📋 缓存数据结构与接口说明
Key: quick_collection_6830a1b2c3d4e Value: { "items": [ { "product_id": 1, "cart_num": 2 }, { "product_id": 2, "cart_num": 1 } ], "staff_id": 100, // 店员ID,用于分销绑定 "create_time": 1780569733, "uid": 100 // 生成二维码的用户ID } TTL: 7200秒(2小时)
接口路径调用方功能
生成二维码quick_collection/generate_qrcode店员小程序缓存商品列表,生成微信小程序码
扫码添加购物车quick_collection/add_by_qrcode用户小程序根据key查缓存,批量添加购物车,绑定分销
分销绑定规则
用户为新用户(注册7天内或订单数为0)且缓存中存在店员ID时,执行 bindSpread(staff_id, user_id),将用户绑定为店员的下级分销员。
🏆

积分获取使用流程

用户激励

签到、消费返积分、任务中心、积分兑换等完整流程

积分系统是商城的用户激励体系,用户通过完成任务、消费购物、参与活动等方式获取积分,积分可用于抵扣订单金额、兑换商品、参与抽奖等。

01 核心业务流程

flowchart TD Start([开始]) --> Visit[用户访问商城登录账号] Visit --> Center[进入积分中心
查看积分任务] Center --> Select[选择积分任务
查看任务要求] Select --> Check1{是否满足条件?} Check1 -->|否| Tip1[提示完成条件
引导用户操作] Check1 -->|是| Action[完成任务动作
签到/分享等] Action --> Verify[系统验证任务完成状态] Verify --> Check2{任务是否完成?} Check2 -->|否| Tip2[提示任务未完成
继续完成任务] Check2 -->|是| Reward[发放积分奖励
更新用户积分] Reward --> Record[记录积分流水
生成积分明细] Record --> Push[推送积分到账通知消息] Push --> Use[用户使用积分
抵扣/兑换/抽奖] Use --> End([结束]) Tip1 --> Select Tip2 --> Action style Start fill:#10b981,stroke:#059669,color:#fff style End fill:#10b981,stroke:#059669,color:#fff style Check1 fill:#f59e0b,stroke:#d97706,color:#fff style Check2 fill:#f59e0b,stroke:#d97706,color:#fff style Reward fill:#22c55e,stroke:#16a34a,color:#fff

02 积分获取方式

📅
每日签到
  • • 基础积分: 5分
  • • 3天连续: +2分
  • • 7天连续: +5分
  • • 30天连续: +20分
  • • 月度全勤: +50分
🛒
消费返积分
  • • 订单实付金额 × 比例
  • • 普通会员: 1倍
  • • 银卡会员: 1.2倍
  • • 金卡会员: 1.5倍
  • • 钻石会员: 2倍
🎯
任务中心
  • • 新手任务(一次性)
  • • 每日任务(每日重置)
  • • 活动任务(限时)
  • • 评价返积分
  • • 分享返积分

03 积分使用场景

flowchart LR A[积分获取] --> B[积分抵扣订单] A --> C[积分兑换商品] A --> D[积分抽奖] B --> E[订单确认页
选择使用积分] E --> F[计算抵扣金额
验证不超限] F --> G[订单支付
扣除积分] C --> H[积分商城
选择兑换商品] H --> I[验证条件
扣除积分] I --> J[实物商品: 生成订单] I --> K[虚拟商品: 立即发放] I --> L[优惠券: 直接到账] style A fill:#10b981,stroke:#059669,color:#fff style B fill:#3b82f6,stroke:#2563eb,color:#fff style C fill:#8b5cf6,stroke:#7c3aed,color:#fff style D fill:#f59e0b,stroke:#d97706,color:#fff
📋 数据库表结构与API接口
表名说明主要字段
eb_user用户表(积分字段)integral, integral_all, sign_num, sign_time
eb_user_bill积分流水表uid, pm, category, number, balance
eb_user_sign签到记录表uid, sign_date, integral, is_repair
eb_system_integral_config积分配置表sign_integral, order_give_integral, invite_integral
eb_system_task积分任务表name, type, integral, max_number
💌

视频分享领红包流程

营销活动

用户分享视频领取红包奖励的完整业务流程

视频分享领红包功能允许用户在观看标记为"转发领红包"的视频时,通过分享视频给好友来领取红包奖励。新用户通过分享链接访问还可触发分销绑定。

01 核心业务流程

flowchart TD Start([开始]) --> Browse[用户浏览视频列表
发现红包标记视频] Browse --> Click[点击转发按钮
显示红包标签] Click --> CheckLogin{用户是否登录?} CheckLogin -->|否| LoginTip[提示登录后分享
跳转登录页面] CheckLogin -->|是| Share[调用分享功能
生成分享链接/海报] Share --> Select[选择分享方式
微信好友/朋友圈] Select --> FriendClick[好友点击分享链接
进入视频页面] FriendClick --> CheckNew{好友是否新用户?} CheckNew -->|否| Record1[记录分享成功
无红包奖励] CheckNew -->|是| Record2[记录分享成功
标记有效分享] Record2 --> Send[发放红包奖励
到用户账户] Send --> Push[推送通知消息
分享领红包成功] Push --> End([结束]) Record1 --> End LoginTip --> End style Start fill:#10b981,stroke:#059669,color:#fff style End fill:#10b981,stroke:#059669,color:#fff style CheckLogin fill:#f59e0b,stroke:#d97706,color:#fff style CheckNew fill:#f59e0b,stroke:#d97706,color:#fff style Send fill:#ef4444,stroke:#dc2626,color:#fff

02 后端处理流程

flowchart TD A[POST /api/video/share] --> B[验证用户登录] B --> C[验证视频存在] C --> D[增加视频 share_count] D --> E{is_red_packet?} E -->|0| F[仅记录分享无红包] E -->|1| G{好友是否新用户?} G -->|否| F G -->|是| H[发放红包] H --> I[计算红包金额
随机或固定] I --> J[更新用户余额] I --> K[生成红包记录] F --> L[返回分享结果] J --> L K --> L style A fill:#3b82f6,stroke:#2563eb,color:#fff style E fill:#f59e0b,stroke:#d97706,color:#fff style G fill:#f59e0b,stroke:#d97706,color:#fff style H fill:#ef4444,stroke:#dc2626,color:#fff
📦 数据库设计
表名关键字段
eb_videoid, is_red_packet, share_count
eb_video_sharevideo_id, user_id, red_packet_amount
⚠️ 防刷机制
  • 限制同一用户每日分享次数
  • 限制同一设备领取次数
  • 记录分享来源,防止虚假分享
  • 红包金额可配置(固定或随机)
🏢

门店使用流程

O2O核心

门店初始化、切换、管理和员工操作的完整流程

门店模块包含用户端门店选择、切换,管理后台门店配置、员工管理等完整业务流程。系统根据用户位置自动选择最近门店,支持手动切换和跨页面数据同步。

01 门店初始化流程

flowchart TD Start([用户进入小程序]) --> CheckCache{检查缓存门店
currentStore} CheckCache -->|存在且手动选择| UseCache[使用缓存门店] CheckCache -->|不存在| CheckConfig[检查 max_service_distance 配置] CheckConfig --> Request[请求 store_list 接口
GET /api/store_list] Request --> Calc[计算用户到各门店距离
后端Haversine公式] Calc --> CheckDist{最近距离 > 最大服务距离?} CheckDist -->|是| DefaultSort[按默认排序
sort DESC] CheckDist -->|否| DistSort[按距离升序排序
distance ASC] DefaultSort --> Select[选择列表第一个门店] DistSort --> Select Select --> SaveCache[缓存 currentStore] SaveCache --> UseCache style Start fill:#10b981,stroke:#059669,color:#fff style CheckCache fill:#f59e0b,stroke:#d97706,color:#fff style CheckDist fill:#f59e0b,stroke:#d97706,color:#fff style UseCache fill:#22c55e,stroke:#16a34a,color:#fff

02 门店切换流程

flowchart TD A[点击切换门店按钮] --> B[打开门店列表弹窗] B --> C[请求门店列表接口] C --> D[展示门店列表
按距离排序] D --> E[用户点击某门店] E --> F{购物车是否有商品?} F -->|是| G[弹窗警告
切换门店将清空购物车] F -->|否| H[缓存新门店
currentStore] G --> I{确认切换?} I -->|确认| J[清空购物车] I -->|取消| K[取消切换] J --> H H --> L[触发 storeChanged 事件] L --> M[通知其他页面刷新] M --> N[刷新当前页面商品列表] style F fill:#f59e0b,stroke:#d97706,color:#fff style I fill:#f59e0b,stroke:#d97706,color:#fff style H fill:#22c55e,stroke:#16a34a,color:#fff

03 门店管理后台

flowchart TD A[门店设置菜单] --> B[门店列表管理] A --> C[门店基础设置] A --> D[门店显示设置] B --> B1[创建/编辑/删除门店] B --> B2[设置排序/修改状态] C --> C1[结算周期 T+N] C --> C2[提现手续费] C --> C3[最低提现金额] D --> D1[是否显示距离] D --> D2[默认排序方式] D --> D3[显示营业状态] D --> D4[最大服务距离] style A fill:#3b82f6,stroke:#2563eb,color:#fff
📋 关键配置项与文件路径
配置项表名字段默认值
结算周期eb_store_settlement_configsettlement_cycle7 (T+7)
提现手续费eb_store_settlement_configwithdraw_fee0%
最低提现金额eb_store_settlement_configmin_withdraw100元
是否显示距离eb_store_display_configshow_distance1
默认排序eb_store_display_configdefault_sortdistance
最大服务距离eb_store_display_configmax_service_distance100公里
// 后端关键文件路径 门店列表API: backend/app/api/controller/v1/PublicController.php 门店设置控制器: backend/app/adminapi/controller/v1/store/StoreSetting.php 门店模型: backend/app/model/store/BbsStore.php // 小程序前端关键文件 首页门店初始化: pages/index/index.vue 门店列表弹窗组件: components/storeList/storeList.vue 门店API: uni-app-youguo/api/store.js
💡
核心逻辑
用户进入小程序时,系统自动根据距离选择最近门店。当用户手动切换门店时,触发 storeChanged 事件通知其他页面刷新,确保多页面数据一致性。距离阈值单位为公里,距离单位为米。