公司开发了一套积分系统计划与银行对接的,就是我们这边系统参加活动可以获得积分,获得的积分可以换取银行的积分,银行积分可以兑换商品 这块设计思路有大佬碰到做过的吗,或者网上有啥好的例子嘛 主要考虑的几点
1
BeforeTooLate 2023-10-31 16:54:35 +08:00
问题是银行怎么给你们对接
|
2
Conantv2 2023-10-31 16:57:54 +08:00
这不就是最基础的增删查改吗,没啥难度啊,只是细节需要注意,特别是鉴权和并发扣减锁定,但是细节这种东西也没法几句话说清楚。
|
3
tomatocici2333 2023-10-31 17:46:57 +08:00
借鉴一下支付系统要注意的就好了
|
4
aLazarus 2023-10-31 17:49:29 +08:00
还有接口幂等性
|
5
oldking24 2023-10-31 18:49:51 +08:00 via Android
分布式事务
|
6
lekai63 2023-11-01 10:12:14 +08:00
楼上是要蹲一个开源方案吗?
|
8
coderMonkey OP @lekai63
@tomatocici2333 @BeforeTooLate 公司是让我负责跟银行对接,商讨双方对接方案,比如如何鉴权,我这边积分扣减,银行积分增加如何保证一致等这些问题,不能出现银行多次扣减,我这边积分没有扣减的情况,类似种种。我觉得目前应该有这种成熟的方案了,就是不知道怎么找 |
9
yogogo 2023-11-01 16:16:55 +08:00
事务开始,积分余额表悲观锁用户行,扣减用户积分,提交到银行,等待银行处理结果,成功提交事务,失败回滚事务
|
10
pigf 2023-11-01 17:03:42 +08:00
往来的接口都需要对参数做非对称加密,每笔交易都有一个唯一 id 标识,并且消费端要允许重复消费,消费端接收到消息之后需要通知生产端,ack 掉这条消息,否则生产端在发送之后的一段时间之内需要重发,知道消息消费成功,或者失败(触发失败通知)
|
11
kkk9 2023-11-01 19:01:37 +08:00
获得的积分可以换取银行的积分,银行积分可以兑换商品
如果你只负责公司系统,后面的银行积分兑换商品不归你负责的话,悲观锁设计, 用户积分->银行积分->等待回调->失败回滚,成功应用。剩下的都和你没关系,银行头痛去。 |