如何邀请好友注册您的网站(模拟百度网盘)

    花了一年时间做了个网盘下载站点,有兴趣的朋友可以看看站名:去转盘网 其中有个需求是想模拟百度网盘的邀请好友注册功能,想了很久果然 "皇天不负有心人" ,终于整理出个思路,并且附上代码,希望各位网友多多吐槽。我的思路大体是用网络范围内唯一的字符串uuid为标识去邀请好友,邀请者给个状态位 1 代表邀请者,并给他绑定个唯一uuid。被邀请者给个标识位 0 代表被邀请者,如果他注册成功,则可以根据邀请链接获得uuid去查询数据库找到邀请者,找到后给予相应积分即可,代码如下:

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;

}

你可能感兴趣的:(java,百度网盘,邀请好友注册)