package com.ots.project.exam.controller; import com.ots.common.constant.UserConstants; import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.MessageUtils; 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.SysUserExtend; import com.ots.project.exam.service.ISysUserExtendService; import com.ots.project.system.user.domain.User; import com.ots.project.system.user.service.IUserService; 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.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; /** * 用户信息扩展Controller * * @author ots * @date 2019-11-20 */ @Controller @RequestMapping("/exam/extend") public class SysUserExtendController extends BaseController { private String prefix = "exam/extend"; @Autowired private IUserService userService; @Autowired private ISysUserExtendService sysUserExtendService; @RequiresPermissions("exam:extend:view") @GetMapping() public ModelAndView extend() { User user = ShiroUtils.getSysUser(); if (!Objects.equals(user.getUserType(), UserTypeEnum.ENT_USER.getUserType())) { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("errorMessage", MessageUtils.message("jsp.warning.ForNonBusinessUsers")); modelAndView.setViewName("error/business"); return modelAndView; } SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); Map map = new HashMap(); map.put("user", user); map.put("sysUserExtend", sysUserExtend == null ? new SysUserExtend() : sysUserExtend); return new ModelAndView(prefix + "/extend", map); } /** * 局部刷新 * * @param model * @return */ @RequestMapping("/refresh") public String localRefresh(Model model) { User user = ShiroUtils.getSysUser(); SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); model.addAttribute("user", user); model.addAttribute("sysUserExtend", sysUserExtend); // "test"是test.html的名, // "table_refresh"是test.html中需要刷新的部分标志, // 在标签里加入:th:fragment="table_refresh" return prefix + "/extend::table_refresh"; } /** * 修改保存用户信息扩展 */ @RequiresPermissions("exam:extend:edit") @Log(title = "用户信息扩展", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(SysUserExtend sysUserExtend) { return toAjax(sysUserExtendService.updateSysUserExtend(sysUserExtend)); } /** * 查询用户信息扩展列表 */ @RequiresPermissions("exam:extend:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(SysUserExtend sysUserExtend) { startPage(); User sysUser = ShiroUtils.getSysUser(); if ("01".equals(sysUser.getUserType())) { sysUserExtend.setParentUserId(sysUser.getUserId()); } else { sysUserExtend.setUserType("02"); } if (Objects.nonNull(sysUserExtend.getParentUserTempId())) { sysUserExtend.setParentUserId(sysUserExtend.getParentUserTempId()); } List list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); return getDataTable(list); } @PostMapping("/list2") @ResponseBody public TableDataInfo list2(SysUserExtend sysUserExtend) { startPage(); User sysUser = ShiroUtils.getSysUser(); if ("01".equals(sysUser.getUserType())) { sysUserExtend.setParentUserId(sysUser.getUserId()); } else { sysUserExtend.setUserType("02"); } if (!"00".equals(sysUser.getUserType())) { sysUserExtend.setParentUserId(sysUser.getUserId()); } List list = sysUserExtendService.selectSysUserExtendList(sysUserExtend); return getDataTable(list); } /** * 新增保存用户信息扩展 */ @RequiresPermissions("exam:extend:add") @Log(title = "用户信息扩展", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(SysUserExtend user) { if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(user.getLoginName()))) { return error("新增用户'" + user.getLoginName() + "'失败,登录账号已存在"); } return toAjax(sysUserExtendService.insertSysUserExtend(user)); } }