系统的活动业务写在何处,如何与普通业务区分?

1. 业务环境:

以一个文章管理系统为例(基于Laravel)
大致有如下功能:
文章模块
会员模块
例如:
1.某天产品跑过来:给系统增加一个【积分模块】,会员纠错1篇文章获得100积分,会员撰写一篇文章获得500积分。

我直接就撸起袖子开始写代码了

2.某天产品经理又跑过来:给系统增加一个【会员纠错3篇文章额外获得100积分的奖励活动】,

这时候我就犯难了

2. 问题描述:

临时活动肯定是有时间限制,好用就一直存在,如果不好用肯定会剔除掉或者关闭该活动,那我该如何实现该功能呢?这种临时活动在系统中一般肯定不止一个,是直接按平常功能直接开发,还是区分系统固有功能和临时活动,望大佬们给个解惑

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 11

可以使用 队列 、 模型事件 ,这样对后期功能的扩展和代码的可读性比较好。

3年前 评论
晓飞 (楼主) 3年前

功能代码的话,写适配器来来开发模块吧

3年前 评论
晓飞 (楼主) 3年前
晓飞 (楼主) 3年前
deatil (作者) 3年前

最简单的可以采用switch case

3年前 评论
晓飞 (楼主) 3年前

事件,在有这些操作时,发送事件,然后这些活动监听这些事件。上面有人提到了模型事件,找个也比可行,不过还是建议直接在业务里面去自定义事件。

3年前 评论

再抽一层,新增一个任务的模块 用于对应事件触发时的进度推动以及奖励发放

3年前 评论

多建一个会员纠错记录/任务的表

if $user 纠错记录==0

      他第一次进行纠错 ,就开个任务

if $user 在会员纠错记录中已有了
        就+1条记录

if $user 

满3条就给他结算分

大概会这样
我会用多一两张数字库表去完成,感觉数据都看得见,比较放心

应该是一张表是记录所有纠错的记录
另外再建一张,是类似关系表,满3就不加了

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!