钱包“高阶”玩法
为什么要写这个案例,因为对我来说印象比较深
一方面在面试滴滴和美团的高P时都被问到过,另一方面它也是实战营的作业,在讲解过程中又产生了新的观点
总之,这是一个非常实用的案例,并且,对综合素养要求较高,案例涉及面比较广,所以拿出来跟大家唠唠
01.一提多户的局面
很多公司会存在多条业务,这时候有些公司每个业务线都会有一个钱包业务,这样就造成了商家端钱包的分散
一个商家在每个业务线都有一个钱包,分别管理余额、提现、绑卡、支付密码等,资金管理体验比较差
此时,就可能要对各业务线的钱包进行统一,统一以后商家仅需管理一个钱包,绑定一张卡、设置一个密码,一次完成多账户的同时提现,提高资金管理效率,提升商家的结算体验
此时,钱包的提现就就2个核心问题要解决:
有多少:需要有系统告知钱包当前的可提金额是多少,以及这些余额分别来自哪些账户,每个账户有多少
怎么提:当商家输入提现金额时,需要有系统告知钱包,本笔提现要从哪些账户出,每个账户出多少,所以需要一个分配的策略
接下来我们做的就是解决这2个核心诉求
02.解决问题前要想明白几个关键
以上的诉求,我们可以转换为“钱包的余额查询、提现预加工的支持”这样两个更明确的诉求,其中有几个关键点要想明白
(1)可提余额并不一定等于账户可用余额的总和
因为有提现手续费的存在,导致个别账户可能不满足最低提现金额要求,所以说可提金额不一定等于可用余额的总和
就比如一个账户里只有2毛钱,而提现手续费要5毛,那就无法完成提现
(2)可提余额不代表用户要提的金额
因为他可能只选择提取其中的一部分,所以要计算这部分金额应该如何分配到账户;除非让用户选择那个账户提多少,但这样就失去了统一钱包的意义了
如例:可提金额是11.5;此时用户仅提现“8元”,该怎么处理,根据提现扣款顺序的设定,如上表所示;顺序代表扣款顺序
实际扣款如表最后一列:账户1扣1.5,账户2扣6.5;
用户每输入一次提现金额,就执行一次预计算,并实时反馈给用户
钱包N总余额=账户A余额+账户B余额+账户C余额
钱包N可用余额=账户A余额+账户B余额+账户C余额
提现请求ID
提现金额X