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