发布 January 1, 0001 • 1 分钟 • 91 字
@startuml
start
:用户登录系统;
:发起提现请求;
:参数验证;
if (参数验证通过?) then (yes)
:防越权token验证;
if (token验证通过?) then (yes)
:支付密码验证;
if (支付密码验证通过?) then (yes)
:检查单笔限额;
if (在单笔限额内?) then (yes)
:检查累计限额;
if (在累计限额内?) then (yes)
:风控检查;
if (风控通过?) then (yes)
:计算手续费;
:保存订单;
:更新提现订单状态为审核中;
:冻结用户资金账户;
:冻结系统资金账户;
:提现资金清算订单落库;
:内外部凭证落库;
:检查提现处理限额;
if (提现金额大于处理限额?) then (yes)
:进入人工审核;
:通知用户进入人工审核;
else (no)
:处理提现逻辑;
if (预冻结成功?) then (yes)
:调用链上账户提现转账;
:更新订单状态为处理中;
:通知用户提现成功;
else (no)
:解冻用户资金账户;
:解冻系统资金账户;
:通知用户预冻结失败;
endif
endif
else (no)
:通知用户风控失败;
endif
else (no)
:通知用户超过累计限额;
endif
else (no)
:通知用户超过单笔限额;
endif
else (no)
:通知用户支付密码错误;
endif
else (no)
:通知用户token验证失败;
endif
else (no)
:通知用户参数错误;
endif
stop
@enduml