一、模块功能1、交易订单管理模块 通过和交易服务交互,调取交易服务dubbo 接口,查询订单管理列表,可对交易订单进行售后申请处理2、售后申请模块 客服通过后台批量申请售后、用户通过app 申请售后处理,生成对应的售后申请单 主要流程:先将交易订单信息转化为售后订单信息,依次创建售后申请订单信息、退款订单信息,售后订单状态track跟踪等 售后申请表、退款订单信息每月订单数据量约有400w 左右,所以采用售后申请时间yymmdd 的格式分表,track跟踪等表则采用对id 取模分表 数据落库完成后,还需将数据同步到es,页面售后订单需要做分页查询处理,因为数据库采用了分库分表,所以将数据同步到es, 页面查询售后单服务通过查询es 查询数据 最后通过mq 通知其他服务如:履约中心进行截单处理,交易售后此交易订单已发送售后等 3、售后单初审模块(客服对售后单进行初次审核) 初审分为单个售后单初审和批量售后单初审,批量售后初审时,单量较大采用异步方式提交。将批量售后初审参数存入redis zset 数据格式 后续通过elasticjob 定时执行,从zset 中拉取批量售后初审单,将批量任务按批次切割,通过异步线程池执行售后初审 4、售后单复审模块 初审完成后,售后可进入复审阶段。客服复审无异议,则可执行复审,否则可以驳回重新初审。 复审流程:更新售后单状态,审核信息,同步es ,通过mq 通知资金服务可以开始退款 最后需要订阅资金mq 退款消息,处理售后单退款是否成功后续流程 5、订单取消模块 订单取消可以是用户在app 操作 或客服帮忙取消订单。通用客服取消可以按照条件批量处理。批量任务提交时逻辑同批量初审,同样采用异步方式。 订单取消模块,不需要进行初审、复核操作。直接生成对应的售后退款订单。 在通过mq 通知交易订单取消、履约进行截单、资金退款。 二、主要技术栈交易售后的内部业务非常复杂,同时涉及上下游服务也很多。这里只列举了其中核心的模块流程。 售后主要分为用户售后和客服售后。 数据库层面主要分为两个库。交易核心库和用户库。 交易库采用了shardingsphere 对售后订单,退款单等表进行分表处理。 用户库则根据用户id 进行分库分表。同时将数据库通过异步队列同步到es 。 如果通过失败后续通过任务进行补偿.通过RocketMQ 解耦与上下游的操作。使用redis 做缓存处理,和需要分布式锁处理的操作,及批量任务的存储操作通过异步线程池解决批量任务处理,提升并发任务性能。 采用分布式job elasticjob 处理需要做定时任务的解决方案

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论