积分系统的设计

        使用APP用户进行签到、学习课程内容、参与互动问答以及提交学习笔记等一系列行为,均可累计积分,系统会依据这些积分生成排行榜。

如何获取积分:

每日签到

5/5
课程学习5/50
课程评论10/50
回答问题10/20
学习笔记10/20

根据产品原型可以得到积分表需要记录下列信息:

• 本次得到积分值

• 积分方式

• 获取积分时间

• 获取积分的人

一、新增积分

需求分析

        用户参与特定行为就能获积分,系统会据此生成排行榜。要注意,积分仅当月有效,每月月底清零。从需求上看,显然不能让其他业务开发者在开发时额外加积分记录代码,这会使原有业务与积分业务耦合,增加系统复杂度和维护成本。所以,必须采用异步方式解耦原有业务与积分业务。必要时,还能把积分业务抽离出来做成独立微服务,提升系统灵活性与可扩展性,减少业务模块间相互影响,为后续迭代和优化打基础

实现流程:

在任何添加积分的行为的地方,利用mq的消息队列进行监听,将添加的积分数放入队列中,添加积分的业务接收消息

1、首先会判断是否达到本类型积分的上限,如果超出乐不作处理直接返回

2、要保证添加剂分后不会溢出

二、查询积分

可以看到,页面需要的数据:

积分类型描述、今日已获取积分值、积分上限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值