优付系统结构如下。一个数据库之上,有商户接口(RestAPI)、运营后台(OMS)、商户门户这3个独立SSM应用,三者有各自不同的功能处理逻辑。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yM3cDN5EDOxIzM3YzMmRzYyYzX1UDOyATM2AzLcdDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
现在呢,要做一个补偿工具。当付款单下发因为系统发版等意外导致失败时,要通过这个工具,来人工重发。
工具要做到运用后台(OMS)系统。
但是,付款单下发逻辑在商户接口服务里。
那么,如何实现这个小小的优化需求呢?
方案如下:
1. 商户接口服务新增一个RestAPI,供OMS调用。这样的话,要做好RestAPI的接口认证,保证接口安全,防止误访问。那么,OMS对接就会有这些工作量。
2. 考虑到是同一个数据库,所以,可以建一个表,OMS保存要补偿的订单。商户接口服务定时轮询这个表进行处理。不足:定时任务,处理时效慢。