StudentController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package com.ruoyi.sim.controller;
  2. import com.ruoyi.common.annotation.Log;
  3. import com.ruoyi.common.core.controller.BaseController;
  4. import com.ruoyi.common.core.domain.AjaxResult;
  5. import com.ruoyi.common.core.domain.entity.SysUser;
  6. import com.ruoyi.common.core.page.TableDataInfo;
  7. import com.ruoyi.common.enums.BusinessType;
  8. import com.ruoyi.common.utils.SecurityUtils;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.sim.service.impl.Consts;
  11. import com.ruoyi.sim.service.impl.StudentService;
  12. import com.ruoyi.system.service.ISysDeptService;
  13. import com.ruoyi.system.service.ISysPostService;
  14. import com.ruoyi.system.service.ISysRoleService;
  15. import com.ruoyi.system.service.ISysUserService;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.apache.commons.lang3.ArrayUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.security.access.prepost.PreAuthorize;
  21. import org.springframework.validation.annotation.Validated;
  22. import org.springframework.web.bind.annotation.*;
  23. import java.util.List;
  24. @Api("学生Controller")
  25. @RestController
  26. @RequestMapping("/sim/student")
  27. public class StudentController extends BaseController {
  28. @Autowired
  29. private ISysUserService userService;
  30. @Autowired
  31. private ISysRoleService roleService;
  32. @Autowired
  33. private ISysDeptService deptService;
  34. @Autowired
  35. private ISysPostService postService;
  36. @Autowired
  37. private StudentService extSysUserService;
  38. /**
  39. * copy
  40. *
  41. * @param user
  42. * @return
  43. */
  44. // @PreAuthorize("@ss.hasPermi('sim:student:list')")
  45. @GetMapping("/list")
  46. @ApiOperation("查询学生列表")
  47. public TableDataInfo list() {
  48. // startPage();
  49. List<SysUser> list = extSysUserService.selectStudentList();
  50. return getDataTable(list);
  51. }
  52. // @PreAuthorize("@ss.hasPermi('sim:student:query')")
  53. /**
  54. * 新增学生
  55. */
  56. // @PreAuthorize("@ss.hasPermi('sim:student:add')")
  57. // @Log(title = "用户管理", businessType = BusinessType.INSERT)
  58. @PostMapping
  59. @ApiOperation("新增学生")
  60. public AjaxResult add(@Validated @RequestBody SysUser user) {
  61. deptService.checkDeptDataScope(user.getDeptId());
  62. roleService.checkRoleDataScope(user.getRoleIds());
  63. if (!userService.checkUserNameUnique(user)) {
  64. return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
  65. } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
  66. return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
  67. } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
  68. return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
  69. }
  70. user.setCreateBy(getUsername());
  71. user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
  72. AjaxResult tempAjax = toAjax(userService.insertUser(user));
  73. // -------------------------------- --------------------------------
  74. // 自动添加学生权限
  75. SysUser find = userService.selectUserByUserName(user.getUserName());
  76. logger.info(String.valueOf(find));
  77. if (find != null) {
  78. // roleService.insertAuthUsers(Consts.ROLE_ID_STUDENT, new Long[]{userId});
  79. userService.insertUserAuth(find.getUserId(), new Long[]{Consts.ROLE_ID_STUDENT});
  80. }
  81. return tempAjax;
  82. }
  83. /**
  84. * 修改学生
  85. */
  86. // @PreAuthorize("@ss.hasPermi('sim:student:edit')")
  87. // @Log(title = "用户管理", businessType = BusinessType.UPDATE)
  88. @PutMapping
  89. @ApiOperation("修改学生")
  90. public AjaxResult edit(@Validated @RequestBody SysUser user) {
  91. userService.checkUserAllowed(user);
  92. userService.checkUserDataScope(user.getUserId());
  93. deptService.checkDeptDataScope(user.getDeptId());
  94. roleService.checkRoleDataScope(user.getRoleIds());
  95. if (!userService.checkUserNameUnique(user)) {
  96. return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
  97. } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
  98. return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
  99. } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
  100. return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
  101. }
  102. user.setUpdateBy(getUsername());
  103. AjaxResult tempAjax = toAjax(userService.updateUser(user));
  104. // -------------------------------- --------------------------------
  105. // todo:不允许修改权限。
  106. return tempAjax;
  107. }
  108. /**
  109. * 删除学生
  110. */
  111. // @PreAuthorize("@ss.hasPermi('sim:student:remove')")
  112. // @Log(title = "用户管理", businessType = BusinessType.DELETE)
  113. @DeleteMapping("/{userIds}")
  114. @ApiOperation("删除学生")
  115. public AjaxResult remove(@PathVariable Long[] userIds)
  116. {
  117. if (ArrayUtils.contains(userIds, getUserId()))
  118. {
  119. return error("当前用户不能删除");
  120. }
  121. return toAjax(userService.deleteUserByIds(userIds));
  122. }
  123. }