每日一博 | 同城售后系统退款业务重构心得
一、重构背景 1.1、退款 到家、小时购、天选退款有2套结构,代码逻辑混乱; 其中小时购、天选部分售后单是和平生pop交互退款,部分是和售后中台交互退款;并且兼容3套逻辑; 痛点:代码繁重,缺乏合理性的设计,后续迭代开发以及维护成本高,同时增加了系统的风险和不稳定性 1.2、金额计算 到家、小时购两套独立的逻辑结构计算,在此基础上针对退差和非退差又实现了2套逻辑; 针对商品件维度、商品行维度、售后单维度计算金额混乱,缺乏领域边界和分层设计; 痛点:售后单维度、商品行维度、拆分件维度金额计算混乱,代码缺乏层次结构;代码易读性、维护成本、后续扩展性存在问题 1.3、售后逆向账 售后单详情接口、申诉单详情接口,针对到家和小时购做了两套逻辑; 其中售后单详情接口针对小时购黑名单、小时购白名单、天选、到家退差、到家非退差做了5套逻辑处理; 并且这两个接口都是实时从拆分获取金额进行售后逆向拆分计算,可以直接从数据库中进行取值赋值,不需要进行售后单维度的拆分计算; 痛点:代码大量冗余、改动成本高、增加了系统的风险和不稳定性 二、重构思路和方案 2.1、重构思路 什么是重构呢? 名词:对软件内部结构的...

