开户和提现 统称为 待操作
第一步:risk 推送 用户待操作状态 【api/risk/GetP2pRegisterUrl】
1)查询user_order表中对应的订单,获取订单信息
2)查询p2p_bankcard_register表,查看用户是否存在开户/提现数据,
提现操作:如果存在,不许重复插入
开户操作:如果为终态,该订单匹配的资方不可重复插入
3)插入开户/提现数据,记录操作日志
4)发送push和语音提示
5)返回给risk短链接,risk发短信把短链发给用户
6)用户通过短信/app贷中进度页面/首页弹窗进入待操作页面
第二步:提示弹窗(mis配置项),【h5/AuthorizeController/GetOpenAccountTips】
1)进入操作页面前,弹出弹窗展示用户银行卡号,用户可复制银行卡号,点击确认后,进入操作页面,
2)如果没有则不弹
第三步:加载待操作页面
第一类:自有页面,包括联连理财和有利资方
类型1.联连资方:
1)【h5/AuthorizeController/authorizePage】
生成页面,用户信息+绑卡信息
2)【h5/AuthorizeController/VerifyCode】
获取短信验证码
3)【h5/AuthorizeController/AuthorizeResult】
--填写验证码
--拉取risk开户信息
--risk返回确认,设置为开户成功,记录状态日志
4)记录页面点击日志
类型2.有利资方:
1)获取有利资方开户页面【h5/AuthorizeController/GetUserLoanInfo】
2)保存用户个人负债信息【h5/AuthorizeController/SaveUserLoanInfo】
--保存用户个人负债信息
--填写完成,设为开户成功
--通知risk开户成功,推送负债信息,记录状态变更日志
3)记录点击日志
第二类:第三方页面,包括新版联连理财、首金资方、考拉和PPMoney
【h5/SinglepageController/bankcardregister】
1)首先判断当前订单对应的资方操作状态是否为终态,如果是终态返回相应状态
2)不是最终状态,从risk拉取最新状态
3)如果最新状态是待操作状态,则获取第三方页面,否则返回终态
4)第三方页面获取方式有两种
第一种方式:跳转url ,
实现方法:h5直接跳转到这个url (新版联连)
第二种方式:生成渲染页面,
实现方法:h5去拉【h5/SinglepageController/bankcardtpl】接口,调用risk,生成渲染页面,刷到浏览器中 (首金资方、考拉和PPMoney)
5)如果给h5返回的状态是 开户/提现失败,在h5页面展示失败按钮, 然后点击失败按钮,h5拉取【h5/SinglepageController/updatefailstatus】更改状态为待操作,并跳转回待操作页面
6)记录点击日志
第四步:risk通知操作状态 【api/risk/SetP2pRegisterStatus】
1)判断是否为终态,如果是终态risk不可变更状态处理
2)如果不是终态,变更状态,记录状态变更日志
第五步:用户可查看操作状态结果(h5返回页面 贷中进度文案提示)
--超时(开户则切换资方,提现则提示用户打电话)
--成功(贷中进度继续)
--失败(可重新操作)
--申请中(用户等待)
备注:
状态:
1.操作成功 (终态)
2.操作中
3.操作失败 (终态,但可重复操作)
4.操作超时 (终态)
5.等待操作
数据表:
p2p_bankcard_registger 存储用户开户/提现信息和状态变更
p2p_bankcard_registger_log 存储用户开户信息变更记录,(BI统计状态变更)
p2p_bankcard_click_log 存储用户点击行为记录,(BI统计转化率)
系统:
h5 资方页面跳转或生成
risk 资方操作状态
mis 资方弹窗配置
fastlend 订单轴事件展示
todo:
1.新增资方配置 mis
2.拆成单独服务 fastlend