拦截好,还是塞入好? 保存用户行为消息;

尾生 发布于 2017/01/18 15:05
阅读 153
收藏 0

又到了每日一问的情况了;

业务是这样的:用户消息中心记录用户消息; 账户审核时,发送通知消息, 充值消费时,发送系统消息,广告投放 时,发送广告消息;

对于代码思路来讲: 这里涉及三个业务模块: 用户模块, 广告模块, 系统模块;

那么我如何收集生成消息保存至数据库呢:

方法1: 拦截: 拦截制定方法,然后判断行为,.塞入值消息表中;因为塞入内容不一致,所以必须要@注入多个service ; 塞入相对应的备注内容;

方法2: 在各个方法内判断执行情况,成功,则塞入消息至表中, 但这样不利于管理代码,这一块那一块的看着都心疼;


    

加载中
0
风翔飞
风翔飞
把消息模块单独摘出来,三个业务通过调用接口来发送消息,不同业务可以划分为不同的类型
风翔飞
风翔飞
回复 @尾生 : 拦截不讨好,以后这样的行为估计还会增多,总不能多一个就要维护一次吧,要么就直接调用接口(可以做个适配分配到不同的消息渠道发送),要么做成订阅用mq来异步处理(同样要根据类型用不同的渠道发送)
尾生
尾生
目前是单独拎出来的,独立的service,dao; 但纠结在是用拦截调用接口触发保存消息,还是,塞入不同指定接口方法内;
返回顶部
顶部