package com.ischoolbar.programmer.controller.admin; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; 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 org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import com.ischoolbar.programmer.entity.admin.Role; import com.ischoolbar.programmer.entity.admin.User; import com.ischoolbar.programmer.page.admin.Page; import com.ischoolbar.programmer.service.admin.RoleService; import com.ischoolbar.programmer.service.admin.UserService; @RequestMapping("/admin/user") @Controller public class UserController { @Autowired private UserService userService; @Autowired private RoleService roleService; @RequestMapping(value="/list",method=RequestMethod.GET) public ModelAndView list(ModelAndView model){ Map queryMap = new HashMap(); model.addObject("roleList", roleService.findList(queryMap)); model.setViewName("user/list"); return model; } @RequestMapping(value="/list",method=RequestMethod.POST) @ResponseBody public Map getList(Page page, @RequestParam(name="username",required=false,defaultValue="") String username, @RequestParam(name="roleId",required=false) Long roleId, @RequestParam(name="sex",required=false) Integer sex ){ Map ret = new HashMap(); Map queryMap = new HashMap(); queryMap.put("username", username); queryMap.put("roleId", roleId); queryMap.put("sex", sex); queryMap.put("offset", page.getOffset()); queryMap.put("pageSize", page.getRows()); ret.put("rows", userService.findList(queryMap)); ret.put("total", userService.getTotal(queryMap)); return ret; } @RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Map add(User user){ Map ret = new HashMap(); if(user == null){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(StringUtils.isEmpty(user.getUsername())){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(StringUtils.isEmpty(user.getPassword())){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(user.getRoleId() == null){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(isExist(user.getUsername(), 0l)){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(userService.add(user) <= 0){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } ret.put("type", "success"); ret.put("msg", "成功"); return ret; } @RequestMapping(value="/edit",method=RequestMethod.POST) @ResponseBody public Map edit(User user){ Map ret = new HashMap(); if(user == null){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(StringUtils.isEmpty(user.getUsername())){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } // if(StringUtils.isEmpty(user.getPassword())){ // ret.put("type", "error"); // ret.put("msg", "错误"); // return ret; // } if(user.getRoleId() == null){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(isExist(user.getUsername(), user.getId())){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(userService.edit(user) <= 0){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } ret.put("type", "success"); ret.put("msg", "成功"); return ret; } @RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Map delete(String ids){ Map ret = new HashMap(); if(StringUtils.isEmpty(ids)){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(ids.contains(",")){ ids = ids.substring(0,ids.length()-1); } if(userService.delete(ids) <= 0){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } ret.put("type", "success"); ret.put("msg", "成功"); return ret; } @RequestMapping(value="/upload_photo",method=RequestMethod.POST) @ResponseBody public Map uploadPhoto(MultipartFile photo,HttpServletRequest request){ Map ret = new HashMap(); if(photo == null){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(photo.getSize() > 1024*1024*1024){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf(".")+1,photo.getOriginalFilename().length()); if(!"jpg,jpeg,gif,png".toUpperCase().contains(suffix.toUpperCase())){ ret.put("type", "error"); ret.put("msg", "不是jpg,jpeg,gif,png格式"); return ret; } String savePath = request.getServletContext().getRealPath("/") + "/resources/upload/"; File savePathFile = new File(savePath); if(!savePathFile.exists()){ savePathFile.mkdir(); } String filename = new Date().getTime()+"."+suffix; try { photo.transferTo(new File(savePath+filename)); }catch (Exception e) { // TODO Auto-generated catch block ret.put("type", "error"); ret.put("msg", "错误"); e.printStackTrace(); return ret; } ret.put("type", "success"); ret.put("msg", "成功"); ret.put("filepath",request.getServletContext().getContextPath() + "/resources/upload/" + filename ); return ret; } private boolean isExist(String username,Long id){ User user = userService.findByUsername(username); if(user == null)return false; if(user.getId().longValue() == id.longValue())return false; return true; } }