7、页面流程控制
前端调用
接口 /getJumpUrl,获取用户下一步跳转页面
读取currentFlowStatus
获取节点状态对应url
接口 /getRestartUrl,用户被拒贷、用户二次确认超时时,获取重新借款跳转页面
读取channel_user_flow_config中,restart_flow_status
获取节点状态对应url
服务端调用
KaniuSupportService.completeCurrentFlow,newchannel项目内使用
从channel_user_flow_config中读取用户下一个状态节点
更改用户当前节点状态<br>记录变更日志
接口 /completeCurrentFlowStatus,外部系统调用<br>(1、提现风控回调,进件状态变更为3 2、放款回调,进件状态变更为11)
卡牛接口梳理
备注
测试:http://puhui-newchannel.newchannel.test
生产:http://puhui-newchannel.newchannel.production
子主题
接口前缀:/kn/v1,加上域前缀,加上接口名称,示例:/kn/v1/withdraw/withdrawApplyInfo
子主题
2、授信相关/credit
- 授信项列表
接口:/creditItemlist
- 更新授信项状态
接口:/updateCreditState
3、提现相关/withdraw
- 获取提现信息(期数、额度)
接口:/getPeriodSegment
4、银行卡相关/bank
- 京东绑卡 & 重发短信
接口:/addBankCard
- 京东确认签约
接口:/agreementSignConfirm
- 通过提现申请编号更换划扣银行卡
接口:/changeDeductCard
- 获取系统支持的银行卡列表
接口:/suppotBanks
- 获取用户绑定的划扣银行卡列表
接口:/bindedCardList
- 通过bankCardId查询指定划扣银行卡信息
接口:/bankCardInfo
5、支撑相关/support
- 获取重新提现申请url
接口:/getRestartUrl
完成当前流程节点<br>供提现风控通过后状态变为3<br>放款回调状态变为11使用
接口: /completeCurrentFlowStatus
- 更新用户隐私协议是否同意状态信息(新增)
接口:/updatePrivacyAgreementInfo
- 卡牛推拉数据
内部接口:KaniuPullAndPushService
- 问题反馈
- 问题反馈列表带翻页
接口:/list4page
- 问题反馈-设置某条失效
接口:/setQuestionInvalid
测试用例
<p style="font-stretch: normal; font-size: 13px; line-height: normal; font-family: ".SF NS Text";">无法登录</p><br>
用户不在白名单
用户不在pre_user_credit
白名单已过期
在pre_user_credit对应的记录user_credit=0.0<br>
所有记录都为is_disabled=0.0
可以登录
新用户
跳转
pre_user_credit的real_name回写
不在白名单用户但有还款/二次确认的进件
<p style="font-stretch: normal; font-size: 10px; line-height: normal; font-family: ".SF NS Text";">授信项credit_card 24小时抓一次,sdk半个小时抓一次</p><br>
授信
额度一直没有生成
额度为0
必填项没有都授信
授信项填了之后没有抓取完成
只有选填的授信项未填写
进件
可以记住用户选取的额度和期数
可以绑定多张卡
银行列表正确
绑定成功各种银行数据并能显示正确
绑定多张卡
可新建和修改用户补充信息
邮箱格式不符合规则
没有输入所有信息
个人中心
埋点
老卡牛用户
不在白名单
不在白名单用户但有还款中的进件
不在白名单用户但有二次确认的进件
联调进度
实名
<div> 1. 实名会修改user表的channel_user_id -- pass</div><div> 2. 实名后无法跳转 --无法重现</div>
授信
<div> 1. 淘宝跳转不正常 -- fail 填写后没有马上更新成”已完成“</div><div> 2. 初始应该显示 “计算中” -- pass</div><div> 3. 实名过的老卡牛用户直接到授信页面没有到隐私协议 -- pass 隐私协议点空白处会关闭</div><div> 4. 授信页面点提现没有调/credit/withdrawApply,导致没法到提现页面 --pass</div><div> 5. 运营商完成后不是马上更新 -- pass</div><div> 6. 填写完运营商不需要提示“操作成功” -- fail</div><div> 7.<span style="font-family: "Microsoft YaHei", STXihei; font-size: 14px; white-space: pre-wrap; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">在三星 S8显示有问题 ---pass</span></div>
绑卡
<div>1. 姓名和手机号没有带入 -- pass</div><div> 2. 开户银行选择列表图标显示不正确 -- fail</div><div> 3. 绑卡发送验证码可以快速点击多次 -- fail 时间没有倒计时</div><div> 4. 绑卡报验证码错误(当卡已经存在)-- 没有重现</div>
提现
<div> 1. 选择期限滚动有问题 --pass</div><div> 2. 借款金额最小额度显示风控返回的minAmount -- 需求变更 pass</div><div> 3. 借款金额的列表从大到小显示 -- pass</div><div> 4. 页面拉到最下面然后输入错误邮箱,再往上拉拽,页面会再次刷新成白屏 --pass</div><div> 5. 期限选择有3期-- hanzhao手机号 --pass</div><div> 6. 选择的期数和产品id对不上 --pass</div><div> 7. 选择额度是10000以上也只显示12期 -- pass</div><div> 8. 现在额度只有25000,却能选择100000 -- pass</div><div> 9. 选择36期,却能选10000以下的 --pass</div><div> 10. 二次确认复借后productid还是原来的 --pass</div><div> 11. 前段显示的提现额度列表 与 数据库中不一致 --pass</div><div> 12. 拒贷后 应该有个 30天的 倒计时 --pass</div><div> 13. 隐私协议 走第一遍正常流程时 前段页面不能正常弹出 --pass</div><div> 14. 当用户有kaniu的进件,无法显示进件信息 -- pass</div><div> </div><div>18. d标签提现,风控标签会据贷 --pass</div><div>19.现在修改额度都会修改借款期限(比如选20000,借款期限会变成12期)--pass</div><div>变成12期后, 打开期限(24期还默认选中),点完成无反应</div><div><br></div><div>承诺书暂缓</div><div> 15. 承诺书点空白处会自动消失,导致无法进件 </div><div> 16. 点完承诺书的我知道了,跳转过程中不应该显示提现页面</div><div> 17. 承诺书需要存表,跟人走</div><div><br></div><div><br></div>
进度页面
<div> 1. 拒贷后进入二次确认页面 -- pass</div><div> 2. 拒贷后没有提示30天复借 -- pass</div>
二次确认页面
<div> 1. 二次确认异常(选的期数和产品id不一致)--pass</div><div> 2. 二次确认超时后点重新申请后没有调 /getRestartUrl -- pass</div><div> 3. 没有倒计时 -- pass</div><div> 4. 点确认按钮没调 jump,页面停留在二次确认页面</div><div> 5. 推标报错 -- pass</div><div> 6. 二次确认未超时,显示“重新申请”</div><div><br></div>
子主题
跳转
<div> 已有</div><div> 1. 在三星 S8显示有问题 --pass</div><div> 2. 部分gps数据拉取有问题 -- pass</div><div> 3. 互斥之后有app还会下载 --fail</div><div> 4. 判断填了常规授信项后才没有隐私协议 -- pass</div><div> 5. 点击空白处会关闭隐私协议,页面无法跳转 --pass</div><div> 6. 隐私协议会透传--fail 优先级很低<br> 7.在钱站中注册实名认证后,到卡牛中登陆,互斥原则通过,<br>但是没有跳隐私协议--pass</div>
2、跳转接口
卡牛跳转钱站
校验卡牛方入参
未通过,返回错误
通过,使用channelUserId查询channel_relation表
存在,为渠道老用户
使用userId查询用户最新的channelUserId<br>更新user表中记录的channel_user_id为最新
查询pre_user_credit表,获取用户最新的channelCode(kaniu/kaniu_pre)<br>更新channel_relation中对应channelUserId的channelCode
查询withdraw_apply表,判断是否有卡牛非终态的进件
包含非终态进件,判断用户是否同意过隐私协议
未同意过
获取用户当前状态跳转URL
增加展示隐私协议图层参数
同意过
不包含非终态进件<br>判断用户是否为卡牛预授信用户
非卡牛预授信
卡牛预授信
不存在,为渠道新用户。查询channelUserId是否在卡牛白名单列表中
不是白名单用户
是白名单用户,判断手机号在nirvana.user表中是否注册
已注册,更新user表中对应记录的channel_user_id
新建channel_relation记录
判断用户是否被登录渠道互斥
未被互斥
判断用户是否被进件渠道/还款渠道互斥
被互斥
未被互斥
获取用户当前状态跳转URL
使用手机号登录,将登录后的token值放到url参数中
将用户当前的渠道号channelCode放到url参数中
页面跳转
未注册,使用手机号在user表中注册新用户
新建channel_relation记录
获取用户当前状态跳转URL
1、获取用户当前所处节点状态
子主题
使用usreId和channelCode查询channel_user_flow_current_status表<br>判断用户有无当前节点状态
用户有当前节点状态
用户当前节点状态为实名认证,id_card_auth
通过user表中id_no是否为空<br>判断用户是否已经进行了实名认证
若已经进行了实名认证
获取用户下一个流程节点
更改用户当前节点状态<br>记录变更日志
若用户已实名认证<br>拉取推送卡牛数据<br>若已实名并且信用卡信息拉取时间超过24小时或不存在信用卡授信项<br>发起授信风控
执行步骤2
仍未实名
用户当前节点状态为还款,repay
通过user_id和login_channel_code查询withdraw_apply中最新一条数据<br>改进件状态是否为已结清
已经结清
获取用户流程节点配置中restart节点
更改用户当前节点状态<br>记录变更日志
未结清
用户当前节点状态为其它
子主题
用户无当前节点状态
获取渠道流程配置<br>新建用户流程配置或更新
判断用户是否实名认证
未实名,插入用户当前节点状态为实名认证,id_card_auth
更改用户当前节点状态<br>记录变更日志
已实名<br>通过用户最新卡牛进件状态判断用户当前节点状态
2、获取节点状态对应url
判断当前节点状态是否为隐私协议
是隐私协议,判断用户是否同意了隐私协议
未同意
获取用户流程配置中下一个流程节点
获取节点对应URL
在URL中增加展示隐私协议参数
非隐私协议
推拉卡牛数据
1、根据 userId & channelCode 查询 channel_relation
失败返回
2、根据 userid & channelCode & creditType 查询 channel_credit_item_status 是否存在
不存在
存在 & 授信项已过期(<br>查询授信项在channel_credit_item_status 的 createTime<br>- gps/devices 大于30m<br>- creditCard/creditCardOthers 大于24h)
根据 channelUserId & channelCode & creditType 查询 mongo 是否存在原始数据
存在
取出原始数据以及授信项的 requestId
不存在
调用卡牛接口获取原始数据
失败返回,执行重试逻辑
成功
请求风控获取授信项 requestid
将数据存入 Mongo
发送授信项数据给数据派
失败返回,执行重试逻辑
成功
插入 channel_credit_item_status
备注:授信项有三个(gps & devices & credit_card & credit_card_others)<br> 每种授信项从卡牛拉取数据有3次重试机制,如果失败当前生命周期内不做处理
大坑
卡牛发送授信风控时 credit_card & credit_card_others 给风控传的是 knpcc
例子:[{"channelCode":"kaniu_pre","createTime":null,"creditItemCode":"credit_card_others","requestId":"324201809041030249"}]<br>这里面的creditItemCode改成knpcc