由于要在web端做一个限时活动的功能,功能大致为:一个小时内可以报名参加活动,然后给予报名者奖品,先到先得。用到一些处理逻辑做下总结,以前没有做过类似的东西,都是自己先体验其他网站的报名方式,然后再摸索出来的,有哪些不完善的地方还请多提出建议,非常感谢。
活动的大概情况是:某月的2号下午16点到17点是活动报名时间,按报名顺序前50名有奖品。活动开始前要进行浏览人数记录,至少1号和2号两天的浏览活动内容的要记录人数。由于是web端,当用户点击活动介绍按钮进去活动页时,即可记为用户浏览了活动内容。另外根据需求,要判断用户上次浏览的时间和这次浏览的时间是否相差超过一个小时,如果超过一个小时就把用户浏览的次数+1,如果用户上次浏览的时间和这次浏览的时间相差一天,则直接添加一条用户浏览记录。所以这次活动一要记录用户点击活动按钮的时间,二要记录用户浏览活动内容的次数和时间。所以设计表大致为:id,userid,phone,viewtime,clicktime,viewcount,recordtype 也就是说当recordtype=1时设置为浏览活动,recordtype=2时设置为点击活动,浏览活动的时候判断是否超过了一个小时,超过了就把viewcount加1,超过一天就直接添加一条浏览活动记录,后台用的框架为springmvc。
所以大致处理的流程伪代码如下:
用户点击活动按钮进入活动界面-->判断是否是活动时间,如果是活动开始前,则直接添加用户浏览活动信息,如果是活动时间,查询该用户是否已参与活动,如果已经参与返回友好提示,如果未参与则进一步判断是否活动时间已经结束,如果已经结束则后台记录当前用户ID、电话等信息,再返回友好提示活动结束,(每次记录浏览活动信息都要判断时间差是否相差一个小时或者一天,然后根据上面说的需求做处理),如果用户已经参与报名则按钮为灰色不能点击,如果超过了活动时间用户点击的时候提示活动结束,这些都可以用js来实现。
-->用户点击活动报名,前台js判断时间,如果活动时间前点击或者活动时间后点击给予对应的友好提示,如果是活动时间,则直接进入后台记录用户点击信息
-->后台判断时间,如果是活动时间记录参与者信息,如果不是活动时间则返回友好提示
大致的思路就是这样,这次活动是临时加的,时间比较紧,或许思路有些欠缺,代码就不贴了。