JAVA常见业务参加解决方案_大话业务场景与解决方案-做任务

本文介绍了移动端APP中做任务领奖励功能的设计与实现,包括任务依赖其他业务的解耦、后台管理、幂等性保障和高可用方案。通过事件上报、消息队列和数据库设计确保系统的稳定性和扩展性。
摘要由CSDN通过智能技术生成

背景

多数的移动端APP都会有做任务领取奖励的功能模块,这类需求的目的是培养用户使用习惯,提升用户活跃性,用户完成任务获得积分奖励,通过积分兑换商品或者充值话费,微信体现等。

拟定需求场景(如图↓),概要:APP底部导航中新增小任务Tab,点击Tab可查看任务完成进度和领取情况,点击去完成跳转到做任务的业务界面,当用户完成任务并且满足领取条件的时候,任务Tab需要红点提醒用户当前有奖励可领取,用户领取后并且当前没有待领取奖励小红点消失,任务完成进度和领取状态仅保持当天,隔天刷新。

77dac5e0898b8c5507c972799e8218fd.png

业务分析

在开发前需要对需求进行整理,对细节进行确认,然后设计解决方案,预估开发时间,这里将对于业务中核心的内容进行梳理:

用户想要完成任务,需要去操作其他业务功能,如:评论成功后需要完成每日评论任务,关注主题后完成关注新手任务,这里就涉及核心问题,任务需要依赖于其他业务

为了保障后续拓展性,任务需要支持后台管理,配置任务名,描述,任务类型(每日,新手,活动),完成次数,奖励积分数量,去完成跳转uri 等

用户完成任务后不用自动领取奖励,需要进入到任务列表点击领取操作,可领取时导航Tab需要小红点提醒,和产品确认任务的完成和提醒的用户体验 可以接受短时间延迟

用户多次操作业务,或者出现重复操作(恶意并发请求刷积分),保证任务只能完成一次并且只能领取一次奖励,需要保证幂等性

方案设计

核心目标:

任务依赖其他业务,需要进行解耦,不影响其他业务的功能和性能

设计后台可管理,便于后续拓展

抽象任务模块,代码抽象开发

完成任务和领取需要保证幂等性

高可用

名词定义:

事件

任务中涉及依赖其他业务,这里需要抽象出一个概念,用户通过操作业务,完成任务的这个操作,我们把这个过程定义为用户完成任务事件触发完成,如:评论事件,点赞事件,关注事件,等

解决方案࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值