分销与层级关系
推广链可以无限延伸,但分佣、审核、冻结只认明确的规则。把「谁是谁的上级」和「此刻能不能分钱」拆成两件事。
不是「会哪些框架」,是「哪类问题交给我比较放心」。
推广链可以无限延伸,但分佣、审核、冻结只认明确的规则。把「谁是谁的上级」和「此刻能不能分钱」拆成两件事。
钱的路径一步都不能含糊:谁收、谁分、重复通知怎么处理、失败之后怎么回滚。接口写完,还要能对得上账。
小程序里跑得通,不等于 App 壳里跑得通。登录态、硬件权限、打印指令,每一项都要在真机上重新验一遍。
ID 映射、异常分支、重复通知、并发写……先把边界场景列成清单再动手,比事后补洞省事得多。
两个脱敏后的案例,重点不是做成了什么,是当时为什么这么取舍。
扫码注册要绑定推荐人,但审核不通过不能算上级;冻结期间不分佣,解冻后要保留原来的层级。
业务方希望「先绑定、后审核」,同时支持冻结与多次解冻,且历史佣金不能被后来的比例变动影响。
推广链可以无限延伸;佣金按发生时比例锁定;历史数据不允许重算,否则对账会全乱。
把「绑定字段」与「上级字段」拆开,审核通过才写上级;冻结区间单独建表记录多次起止;佣金台账写入时锁定金额。
放弃实时重算层级,换来台账可查、边界清晰、对账不返工。多一张表,少一堆说不清的例外。
业务不变,运行环境从微信小程序换成 Android App 之后,登录与蓝牙打印的行为全变了。
一套收银业务要同时交付小程序和 App,两端共用大部分页面与接口。
登录态来源不同,蓝牙权限与生命周期不同,打印指令在两端的表现也不一致。
抽一层设备适配,把登录与打印做成可替换实现,业务代码只依赖抽象接口,不感知当前运行在哪个端。
多一层抽象,但真机回归范围从「整套业务」缩到「适配层」,后续加新端不用重写页面。
常用而已,不是炫耀清单;遇到合适的工具会换。
写给自己看的复盘,不排名、不摆数据。
以上为示例标题,链接均为占位;替换成你的真实文章地址即可。