package com.fh.controller.system.appuser; import java.io.PrintWriter; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.fh.controller.base.BaseController; import com.fh.entity.Page; import com.fh.entity.system.Role; import com.fh.service.system.appuser.AppuserManager; import com.fh.service.system.role.RoleManager; import com.fh.util.AppUtil; import com.fh.util.Jurisdiction; import com.fh.util.MD5; import com.fh.util.ObjectExcelView; import com.fh.util.PageData; /** * 修改时间:2014年11月17日 * @version */ @Controller @RequestMapping(value="/happuser") public class AppuserController extends BaseController { String menuUrl = "happuser/listUsers.do"; //菜单地址(权限用) @Resource(name="appuserService") private AppuserManager appuserService; @Resource(name="roleService") private RoleManager roleService; /**显示用户列表 * @param page * @return */ @RequestMapping(value="/listUsers") public ModelAndView listUsers(Page page){ ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); try{ pd = this.getPageData(); String keywords = pd.getString("keywords"); //检索条件 关键词 if(null != keywords && !"".equals(keywords)){ pd.put("keywords", keywords.trim()); } page.setPd(pd); List userList = appuserService.listPdPageUser(page); //列出会员列表 pd.put("ROLE_ID", "2"); List roleList = roleService.listAllRolesByPId(pd); //列出会员组角色 mv.setViewName("system/appuser/appuser_list"); mv.addObject("userList", userList); mv.addObject("roleList", roleList); mv.addObject("pd", pd); mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 } catch(Exception e){ logger.error(e.toString(), e); } return mv; } /**去新增用户页面 * @return * @throws Exception */ @RequestMapping(value="/goAddU") public ModelAndView goAddU() throws Exception{ if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限 ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); pd.put("ROLE_ID", "2"); List roleList = roleService.listAllRolesByPId(pd); //列出会员组角色 mv.setViewName("system/appuser/appuser_edit"); mv.addObject("msg", "saveU"); mv.addObject("pd", pd); mv.addObject("roleList", roleList); return mv; } /**保存用户 * @return * @throws Exception */ @RequestMapping(value="/saveU") public ModelAndView saveU() throws Exception{ if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限 logBefore(logger, Jurisdiction.getUsername()+"新增会员"); ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); pd.put("USER_ID", this.get32UUID()); //ID pd.put("RIGHTS", ""); pd.put("LAST_LOGIN", ""); //最后登录时间 pd.put("IP", ""); //IP pd.put("PASSWORD", MD5.md5(pd.getString("PASSWORD"))); if(null == appuserService.findByUsername(pd)){ appuserService.saveU(pd); //判断新增权限 mv.addObject("msg","success"); }else{ mv.addObject("msg","failed"); } mv.setViewName("save_result"); return mv; } /**判断用户名是否存在 * @return */ @RequestMapping(value="/hasU") @ResponseBody public Object hasU(){ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); try{ pd = this.getPageData(); if(appuserService.findByUsername(pd) != null){ errInfo = "error"; } } catch(Exception e){ logger.error(e.toString(), e); } map.put("result", errInfo); //返回结果 return AppUtil.returnObject(new PageData(), map); } /**判断邮箱是否存在 * @return */ @RequestMapping(value="/hasE") @ResponseBody public Object hasE(){ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); try{ pd = this.getPageData(); if(appuserService.findByEmail(pd) != null){ errInfo = "error"; } } catch(Exception e){ logger.error(e.toString(), e); } map.put("result", errInfo); //返回结果 return AppUtil.returnObject(new PageData(), map); } /**判断编码是否存在 * @return */ @RequestMapping(value="/hasN") @ResponseBody public Object hasN(){ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); try{ pd = this.getPageData(); if(appuserService.findByNumber(pd) != null){ errInfo = "error"; } } catch(Exception e){ logger.error(e.toString(), e); } map.put("result", errInfo); //返回结果 return AppUtil.returnObject(new PageData(), map); } /**删除用户 * @param out * @throws Exception */ @RequestMapping(value="/deleteU") public void deleteU(PrintWriter out) throws Exception{ if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限 logBefore(logger, Jurisdiction.getUsername()+"删除会员"); PageData pd = new PageData(); pd = this.getPageData(); appuserService.deleteU(pd); out.write("success"); out.close(); } /**修改用户 * @param out * @return * @throws Exception */ @RequestMapping(value="/editU") public ModelAndView editU(PrintWriter out) throws Exception{ if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 logBefore(logger, Jurisdiction.getUsername()+"修改会员"); ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); if(pd.getString("PASSWORD") != null && !"".equals(pd.getString("PASSWORD"))){ pd.put("PASSWORD", MD5.md5(pd.getString("PASSWORD"))); } appuserService.editU(pd); mv.addObject("msg","success"); mv.setViewName("save_result"); return mv; } /**去修改用户页面 * @return */ @RequestMapping(value="/goEditU") public ModelAndView goEditU(){ if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限 ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); try { pd.put("ROLE_ID", "2"); List roleList = roleService.listAllRolesByPId(pd);//列出会员组角色 pd = appuserService.findByUiId(pd); //根据ID读取 mv.setViewName("system/appuser/appuser_edit"); mv.addObject("msg", "editU"); mv.addObject("pd", pd); mv.addObject("roleList", roleList); } catch (Exception e) { logger.error(e.toString(), e); } return mv; } /**批量删除 * @return */ @RequestMapping(value="/deleteAllU") @ResponseBody public Object deleteAllU() { if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){} //校验权限 logBefore(logger, Jurisdiction.getUsername()+"批量删除会员"); PageData pd = new PageData(); Map map = new HashMap(); try { pd = this.getPageData(); List pdList = new ArrayList(); String USER_IDS = pd.getString("USER_IDS"); if(null != USER_IDS && !"".equals(USER_IDS)){ String ArrayUSER_IDS[] = USER_IDS.split(","); appuserService.deleteAllU(ArrayUSER_IDS); pd.put("msg", "ok"); }else{ pd.put("msg", "no"); } pdList.add(pd); map.put("list", pdList); } catch (Exception e) { logger.error(e.toString(), e); } finally { logAfter(logger); } return AppUtil.returnObject(pd, map); } /**导出会员信息到excel * @return */ @RequestMapping(value="/excel") public ModelAndView exportExcel(){ logBefore(logger, Jurisdiction.getUsername()+"导出会员资料"); ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); try{ if(Jurisdiction.buttonJurisdiction(menuUrl, "cha")){ String keywords = pd.getString("keywords"); if(null != keywords && !"".equals(keywords)){ pd.put("keywords", keywords.trim()); } String lastLoginStart = pd.getString("lastLoginStart"); String lastLoginEnd = pd.getString("lastLoginEnd"); if(lastLoginStart != null && !"".equals(lastLoginStart)){ pd.put("lastLoginStart", lastLoginStart+" 00:00:00"); } if(lastLoginEnd != null && !"".equals(lastLoginEnd)){ pd.put("lastLoginEnd", lastLoginEnd+" 00:00:00"); } Map dataMap = new HashMap(); List titles = new ArrayList(); titles.add("用户名"); //1 titles.add("编号"); //2 titles.add("姓名"); //3 titles.add("手机号"); //4 titles.add("身份证号"); //5 titles.add("等级"); //6 titles.add("邮箱"); //7 titles.add("最近登录"); //8 titles.add("到期时间"); //9 titles.add("上次登录IP"); //10 dataMap.put("titles", titles); List userList = appuserService.listAllUser(pd); List varList = new ArrayList(); for(int i=0;i