diff --git a/docs/系统流程图/0.代理佣金体系设计流程.md b/docs/系统流程图/0.代理佣金体系设计流程.md
new file mode 100644
index 0000000..31b49e6
--- /dev/null
+++ b/docs/系统流程图/0.代理佣金体系设计流程.md
@@ -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
+```
diff --git a/docs/系统流程图/0.佣金提现配置流程.md b/docs/系统流程图/0.佣金提现配置流程.md
new file mode 100644
index 0000000..d019207
--- /dev/null
+++ b/docs/系统流程图/0.佣金提现配置流程.md
@@ -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[填写配置项
每日提现次数、最低提现金额、手续费率]
+
+ 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[进入代理提现申请验证
(结合 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
+```
diff --git a/docs/系统流程图/0.套餐设计流程(包含佣金设计).md b/docs/系统流程图/0.套餐设计流程(包含佣金设计).md
index e69de29..7af382a 100644
--- a/docs/系统流程图/0.套餐设计流程(包含佣金设计).md
+++ b/docs/系统流程图/0.套餐设计流程(包含佣金设计).md
@@ -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[设置触发方式
首充 或 累计充值]
+
+ SetTrigger --> SetCommissionType{选择佣金模式}
+ SetCommissionType -->|固定模式| SetFixedCommission[设置固定佣金金额]
+ SetCommissionType -->|梯度模式| SetTierCommission[设置梯度档位与金额]
+
+ SetFixedCommission --> SetValidity[设置规则生效时效]
+ SetTierCommission --> SetValidity
+ SetValidity --> SeriesReady
+
+ SeriesReady --> CreatePackage[创建该系列下套餐]
+ CreatePackage --> SetPackageInfo[填写套餐信息
成本价、建议售价、周期、流量额度]
+ 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[后台创建测试订单并完成购买
用于验证套餐可购与基础佣金链]
+ AdminOrderVerify --> NeedCCheck{是否需要验收强充规则?}
+
+ NeedCCheck -->|否| CheckCommissionEntry[进入后台「代理商资金管理」页面]
+ NeedCCheck -->|是| ClientOrderVerify[使用C端发起购买并完成支付]
+
+ ClientOrderVerify --> HitForceRule{C端购买是否命中强充规则?}
+ HitForceRule -->|是| ForceRechargePath[按强充要求完成充值并继续购买]
+ HitForceRule -->|否| DirectBuyPath[按正常流程购买]
+
+ ForceRechargePath --> CheckCommissionEntry
+ DirectBuyPath --> CheckCommissionEntry
+
+ CheckCommissionEntry --> CheckAmount[在「佣金明细」核对佣金金额]
+ CheckAmount --> CheckOwner[在「佣金明细」核对佣金归属权]
+ CheckOwner --> CheckManualReview[在「佣金明细」筛选待审状态
核对是否进入人工核查]
+ 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
+```
diff --git a/docs/系统流程图/0.微信配置流程.md b/docs/系统流程图/0.微信配置流程.md
index e69de29..2d3740b 100644
--- a/docs/系统流程图/0.微信配置流程.md
+++ b/docs/系统流程图/0.微信配置流程.md
@@ -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
+```
diff --git a/docs/系统流程图/0.提现配置流程.md b/docs/系统流程图/0.提现配置流程.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/系统流程图/0.权限设置流程.md b/docs/系统流程图/0.权限设置流程.md
index 8ae3291..5122b02 100644
--- a/docs/系统流程图/0.权限设置流程.md
+++ b/docs/系统流程图/0.权限设置流程.md
@@ -1,51 +1,49 @@
```mermaid
---
-title: 1.角色设计与权限分配业务流程
+title: 0.权限设置流程
---
flowchart TD
- Start((开始))
- --> Login[使用超级管理员账号登录]
+ Start((开始))
+ --> 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[为角色分配权限
(根据业务需求决定角色可使用功能)]
+ 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
-```
\ No newline at end of file
+ class HasPermission,SelectRoleType,RoleSaveResult,VerifyResult decision
+```
diff --git a/docs/系统流程图/0.资产导入流程.md b/docs/系统流程图/0.资产导入流程.md
index e69de29..ecd0eb1 100644
--- a/docs/系统流程图/0.资产导入流程.md
+++ b/docs/系统流程图/0.资产导入流程.md
@@ -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[查看成功数/跳过数/失败数
设备导入同时查看警告记录]
+ CheckResult --> NeedRetry{是否需要修正后重导?}
+
+ NeedRetry -->|是| FixSourceData[修正源数据后重新导入]
+ FixSourceData --> UploadExcel
+ NeedRetry -->|否| GoVerifyAssets[进入资产数据验收]
+ end
+
+ subgraph VerifyFlow[导入结果验收]
+ GoVerifyAssets --> VerifyType{验收类型}
+
+ VerifyType -->|IoT卡| VerifyIot[在 IoT卡列表核对
ICCID/接入号/虚拟号/批次信息]
+ VerifyType -->|设备| VerifyDevice[在 设备列表核对
设备虚拟号/设备信息/卡绑定关系]
+
+ 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
+```
diff --git a/docs/系统流程图/0.超级密码设置流程.md b/docs/系统流程图/0.超级密码设置流程.md
index e69de29..d54e2f4 100644
--- a/docs/系统流程图/0.超级密码设置流程.md
+++ b/docs/系统流程图/0.超级密码设置流程.md
@@ -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
+```
diff --git a/docs/系统流程图/10.退款流程.md b/docs/系统流程图/10.退款流程.md
index e69de29..39e5200 100644
--- a/docs/系统流程图/10.退款流程.md
+++ b/docs/系统流程图/10.退款流程.md
@@ -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
+```
diff --git a/docs/系统流程图/11.后台订单流程.md b/docs/系统流程图/11.后台订单流程.md
index e69de29..81c7f1f 100644
--- a/docs/系统流程图/11.后台订单流程.md
+++ b/docs/系统流程图/11.后台订单流程.md
@@ -0,0 +1,84 @@
+```mermaid
+---
+title: 11.后台订单流程
+---
+flowchart TD
+ 开始((开始))
+ --> 登录系统[超管 平台或代理账号登录后台]
+
+ 登录系统 --> 权限判断{是否具备后台下单权限?}
+ 权限判断 -->|否| 无权限结束[无权限 流程终止]
+ 权限判断 -->|是| 填写订单信息[选择资产 选择套餐 填写下单信息]
+
+ 填写订单信息 --> 资产校验{资产归属和状态是否可下单?}
+ 资产校验 -->|否| 修正资产信息[调整资产或订单信息后重试]
+ 修正资产信息 --> 填写订单信息
+ 资产校验 -->|是| 套餐校验{套餐是否在可售范围内?}
+
+ 套餐校验 -->|否| 更换套餐[更换套餐后重试]
+ 更换套餐 --> 填写订单信息
+ 套餐校验 -->|是| 套餐类型校验{本单购买主套餐还是加油包?}
+
+ 套餐类型校验 -->|主套餐| 主套餐规则说明[主套餐规则
若当前已有生效主套餐
新主套餐进入排队]
+ 套餐类型校验 -->|加油包| 加油包前置校验{当前是否已有主套餐?}
+ 加油包前置校验 -->|否| 无主套餐结束[无主套餐不可购买加油包]
+ 加油包前置校验 -->|是| 加油包规则说明[加油包规则
1 加油包立即生效
2 有效期与当前主套餐一致]
+
+ 主套餐规则说明 --> 后台规则说明[后台规则
后台订单不触发强充]
+ 加油包规则说明 --> 后台规则说明
+
+ 后台规则说明 --> 支付方式判断{选择支付方式}
+ 支付方式判断 -->|钱包支付| 进入钱包支付节点
+ 支付方式判断 -->|线下支付| 进入线下支付节点
+
+ 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
+```
diff --git a/docs/系统流程图/12.C端订单流程.md b/docs/系统流程图/12.C端订单流程.md
index e69de29..40fab85 100644
--- a/docs/系统流程图/12.C端订单流程.md
+++ b/docs/系统流程图/12.C端订单流程.md
@@ -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
+```
diff --git a/docs/系统流程图/13.换货流程.md b/docs/系统流程图/13.换货流程.md
index e69de29..d143023 100644
--- a/docs/系统流程图/13.换货流程.md
+++ b/docs/系统流程图/13.换货流程.md
@@ -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
+```
diff --git a/docs/系统流程图/14.资产日常管控流程.md b/docs/系统流程图/14.资产日常管控流程.md
index e69de29..2c552ed 100644
--- a/docs/系统流程图/14.资产日常管控流程.md
+++ b/docs/系统流程图/14.资产日常管控流程.md
@@ -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
+```
diff --git a/docs/系统流程图/15.企业客户入驻流程.md b/docs/系统流程图/15.企业客户入驻流程.md
index e69de29..43f1971 100644
--- a/docs/系统流程图/15.企业客户入驻流程.md
+++ b/docs/系统流程图/15.企业客户入驻流程.md
@@ -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
+```
diff --git a/docs/系统流程图/2.平台人员账号创建流程.md b/docs/系统流程图/2.平台人员账号创建流程.md
index 36d52a0..6073019 100644
--- a/docs/系统流程图/2.平台人员账号创建流程.md
+++ b/docs/系统流程图/2.平台人员账号创建流程.md
@@ -1,53 +1,55 @@
```mermaid
---
-title: 2.员工账号新建与权限分配业务流程
+title: 2.平台人员账号创建流程
---
flowchart TD
- Start((开始))
- --> Login[使用超级管理员账号登录]
+ Start((开始))
+ --> 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{选择账号类型}
-
- ChooseRoleType -->|平台用户| CreatePlatformUser[新建平台用户]
- ChooseRoleType -->|超级管理员| CreateSuperAdmin[新建超级管理员用户]
+ SubmitWithRole --> CreateDone[账号创建完成]
+ AssignRoleLater --> CreateDone
+ SubmitSuper --> CreateDone
- 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
-```
\ No newline at end of file
+ class HasPermission,SelectAccountType,RoleAtCreate,CreateResult,VerifyResult decision
+```
diff --git a/docs/系统流程图/3.代理入驻(店铺新建)流程.md b/docs/系统流程图/3.代理入驻(店铺新建)流程.md
index 81b77e7..c3cb16e 100644
--- a/docs/系统流程图/3.代理入驻(店铺新建)流程.md
+++ b/docs/系统流程图/3.代理入驻(店铺新建)流程.md
@@ -1,71 +1,62 @@
```mermaid
---
-title: 3. 代理入驻(店铺新建)及店铺账号新增流程
+title: 3.代理入驻(店铺新建)流程
---
flowchart TD
- Start((开始))
- --> Login[使用超级管理员或有权限账号登录]
+ Start((开始))
+ --> 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
-```
\ No newline at end of file
+ class HasPermission,SelectParent,ShopCreateResult,ShopVerifyResult,NeedExtraAccount,ExtraAccountResult decision
+```
diff --git a/docs/系统流程图/4.为资产预设套餐系列流程.md b/docs/系统流程图/4.为资产预设套餐系列流程.md
index 66fd44c..b0c4200 100644
--- a/docs/系统流程图/4.为资产预设套餐系列流程.md
+++ b/docs/系统流程图/4.为资产预设套餐系列流程.md
@@ -1,3 +1,78 @@
```mermaid
+---
+title: 4.为资产预设套餐系列流程
+---
+flowchart TD
+ 开始((开始))
+ --> 登录系统[使用超级管理员或有权限账号登录]
-```
\ No newline at end of file
+ 登录系统 --> 权限判断{是否具备资产套餐系列预设权限?}
+ 权限判断 -->|否| 无权限结束[无权限,流程终止]
+ 权限判断 -->|是| 进入预设页面[进入资产预设套餐系列]
+
+ 进入预设页面 --> 选择资产类型{选择资产类型}
+ 选择资产类型 -->|单卡| 进入单卡预设[进入单卡预设]
+ 选择资产类型 -->|设备| 进入设备预设[进入设备预设]
+
+ 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
+
+```
diff --git a/docs/系统流程图/4.资产分配流程.md b/docs/系统流程图/4.资产分配流程.md
index e69de29..5d6fb6f 100644
--- a/docs/系统流程图/4.资产分配流程.md
+++ b/docs/系统流程图/4.资产分配流程.md
@@ -0,0 +1,74 @@
+```mermaid
+---
+title: 4.资产分配流程
+---
+flowchart TD
+ 开始((开始))
+ --> 登录系统[使用超级管理员或有权限账号登录]
+
+ 登录系统 --> 权限判断{是否具备资产分配权限?}
+ 权限判断 -->|否| 无权限结束[无权限,流程终止]
+ 权限判断 -->|是| 进入资产管理[进入资产管理]
+
+ 进入资产管理 --> 选择资产类型{选择分配资产类型}
+ 选择资产类型 -->|单卡分配| 进入单卡分配[进入单卡分配]
+ 选择资产类型 -->|设备分配| 进入设备分配[进入设备分配]
+
+ subgraph 分配准备
+ 进入单卡分配 --> 选择目标店铺[选择目标店铺]
+ 进入设备分配 --> 选择目标店铺
+
+ 选择目标店铺 --> 操作者判断{是否为超管或平台账号?}
+ 操作者判断 -->|是| 跨级允许[可跨级分配目标店铺]
+ 跨级允许 --> 选择资产范围[选择待分配资产]
+ 操作者判断 -->|否| 下级关系校验{目标店铺是否为直属下级?}
+ 下级关系校验 -->|否| 关系不符[代理仅可分配直属下级,返回重选]
+ 关系不符 --> 选择目标店铺
+ 下级关系校验 -->|是| 选择资产范围
+
+ 选择资产范围 --> 资产归属校验{资产是否属于当前可分配范围?}
+ 资产归属校验 -->|否| 调整资产范围[剔除不符合资产后重新选择]
+ 调整资产范围 --> 选择资产范围
+ 资产归属校验 -->|是| 分配条件说明[分配条件说明
1. 单卡必须未绑定设备
2. 平台分配单卡时仅可分配在库资产
3. 代理分配单卡时可继续下发已分销资产
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
+```
diff --git a/docs/系统流程图/5.套餐分配流程.md b/docs/系统流程图/5.套餐分配流程.md
index e69de29..c10d297 100644
--- a/docs/系统流程图/5.套餐分配流程.md
+++ b/docs/系统流程图/5.套餐分配流程.md
@@ -0,0 +1,63 @@
+```mermaid
+---
+title: 5.套餐分配流程
+---
+flowchart TD
+ 开始((开始))
+ --> 登录系统[使用超管 平台或代理账号登录]
+
+ 登录系统 --> 权限判断{是否具备套餐分配权限?}
+ 权限判断 -->|否| 无权限结束[无权限,流程终止]
+ 权限判断 -->|是| 进入套餐分配[进入套餐分配管理]
+
+ subgraph 分配准备
+ 进入套餐分配 --> 选择目标店铺[选择被分配店铺]
+ 选择目标店铺 --> 操作者判断{是否为超管或平台账号?}
+ 操作者判断 -->|是| 跨级允许[可跨级选择目标店铺]
+ 跨级允许 --> 选择系列和套餐[选择要分配的系列与套餐]
+ 操作者判断 -->|否| 下级校验{目标店铺是否直属下级?}
+ 下级校验 -->|否| 重选店铺[仅可分配给直属下级]
+ 重选店铺 --> 选择目标店铺
+ 下级校验 -->|是| 选择系列和套餐
+
+ 选择系列和套餐 --> 套餐权限校验{是否拥有该系列和套餐分配权限?}
+ 套餐权限校验 -->|否| 更换套餐[更换系列或套餐后重试]
+ 更换套餐 --> 选择系列和套餐
+ 套餐权限校验 -->|是| 填写分配规则[填写成本价 零售价 上架状态]
+ end
+
+ subgraph 规则检查阶段
+ 填写分配规则 --> 规则说明[分配规则说明
1 下级成本价不能低于本级成本价
2 仅能分配自己有权限的套餐
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
+```
diff --git a/docs/系统流程图/6.购买套餐流程.md b/docs/系统流程图/6.购买套餐流程.md
index e69de29..768ff11 100644
--- a/docs/系统流程图/6.购买套餐流程.md
+++ b/docs/系统流程图/6.购买套餐流程.md
@@ -0,0 +1,65 @@
+```mermaid
+---
+title: 6.购买套餐流程
+---
+flowchart TD
+ 开始((开始))
+ --> 进入购买入口[进入购买套餐入口]
+
+ 进入购买入口 --> 选择购买渠道{选择购买渠道}
+ 选择购买渠道 -->|后台购买| 后台购买准备[进入后台购买流程]
+ 选择购买渠道 -->|客户端自助购买| 客户购买准备[进入客户端购买流程]
+
+ subgraph 后台购买主线
+ 后台购买准备 --> 后台校验资产和套餐[校验资产归属与套餐可售]
+ 后台校验资产和套餐 --> 后台规则说明[后台购买规则
1 后台购买不触发强充
2 后台购买不触发一次性佣金]
+ 后台规则说明 --> 后台创建订单[提交后台订单]
+ 后台创建订单 --> 后台支付结果{后台支付是否成功?}
+ 后台支付结果 -->|否| 后台重试[调整信息后重新下单]
+ 后台重试 --> 后台购买准备
+ 后台支付结果 -->|是| 后台激活套餐[完成套餐激活]
+ 后台激活套餐 --> 后台差价说明[后台差价收益说明
1 平台代购按跨级店铺逐级计算差价收益
2 代理为下级代购时差价在代购环节处理 不再重复链路分配]
+ end
+
+ subgraph 客户购买主线
+ 客户购买准备 --> 客户校验资产和套餐[校验资产归属与套餐可售]
+ 客户校验资产和套餐 --> 实名判断{是否需要先实名?}
+ 实名判断 -->|是| 完成实名[先完成实名认证]
+ 完成实名 --> 客户下单前校验
+ 实名判断 -->|否| 客户下单前校验[进入下单前校验]
+
+ 客户下单前校验 --> 强充判断{是否命中强充规则?}
+ 强充判断 -->|是| 强充处理[按强充金额先完成充值后继续购买]
+ 强充处理 --> 客户支付
+ 强充判断 -->|否| 客户支付[直接发起套餐支付]
+
+ 客户支付 --> 客户支付结果{客户支付是否成功?}
+ 客户支付结果 -->|否| 客户重试[重新支付或更换套餐]
+ 客户重试 --> 客户购买准备
+ 客户支付结果 -->|是| 客户激活套餐[完成套餐激活]
+ 客户激活套餐 --> 客户佣金说明[客户端佣金规则
1 可按规则触发一次性佣金
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
+```
diff --git a/docs/系统流程图/7.佣金产生细节说明.md b/docs/系统流程图/7.佣金产生细节说明.md
index e69de29..304dddf 100644
--- a/docs/系统流程图/7.佣金产生细节说明.md
+++ b/docs/系统流程图/7.佣金产生细节说明.md
@@ -0,0 +1,64 @@
+```mermaid
+---
+title: 7.佣金产生细节说明
+---
+flowchart TD
+ 开始((开始))
+ --> 订单完成[订单完成并进入佣金核算]
+
+ 订单完成 --> 来源判断{订单来源}
+ 来源判断 -->|后台订单| 后台类型判断{后台订单类型}
+ 来源判断 -->|客户端订单| 客户端订单口径[客户端订单进入佣金计算]
+
+ 后台类型判断 -->|平台代购| 平台代购口径[参与跨级差价链式分配]
+ 后台类型判断 -->|代理自购或代理代购| 后台一次性跳过[后台订单不触发一次性佣金]
+
+ 平台代购口径 --> 差价链路入口[进入差价链式分配]
+ 客户端订单口径 --> 差价链路入口
+ 后台一次性跳过 --> 差价口径判断{是否需要差价链式分配?}
+ 差价口径判断 -->|否| 进入核查
+ 差价口径判断 -->|是| 差价链路入口
+
+ subgraph 差价链式分配
+ 差价链路入口 --> 差价链式说明[跨级差价链式说明
1 以销售店铺为起点逐级向上分配
2 每一级只拿自己与下一级的成本价差
3 直到链路顶层或无上级为止]
+ 差价链式说明 --> 差价逐级计算[按店铺层级逐级计算差价收益]
+ 差价逐级计算 --> 差价入账[差价收益入账]
+ end
+
+ 客户端订单口径 --> 一次性入口{是否满足一次性佣金前提?}
+ 一次性入口 -->|否| 一次性跳过[本单不产生一次性佣金]
+ 一次性入口 -->|是| 一次性规则判断[判断首充或累计触发条件]
+
+ subgraph 一次性链式分配
+ 一次性规则判断 --> 一次性触发判断{是否达到触发要求?}
+ 一次性触发判断 -->|否| 一次性跳过
+ 一次性触发判断 -->|是| 一次性链式说明[一次性链式说明
1 下级先拿配置给下级的金额
2 上级拿本级可得金额与下级金额的差额
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
+```
diff --git a/docs/系统流程图/8.代理佣金提现以及审批流程.md b/docs/系统流程图/8.代理佣金提现以及审批流程.md
index e69de29..4cd2ad9 100644
--- a/docs/系统流程图/8.代理佣金提现以及审批流程.md
+++ b/docs/系统流程图/8.代理佣金提现以及审批流程.md
@@ -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
+```
diff --git a/docs/系统流程图/9.代理充值流程.md b/docs/系统流程图/9.代理充值流程.md
index e69de29..387d45f 100644
--- a/docs/系统流程图/9.代理充值流程.md
+++ b/docs/系统流程图/9.代理充值流程.md
@@ -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
+```
diff --git a/internal/gateway/client.go b/internal/gateway/client.go
index ae243f2..696f72a 100644
--- a/internal/gateway/client.go
+++ b/internal/gateway/client.go
@@ -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 响应失败")