package com.pengsong.springmvc.controller;

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

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.pengsong.springmvc.dao.CommDao;
import com.pengsong.springmvc.entity.Page;
import com.pengsong.springmvc.entity.User;

@Controller
@RequestMapping("user")
public class UserController {
	
	@Resource 
	private CommDao commdao;
	private List<User> userList = null;
	private User findUser;
	private Page findpage;
	
	/**
	 * 返回分页查询结果集
	 * @param user
	 * @return
	 */
	public List<User> findAllUsers(Page page) {
		try {
			userList = commdao.findList("findAllUserByPage",page);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return userList;
	}
	/**
	 * 获得数据总量
	 * @return
	 */
	public int getUserListSize() {
		try {
			userList = commdao.findList("findAllUser",null);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return userList.size();
	}
	@RequestMapping(value="userLogin",method=RequestMethod.POST)
	private String userLogin(User user,Model model) {
		// TODO Auto-generated method stub
		if(user!= null){
			try {
				findUser = (User) commdao.findOne("findAllUser", user);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(findUser!=null){
			findpage = new Page();
			findpage.setTotalCount(getUserListSize());
			userList = findAllUsers(findpage);
			model.addAttribute("userList", userList);
			model.addAttribute("page", findpage);
			return "userList";
		}else{
			model.addAttribute("loginMessage", "用户名或密码不正确,请重新登录");
			return "../../index";
		}
		
	}
	
	@RequestMapping("/findAllUser/{pageNow}")
	public ModelAndView findAllUser(@PathVariable("pageNow")String pageNow,ModelAndView modelAndView) {
		findpage = new Page();
		findpage.setPageNow(Integer.parseInt(pageNow));
		findpage.setTotalCount(getUserListSize());
	
		userList = findAllUsers(findpage);
		if(!userList.isEmpty())
			modelAndView.setViewName("userList");
			modelAndView.addObject("userList", userList);
			modelAndView.addObject("page", findpage);
		return modelAndView;
	}
	@RequestMapping("/addUser")
	private String addUser() {
		
		return "addUser";
	}
	@RequestMapping("/addOneUser")
	private ModelAndView addOneUser(User user,ModelAndView modelAndView) {
		// TODO Auto-generated method stub
		int flag = 0;
		try {
			flag = commdao.save("addOneUser", user);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		if(flag>0){
			findpage = new Page();
			findpage.setTotalCount(getUserListSize());
			modelAndView.setViewName("userList");
			modelAndView.addObject("userList", findAllUsers(findpage));
			modelAndView.addObject("page", findpage);
		}
		else{
			modelAndView.addObject("addUser", "增加用户失败!");
			modelAndView.setViewName("addUser");
		}
		return modelAndView;
	}
	@RequestMapping("/delete/{userId}")
	private ModelAndView delete(@PathVariable Integer userId,ModelAndView modelAndView) {
		// TODO Auto-generated method stub
		findUser = new User();
		findUser.setUserId(userId);
		try {
			commdao.deleteById("deleteUser", findUser);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		findpage = new Page();
		findpage.setTotalCount(getUserListSize());
		modelAndView.addObject("userList", findAllUsers(findpage));
		modelAndView.addObject("page", findpage);
		modelAndView.setViewName("userList");
		
		return modelAndView;
	}
	/**
	 * 使用restful风格进行增删改查
	 * @param userId
	 * @param modelAndView
	 * @return
	 */
	@RequestMapping("/update/{userId}")
	public ModelAndView update(@PathVariable Integer userId,ModelAndView modelAndView){
		findUser = new User();
		findUser.setUserId(userId);
		try {
			findUser = (User) commdao.findOne("findAllUser", findUser);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		modelAndView.addObject("findUser", findUser);
		modelAndView.setViewName("updateUser");
		
		return modelAndView;
	}
	@RequestMapping("/updateOneUser")
	private ModelAndView updateOneUser(User user,ModelAndView modelAndView) {
		// TODO Auto-generated method stub
		try {
			commdao.update("updateOneUser", user);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		findpage = new Page();
		findpage.setTotalCount(getUserListSize());
		modelAndView.addObject("userList", findAllUsers(findpage));
		modelAndView.addObject("page", findpage);
		modelAndView.setViewName("userList");
		
		return modelAndView;
	}
}
最近下载更多
气之子dss  LV4 6月24日
1379585889  LV11 2023年6月7日
李亮  LV19 2023年3月7日
YUProject  LV8 2022年12月17日
大象爱吃小老鼠  LV5 2022年6月27日
兰文斌  LV6 2022年4月28日
后山雪  LV2 2021年12月30日
wubinbin  LV11 2021年12月25日
success1011  LV8 2021年12月21日
过过成功尺寸  LV7 2021年12月21日
最近浏览更多
15719908287  LV9 9月28日
朕算你NB 7月29日
暂无贡献等级
气之子dss  LV4 6月24日
szqqqaaqqa  LV1 6月20日
2636804923  LV6 6月16日
wanderingsoul  LV2 6月15日
G0802262 6月13日
暂无贡献等级
古子俊  LV1 6月13日
G080200  LV1 6月13日
xin xie  LV1 6月13日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友