V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
coderMonkey
V2EX  ›  程序员

积分兑换系统

  •  
  •   coderMonkey · 2023-10-31 16:48:34 +08:00 · 1462 次点击
    这是一个创建于 423 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司开发了一套积分系统计划与银行对接的,就是我们这边系统参加活动可以获得积分,获得的积分可以换取银行的积分,银行积分可以兑换商品 这块设计思路有大佬碰到做过的吗,或者网上有啥好的例子嘛 主要考虑的几点

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

    如果你只负责公司系统,后面的银行积分兑换商品不归你负责的话,悲观锁设计,

    用户积分->银行积分->等待回调->失败回滚,成功应用。剩下的都和你没关系,银行头痛去。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2973 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:13 · PVG 19:13 · LAX 03:13 · JFK 06:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.