系统的活动业务写在何处,如何与普通业务区分?
1. 业务环境:
以一个文章管理系统为例(基于Laravel)
大致有如下功能:
文章模块
会员模块
例如:
1.某天产品跑过来:给系统增加一个【积分模块】,会员纠错1篇文章获得100积分,会员撰写一篇文章获得500积分。
我直接就撸起袖子开始写代码了
2.某天产品经理又跑过来:给系统增加一个【会员纠错3篇文章额外获得100积分的奖励活动】,
这时候我就犯难了
2. 问题描述:
临时活动肯定是有时间限制,好用就一直存在,如果不好用肯定会剔除掉或者关闭该活动,那我该如何实现该功能呢?这种临时活动在系统中一般肯定不止一个,是直接按平常功能直接开发,还是区分系统固有功能和临时活动,望大佬们给个解惑
可以使用 队列 、 模型事件 ,这样对后期功能的扩展和代码的可读性比较好。
功能代码的话,写适配器来来开发模块吧
最简单的可以采用switch case
事件,在有这些操作时,发送事件,然后这些活动监听这些事件。上面有人提到了模型事件,找个也比可行,不过还是建议直接在业务里面去自定义事件。
再抽一层,新增一个任务的模块 用于对应事件触发时的进度推动以及奖励发放
多建一个会员纠错记录/任务的表
大概会这样
我会用多一两张数字库表去完成,感觉数据都看得见,比较放心
应该是一张表是记录所有纠错的记录
另外再建一张,是类似关系表,满3就不加了