本技术涉及互联网,更具体地说,涉及一种抢红包方法及系统。
背景技术:
1、在现代社交网络和即时通讯应用中,抢红包已经成为一种十分受欢迎的社交互动方式。示例如,在直播应用中,用户可以在直播应用的直播间内发放红包,登录直播应用的其他用户则可以在直播间内抢红包。其中,抢红包是指用户获取红包,红包中的金额划入用户的账户中,红包是区别于传统的实体红包,在互联网线上派发的无实物红包。目前的抢红包方法主要通过客户端和服务端的交互实现。登录客户端的用户在客户端发起抢红包请求,服务端返回抢得的结果给客户端。然而,这种方式只限于登录客户端的用户,无法满足未登录客户端的用户抢红包的需求,限制了电子红包的适用范围,因而如何扩展电子红包的适用范围,是一个需要考虑的技术问题。
技术实现思路
1、有鉴于此,本技术提供了一种抢红包方法及系统,用于解决现有抢红包方式,只限于登录客户端的用户,无法满足未登录客户端的用户抢红包的需求,限制电子红包的适用范围的问题。
2、为了实现上述目的,现提出的方案如下:
3、一种抢红包方法,应用于服务端,包括:
4、接收第一用户利用客户端发送的抢红包请求,所述抢红包请求中包括目标红包信息,所述第一用户为登录所述客户端的用户或未登录所述客户端的用户;
5、判断所述目标红包信息对应的目标红包是否已被分配完;
6、若否,在所述目标红包对应的各子红包中选取满足设定的选取条件的子红包,作为与所述第一用户对应的目标子红包,各所述子红包为对所述目标红包进行划分得到的红包;
7、若所述第一用户为未登录所述客户端的用户,则当所述第一用户满足设定的分配条件时,将所述目标子红包分配给所述第一用户,所述分配条件为登录所述客户端或在设定的登录时间阈值内登录所述客户端;
8、若所述第一用户为登录所述客户端的用户,则执行将所述目标子红包分配给所述第一用户的步骤。
9、优选地,所述选取条件包括:未被分配给登录客户端的其他用户。
10、优选地,在选取与所述第一用户对应的目标子红包,并且确定所述第一用户为未登录客户端的用户时,该方法还包括:将所述目标子红包设置为锁定状态;
11、当所述分配条件为登录客户端时,所述选取条件还包括:状态并非为所述锁定状态;
12、当所述分配条件为在设定的登录时间阈值内登录客户端时,所述选取条件还包括:状态并非为所述锁定状态,或,状态为所述锁定状态且对应的用户未在所述登录时间阈值内登录客户端。
13、优选地,将所述目标子红包设置为锁定状态,包括:
14、获取所述第一用户对应的用户信息;
15、设置并锁定所述目标子红包的状态信息,所述状态信息包括用户信息及时间信息,锁定后的用户信息为所述第一用户对应的用户信息,锁定后的时间信息为当前时间。
16、优选地,将所述目标子红包分配给所述第一用户之后,还包括:
17、删除预先创建的队列中的所述目标子红包,其中,所述队列被创建时,所述队列中添加了各所述子红包。
18、优选地,在所述目标红包对应的各子红包中选取满足设定的选取条件的子红包,作为与所述第一用户对应的目标子红包的过程,包括:
19、从所述队列的头部取出一个子红包;
20、判断取出的所述子红包是否处于所述锁定状态;
21、若否,将取出的所述子红包作为与所述第一用户对应的目标子红包;
22、若是,基于当前时间、取出的所述子红包对应的时间信息及所述登录时间阈值,判断取出的所述子红包对应的用户是否未在所述登录时间阈值内登录客户端;
23、若是,将取出的所述子红包作为与所述第一用户对应的目标子红包;
24、若否,将取出的所述子红包放至所述队列的尾部,并返回执行从所述队列的头部取出子红包的步骤。
25、优选地,判断所述目标红包信息对应的目标红包是否已被分配完,包括:
26、判断所述队列中是否存在所述子红包;
27、若是,则确定所述目标红包未被分配完;
28、若否,则确定所述目标红包已被分配完。
29、优选地,在选取与所述第一用户对应的目标子红包,并且确定所述第一用户为未登录客户端的用户时,该方法还包括:
30、向客户端发送用于提醒所述第一用户登录客户端的第一信息,以便客户端接收到所述第一信息时,提醒所述第一用户登录客户端,并在所述第一用户登录客户端后,向所述服务端反馈登录信息。
31、优选地,在所述分配条件为登录客户端时,则判断所述第一用户是否满足设定的分配条件的过程,包括:
32、在接收到客户端反馈的所述登录信息时,确定所述第一用户登录客户端。
33、优选地,在所述分配条件为在设定的登录时间阈值内登录客户端时,则判断所述第一用户是否满足设定的分配条件的过程,包括:
34、在接收到客户端反馈的所述登录信息时,基于当前时间、所述目标子红包对应的时间信息及所述登录时间阈值,判断所述第一用户是否在设定的登录时间阈值内登录客户端。
35、优选地,所述第一信息包括所述目标子红包对应的时间信息及所述登录时间阈值;
36、则在所述基于当前时间、所述目标子红包对应的时间信息及所述登录时间阈值,判断所述第一用户是否在设定的登录时间阈值内登录客户端之前,还包括:
37、基于所述登录信息中包含的时间信息和登录时间阈值,生成第一签名;
38、对比所述第一签名与第二签名是否一致,所述第二签名为基于所述第一信息包括的时间信息及登录时间阈值所生成的签名;
39、若不一致,则确定所述第一用户未在设定的登录时间阈值内登录客户端;
40、若一致,则执行所述基于当前时间、所述目标子红包对应的时间信息及所述登录时间阈值,判断所述第一用户是否在设定的登录时间阈值内登录客户端的步骤。
41、优选地,将所述目标子红包分配给所述第一用户之前,还包括:
42、判断是否已分配过所述目标红包对应的所述子红包给所述第一用户;
43、若否,执行将所述目标子红包分配给所述第一用户的步骤;
44、若是,向所述客户端发送用于表示只能抢一个红包的第二信息。
45、优选地,判断所述目标红包信息对应的目标红包是否已被分配完之前,还包括:
46、基于当前时间、所述目标红包的创建时间及设定的有效时间阈值判断所述目标红包是否已过期;
47、若是,向所述客户端发送用于表示所述目标红包已过期的第三信息;
48、若否,执行判断所述目标红包信息对应的目标红包是否已被分配完的步骤。
49、优选地,客户端与所述服务端之间建立有长连接。
50、一种抢红包系统,包括:客户端及服务端,所述客户端用于向所述服务端发送抢红包请求,所述服务端用于实现如前述抢红包方法的各个步骤。
51、从上述的技术方案可以看出,本技术实施例提供的抢红包方法,应用于服务端,服务端能够接收登录或未登录客户端的第一用户利用客户端发送的抢红包请求,确定目标红包信息对应的目标红包,当目标红包未被分配完时,在目标红包对应的各子红包中选取满足设定的选取条件的目标子红包,若第一用户为未登录客户端的用户,则当第一用户满足登录客户端或在设定的登录时间阈值内登录客户端时,将目标子红包分配给第一用户,若第一用户为登录客户端的用户,则直接将目标子红包分配给第一用户,满足了未登录客户端的用户抢红包的需求,因而扩展了电子红包的适用范围,也提升了用户参与抢红包活动的积极性。