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
|
@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);
|
}
|
|
@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);
|
|
|
|
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<SysUserExtend> 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<SysUserExtend> 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));
|
}
|
}
|