You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
3.7 KiB

package action;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import service.ILoginService;
import util.AddJson;
import model.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class UserAction extends ActionSupport implements ModelDriven<User>{
User user=new User();
@Override
public User getModel() {
return user;
}
ILoginService iLoginService;
public void setiLoginService(ILoginService iLoginService) {
this.iLoginService = iLoginService;
}
HttpServletRequest req=ServletActionContext.getRequest();
/**
* 用户登录
* @return
*/
public String UserLogin(){
//HttpServletRequest req=ServletActionContext.getRequest();
if(user==null){
this.addActionError("请输入账号和密码!");
return "login";
}
User u=this.iLoginService.findByUser(user);
if(u==null){
this.addActionError("用户名或密码错误!");
return "login";
}else{
req.getSession().setAttribute("User", u);
return "index";
}
}
/**
* 用户注册
*/
public String userRegister(){
//通过用户名先查询该用户是否已经注册
User u=this.iLoginService.findUserByName(user.getUsername());
if(u!=null){
this.addActionError("该用户已被注册!");
return "registerFail";
}
//user.setHeadPic("images/logo-s.jpg");
this.iLoginService.saveUser(user);
return "registerSuccess";
}
/**
* 通过账号找回密码步骤1
*/
public String forgetPwd(){
//HttpServletRequest req=ServletActionContext.getRequest();
String userName=req.getParameter("userName");
User u=this.iLoginService.findUserByName(userName);
if(u==null){
this.addFieldError(userName, "用户名错误!");
return "getPwdFail";
}
if(u.getQusetion()==null){
this.addActionError("抱歉!你没有设置问题和密码!");
return "getPwdFail";
}
req.getSession().setAttribute("User", u);
return "getPwdSuccess";
}
/**
* 提交问题2
*/
public String checkAnswer(){
//HttpServletRequest req=ServletActionContext.getRequest();
String answertext=req.getParameter("answer");
User u=this.iLoginService.findUserByName(user.getUsername());
if(u!=null){
String answer=u.getAnswer();
if(!answer.equals(answertext)){
this.addActionError("抱歉!回答错误!");
return "answerFalse";
}
}
req.getSession().setAttribute("User", u);
return "answerTrue";
}
/**
* 重新设置密码3
*/
public String updatePwd(){
this.iLoginService.updatePed(user);
return "updatePwdSuccess";
}
/**
* 查询用户账号信息
* @throws Exception
*/
public void searchPersonalInfo() throws Exception{
//HttpServletRequest req=ServletActionContext.getRequest();
int uid=Integer.parseInt(req.getParameter("uid"));
if(uid==0){
throw new Exception("用户不存在!");
}
user=this.iLoginService.searchUserInfoById(uid);
AddJson json=new AddJson();
json.toJson(user);
//return "findUserInfoSuccess";
}
/**
* 修改用户信息
*/
public void updateUserInfoById(){
int uid=Integer.parseInt(req.getParameter("id"));
String uname=req.getParameter("userName");
String pass=req.getParameter("password");
String phone=req.getParameter("phone");
String qusetion=req.getParameter("qusetion");
String answer=req.getParameter("answer");
int sex=Integer.parseInt(req.getParameter("sex"));
User uu=new User();
uu.setAnswer(answer);
uu.setPassword(pass);
uu.setPhone(phone);
uu.setId(uid);
uu.setUsername(uname);
uu.setQusetion(qusetion);
uu.setSex(sex);
this.iLoginService.updateUser(uu);
}
/**
* 用户退出的登录
*/
public String userExitLogin(){
req.getSession().removeAttribute("User");
return "UserexitSuccess";
}
}