/** * Copyright © 2015-2020 JeePlus All rights reserved. */ package com.jeeplus.modules.userregister.web; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; 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.multipart.MultipartFile; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.common.collect.Lists; import com.jeeplus.common.utils.DateUtils; import com.jeeplus.common.utils.MyBeanUtils; import com.jeeplus.common.config.Global; import com.jeeplus.common.persistence.Page; import com.jeeplus.common.web.BaseController; import com.jeeplus.common.utils.StringUtils; import com.jeeplus.common.utils.excel.ExportExcel; import com.jeeplus.common.utils.excel.ImportExcel; import com.jeeplus.modules.userregister.entity.UserRegister; import com.jeeplus.modules.userregister.service.UserRegisterService; /** * 用户注册Controller * @author 金龙 * @version 2016-04-19 */ @Controller @RequestMapping(value = "${adminPath}/userregister/userRegister") public class UserRegisterController extends BaseController { @Autowired private UserRegisterService userRegisterService; @ModelAttribute public UserRegister get(@RequestParam(required=false) String id) { UserRegister entity = null; if (StringUtils.isNotBlank(id)){ entity = userRegisterService.get(id); } if (entity == null){ entity = new UserRegister(); } return entity; } /** * 注册成功列表页面 */ @RequiresPermissions("userregister:userRegister:list") @RequestMapping(value = {"list", ""}) public String list(UserRegister userRegister, HttpServletRequest request, HttpServletResponse response, Model model) { String aa=request.getParameter("usersex"); System.out.print(aa); Page page = userRegisterService.findPage(new Page(request, response), userRegister); model.addAttribute("page", page); return "modules/userregister/userRegisterList"; } /** * 查看,增加,编辑注册成功表单页面 */ @RequiresPermissions(value={"userregister:userRegister:view","userregister:userRegister:add","userregister:userRegister:edit"},logical=Logical.OR) @RequestMapping(value = "form") public String form(UserRegister userRegister, Model model) { model.addAttribute("userRegister", userRegister); return "modules/userregister/userRegisterForm"; } /** * 保存注册成功 */ @RequiresPermissions(value={"userregister:userRegister:add","userregister:userRegister:edit"},logical=Logical.OR) @RequestMapping(value = "save") public String save(UserRegister userRegister, Model model, RedirectAttributes redirectAttributes) throws Exception{ if (!beanValidator(model, userRegister)){ return form(userRegister, model); } if(!userRegister.getIsNewRecord()){//编辑表单保存 UserRegister t = userRegisterService.get(userRegister.getId());//从数据库取出记录的值 MyBeanUtils.copyBeanNotNull2Bean(userRegister, t);//将编辑表单中的非NULL值覆盖数据库记录中的值 userRegisterService.save(t);//保存 }else{//新增表单保存 userRegisterService.save(userRegister);//保存 } addMessage(redirectAttributes, "保存注册成功成功"); return "redirect:"+Global.getAdminPath()+"/userregister/userRegister/?repage"; } /** * 删除注册成功 */ @RequiresPermissions("userregister:userRegister:del") @RequestMapping(value = "delete") public String delete(UserRegister userRegister, RedirectAttributes redirectAttributes) { userRegisterService.delete(userRegister); addMessage(redirectAttributes, "删除注册成功成功"); return "redirect:"+Global.getAdminPath()+"/userregister/userRegister/?repage"; } /** * 批量删除注册成功 */ @RequiresPermissions("userregister:userRegister:del") @RequestMapping(value = "deleteAll") public String deleteAll(String ids, RedirectAttributes redirectAttributes) { String idArray[] =ids.split(","); for(String id : idArray){ userRegisterService.delete(userRegisterService.get(id)); } addMessage(redirectAttributes, "删除注册成功成功"); return "redirect:"+Global.getAdminPath()+"/userregister/userRegister/?repage"; } /** * 导出excel文件 */ @RequiresPermissions("userregister:userRegister:export") @RequestMapping(value = "export", method=RequestMethod.POST) public String exportFile(UserRegister userRegister, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { try { String fileName = "注册成功"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx"; Page page = userRegisterService.findPage(new Page(request, response, -1), userRegister); new ExportExcel("注册成功", UserRegister.class).setDataList(page.getList()).write(response, fileName).dispose(); return null; } catch (Exception e) { addMessage(redirectAttributes, "导出注册成功记录失败!失败信息:"+e.getMessage()); } return "redirect:"+Global.getAdminPath()+"/userregister/userRegister/?repage"; } /** * 导入Excel数据 */ @RequiresPermissions("userregister:userRegister:import") @RequestMapping(value = "import", method=RequestMethod.POST) public String importFile(MultipartFile file, RedirectAttributes redirectAttributes) { try { int successNum = 0; ImportExcel ei = new ImportExcel(file, 1, 0); List list = ei.getDataList(UserRegister.class); for (UserRegister userRegister : list){ userRegisterService.save(userRegister); } addMessage(redirectAttributes, "已成功导入 "+successNum+" 条注册成功记录"); } catch (Exception e) { addMessage(redirectAttributes, "导入注册成功失败!失败信息:"+e.getMessage()); } return "redirect:"+Global.getAdminPath()+"/userregister/userRegister/?repage"; } /** * 下载导入注册成功数据模板 */ @RequiresPermissions("userregister:userRegister:import") @RequestMapping(value = "import/template") public String importFileTemplate(HttpServletResponse response, RedirectAttributes redirectAttributes) { try { String fileName = "注册成功数据导入模板.xlsx"; List list = Lists.newArrayList(); new ExportExcel("注册成功数据", UserRegister.class, 1).setDataList(list).write(response, fileName).dispose(); return null; } catch (Exception e) { addMessage(redirectAttributes, "导入模板下载失败!失败信息:"+e.getMessage()); } return "redirect:"+Global.getAdminPath()+"/userregister/userRegister/?repage"; } }