package com.ischoolbar.programmer.controller.admin; import java.util.Date; import java.util.HashMap; import java.util.Map; 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.servlet.ModelAndView; import com.ischoolbar.programmer.entity.common.Account; import com.ischoolbar.programmer.page.admin.Page; import com.ischoolbar.programmer.service.common.AccountService; @RequestMapping("/admin/account") @Controller public class AccountController { @Autowired private AccountService accountService; @RequestMapping(value="/list",method=RequestMethod.GET) public ModelAndView list(ModelAndView model){ model.setViewName("account/list"); return model; } @RequestMapping(value="/list",method=RequestMethod.POST) @ResponseBody public Map list(@RequestParam(name="name",defaultValue="")String name, @RequestParam(name="sex",defaultValue="")Integer sex, @RequestParam(name="status",defaultValue="")Integer status, Page page ){ Map ret = new HashMap(); Map queryMap = new HashMap(); queryMap.put("name", name); if(sex != null){ queryMap.put("sex", sex); } if(status != null){ queryMap.put("status", status); } queryMap.put("offset", page.getOffset()); queryMap.put("pageSize", page.getRows()); ret.put("rows", accountService.findList(queryMap)); ret.put("total", accountService.getTotal(queryMap)); return ret; } @RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Map add(Account account){ Map ret = new HashMap(); if(account == null){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(StringUtils.isEmpty(account.getName())){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(StringUtils.isEmpty(account.getPassword())){ ret.put("type", "error"); ret.put("msg", "错误!"); return ret; } if(isExist(account.getName(), 0l)){ ret.put("type", "error"); ret.put("msg", "错误!"); return ret; } account.setCreateTime(new Date()); if(accountService.add(account) <= 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(Account account){ Map ret = new HashMap(); if(account == null){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(StringUtils.isEmpty(account.getName())){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } if(StringUtils.isEmpty(account.getPassword())){ ret.put("type", "error"); ret.put("msg", "错误!"); return ret; } if(isExist(account.getName(), account.getId())){ ret.put("type", "error"); ret.put("msg", "错误!"); return ret; } if(accountService.edit(account) <= 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(Long id){ Map ret = new HashMap(); if(id == null){ ret.put("type", "error"); ret.put("msg", "错误"); return ret; } try { if(accountService.delete(id) <= 0){ ret.put("type", "error"); ret.put("msg", "错误!"); return ret; } } catch (Exception e) { // TODO: handle exception ret.put("type", "error"); ret.put("msg", "错误!"); return ret; } ret.put("type", "success"); ret.put("msg", "成功!"); return ret; } private boolean isExist(String name,Long id){ Account account = accountService.findByName(name); if(account == null)return false; if(account.getId().longValue() == id.longValue())return false; return true; } }