package com.ots.project.exam.controller; import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.poi.ExcelUtil; import com.ots.common.utils.security.ShiroUtils; import com.ots.framework.aspectj.lang.annotation.Log; import com.ots.framework.aspectj.lang.enums.BusinessType; import com.ots.framework.web.controller.BaseController; import com.ots.framework.web.domain.AjaxResult; import com.ots.framework.web.page.TableDataInfo; import com.ots.project.exam.domain.EntDemographyInfo; import com.ots.project.exam.service.IEntDemographyInfoService; import com.ots.project.system.user.domain.User; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import java.util.HashMap; import java.util.List; import java.util.Objects; /** * 人口学信息Controller * * @author ots * @date 2019-12-15 */ @Controller @RequestMapping("/exam/info") public class EntDemographyInfoController extends BaseController { private String prefix = "exam/info"; @Autowired private IEntDemographyInfoService entDemographyInfoService; @RequiresPermissions("exam:info:view") @GetMapping() public ModelAndView info() { User user = ShiroUtils.getSysUser(); if (!Objects.equals(user.getUserType(), UserTypeEnum.ENT_USER.getUserType())) { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("errorMessage", "您不是企业用户!"); modelAndView.setViewName("error/business"); return modelAndView; } return new ModelAndView(prefix + "/info", new HashMap<>()); } /** * 查询人口学信息列表 */ @RequiresPermissions("exam:info:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(EntDemographyInfo entDemographyInfo) { startPage(); List list = entDemographyInfoService.selectEntDemographyInfoList(entDemographyInfo); return getDataTable(list); } /** * 导出人口学信息列表 */ @RequiresPermissions("exam:info:export") @PostMapping("/export") @ResponseBody public AjaxResult export(EntDemographyInfo entDemographyInfo) { List list = entDemographyInfoService.selectEntDemographyInfoList(entDemographyInfo); ExcelUtil util = new ExcelUtil(EntDemographyInfo.class); return util.exportExcel(list, "info"); } /** * 新增人口学信息 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存人口学信息 */ @RequiresPermissions("exam:info:add") @Log(title = "人口学信息", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(EntDemographyInfo entDemographyInfo) { return toAjax(entDemographyInfoService.insertEntDemographyInfo(entDemographyInfo)); } /** * 修改人口学信息 */ @GetMapping("/edit/{infoId}") public String edit(@PathVariable("infoId") Long infoId, ModelMap mmap) { EntDemographyInfo entDemographyInfo = entDemographyInfoService.selectEntDemographyInfoById(infoId); mmap.put("entDemographyInfo", entDemographyInfo); return prefix + "/edit"; } /** * 修改保存人口学信息 */ @RequiresPermissions("exam:info:edit") @Log(title = "人口学信息", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(EntDemographyInfo entDemographyInfo) { return toAjax(entDemographyInfoService.updateEntDemographyInfo(entDemographyInfo)); } /** * 删除人口学信息 */ @RequiresPermissions("exam:info:remove") @Log(title = "人口学信息", businessType = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(entDemographyInfoService.deleteEntDemographyInfoByIds(ids)); } }