花了一年时间做了个网盘下载站点,有兴趣的朋友可以看看站名:
去转盘网其中有个需求是想模拟百度网盘的邀请好友注册功能,想了很久果然"皇天不负有心人",终于整理出个思路,并且附上代码,希望各位网友多多吐槽。我的思路大体是用网络范围内唯一的字符串uuid为标识去邀请好友,邀请者给个状态位1代表邀请者,并给他绑定个唯一uuid。被邀请者给个标识位0代表被邀请者,如果他注册成功,则可以根据邀请链接获得uuid去查询数据库找到邀请者,找到后给予相应积分即可,代码如下:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
public String invite(){
int invteOrBeInted=1;//邀请人为1,被邀请为0
String username=null;
String temp=getParameter("username");
if(temp!=null){
try {
username = new String(temp.getBytes("ISO-8859-1"), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
//username=((User)session.get(CodeConst.USERINSESSION)).getUsername();
if(username==null){
message="没有权限邀请用户";
return ERROR;
}
RegisterService registerService = ServiceFactory.getRegisterService();
UserDao userDao=null;
try {
userDao = registerService.getUserDao();
} catch (Exception e1) {
e1.printStackTrace();
}
@SuppressWarnings("rawtypes")
java.util.List list=null;
User u=null;
try {
list=userDao.findByUserName(username);
} catch (Exception e) {
e.printStackTrace();
}
if(list!=null&&list.size()>0){
u=(User)list.get(0);
}
if(u.getInviteCode()!=null&&u.getInvitedOrBeInvited()==1){ //已经邀请了
inviteCode=u.getInviteCode();
}
else{
inviteCode=UUID.randomUUID().toString();//uuid的唯一性
}
String goodNews="网盘分享,网盘下载,这里是去转盘网。赶快点击下面链接注册吧,海量网盘资源与你共享";
String url=goodNews+getBase()+"registerManager/inviteRegister.action?inviteCode="+inviteCode;
//注释,这里getBase()函数请自己实现,是获得
getHttpRequest().setAttribute("url",url);//发送给前台
try {
registerService.updateInviteMan(username, inviteCode,invteOrBeInted); //更新邀请人信息,注意inviteCode为uuid是唯一的
//当用户注册成功之后根据inviteCode为邀请人加分
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。