Package com.iteye.tianshi.web.controller.base

Source Code of com.iteye.tianshi.web.controller.base.UserController

package com.iteye.tianshi.web.controller.base;

import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.iteye.tianshi.core.page.Page;
import com.iteye.tianshi.core.page.PageRequest;
import com.iteye.tianshi.core.util.ResponseData;
import com.iteye.tianshi.core.web.controller.BaseController;
import com.iteye.tianshi.web.model.base.User;
import com.iteye.tianshi.web.service.base.UserService;

/**
* 用户管理界面的业务方法
*
* @datetime 2010-8-8 下午04:47:03
* @author jiangzx@yahoo.com
*/
@Controller
@RequestMapping("/user")
public class UserController extends BaseController {
  //~ Instance fields ================================================================================================
  @Autowired
  private UserService userService;
 
  //~ Methods ========================================================================================================
  @RequestMapping("/index")
  public String index(){
    return "admin/base/user";
  }
 
  /**
   * 用户管理,查询用户信息,按照用户优先级降序排序
   *
   * @param pageRequest
   * @return
   */
  @RequestMapping("/pageQueryUsers")
  @ResponseBody
  public Page<User> pageQueryUsers(@RequestParam("start")int startIndex,
      @RequestParam("limit")int pageSize, User user, @RequestParam(required = false)String sort,
      @RequestParam(required = false)String dir) {
    PageRequest<User> pageRequest = new PageRequest<User>(startIndex, pageSize);
   
    if(StringUtils.hasText(sort) && StringUtils.hasText(dir))
      pageRequest.setSortColumns(sort + " " + dir);
   
    Map<String, String> likeFilters = pageRequest.getLikeFilters();
    if(StringUtils.hasText(user.getUsername()))
      likeFilters.put("username", user.getUsername());
    Page<User> page = userService.findAllForPage(pageRequest);
    return page;
  }
 
  /**
   * 保存用户, 只接受POST请求
   *
   * @param user
   * @return ResponseData
   */
  @RequestMapping(value="/insertUser", method=RequestMethod.POST)
  @ResponseBody
  public ResponseData insertUser(User user) {
    //初始密码:000000
    user.setCreateTime(new Date());
    userService.insertEntity(user);
    return ResponseData.SUCCESS_NO_DATA;
  }
 
  /**
   * 查询用户, 只接受POST请求
   *
   * @param id
   * @return User
   */
  @RequestMapping(value="/loadUser", method=RequestMethod.POST)
  @ResponseBody
  public User loadUser(Long id) {
    User user = userService.findEntity(id);
    user.setPassword(null);
    return user;
  }
 
  /**
   * 更新用户, 只接受POST请求
   *
   * @param user
   * @return ResponseData
   */
  @RequestMapping(value="/updateUser", method=RequestMethod.POST)
  @ResponseBody
  public ResponseData updateUser(User user) {
    User oldUser = userService.findEntity(user.getId());
    oldUser.setUsername(user.getUsername());
    userService.updateEntity(oldUser);
    return ResponseData.SUCCESS_NO_DATA;
  }
 
  /**
   * 删除用户, 只接受POST请求
   *
   * @param id
   * @return ResponseData
   */
  @RequestMapping(value="/deleteUser", method=RequestMethod.POST)
  @ResponseBody
  public ResponseData deleteUser(Long id) {
    userService.deleteEntity(id);
    return ResponseData.SUCCESS_NO_DATA;
  }
 
  @RequestMapping("/login")
  @ResponseBody
  public ResponseData login(HttpServletRequest request) {
    User user = new User();
    String userName = request.getParameter("j_username");
    String password = request.getParameter("j_password");
   
    List<User> list  =userService.findByProperty("username", userName);
   
    if(list.size() == 0) {
      return new ResponseData(false, "UsernameNotFound", "用户【" + userName + "】不存在.");
    } else if(!password.equals(list.get(0).getPassword())) {
      return new ResponseData(false, "BadCredentials", "密码不正确,请重新输入.");
    } else {
      user.setUsername("admin");
      HttpSession session = request.getSession();
      session.setAttribute("__SESSIONKEY__", user);
      return ResponseData.SUCCESS_NO_DATA;
    }
  }
 
  @RequestMapping("/logout")
  public void logout(HttpServletRequest request, HttpServletResponse response) throws IOException {
    request.getSession().invalidate();
    response.sendRedirect(request.getContextPath() + "/login");  
  }
}
TOP

Related Classes of com.iteye.tianshi.web.controller.base.UserController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.