增加日志,提交流程图
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m42s

This commit is contained in:
2026-04-22 14:49:09 +08:00
parent 9f8173e124
commit 0f58886454
24 changed files with 1477 additions and 119 deletions

View File

@@ -0,0 +1,78 @@
```mermaid
---
title: 0.代理佣金体系设计流程
---
flowchart TD
开始((开始))
--> 登录系统[超管或平台账号登录]
登录系统 --> 权限判断{是否具备套餐和分配权限?}
权限判断 -->|否| 无权限结束[无权限,流程终止]
权限判断 -->|是| 进入套餐系列管理[进入套餐系列管理]
subgraph 第一步_创建可分配的套餐
进入套餐系列管理 --> 创建套餐系列[创建套餐系列]
创建套餐系列 --> 一次性规则设置{是否启用一次性佣金规则?}
一次性规则设置 -->|否| 保存系列[保存系列]
一次性规则设置 -->|是| 配置一次性规则[配置触发方式和金额规则]
配置一次性规则 --> 保存系列
保存系列 --> 进入套餐管理[进入套餐管理]
进入套餐管理 --> 创建套餐[创建套餐并归属到该系列]
创建套餐 --> 套餐发布校验{套餐信息是否完整可发布?}
套餐发布校验 -->|否| 修正套餐信息[修正后重新保存]
修正套餐信息 --> 创建套餐
套餐发布校验 -->|是| 进入分配环节[进入分配环节]
end
subgraph 第二步_给下级做系列分配
进入分配环节 --> 选择下级店铺[选择要分配的下级店铺]
选择下级店铺 --> 下级校验{是否直属下级?}
下级校验 -->|否| 重选下级[不能跨级分配,返回重选]
重选下级 --> 选择下级店铺
下级校验 -->|是| 创建系列分配[创建套餐系列分配]
创建系列分配 --> 填写系列佣金配置[填写给下级的一次性佣金金额和启停状态]
填写系列佣金配置 --> 系列分配结果{系列分配是否成功?}
系列分配结果 -->|否| 调整系列配置[调整后重试]
调整系列配置 --> 填写系列佣金配置
系列分配结果 -->|是| 进入套餐分配
end
subgraph 第三步_给下级做套餐分配
进入套餐分配[进入套餐分配] --> 选择要分配的套餐[选择系列下的具体套餐]
选择要分配的套餐 --> 填写价格和状态[填写下级成本价 零售价 上架状态]
填写价格和状态 --> 套餐分配结果{套餐分配是否成功?}
套餐分配结果 -->|否| 调整套餐分配[调整后重试]
调整套餐分配 --> 填写价格和状态
套餐分配结果 -->|是| 是否继续下发{是否继续给更下级分配?}
是否继续下发 -->|是| 切换到下级继续分配[使用当前下级身份继续做系列分配和套餐分配]
切换到下级继续分配 --> 进入分配环节
是否继续下发 -->|否| 分配完成[佣金链路配置完成]
end
subgraph 第四步_用购买验证链式分配
分配完成 --> 发起验证购买[发起一笔购买用于验收]
发起验证购买 --> 差价链路验收[核对差价收益是否按上下级逐级分配]
差价链路验收 --> 一次性链路验收[核对一次性佣金是否按上下级配置链式分配]
一次性链路验收 --> 查看佣金明细[在代理商资金管理查看佣金明细]
查看佣金明细 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常回流[记录问题并返回系列分配或套餐分配调整]
异常回流 --> 进入分配环节
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
style 修正套餐信息 fill:#FFCCBC,stroke:#E64A19
style 重选下级 fill:#FFCCBC,stroke:#E64A19
style 调整系列配置 fill:#FFCCBC,stroke:#E64A19
style 调整套餐分配 fill:#FFCCBC,stroke:#E64A19
style 异常回流 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 权限判断,一次性规则设置,套餐发布校验,下级校验,系列分配结果,套餐分配结果,是否继续下发,验收结果 decision
```

View File

@@ -0,0 +1,61 @@
```mermaid
---
title: 0.佣金提现配置流程
---
flowchart TD
Start((开始))
--> Login[使用平台管理员或有权限账号登录]
Login --> HasPermission{是否有「提现配置管理」权限?}
HasPermission -->|否| NoPermission[无权限,流程终止]
HasPermission -->|是| EnterSettingPage[进入佣金提现配置页面]
subgraph SettingFlow[提现配置设置流程]
EnterSettingPage --> CheckCurrent[查看当前生效配置]
CheckCurrent --> NeedNewConfig{是否需要新增配置?}
NeedNewConfig -->|否| KeepCurrent[继续沿用当前配置]
NeedNewConfig -->|是| FillConfig[填写配置项<br/>每日提现次数、最低提现金额、手续费率]
FillConfig --> ValidateConfig{配置内容是否有效?}
ValidateConfig -->|否| FixConfig[提示错误并重新填写]
FixConfig --> FillConfig
ValidateConfig -->|是| SaveConfig[保存新配置]
SaveConfig --> AutoReplace[系统自动将旧配置失效]
AutoReplace --> NewConfigActive[新配置生效]
end
subgraph VerifyFlow[生效验证流程]
KeepCurrent --> VerifyEntry[进入验收环节]
NewConfigActive --> VerifyEntry
VerifyEntry --> CheckCurrentAfterSave[在「当前生效配置」核对最新参数]
CheckCurrentAfterSave --> CheckHistory[在「配置历史列表」核对新旧配置状态]
CheckHistory --> NeedBusinessVerify{是否需要做业务验证?}
NeedBusinessVerify -->|否| VerifyPass[配置验收通过]
NeedBusinessVerify -->|是| GoWithdrawalTest[进入代理提现申请验证<br/>(结合 8.代理佣金提现以及审批流程)]
GoWithdrawalTest --> CheckMinAmount[核对最低提现金额规则是否生效]
CheckMinAmount --> CheckDailyLimit[核对每日提现次数限制是否生效]
CheckDailyLimit --> CheckFeeRate[核对手续费计算是否符合配置]
CheckFeeRate --> BusinessVerifyResult{业务验证是否通过?}
BusinessVerifyResult -->|是| VerifyPass
BusinessVerifyResult -->|否| BackToSetting[返回提现配置页面调整后复测]
BackToSetting --> FillConfig
end
VerifyPass --> End([流程结束])
%% ==================== 样式美化 ====================
style Start fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style End fill:#FF9999,stroke:#C62828,stroke-width:2px
style NoPermission fill:#FFCDD2,stroke:#D32F2F
style FixConfig fill:#FFCCBC,stroke:#E64A19
style BackToSetting fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class HasPermission,NeedNewConfig,ValidateConfig,NeedBusinessVerify,BusinessVerifyResult decision
```

View File

@@ -0,0 +1,98 @@
```mermaid
---
title: 0.套餐设计流程(包含佣金设计)
---
flowchart TD
Start((开始))
--> Login[使用平台管理员账号登录]
Login --> HasPermission{是否有套餐与分配管理权限?}
HasPermission -->|否| NoPermission[无权限,流程终止]
HasPermission -->|是| EnterDesign[进入套餐系列与套餐管理]
subgraph SeriesDesignFlow[系列与套餐设计]
EnterDesign --> CreateSeries[新建套餐系列]
CreateSeries --> EnableOneTime{是否启用一次性佣金?}
EnableOneTime -->|否| SeriesReady[保存系列基础信息]
EnableOneTime -->|是| SetTrigger[设置触发方式<br/>首充 或 累计充值]
SetTrigger --> SetCommissionType{选择佣金模式}
SetCommissionType -->|固定模式| SetFixedCommission[设置固定佣金金额]
SetCommissionType -->|梯度模式| SetTierCommission[设置梯度档位与金额]
SetFixedCommission --> SetValidity[设置规则生效时效]
SetTierCommission --> SetValidity
SetValidity --> SeriesReady
SeriesReady --> CreatePackage[创建该系列下套餐]
CreatePackage --> SetPackageInfo[填写套餐信息<br/>成本价、建议售价、周期、流量额度]
SetPackageInfo --> PackageReview{套餐信息是否完整?}
PackageReview -->|否| FixPackageInfo[返回补充套餐信息]
FixPackageInfo --> SetPackageInfo
PackageReview -->|是| PackageReady[系列与套餐设计完成]
end
subgraph ForceRechargeFlow[强充规则设计(单独分支)]
SetTrigger --> TriggerTypeCheck{触发方式是首充吗?}
TriggerTypeCheck -->|是| FirstRechargeRule[首充模式:设置首充门槛]
TriggerTypeCheck -->|否| AccumulatedRule[累计模式:设置累计门槛]
FirstRechargeRule --> ForceRuleReady[强充规则确定]
AccumulatedRule --> NeedForceRecharge{累计模式是否启用强充?}
NeedForceRecharge -->|是| SetForceAmount[设置强充金额]
NeedForceRecharge -->|否| NoForceRecharge[不启用强充]
SetForceAmount --> ForceRuleReady
NoForceRecharge --> ForceRuleReady
end
PackageReady --> ToCommissionSystemFlow[进入 0.代理佣金体系设计流程]
ToCommissionSystemFlow --> ToAllocationFlow[进入 5.套餐分配流程(本图不展开)]
ForceRuleReady --> ToAllocationFlow
ToAllocationFlow --> AllocationDone{是否已完成套餐分配?}
AllocationDone -->|否| WaitAllocation[先完成套餐分配后再验收]
WaitAllocation --> ToAllocationFlow
AllocationDone -->|是| StartAcceptance[开始业务验收]
subgraph AcceptanceFlow[业务验收与佣金核对]
StartAcceptance --> AdminOrderVerify[后台创建测试订单并完成购买<br/>用于验证套餐可购与基础佣金链]
AdminOrderVerify --> NeedCCheck{是否需要验收强充规则?}
NeedCCheck -->|否| CheckCommissionEntry[进入后台「代理商资金管理」页面]
NeedCCheck -->|是| ClientOrderVerify[使用C端发起购买并完成支付]
ClientOrderVerify --> HitForceRule{C端购买是否命中强充规则?}
HitForceRule -->|是| ForceRechargePath[按强充要求完成充值并继续购买]
HitForceRule -->|否| DirectBuyPath[按正常流程购买]
ForceRechargePath --> CheckCommissionEntry
DirectBuyPath --> CheckCommissionEntry
CheckCommissionEntry --> CheckAmount[在「佣金明细」核对佣金金额]
CheckAmount --> CheckOwner[在「佣金明细」核对佣金归属权]
CheckOwner --> CheckManualReview[在「佣金明细」筛选待审状态<br/>核对是否进入人工核查]
CheckManualReview --> CommissionOK{验收是否通过?}
CommissionOK -->|是| End([流程结束])
CommissionOK -->|否| IssueType{问题属于哪类?}
IssueType -->|规则设计问题| BackToDesign[回到系列与佣金规则调整]
IssueType -->|分配问题| BackToAllocation[回到 5.套餐分配流程调整]
BackToDesign --> EnterDesign
BackToAllocation --> ToAllocationFlow
end
%% ==================== 样式美化 ====================
style Start fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style End fill:#FF9999,stroke:#C62828,stroke-width:2px
style NoPermission fill:#FFCDD2,stroke:#D32F2F
style BackToDesign fill:#FFCCBC,stroke:#E64A19
style BackToAllocation fill:#FFCCBC,stroke:#E64A19
style FixPackageInfo fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class HasPermission,EnableOneTime,SetCommissionType,PackageReview,TriggerTypeCheck,NeedForceRecharge,AllocationDone,NeedCCheck,HitForceRule,CommissionOK,IssueType decision
```

View File

@@ -0,0 +1,97 @@
```mermaid
---
title: 0.微信配置流程
---
flowchart TD
开始((开始))
--> 登录系统[使用超级管理员或有权限的平台账号登录]
登录系统 --> 权限判断{是否具备微信配置管理权限?}
权限判断 -->|否| 无权限结束[无权限,流程终止]
权限判断 -->|是| 进入微信配置管理[进入微信配置管理]
进入微信配置管理 --> 选择操作{选择操作}
选择操作 -->|新建配置| 选择通道类型
选择操作 -->|修改配置| 选择修改配置
选择操作 -->|激活配置| 选择激活配置
选择操作 -->|停用配置| 选择停用配置
选择操作 -->|删除配置| 选择删除配置
subgraph 新建与修改配置
选择通道类型{选择收款通道类型}
选择通道类型 -->|微信直连| 填写微信通道信息[填写微信配置基础信息]
选择通道类型 -->|富友通道| 填写富友通道信息[填写富友配置基础信息]
填写微信通道信息 --> 信息校验{信息是否完整且有效?}
填写富友通道信息 --> 信息校验
选择修改配置 --> 修改已有配置[调整已有配置的信息]
修改已有配置 --> 信息校验
信息校验 -->|否| 修正配置信息[修正信息后重新提交]
修正配置信息 --> 信息校验
信息校验 -->|是| 提交保存[提交配置保存]
提交保存 --> 保存结果{保存是否成功?}
保存结果 -->|否| 保存失败处理[记录原因并返回修正]
保存失败处理 --> 修正配置信息
保存结果 -->|是| 保存成功[配置保存成功]
end
subgraph 激活与停用
选择激活配置 --> 执行激活[执行配置激活]
执行激活 --> 激活结果{激活是否成功?}
激活结果 -->|否| 激活失败处理[处理异常后重试]
激活失败处理 --> 选择激活配置
激活结果 -->|是| 核对唯一生效配置[核对仅有一个生效配置]
选择停用配置 --> 执行停用[执行配置停用]
执行停用 --> 停用结果{停用是否成功?}
停用结果 -->|否| 停用失败处理[处理异常后重试]
停用失败处理 --> 选择停用配置
停用结果 -->|是| 核对支付状态[核对第三方支付状态是否符合预期]
end
subgraph 删除配置
选择删除配置 --> 删除前校验{是否允许删除?}
删除前校验 -->|否| 禁止删除[当前生效或存在未完成支付订单,不允许删除]
禁止删除 --> 进入微信配置管理
删除前校验 -->|是| 确认删除[确认删除配置]
确认删除 --> 删除结果{删除是否成功?}
删除结果 -->|否| 删除失败处理[处理异常后重试]
删除失败处理 --> 选择删除配置
删除结果 -->|是| 删除成功[配置删除成功]
end
保存成功 --> 进入业务验收[进入业务验收]
核对唯一生效配置 --> 进入业务验收
核对支付状态 --> 进入业务验收
删除成功 --> 进入业务验收
subgraph 业务验收
进入业务验收 --> 核对配置列表[在配置列表核对名称、状态与更新时间]
核对配置列表 --> 核对当前生效配置[核对当前生效配置是否与操作一致]
核对当前生效配置 --> 核对业务可用性[按业务场景核对支付能力是否正常]
核对业务可用性 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常处理[记录异常并返回微信配置管理处理]
异常处理 --> 进入微信配置管理
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
style 修正配置信息 fill:#FFCCBC,stroke:#E64A19
style 保存失败处理 fill:#FFCCBC,stroke:#E64A19
style 激活失败处理 fill:#FFCCBC,stroke:#E64A19
style 停用失败处理 fill:#FFCCBC,stroke:#E64A19
style 删除失败处理 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
style 禁止删除 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 权限判断,选择操作,选择通道类型,信息校验,保存结果,激活结果,停用结果,删除前校验,删除结果,验收结果 decision
```

View File

@@ -1,51 +1,49 @@
```mermaid
---
title: 1.角色设计与权限分配业务流程
title: 0.权限设置流程
---
flowchart TD
Start((开始))
--> Login[使用超级管理员账号登录]
--> Login[使用超级管理员或有权限的平台账号登录]
Login --> IsSuperAdmin{是否为超级管理员?}
Login --> HasPermission{是否具备角色与权限管理权限?}
HasPermission -->|否| NoPermission[无权限,流程终止]
HasPermission -->|是| EnterRolePage[进入角色与权限管理]
IsSuperAdmin -->|是| HasAccess[拥有权限]
IsSuperAdmin -->|否| CheckNewRolePermission{是否拥有「新建角色」权限?}
subgraph RoleDesignFlow[角色设计]
EnterRolePage --> SelectRoleType{选择角色类型}
SelectRoleType -->|平台角色| FillPlatformRole[填写平台角色信息]
SelectRoleType -->|代理角色| FillAgentRole[填写代理角色信息]
CheckNewRolePermission -->|是| HasAccess
CheckNewRolePermission -->|否| NoPermission[无权限,流程终止]
FillPlatformRole --> SetPermissionScope[设置角色可用功能范围]
FillAgentRole --> SetPermissionScope
HasAccess --> EnterRoleManagement[进入角色管理页面]
subgraph 角色新建流程
EnterRoleManagement --> ChooseRoleType{选择角色类型}
ChooseRoleType -->|平台角色| CreatePlatform[新建平台角色]
ChooseRoleType -->|客户角色(代理)| CreateAgent[新建客户/代理角色]
CreatePlatform --> CreateSuccess[新建成功]
CreateAgent --> CreateSuccess
CreateSuccess --> AssignPermissions[为角色分配权限<br>(根据业务需求决定角色可使用功能)]
SetPermissionScope --> SaveRole[保存角色设置]
SaveRole --> RoleSaveResult{角色保存是否成功?}
RoleSaveResult -->|否| FixRoleData[修正角色信息后重试]
FixRoleData --> SelectRoleType
RoleSaveResult -->|是| BindRoleStart[进入账号绑定]
end
AssignPermissions --> AssignRoleToAccount[将角色分配给具体账号]
subgraph BindAndVerifyFlow[账号绑定与验收]
BindRoleStart --> SelectAccount[选择需要生效的账号]
SelectAccount --> BindRole[为账号绑定角色]
BindRole --> VerifyLogin[使用该账号登录并核对可见功能]
VerifyLogin --> VerifyScope[核对权限范围与业务数据范围]
VerifyScope --> VerifyResult{验收是否通过?}
AssignRoleToAccount --> LoginWithAccount[使用被分配角色的账号登录系统]
LoginWithAccount --> CheckPermission[检查账号权限是否正确]
CheckPermission -->|正常| End([流程结束])
CheckPermission -->|不正常| ReportIssue[提交问题 / Bug]
ReportIssue -->|复测| EnterRoleManagement
VerifyResult -->|否| HandleException[记录异常并返回权限管理处理]
HandleException --> EnterRolePage
VerifyResult -->|是| End([流程结束])
end
%% ==================== 样式美化 ====================
style Start fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style End fill:#FF9999,stroke:#C62828,stroke-width:2px
style NoPermission fill:#FFCDD2,stroke:#D32F2F
style HasAccess fill:#C8E6C9,stroke:#388E3C
style ReportIssue fill:#FFCCBC,stroke:#E64A19
style FixRoleData fill:#FFCCBC,stroke:#E64A19
style HandleException fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class IsSuperAdmin,CheckNewRolePermission,ChooseRoleType,CheckPermission decision
class HasPermission,SelectRoleType,RoleSaveResult,VerifyResult decision
```

View File

@@ -0,0 +1,73 @@
```mermaid
---
title: 0.资产导入流程
---
flowchart TD
Start((开始))
--> Login[使用平台管理员或平台运营账号登录]
Login --> HasPermission{是否有资产导入权限?}
HasPermission -->|否| NoPermission[无权限,流程终止]
HasPermission -->|是| EnterImportPage[进入资产导入页面]
EnterImportPage --> SelectType{选择导入类型}
SelectType -->|IoT卡导入| IotImport[进入 IoT卡导入]
SelectType -->|设备导入| DeviceImport[进入 设备导入]
subgraph PrepareAndSubmitFlow[准备文件与提交任务]
IotImport --> DownloadTemplate[下载最新导入模板]
DeviceImport --> DownloadTemplate
DownloadTemplate --> FillExcel[按模板填写 Excel 数据]
FillExcel --> FileReady{文件格式与内容是否合规?}
FileReady -->|否| FixExcel[修正文件后重新检查]
FixExcel --> FillExcel
FileReady -->|是| UploadExcel[上传导入文件]
UploadExcel --> SubmitTask[提交导入任务]
SubmitTask --> TaskCreated[导入任务创建成功]
end
subgraph TaskProcessFlow[任务处理与结果查看]
TaskCreated --> OpenTaskList[进入导入任务列表]
OpenTaskList --> CheckStatus{任务状态}
CheckStatus -->|待处理/处理中| WaitAndRefresh[等待处理并刷新列表]
WaitAndRefresh --> OpenTaskList
CheckStatus -->|失败| OpenTaskDetail[查看任务详情]
CheckStatus -->|已完成| OpenTaskDetail
OpenTaskDetail --> CheckResult[查看成功数/跳过数/失败数<br/>设备导入同时查看警告记录]
CheckResult --> NeedRetry{是否需要修正后重导?}
NeedRetry -->|是| FixSourceData[修正源数据后重新导入]
FixSourceData --> UploadExcel
NeedRetry -->|否| GoVerifyAssets[进入资产数据验收]
end
subgraph VerifyFlow[导入结果验收]
GoVerifyAssets --> VerifyType{验收类型}
VerifyType -->|IoT卡| VerifyIot[在 IoT卡列表核对<br/>ICCID/接入号/虚拟号/批次信息]
VerifyType -->|设备| VerifyDevice[在 设备列表核对<br/>设备虚拟号/设备信息/卡绑定关系]
VerifyIot --> VerifyPass{验收是否通过?}
VerifyDevice --> VerifyPass
VerifyPass -->|否| BackToRetry[返回修正数据后重导]
BackToRetry --> FixSourceData
VerifyPass -->|是| End([流程结束])
end
%% ==================== 样式美化 ====================
style Start fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style End fill:#FF9999,stroke:#C62828,stroke-width:2px
style NoPermission fill:#FFCDD2,stroke:#D32F2F
style FixExcel fill:#FFCCBC,stroke:#E64A19
style FixSourceData fill:#FFCCBC,stroke:#E64A19
style BackToRetry fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class HasPermission,SelectType,FileReady,CheckStatus,NeedRetry,VerifyType,VerifyPass decision
```

View File

@@ -0,0 +1,62 @@
```mermaid
---
title: 0.超级密码设置与使用流程
---
flowchart TD
Start((开始))
--> Login[使用超级管理员账号登录]
Login --> IsSuperAdmin{是否为超级管理员?}
IsSuperAdmin -->|是| HasAccess[拥有操作权限]
IsSuperAdmin -->|否| NoPermission[无权限,流程终止]
HasAccess --> EnterSuperAdminPage[进入超级密码设置页面]
EnterSuperAdminPage --> CheckStatus[查询超级密码是否已设置]
CheckStatus --> ChooseAction{选择操作}
subgraph PasswordSettingFlow[超级密码设置流程]
ChooseAction -->|首次设置| FirstSet[输入新密码与确认密码]
ChooseAction -->|重置密码(可随时)| ResetPassword[输入新密码与确认密码]
FirstSet --> ValidateInput{密码是否通过校验?}
ResetPassword --> ValidateInput
ValidateInput -->|否| InputInvalid[提示错误并重新输入]
InputInvalid --> FirstSet
ValidateInput -->|是| SavePassword[保存超级密码]
SavePassword --> SetSuccess[超级密码设置成功]
SetSuccess -.->|后续可随时重置| ChooseAction
end
subgraph PasswordUseFlow[超级密码使用流程-代理线下充值确认]
CreateOfflineOrder[创建代理线下充值订单]
CreateOfflineOrder --> ConfirmOperatorCheck{确认操作者是否超级管理员?}
ConfirmOperatorCheck -->|否| NoPermission
ConfirmOperatorCheck -->|是| InputSuperPassword[输入超级密码进行二次确认]
InputSuperPassword --> VerifyPassword{超级密码校验是否通过?}
VerifyPassword -->|否| VerifyFail[校验失败,禁止确认到账]
VerifyFail --> InputSuperPassword
VerifyPassword -->|是| ConfirmOfflineRecharge[确认线下充值到账]
ConfirmOfflineRecharge --> UpdateRechargeStatus[系统完成充值入账并更新记录]
UpdateRechargeStatus --> RechargeSuccess[线下充值确认成功]
end
SetSuccess -.-> CreateOfflineOrder
RechargeSuccess --> End([流程结束])
%% ==================== 样式美化 ====================
style Start fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style End fill:#FF9999,stroke:#C62828,stroke-width:2px
style NoPermission fill:#FFCDD2,stroke:#D32F2F
style HasAccess fill:#C8E6C9,stroke:#388E3C
style InputInvalid fill:#FFCCBC,stroke:#E64A19
style VerifyFail fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class IsSuperAdmin,ChooseAction,ValidateInput,ConfirmOperatorCheck,VerifyPassword decision
```

View File

@@ -0,0 +1,53 @@
```mermaid
---
title: 10.退款流程
---
flowchart TD
开始((开始))
--> 发起退款[客户或运营发起退款申请]
发起退款 --> 基础校验{订单是否允许退款?}
基础校验 -->|否| 拒绝退款[不满足退款条件 流程终止]
基础校验 -->|是| 进入审核[进入退款审核]
subgraph 审核阶段
进入审核 --> 核对订单信息[核对订单金额 支付状态 使用情况]
核对订单信息 --> 退款类型判断{全额退款还是部分退款?}
退款类型判断 -->|全额退款| 计算退款金额[确认全额退款金额]
退款类型判断 -->|部分退款| 计算退款金额[确认部分退款金额]
计算退款金额 --> 审核结果{审核是否通过?}
审核结果 -->|否| 审核驳回[驳回并说明原因]
审核结果 -->|是| 执行退款[执行退款]
end
subgraph 执行阶段
执行退款 --> 退款结果{退款是否成功?}
退款结果 -->|否| 退款失败处理[记录失败原因并继续跟进]
退款失败处理 --> 二次处理{是否继续退款处理?}
二次处理 -->|是| 执行退款
二次处理 -->|否| 审核驳回
退款结果 -->|是| 状态更新[更新订单为已退款并记录退款信息]
end
subgraph 联动处理
状态更新 --> 佣金联动[处理相关佣金和账务联动]
佣金联动 --> 结果通知[通知客户与相关角色]
审核驳回 --> 结果通知
end
结果通知 --> 验收结果{退款结果是否符合预期?}
验收结果 -->|否| 异常处理[记录异常并返回退款流程处理]
异常处理 --> 进入审核
验收结果 -->|是| 结束([流程结束])
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 拒绝退款 fill:#FFCDD2,stroke:#D32F2F
style 审核驳回 fill:#FFCCBC,stroke:#E64A19
style 退款失败处理 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 基础校验,退款类型判断,审核结果,退款结果,二次处理,验收结果 decision
```

View File

@@ -0,0 +1,84 @@
```mermaid
---
title: 11.后台订单流程
---
flowchart TD
开始((开始))
--> 登录系统[超管 平台或代理账号登录后台]
登录系统 --> 权限判断{是否具备后台下单权限?}
权限判断 -->|否| 无权限结束[无权限 流程终止]
权限判断 -->|是| 填写订单信息[选择资产 选择套餐 填写下单信息]
填写订单信息 --> 资产校验{资产归属和状态是否可下单?}
资产校验 -->|否| 修正资产信息[调整资产或订单信息后重试]
修正资产信息 --> 填写订单信息
资产校验 -->|是| 套餐校验{套餐是否在可售范围内?}
套餐校验 -->|否| 更换套餐[更换套餐后重试]
更换套餐 --> 填写订单信息
套餐校验 -->|是| 套餐类型校验{本单购买主套餐还是加油包?}
套餐类型校验 -->|主套餐| 主套餐规则说明[主套餐规则<br/>若当前已有生效主套餐<br/>新主套餐进入排队]
套餐类型校验 -->|加油包| 加油包前置校验{当前是否已有主套餐?}
加油包前置校验 -->|否| 无主套餐结束[无主套餐不可购买加油包]
加油包前置校验 -->|是| 加油包规则说明[加油包规则<br/>1 加油包立即生效<br/>2 有效期与当前主套餐一致]
主套餐规则说明 --> 后台规则说明[后台规则<br/>后台订单不触发强充]
加油包规则说明 --> 后台规则说明
后台规则说明 --> 支付方式判断{选择支付方式}
支付方式判断 -->|钱包支付| 进入钱包支付节点
支付方式判断 -->|线下支付| 进入线下支付节点
subgraph 钱包支付阶段
进入钱包支付节点[进入钱包支付] --> 余额校验{余额是否充足?}
余额校验 -->|否| 余额不足处理[余额不足 先充值或调整订单]
余额不足处理 --> 支付方式判断
余额校验 -->|是| 钱包扣款[完成钱包扣款]
钱包扣款 --> 钱包下单成功[订单支付成功]
end
subgraph 线下支付阶段
进入线下支付节点[进入线下支付] --> 线下权限校验{是否允许线下下单?}
线下权限校验 -->|否| 无权限结束
线下权限校验 -->|是| 线下下单成功[订单支付成功]
end
钱包下单成功 --> 套餐处理{本次是主套餐还是加油包?}
线下下单成功 --> 套餐处理
套餐处理 -->|主套餐| 主套餐处理判断{当前是否已有生效主套餐?}
主套餐处理判断 -->|是| 主套餐排队处理[新主套餐进入排队]
主套餐处理判断 -->|否| 主套餐立即生效处理[主套餐立即生效]
套餐处理 -->|加油包| 加油包立即生效处理[加油包立即生效并绑定主套餐]
主套餐排队处理 --> 佣金处理说明[佣金规则说明<br/>平台代购按规则计算差价收益<br/>代理为下级代购不重复产生一次性佣金]
主套餐立即生效处理 --> 佣金处理说明
加油包立即生效处理 --> 佣金处理说明
佣金处理说明 --> 验收环节[进入订单验收]
subgraph 验收阶段
验收环节 --> 核对订单金额[核对订单金额与实付金额]
核对订单金额 --> 核对生效方式[核对本单是立即生效还是进入排队]
核对生效方式 --> 核对加油包有效期[若为加油包 核对有效期与当前主套餐一致]
核对加油包有效期 --> 核对套餐生效[核对套餐已生效]
核对套餐生效 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常处理[记录异常并返回后台下单流程处理]
异常处理 --> 填写订单信息
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
style 无主套餐结束 fill:#FFCDD2,stroke:#D32F2F
style 修正资产信息 fill:#FFCCBC,stroke:#E64A19
style 更换套餐 fill:#FFCCBC,stroke:#E64A19
style 余额不足处理 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 权限判断,资产校验,套餐校验,套餐类型校验,加油包前置校验,支付方式判断,余额校验,线下权限校验,套餐处理,主套餐处理判断,验收结果 decision
```

View File

@@ -0,0 +1,91 @@
```mermaid
---
title: 12.客户端订单流程
---
flowchart TD
开始((开始))
--> 客户登录[客户登录并进入资产购买页面]
客户登录 --> 资产可购校验{资产状态是否允许购买?}
资产可购校验 -->|否| 不可购买结束[当前资产不可购买 流程终止]
资产可购校验 -->|是| 选择套餐[查看并选择可购买套餐]
选择套餐 --> 套餐类型校验{本次购买主套餐还是加油包?}
套餐类型校验 -->|主套餐| 主套餐购买准备[主套餐可继续下单]
套餐类型校验 -->|加油包| 加油包前置校验{当前是否已有主套餐?}
加油包前置校验 -->|否| 无主套餐结束[无主套餐不可购买加油包]
加油包前置校验 -->|是| 加油包购买准备[加油包可继续下单]
主套餐购买准备 --> 实名策略判断{当前资产实名认证策略是什么?}
加油包购买准备 --> 实名策略判断
实名策略判断 -->|无需实名| 下单前校验
实名策略判断 -->|先实名后购买| 实名状态校验{当前是否已实名?}
实名状态校验 -->|否| 先去实名[先完成实名认证]
先去实名 --> 选择套餐
实名状态校验 -->|是| 下单前校验
实名策略判断 -->|先购买后实名| 下单前校验[允许先下单购买]
下单前校验 --> 强充判断{是否命中强充规则?}
强充判断 -->|否| 直接下单[创建套餐订单并支付]
强充判断 -->|是| 强充下单[先创建充值单并完成充值]
subgraph 强充购买链路
强充下单 --> 强充支付结果{充值支付是否成功?}
强充支付结果 -->|否| 强充失败处理[充值失败可重试]
强充失败处理 --> 强充下单
强充支付结果 -->|是| 自动续购[按充值结果继续完成套餐购买]
end
subgraph 直接购买链路
直接下单 --> 套餐支付结果{套餐支付是否成功?}
套餐支付结果 -->|否| 直接失败处理[支付失败可重试]
直接失败处理 --> 直接下单
套餐支付结果 -->|是| 直接支付成功[套餐订单支付成功]
end
自动续购 --> 强充购包结果{套餐购买是否成功?}
强充购包结果 -->|否| 强充购包失败[记录失败并进入人工处理]
强充购包失败 --> 异常处理
强充购包结果 -->|是| 强充购包成功[套餐购买成功]
直接支付成功 --> 套餐处理{本次是主套餐还是加油包?}
强充购包成功 --> 套餐处理
套餐处理 -->|主套餐| 主套餐处理判断{当前是否已有生效主套餐?}
主套餐处理判断 -->|是| 主套餐排队处理[新主套餐进入排队 待当前主套餐结束后生效]
主套餐处理判断 -->|否| 主套餐立即生效处理[主套餐立即生效]
套餐处理 -->|加油包| 加油包立即生效处理[加油包立即生效 有效期与当前主套餐一致]
主套餐排队处理 --> 进入验收[进入订单验收]
主套餐立即生效处理 --> 进入验收
加油包立即生效处理 --> 进入验收
subgraph 验收阶段
进入验收 --> 后置实名核查{是否需要购买后补实名?}
后置实名核查 -->|否| 核对订单状态[核对订单状态和金额明细]
后置实名核查 -->|是| 补实名校验{当前是否已完成实名认证?}
补实名校验 -->|否| 引导补实名[引导客户完成实名认证]
引导补实名 --> 补实名校验
补实名校验 -->|是| 核对订单状态
核对订单状态 --> 核对生效方式[核对本单是立即生效还是进入排队]
核对生效方式 --> 核对加油包有效期[若为加油包 核对有效期与当前主套餐一致]
核对加油包有效期 --> 核对套餐生效[核对套餐已生效并可使用]
核对套餐生效 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常处理[记录异常并返回订单处理]
异常处理 --> 选择套餐
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 不可购买结束 fill:#FFCDD2,stroke:#D32F2F
style 无主套餐结束 fill:#FFCDD2,stroke:#D32F2F
style 强充失败处理 fill:#FFCCBC,stroke:#E64A19
style 直接失败处理 fill:#FFCCBC,stroke:#E64A19
style 强充购包失败 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 资产可购校验,套餐类型校验,加油包前置校验,实名策略判断,实名状态校验,强充判断,强充支付结果,套餐支付结果,强充购包结果,套餐处理,主套餐处理判断,后置实名核查,补实名校验,验收结果 decision
```

View File

@@ -0,0 +1,74 @@
```mermaid
---
title: 13.换货流程
---
flowchart TD
开始((开始))
--> 后台建单[后台发起换货申请]
后台建单 --> 建单校验{旧资产是否满足换货条件?}
建单校验 -->|否| 建单失败[不满足条件 流程终止]
建单校验 -->|是| 换货建单成功[换货单创建成功 待客户填写信息]
subgraph 客户处理
换货建单成功 --> 客户通知[通知客户有待处理换货单]
客户通知 --> 客户填写信息[客户填写收货信息]
客户填写信息 --> 信息提交结果{提交是否成功?}
信息提交结果 -->|否| 重新填写[修正信息后重新提交]
重新填写 --> 客户填写信息
信息提交结果 -->|是| 待发货[进入待发货状态]
end
subgraph 后台发货
待发货 --> 选择新资产[选择新资产并填写物流信息]
选择新资产 --> 发货校验{新旧资产类型和状态是否匹配?}
发货校验 -->|否| 更换新资产[更换新资产后重试]
更换新资产 --> 选择新资产
发货校验 -->|是| 发货完成[完成发货并等待确认]
end
subgraph 完成阶段
发货完成 --> 完成确认[后台确认换货完成]
完成确认 --> 迁移判断{是否执行旧资产转新?}
迁移判断 -->|否| 不迁移完成[直接完成换货]
迁移判断 -->|是| 执行转新[执行旧资产转新处理]
执行转新 --> 转新结果{转新是否成功?}
转新结果 -->|否| 转新异常[记录异常并人工处理]
转新异常 --> 异常回流
转新结果 -->|是| 迁移完成[换货与转新处理完成]
end
subgraph 取消分支
换货建单成功 --> 取消判断{是否取消换货?}
待发货 --> 取消判断
取消判断 -->|是| 取消换货[取消换货单并结束]
取消判断 -->|否| 继续流程[按正常换货继续]
继续流程 --> 选择新资产
end
不迁移完成 --> 进入验收[进入结果验收]
迁移完成 --> 进入验收
取消换货 --> 进入验收
subgraph 验收阶段
进入验收 --> 核对换货状态[核对换货单状态和时间线]
核对换货状态 --> 核对新资产可用[核对新资产可正常使用]
核对新资产可用 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常回流[记录异常并返回换货流程处理]
异常回流 --> 后台建单
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 建单失败 fill:#FFCDD2,stroke:#D32F2F
style 重新填写 fill:#FFCCBC,stroke:#E64A19
style 更换新资产 fill:#FFCCBC,stroke:#E64A19
style 转新异常 fill:#FFCCBC,stroke:#E64A19
style 异常回流 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 建单校验,信息提交结果,发货校验,迁移判断,转新结果,取消判断,验收结果 decision
```

View File

@@ -0,0 +1,78 @@
```mermaid
---
title: 14.资产日常管控流程
---
flowchart TD
开始((开始))
--> 登录系统[运营或售后账号登录系统]
登录系统 --> 工作类型判断{本次处理哪类日常工作?}
工作类型判断 -->|入驻开通| 入驻入口[进入入驻开通工作]
工作类型判断 -->|资产运营| 运营入口[进入资产运营工作]
工作类型判断 -->|售后处理| 售后入口[进入售后处理工作]
subgraph 入驻开通模块
入驻入口 --> 开通对象判断{开通对象}
开通对象判断 -->|平台人员| 平台开通[按平台人员账号创建流程执行]
开通对象判断 -->|代理| 代理开通[按代理入驻店铺新建流程执行]
开通对象判断 -->|企业客户| 企业开通[按企业客户入驻流程执行]
平台开通 --> 开通验收
代理开通 --> 开通验收
企业开通 --> 开通验收
开通验收{开通验收是否通过?} -->|否| 开通修正[修正信息后重新提交]
开通修正 --> 入驻入口
开通验收 -->|是| 回到收口
end
subgraph 资产运营模块
运营入口 --> 运营事项判断{选择运营事项}
运营事项判断 -->|资产导入| 导入处理[执行资产导入并核对结果]
运营事项判断 -->|资产分配| 分配处理[执行资产分配并核对归属]
运营事项判断 -->|卡管理| 卡管理处理[卡相关操作与管理]
运营事项判断 -->|设备管理| 设备管理处理[设备相关操作与管理]
运营事项判断 -->|套餐运营| 套餐运营处理[预设套餐 套餐分配 购买跟踪]
导入处理 --> 运营验收
分配处理 --> 运营验收
卡管理处理 --> 运营验收
设备管理处理 --> 运营验收
套餐运营处理 --> 运营验收
运营验收{运营结果是否通过验收?} -->|否| 运营修正[调整后重新执行]
运营修正 --> 运营入口
运营验收 -->|是| 回到收口
end
subgraph 售后处理模块
售后入口 --> 售后类型判断{售后问题类型}
售后类型判断 -->|代理侧问题| 代理售后[处理代理充值 佣金提现 入驻问题]
售后类型判断 -->|订单侧问题| 订单售后[处理订单异常 退款 换货问题]
售后类型判断 -->|资产侧问题| 资产售后[处理卡或设备异常问题]
代理售后 --> 售后回访
订单售后 --> 售后回访
资产售后 --> 售后回访
售后回访[同步处理结果并回访] --> 售后结果判断{问题是否已解决?}
售后结果判断 -->|否| 售后升级[升级处理并持续跟进]
售后升级 --> 售后入口
售后结果判断 -->|是| 回到收口
end
subgraph 日终收口
回到收口[回到日常工作收口] --> 日终复盘[复盘当日处理量与问题清单]
日终复盘 --> 未结判断{是否还有未结事项?}
未结判断 -->|是| 生成待办[生成次日跟进清单]
生成待办 --> 结束([流程结束])
未结判断 -->|否| 结束
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 开通修正 fill:#FFCCBC,stroke:#E64A19
style 运营修正 fill:#FFCCBC,stroke:#E64A19
style 售后升级 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 工作类型判断,开通对象判断,开通验收,运营事项判断,运营验收,售后类型判断,售后结果判断,未结判断 decision
```

View File

@@ -0,0 +1,71 @@
```mermaid
---
title: 15.企业客户入驻流程
---
flowchart TD
开始((开始))
--> 登录系统[超管 平台或代理账号登录]
登录系统 --> 权限判断{是否具备企业客户入驻权限?}
权限判断 -->|否| 无权限结束[无权限 流程终止]
权限判断 -->|是| 进入企业管理[进入企业客户管理]
subgraph 入驻建档
进入企业管理 --> 操作者判断{是否为超管或平台账号?}
操作者判断 -->|是| 选择归属店铺[可指定企业归属店铺]
操作者判断 -->|否| 固定归属店铺[代理仅可使用本店铺归属]
固定归属店铺 --> 填写企业信息
选择归属店铺 --> 填写企业信息[填写企业名称 编号 联系人 手机号]
填写企业信息 --> 重复校验{企业信息是否重复?}
重复校验 -->|是| 修改企业信息[修改后重试]
修改企业信息 --> 填写企业信息
重复校验 -->|否| 创建企业档案[创建企业档案和企业账号]
创建企业档案 --> 创建结果{创建是否成功?}
创建结果 -->|否| 创建失败处理[修正信息后重试]
创建失败处理 --> 填写企业信息
创建结果 -->|是| 初始化设置[设置启用状态和初始密码]
end
subgraph 授权开通
初始化设置 --> 是否立即授权{是否立即授权资产给企业?}
是否立即授权 -->|否| 跳过授权[先完成入驻后续再授权]
是否立即授权 -->|是| 选择授权类型{选择授权类型}
选择授权类型 -->|卡授权| 卡授权处理[选择卡并授权给企业]
选择授权类型 -->|设备授权| 设备授权处理[选择设备并授权给企业]
卡授权处理 --> 授权结果
设备授权处理 --> 授权结果{授权是否成功?}
授权结果 -->|否| 授权失败处理[调整授权范围后重试]
授权失败处理 --> 选择授权类型
授权结果 -->|是| 授权完成[授权开通完成]
end
跳过授权 --> 进入验收[进入企业入驻验收]
授权完成 --> 进入验收
subgraph 验收阶段
进入验收 --> 核对企业列表[核对企业信息与归属是否正确]
核对企业列表 --> 核对企业账号[使用企业账号登录核对状态]
核对企业账号 --> 资产验收判断{本次是否做了资产授权?}
资产验收判断 -->|否| 验收结果
资产验收判断 -->|是| 核对授权资产[核对企业可见卡和设备]
核对授权资产 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常处理[记录异常并返回企业入驻流程处理]
异常处理 --> 进入企业管理
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
style 修改企业信息 fill:#FFCCBC,stroke:#E64A19
style 创建失败处理 fill:#FFCCBC,stroke:#E64A19
style 授权失败处理 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 权限判断,操作者判断,重复校验,创建结果,是否立即授权,选择授权类型,授权结果,资产验收判断,验收结果 decision
```

View File

@@ -1,53 +1,55 @@
```mermaid
---
title: 2.员工账号新建与权限分配业务流程
title: 2.平台人员账号创建流程
---
flowchart TD
Start((开始))
--> Login[使用超级管理员账号登录]
--> Login[使用超级管理员或有权限的平台账号登录]
Login --> IsSuperAdmin{是否为超级管理员?}
Login --> HasPermission{是否具备平台账号创建权限?}
HasPermission -->|否| NoPermission[无权限,流程终止]
HasPermission -->|是| EnterAccountPage[进入平台账号管理]
IsSuperAdmin -->|是| HasAccess[拥有权限]
IsSuperAdmin -->|否| CheckPermission{是否拥有「账号管理」以及「新建账号」权限?}
subgraph CreateAccountFlow[账号创建与授权]
EnterAccountPage --> SelectAccountType{选择账号类型}
SelectAccountType -->|平台运营账号| FillOperatorInfo[填写账号基础信息]
SelectAccountType -->|超级管理员账号| FillSuperInfo[填写账号基础信息]
CheckPermission -->|是| HasAccess
CheckPermission -->|| NoPermission[无权限,流程终止]
FillOperatorInfo --> RoleAtCreate{是否在创建时分配角色?}
RoleAtCreate -->|| SubmitWithRole[提交创建并同步分配角色]
RoleAtCreate -->|否| SubmitWithoutRole[先提交创建后补充角色]
SubmitWithoutRole --> AssignRoleLater[在账号列表补充分配角色]
HasAccess --> EnterAccountManagement[进入账号管理页面]
FillSuperInfo --> SubmitSuper[提交创建]
subgraph 员工账号新建流程
EnterAccountManagement --> ChooseRoleType{选择账号类型}
SubmitWithRole --> CreateDone[账号创建完成]
AssignRoleLater --> CreateDone
SubmitSuper --> CreateDone
ChooseRoleType -->|平台用户| CreatePlatformUser[新建平台用户]
ChooseRoleType -->|超级管理员| CreateSuperAdmin[新建超级管理员用户]
CreatePlatformUser --> PreAssign[在新建界面预分配角色]
PreAssign --> |已分配角色| PreAssignSuccess[预分配成功]
PreAssign --> |未分配角色| AssignInList[进入账号列表后操作分配角色]
AssignInList --> CreateSuccess[账号新建成功]
PreAssignSuccess --> CreateSuccess
CreateSuperAdmin --> CreateSuccess
CreateSuccess --> LoginWithNewAccount[使用新建账号登录系统进行验证]
CreateDone --> CreateResult{创建是否成功?}
CreateResult -->|否| FixAndRetry[修正信息后重新提交]
FixAndRetry --> SelectAccountType
CreateResult -->|是| StartVerify[进入验收检查]
end
LoginWithNewAccount --> CheckPermissionResult{账号权限是否正确?}
subgraph VerifyFlow[账号验收检查]
StartVerify --> CheckAccountList[在平台账号列表确认账号已生成]
CheckAccountList --> CheckLogin[使用新账号登录并确认可正常使用]
CheckLogin --> CheckScope[核对角色权限与数据范围是否正确]
CheckScope --> VerifyResult{验收是否通过?}
CheckPermissionResult -->|正常| End([流程结束])
CheckPermissionResult -->|不正常| ReportIssue[提交问题 / Bug]
ReportIssue -->|复测| EnterAccountManagement
VerifyResult -->|否| HandleException[记录异常并回到账号管理处理]
HandleException --> EnterAccountPage
VerifyResult -->|是| End([流程结束])
end
%% ==================== 样式美化 ====================
style Start fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style End fill:#FF9999,stroke:#C62828,stroke-width:2px
style NoPermission fill:#FFCDD2,stroke:#D32F2F
style HasAccess fill:#C8E6C9,stroke:#388E3C
style ReportIssue fill:#FFCCBC,stroke:#E64A19
style FixAndRetry fill:#FFCCBC,stroke:#E64A19
style HandleException fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class IsSuperAdmin,CheckPermission,ChooseRoleType,CheckPermissionResult decision
class HasPermission,SelectAccountType,RoleAtCreate,CreateResult,VerifyResult decision
```

View File

@@ -1,71 +1,62 @@
```mermaid
---
title: 3. 代理入驻店铺新建)及店铺账号新增流程
title: 3.代理入驻(店铺新建)流程
---
flowchart TD
Start((开始))
--> Login[使用超级管理员或有权限账号登录]
--> Login[使用超级管理员或有权限的平台账号登录]
Login --> IsSuperAdmin{是否为超级管理员?}
Login --> HasPermission{是否具备代理入驻与店铺新建权限?}
HasPermission -->|否| NoPermission[无权限,流程终止]
HasPermission -->|是| EnterShopPage[进入店铺管理]
IsSuperAdmin -->|是| HasAccess[拥有权限]
IsSuperAdmin -->|否| CheckPermission{是否拥有「店铺管理」及「新建代理/店铺」权限?}
subgraph CreateShopFlow[代理入驻与店铺新建]
EnterShopPage --> FillShopInfo[填写代理店铺基础信息]
FillShopInfo --> SelectParent{是否设置上级代理?}
SelectParent -->|否| CreateTopShop[创建顶级代理店铺]
SelectParent -->|是| CreateChildShop[创建下级代理店铺]
CheckPermission -->|是| HasAccess
CheckPermission -->|否| NoPermission[无权限,流程终止]
CreateTopShop --> ConfirmOwner[确认店铺归属与负责人]
CreateChildShop --> ConfirmOwner
HasAccess --> EnterShopManagement[进入店铺管理页面]
subgraph 代理入驻店铺新建流程
EnterShopManagement --> InputInfo{输入代理/店铺信息并分配上级}
InputInfo -->|不分配上级| CreateTopAgent[新建顶级代理/店铺]
InputInfo -->|分配上级| CreateSubAgent[新建次级代理/店铺]
CreateTopAgent --> SetDefaultRole[设置默认角色]
CreateSubAgent --> SetDefaultRole
SetDefaultRole --> CreateSuccess[店铺创建成功]
CreateSuccess --> Verification[进入验证环节]
Verification --> Check1[店铺列表中是否存在新建的店铺?]
Verification --> Check2[店铺默认账号是否出现在账号列表?]
Verification --> Check3[检查店铺基础数据是否正常]
Verification --> Check4[使用默认账号登录,验证权限及上下级关系是否正确]
Check1 & Check2 & Check3 & Check4 --> VerifyResult{验证是否全部正常?}
ConfirmOwner --> SubmitShop[提交新建店铺]
SubmitShop --> ShopCreateResult{店铺创建是否成功?}
ShopCreateResult -->|否| FixShopInfo[修正信息后重新提交]
FixShopInfo --> FillShopInfo
ShopCreateResult -->|是| ShopVerifyStart[进入店铺验收]
end
VerifyResult -->|全部正常| End([流程结束])
VerifyResult -->|存在异常| ReportIssue[提交 Bug / 问题]
ReportIssue -->|复测| EnterShopManagement
%% ==================== 店铺账号新增流程 ====================
subgraph 店铺账号新增流程
AfterShopCreated[店铺创建成功后] --> GoToAccountList[进入该店铺的账号列表]
GoToAccountList --> AddNewAccount[点击新增账号]
AddNewAccount --> FillAccountInfo[填写账号信息并分配角色]
FillAccountInfo --> SaveAccount[保存并创建账号]
SaveAccount --> VerifyNewAccount[验证新账号是否可正常登录及使用权限]
VerifyNewAccount --> AccountVerifyResult{验证是否正常?}
AccountVerifyResult -->|正常| BackToMain[返回主流程]
AccountVerifyResult -->|异常| ReportIssue
subgraph ShopVerifyFlow[店铺验收]
ShopVerifyStart --> CheckShopList[在店铺列表核对店铺信息与层级关系]
CheckShopList --> CheckDefaultAccount[核对默认店铺账号是否已生成]
CheckDefaultAccount --> CheckDefaultLogin[使用默认账号登录并核对可见功能]
CheckDefaultLogin --> ShopVerifyResult{店铺验收是否通过?}
end
%% 连接两个子流程(可选步骤)
CreateSuccess -.-> AfterShopCreated
subgraph ExtraAccountFlow[店铺账号补充可选流程]
ShopVerifyResult -->|通过| NeedExtraAccount{是否需要新增店铺账号?}
NeedExtraAccount -->|否| End([流程结束])
NeedExtraAccount -->|是| OpenShopAccount[进入该店铺账号管理]
OpenShopAccount --> FillExtraAccount[填写新增账号信息并分配角色]
FillExtraAccount --> SubmitExtraAccount[提交新增账号]
SubmitExtraAccount --> VerifyExtraAccount[验证新增账号登录与权限]
VerifyExtraAccount --> ExtraAccountResult{新增账号验收是否通过?}
ExtraAccountResult -->|否| FixExtraAccount[修正账号信息或角色后重试]
FixExtraAccount --> OpenShopAccount
ExtraAccountResult -->|是| End
end
ShopVerifyResult -->|不通过| HandleShopException[记录异常并回到店铺管理处理]
HandleShopException --> EnterShopPage
%% ==================== 样式美化 ====================
style Start fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style End fill:#FF9999,stroke:#C62828,stroke-width:2px
style NoPermission fill:#FFCDD2,stroke:#D32F2F
style HasAccess fill:#C8E6C9,stroke:#388E3C
style ReportIssue fill:#FFCCBC,stroke:#E64A19
style FixShopInfo fill:#FFCCBC,stroke:#E64A19
style FixExtraAccount fill:#FFCCBC,stroke:#E64A19
style HandleShopException fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class IsSuperAdmin,CheckPermission,InputInfo,VerifyResult,AccountVerifyResult decision
class HasPermission,SelectParent,ShopCreateResult,ShopVerifyResult,NeedExtraAccount,ExtraAccountResult decision
```

View File

@@ -1,3 +1,78 @@
```mermaid
---
title: 4.为资产预设套餐系列流程
---
flowchart TD
开始((开始))
--> 登录系统[使用超级管理员或有权限账号登录]
登录系统 --> 权限判断{是否具备资产套餐系列预设权限?}
权限判断 -->|否| 无权限结束[无权限,流程终止]
权限判断 -->|是| 进入预设页面[进入资产预设套餐系列]
进入预设页面 --> 选择资产类型{选择资产类型}
选择资产类型 -->|单卡| 进入单卡预设[进入单卡预设]
选择资产类型 -->|设备| 进入设备预设[进入设备预设]
subgraph 预设准备
进入单卡预设 --> 选择操作类型{选择操作}
进入设备预设 --> 选择操作类型
选择操作类型 -->|设置预设系列| 选择资产范围[选择待处理资产]
选择操作类型 -->|清除预设系列| 选择资产范围
选择资产范围 --> 操作者判断{是否为超管或平台账号?}
操作者判断 -->|是| 跨级可操作[可跨级选择可见资产]
跨级可操作 --> 资产范围校验{资产范围是否有效?}
操作者判断 -->|否| 代理范围校验{资产是否属于当前店铺?}
代理范围校验 -->|否| 重选资产[无权操作该资产,返回重选]
重选资产 --> 选择资产范围
代理范围校验 -->|是| 资产范围校验
资产范围校验 -->|否| 调整资产范围[剔除无效资产后重新选择]
调整资产范围 --> 选择资产范围
资产范围校验 -->|是| 操作类型判断{本次是设置预设还是清除预设?}
操作类型判断 -->|清除预设| 提交预设[提交批量处理]
操作类型判断 -->|设置预设| 选择预设系列[选择要预设的套餐系列]
选择预设系列 --> 系列状态校验{套餐系列是否可用?}
系列状态校验 -->|否| 更换系列[更换套餐系列后重试]
更换系列 --> 选择预设系列
系列状态校验 -->|是| 代理系列权限校验{代理是否有该系列分配权限?}
代理系列权限校验 -->|否| 无系列权限[无该系列分配权限,返回重选]
无系列权限 --> 选择预设系列
代理系列权限校验 -->|是| 提交预设
end
subgraph 执行与结果
提交预设 --> 提交结果{批量处理是否成功?}
提交结果 -->|否| 查看失败明细[查看失败原因并修正后重试]
查看失败明细 --> 选择资产范围
提交结果 -->|是| 处理完成[预设处理完成]
end
subgraph 业务验收
处理完成 --> 核对资产列表[在资产列表核对预设系列结果]
核对资产列表 --> 核对统计结果[核对成功数、失败数、失败原因]
核对统计结果 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常处理[记录异常并返回预设流程处理]
异常处理 --> 进入预设页面
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
style 重选资产 fill:#FFCCBC,stroke:#E64A19
style 调整资产范围 fill:#FFCCBC,stroke:#E64A19
style 更换系列 fill:#FFCCBC,stroke:#E64A19
style 无系列权限 fill:#FFCCBC,stroke:#E64A19
style 查看失败明细 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 权限判断,选择资产类型,选择操作类型,操作者判断,代理范围校验,资产范围校验,操作类型判断,系列状态校验,代理系列权限校验,提交结果,验收结果 decision
```

View File

@@ -0,0 +1,74 @@
```mermaid
---
title: 4.资产分配流程
---
flowchart TD
开始((开始))
--> 登录系统[使用超级管理员或有权限账号登录]
登录系统 --> 权限判断{是否具备资产分配权限?}
权限判断 -->|否| 无权限结束[无权限,流程终止]
权限判断 -->|是| 进入资产管理[进入资产管理]
进入资产管理 --> 选择资产类型{选择分配资产类型}
选择资产类型 -->|单卡分配| 进入单卡分配[进入单卡分配]
选择资产类型 -->|设备分配| 进入设备分配[进入设备分配]
subgraph 分配准备
进入单卡分配 --> 选择目标店铺[选择目标店铺]
进入设备分配 --> 选择目标店铺
选择目标店铺 --> 操作者判断{是否为超管或平台账号?}
操作者判断 -->|是| 跨级允许[可跨级分配目标店铺]
跨级允许 --> 选择资产范围[选择待分配资产]
操作者判断 -->|否| 下级关系校验{目标店铺是否为直属下级?}
下级关系校验 -->|否| 关系不符[代理仅可分配直属下级,返回重选]
关系不符 --> 选择目标店铺
下级关系校验 -->|是| 选择资产范围
选择资产范围 --> 资产归属校验{资产是否属于当前可分配范围?}
资产归属校验 -->|否| 调整资产范围[剔除不符合资产后重新选择]
调整资产范围 --> 选择资产范围
资产归属校验 -->|是| 分配条件说明[分配条件说明<br/>1. 单卡必须未绑定设备<br/>2. 平台分配单卡时仅可分配在库资产<br/>3. 代理分配单卡时可继续下发已分销资产<br/>4. 设备分配时设备与绑定卡归属会同步下发]
分配条件说明 --> 业务规则校验{是否满足以上分配条件?}
业务规则校验 -->|否| 规则不通过[不满足分配条件,返回修正]
规则不通过 --> 选择资产范围
业务规则校验 -->|是| 提交分配[提交资产分配]
end
subgraph 分配执行
提交分配 --> 分配执行结果{分配是否成功?}
分配执行结果 -->|否| 查看失败明细[查看失败原因并修正]
查看失败明细 --> 选择资产范围
分配执行结果 -->|是| 分配完成[资产分配完成]
end
subgraph 结果验收
分配完成 --> 核对资产归属[在资产列表核对资产归属店铺]
核对资产归属 --> 设备同步校验{本次是否包含设备分配?}
设备同步校验 -->|是| 核对绑定卡归属[核对设备下绑定卡归属是否同步]
设备同步校验 -->|否| 核对分配记录[进入分配记录核对]
核对绑定卡归属 --> 核对分配记录
核对分配记录 --> 核对单号与数量[核对分配单号与成功失败数量]
核对单号与数量 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常处理[记录异常并返回分配环节处理]
异常处理 --> 进入资产管理
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
style 调整资产范围 fill:#FFCCBC,stroke:#E64A19
style 规则不通过 fill:#FFCCBC,stroke:#E64A19
style 查看失败明细 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
style 关系不符 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 权限判断,选择资产类型,操作者判断,下级关系校验,资产归属校验,业务规则校验,分配执行结果,设备同步校验,验收结果 decision
```

View File

@@ -0,0 +1,63 @@
```mermaid
---
title: 5.套餐分配流程
---
flowchart TD
开始((开始))
--> 登录系统[使用超管 平台或代理账号登录]
登录系统 --> 权限判断{是否具备套餐分配权限?}
权限判断 -->|否| 无权限结束[无权限,流程终止]
权限判断 -->|是| 进入套餐分配[进入套餐分配管理]
subgraph 分配准备
进入套餐分配 --> 选择目标店铺[选择被分配店铺]
选择目标店铺 --> 操作者判断{是否为超管或平台账号?}
操作者判断 -->|是| 跨级允许[可跨级选择目标店铺]
跨级允许 --> 选择系列和套餐[选择要分配的系列与套餐]
操作者判断 -->|否| 下级校验{目标店铺是否直属下级?}
下级校验 -->|否| 重选店铺[仅可分配给直属下级]
重选店铺 --> 选择目标店铺
下级校验 -->|是| 选择系列和套餐
选择系列和套餐 --> 套餐权限校验{是否拥有该系列和套餐分配权限?}
套餐权限校验 -->|否| 更换套餐[更换系列或套餐后重试]
更换套餐 --> 选择系列和套餐
套餐权限校验 -->|是| 填写分配规则[填写成本价 零售价 上架状态]
end
subgraph 规则检查阶段
填写分配规则 --> 规则说明[分配规则说明<br/>1 下级成本价不能低于本级成本价<br/>2 仅能分配自己有权限的套餐<br/>3 给下级的一次性佣金额不能超过本级可得金额]
规则说明 --> 规则校验{是否满足分配规则?}
规则校验 -->|否| 调整规则[调整分配规则后重试]
调整规则 --> 填写分配规则
规则校验 -->|是| 提交分配[提交套餐分配]
end
subgraph 执行验收
提交分配 --> 提交结果{提交是否成功?}
提交结果 -->|否| 失败处理[查看失败原因并修正]
失败处理 --> 填写分配规则
提交结果 -->|是| 分配完成[套餐分配完成]
分配完成 --> 核对分配记录[核对分配记录中的价格和状态]
核对分配记录 --> 核对目标店铺可售套餐[使用目标店铺视角核对可售套餐]
核对目标店铺可售套餐 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常处理[记录异常并返回分配流程处理]
异常处理 --> 进入套餐分配
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
style 重选店铺 fill:#FFCCBC,stroke:#E64A19
style 更换套餐 fill:#FFCCBC,stroke:#E64A19
style 调整规则 fill:#FFCCBC,stroke:#E64A19
style 失败处理 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 权限判断,操作者判断,下级校验,套餐权限校验,规则校验,提交结果,验收结果 decision
```

View File

@@ -0,0 +1,65 @@
```mermaid
---
title: 6.购买套餐流程
---
flowchart TD
开始((开始))
--> 进入购买入口[进入购买套餐入口]
进入购买入口 --> 选择购买渠道{选择购买渠道}
选择购买渠道 -->|后台购买| 后台购买准备[进入后台购买流程]
选择购买渠道 -->|客户端自助购买| 客户购买准备[进入客户端购买流程]
subgraph 后台购买主线
后台购买准备 --> 后台校验资产和套餐[校验资产归属与套餐可售]
后台校验资产和套餐 --> 后台规则说明[后台购买规则<br/>1 后台购买不触发强充<br/>2 后台购买不触发一次性佣金]
后台规则说明 --> 后台创建订单[提交后台订单]
后台创建订单 --> 后台支付结果{后台支付是否成功?}
后台支付结果 -->|否| 后台重试[调整信息后重新下单]
后台重试 --> 后台购买准备
后台支付结果 -->|是| 后台激活套餐[完成套餐激活]
后台激活套餐 --> 后台差价说明[后台差价收益说明<br/>1 平台代购按跨级店铺逐级计算差价收益<br/>2 代理为下级代购时差价在代购环节处理 不再重复链路分配]
end
subgraph 客户购买主线
客户购买准备 --> 客户校验资产和套餐[校验资产归属与套餐可售]
客户校验资产和套餐 --> 实名判断{是否需要先实名?}
实名判断 -->|是| 完成实名[先完成实名认证]
完成实名 --> 客户下单前校验
实名判断 -->|否| 客户下单前校验[进入下单前校验]
客户下单前校验 --> 强充判断{是否命中强充规则?}
强充判断 -->|是| 强充处理[按强充金额先完成充值后继续购买]
强充处理 --> 客户支付
强充判断 -->|否| 客户支付[直接发起套餐支付]
客户支付 --> 客户支付结果{客户支付是否成功?}
客户支付结果 -->|否| 客户重试[重新支付或更换套餐]
客户重试 --> 客户购买准备
客户支付结果 -->|是| 客户激活套餐[完成套餐激活]
客户激活套餐 --> 客户佣金说明[客户端佣金规则<br/>1 可按规则触发一次性佣金<br/>2 差价收益按跨级店铺逐级分配]
end
后台差价说明 --> 汇总验收[进入订单与套餐生效验收]
客户佣金说明 --> 汇总验收
subgraph 验收收口
汇总验收 --> 核对订单状态[核对订单状态和金额]
核对订单状态 --> 核对佣金口径[核对一次性佣金与差价收益口径是否正确]
核对佣金口径 --> 核对套餐生效[核对套餐已生效并可正常使用]
核对套餐生效 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常回流[记录异常并返回对应购买渠道处理]
异常回流 --> 进入购买入口
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 后台重试 fill:#FFCCBC,stroke:#E64A19
style 客户重试 fill:#FFCCBC,stroke:#E64A19
style 异常回流 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 选择购买渠道,后台支付结果,实名判断,强充判断,客户支付结果,验收结果 decision
```

View File

@@ -0,0 +1,64 @@
```mermaid
---
title: 7.佣金产生细节说明
---
flowchart TD
开始((开始))
--> 订单完成[订单完成并进入佣金核算]
订单完成 --> 来源判断{订单来源}
来源判断 -->|后台订单| 后台类型判断{后台订单类型}
来源判断 -->|客户端订单| 客户端订单口径[客户端订单进入佣金计算]
后台类型判断 -->|平台代购| 平台代购口径[参与跨级差价链式分配]
后台类型判断 -->|代理自购或代理代购| 后台一次性跳过[后台订单不触发一次性佣金]
平台代购口径 --> 差价链路入口[进入差价链式分配]
客户端订单口径 --> 差价链路入口
后台一次性跳过 --> 差价口径判断{是否需要差价链式分配?}
差价口径判断 -->|否| 进入核查
差价口径判断 -->|是| 差价链路入口
subgraph 差价链式分配
差价链路入口 --> 差价链式说明[跨级差价链式说明<br/>1 以销售店铺为起点逐级向上分配<br/>2 每一级只拿自己与下一级的成本价差<br/>3 直到链路顶层或无上级为止]
差价链式说明 --> 差价逐级计算[按店铺层级逐级计算差价收益]
差价逐级计算 --> 差价入账[差价收益入账]
end
客户端订单口径 --> 一次性入口{是否满足一次性佣金前提?}
一次性入口 -->|否| 一次性跳过[本单不产生一次性佣金]
一次性入口 -->|是| 一次性规则判断[判断首充或累计触发条件]
subgraph 一次性链式分配
一次性规则判断 --> 一次性触发判断{是否达到触发要求?}
一次性触发判断 -->|否| 一次性跳过
一次性触发判断 -->|是| 一次性链式说明[一次性链式说明<br/>1 下级先拿配置给下级的金额<br/>2 上级拿本级可得金额与下级金额的差额<br/>3 逐级向上分配直至顶层]
一次性链式说明 --> 一次性逐级分配[按上下级配置逐级分配]
一次性逐级分配 --> 一次性入账[一次性佣金入账]
end
差价入账 --> 进入核查[进入佣金验收核查]
一次性跳过 --> 进入核查
一次性入账 --> 进入核查
subgraph 验收核查
进入核查 --> 金额核查[核查各级店铺佣金金额]
金额核查 --> 归属核查[核查各级店铺佣金归属]
归属核查 --> 人工核查判断{是否命中人工核查条件?}
人工核查判断 -->|是| 人工复核[进入人工复核并给出处理结论]
人工复核 --> 核查结果
人工核查判断 -->|否| 核查结果{核查是否通过?}
核查结果 -->|否| 修正处理[修正配置或补充记录后重算]
修正处理 --> 订单完成
核查结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 修正处理 fill:#FFCCBC,stroke:#E64A19
style 人工复核 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 来源判断,后台类型判断,差价口径判断,一次性入口,一次性触发判断,人工核查判断,核查结果 decision
```

View File

@@ -0,0 +1,54 @@
```mermaid
---
title: 8.代理佣金提现以及审批流程
---
flowchart TD
开始((开始))
--> 代理登录[代理账号登录并进入佣金提现]
代理登录 --> 可提校验{是否满足提现条件?}
可提校验 -->|否| 条件不满足[不满足提现条件 流程终止]
可提校验 -->|是| 提交申请[填写提现金额和收款信息并提交]
subgraph 申请阶段
提交申请 --> 申请创建结果{申请是否创建成功?}
申请创建结果 -->|否| 修正申请[修正信息后重新提交]
修正申请 --> 提交申请
申请创建结果 -->|是| 冻结金额[进入待审批并冻结对应金额]
end
subgraph 审批阶段
冻结金额 --> 平台审核[平台审核提现申请]
平台审核 --> 审核结果{审核是否通过?}
审核结果 -->|否| 驳回处理[驳回申请并解冻金额]
审核结果 -->|是| 打款处理[进入打款处理]
end
subgraph 打款阶段
打款处理 --> 打款结果{打款是否成功?}
打款结果 -->|否| 打款失败处理[记录失败原因并继续跟进]
打款失败处理 --> 二次处理{是否继续打款?}
二次处理 -->|是| 打款处理
二次处理 -->|否| 驳回处理
打款结果 -->|是| 完成提现[提现完成并更新已提现金额]
end
驳回处理 --> 通知代理[通知代理查看驳回原因]
完成提现 --> 通知代理
通知代理 --> 结果验收{结果是否符合预期?}
结果验收 -->|否| 异常处理[记录异常并返回审批流程处理]
异常处理 --> 平台审核
结果验收 -->|是| 结束([流程结束])
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 条件不满足 fill:#FFCDD2,stroke:#D32F2F
style 修正申请 fill:#FFCCBC,stroke:#E64A19
style 打款失败处理 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 可提校验,申请创建结果,审核结果,打款结果,二次处理,结果验收 decision
```

View File

@@ -0,0 +1,50 @@
```mermaid
---
title: 9.代理充值流程
---
flowchart TD
开始((开始))
--> 登录系统[代理或平台账号登录]
登录系统 --> 权限判断{是否具备代理充值权限?}
权限判断 -->|否| 无权限结束[无权限 流程终止]
权限判断 -->|是| 填写充值信息[填写目标店铺 金额 备注]
填写充值信息 --> 线下权限判断{是否允许线下充值?}
线下权限判断 -->|否| 无权限结束
线下权限判断 -->|是| 创建线下单[创建线下充值单]
subgraph 线下充值链路
创建线下单 --> 线下审核[平台核对线下打款信息]
线下审核 --> 线下审核结果{审核是否通过?}
线下审核结果 -->|否| 线下驳回[驳回并说明原因]
线下审核结果 -->|是| 超级密码确认[输入超级密码确认到账]
超级密码确认 --> 超密校验{校验是否通过?}
超密校验 -->|否| 超密失败[校验失败 返回重试]
超密失败 --> 超级密码确认
超密校验 -->|是| 线下到账[充值金额入主钱包]
end
线下到账 --> 充值验收
线下驳回 --> 充值验收
subgraph 验收阶段
充值验收 --> 核对充值记录[核对充值状态与金额]
核对充值记录 --> 核对钱包余额[核对主钱包余额变更]
核对钱包余额 --> 验收结果{验收是否通过?}
验收结果 -->|否| 异常处理[记录异常并返回充值流程处理]
异常处理 --> 填写充值信息
验收结果 -->|是| 结束([流程结束])
end
%% ==================== 样式美化 ====================
style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
style 线下驳回 fill:#FFCCBC,stroke:#E64A19
style 超密失败 fill:#FFCCBC,stroke:#E64A19
style 异常处理 fill:#FFCCBC,stroke:#E64A19
classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class 权限判断,线下权限判断,线下审核结果,超密校验,验收结果 decision
```

View File

@@ -227,6 +227,8 @@ func doRequestWithResponse[T any](c *Client, ctx context.Context, path string, p
return nil, err
}
c.logger.Debug("Gateway 原始响应数据", zap.ByteString("data", data))
var result T
if err := sonic.Unmarshal(data, &result); err != nil {
return nil, errors.Wrap(errors.CodeGatewayInvalidResp, err, "解析 Gateway 响应失败")