package com.action;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.springframework.web.bind.annotation.RequestMapping;
import com.model.Rooms;
import com.model.User;
import com.model.User;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.service.UserService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class UserAction extends ActionSupport implements ModelDriven {
private static final long serialVersionUID = 1L;
private UserService userService;
private User user = new User();
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
@Override
public User getModel() {
return user;
}
public String login() {
try {
HttpServletRequest request = ServletActionContext.getRequest();
User u = userService.login(user.getUserName(), user.getUserPassWord());
if (u != null) {
if (u.getState() == 1) {
request.getSession().setAttribute("sessionUser", u);
if (u.getType() == 0) {
// 管理员
return "admin";
} else {
return "user";
}
} else {
request.setAttribute("message", "");
return "loginError";
}
} else {
request.getSession().removeAttribute("sessionUser");
request.setAttribute("message", "");
return "loginError";
}
} catch (Exception e) {
// TODO: handle exception
}
return "";
}
public String getUserList() {
HttpServletRequest request = ServletActionContext.getRequest();
user.setPhone(user.getUserName());// 根据会员名跟手机号模糊查询
List list = userService.getUserList(user.getUserName(), user.getPhone());
request.setAttribute("userList", list);
return "userList";
}
public String getUserDetails() {
HttpServletRequest request = ServletActionContext.getRequest();
User u = userService.getUserById(user.getId());
request.setAttribute("userInfo", u);
return "userInfo";
}
public String getUserByPhoneAjax() {
try {
HttpServletResponse response = (HttpServletResponse) ActionContext.getContext()
.get(ServletActionContext.HTTP_RESPONSE);
User u = userService.getUserByPhone(user.getPhone());
JSONObject jsonObject = JSONObject.fromObject(u);
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jsonObject.toString());
} catch (Exception e) {
// TODO: handle exception
}
return NONE;
}
public String editUser() {
try {
HttpServletRequest request = ServletActionContext.getRequest();
if (userService.updUser(user)) {
request.getSession().removeAttribute("sessionUser");
request.setAttribute("msg", "");
return NONE;
}
} catch (Exception e) {
// TODO: handle exception
}
return INPUT;
}
public String checkUserName() {
try {
HttpServletResponse response = (HttpServletResponse) ActionContext.getContext()
.get(ServletActionContext.HTTP_RESPONSE);
if (userService.checkUserName(user.getUserName()) != null) {
response.getWriter().write("right");
} else {
response.getWriter().write("error");
}
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}
public String checkPhone() {
try {
HttpServletResponse response = (HttpServletResponse) ActionContext.getContext()
.get(ServletActionContext.HTTP_RESPONSE);
if (userService.checkPhone(user.getPhone()) != null) {
response.getWriter().write("right");
} else {
response.getWriter().write("error");
}
} catch (IOException e) {
e.printStackTrace();
}
return NONE;
}
public String regUser() throws IOException {
user.setType(1);
user.setState(1);
if (userService.createUser(user)) {
return "regOK";
}
return INPUT;
}
public String createUser() {
user.setType(1);
user.setState(1);
user.setJf(0);
user.setUserLevel(0);
user.setUserPassWord("");
if (userService.createUser(user)) {
return "createOK";
}
return INPUT;
}
public String logOut() {
try {
HttpServletRequest request = ServletActionContext.getRequest();
request.getSession().removeAttribute("sessionUser");
return "logOut";
} catch (Exception e) {
// TODO: handle exception
}
return INPUT;
}
public String updUserTypeState() {
try {
HttpServletRequest request = ServletActionContext.getRequest();
if (userService.updUserTypeState(user)) {
request.setAttribute("msg", "");
return "updUserOK";
}
} catch (Exception e) {
// TODO: handle exception
}
return INPUT;
}
}