Code Bye

在平台上推广活动,java解决方案有哪些?急急急急急。。。。。。。。在线等。。。。

 

功能描述:
               公司有一个投资平台,为了拉新用户,准备做一系列推广活动(例如投资多少奖代金券,购物券等)。

问题:
         怎么样把活动切入到平台?(例如新注册一个用户送该用户一个购物券等?单笔投资多少钱送。。。?)

解决办法:
        1. 用实时监听数据库的表,如果数据库用更新就触发活动?(缺点:访问数据库频繁,数据库压力过大)
         2. 用AOP的办法(缺点:太依赖于平台的系统功能,如果行为条件再添加切面配置也得加,不灵活)

各位大牛有什么好的办法解决?帮帮小弟

自己顶一下
怎么没人啊!
100分
用实时监听数据库的表,如果数据库用更新就触发活动?(缺点:访问数据库频繁,数据库压力过大)
直接使用数据库表的触发器,有一条插入用户的记录时,触发一个推广活动,将该送的福利插入到对应表中。

用AOP的办法
不太熟悉AOP,不发表看法

引用 3 楼 magi1201 的回复:

用实时监听数据库的表,如果数据库用更新就触发活动?(缺点:访问数据库频繁,数据库压力过大)
直接使用数据库表的触发器,有一条插入用户的记录时,触发一个推广活动,将该送的福利插入到对应表中。

用AOP的办法
不太熟悉AOP,不发表看法

红色标记:因为我们用的是mysql数据库,我做一个触发器,有一条插入用户的记录时,触发一个推广活动?关键是触发后我java端怎么知道?还是躲不过不停的扫描数据库,有什么好的办法能减少数据库访问?

我说的推广活动是指,你的送福利的sql块,或者叫做存储过程块。你直接在数据库表级别触发就可以了。
关键是触发后我java端怎么知道?
你这个还需要让java端知道吗?如果要让java端知道的话,那就在调用完插入用户sql时,触发送福利的代码(或存储过程块)。

还是躲不过不停的扫描数据库,有什么好的办法能减少数据库访问? 
这个没有理解楼主说的。

引用 5 楼 magi1201 的回复:

我说的推广活动是指,你的送福利的sql块,或者叫做存储过程块。你直接在数据库表级别触发就可以了。
关键是触发后我java端怎么知道?
你这个还需要让java端知道吗?如果要让java端知道的话,那就在调用完插入用户sql时,触发送福利的代码(或存储过程块)

还是躲不过不停的扫描数据库,有什么好的办法能减少数据库访问? 
这个没有理解楼主说的。

那就在调用完插入用户sql时,触发送福利的代码?这个怎么触发,因为送福利这块儿是java写的,在调用完插入用户sql时我怎么能让java服务器知道这个操作?我这么说您明白吗?

你的调用插入用户的java代码,可以让插入操作返回true,false。true表示插入成功,这时,调用送福利的代码,就可以了;false时,插入失败,可以将具体失败原因返回到前台。
引用 7 楼 magi1201 的回复:

你的调用插入用户的java代码,可以让插入操作返回true,false。true表示插入成功,这时,调用送福利的代码,就可以了;false时,插入失败,可以将具体失败原因返回到前台。

首先非常感谢您不厌其烦的给我解释!可能是我没说清楚。

条件:
       我预期是不修改平台的任何代码的,我活动所有操作都只依赖于平台数据(或者操作),那么监听器只能放到数据库,监听数据库表数据的变动,只要用户表新增一条数据我就触发活动进入活动处理块,再根据活动设置的一系列条件判断该用户是否满足活动要求。

      按照您说的,我就需要修改平台的注册方法?

哈哈,那就把送福利的java代码转变为mysql的触发器,让触发器去操作就可以了。
引用 9 楼 magi1201 的回复:

哈哈,那就把送福利的java代码转变为mysql的触发器,让触发器去操作就可以了。

那我怎么把用户获奖信息给前台,因为是实时的,也就是说满足就送,中间没有间隔!

绕来绕去还是没有解决java端怎么实时获取数据库变动的问题

不过还是非常感谢您!

现在我考虑可以用Aop来做,这样好像是最好的?不知道还有什么更好的办法?

五一过后自己再顶一下
没人!结贴了,谢谢蜗牛哥

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明在平台上推广活动,java解决方案有哪些?急急急急急。。。。。。。。在线等。。。。