Prechádzať zdrojové kódy

添加 StudentController TeacherController 相关。

tom 5 mesiacov pred
rodič
commit
6be0dea219

+ 5 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/ExtSysUserController.java

@@ -0,0 +1,5 @@
+package com.ruoyi.sim.controller;
+
+public class ExtSysUserController {
+
+}

+ 137 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/StudentController.java

@@ -0,0 +1,137 @@
+package com.ruoyi.sim.controller;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.sim.service.impl.Consts;
+import com.ruoyi.sim.service.impl.StudentService;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.system.service.ISysRoleService;
+import com.ruoyi.system.service.ISysUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Api("学生Controller")
+@RestController
+@RequestMapping("/sim/student")
+public class StudentController extends BaseController {
+
+    @Autowired
+    private ISysUserService userService;
+
+    @Autowired
+    private ISysRoleService roleService;
+
+    @Autowired
+    private ISysDeptService deptService;
+
+    @Autowired
+    private ISysPostService postService;
+
+    @Autowired
+    private StudentService extSysUserService;
+
+
+    /**
+     * copy
+     *
+     * @param user
+     * @return
+     */
+    // @PreAuthorize("@ss.hasPermi('system:user:list')")
+    @GetMapping("/list")
+    @ApiOperation("查询学生列表")
+    public TableDataInfo list() {
+        // startPage();
+        List<SysUser> list = extSysUserService.selectStudentList();
+        return getDataTable(list);
+    }
+
+    /**
+     * 新增学生
+     */
+    // @PreAuthorize("@ss.hasPermi('system:user:add')")
+    // @Log(title = "用户管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    @ApiOperation("新增学生")
+    public AjaxResult add(@Validated @RequestBody SysUser user) {
+        deptService.checkDeptDataScope(user.getDeptId());
+        roleService.checkRoleDataScope(user.getRoleIds());
+        if (!userService.checkUserNameUnique(user)) {
+            return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
+            return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
+        } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
+            return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        }
+        user.setCreateBy(getUsername());
+        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+        AjaxResult tempAjax = toAjax(userService.insertUser(user));
+        // --------------------------------  --------------------------------
+
+        // 自动添加学生权限
+        SysUser find = userService.selectUserByUserName(user.getUserName());
+        logger.info(String.valueOf(find));
+        if (find != null) {
+            // roleService.insertAuthUsers(Consts.ROLE_ID_STUDENT, new Long[]{userId});
+            userService.insertUserAuth(find.getUserId(), new Long[]{Consts.ROLE_ID_STUDENT});
+        }
+        return tempAjax;
+    }
+
+    /**
+     * 修改学生
+     */
+    // @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    // @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    @ApiOperation("修改学生")
+    public AjaxResult edit(@Validated @RequestBody SysUser user) {
+        userService.checkUserAllowed(user);
+        userService.checkUserDataScope(user.getUserId());
+        deptService.checkDeptDataScope(user.getDeptId());
+        roleService.checkRoleDataScope(user.getRoleIds());
+        if (!userService.checkUserNameUnique(user)) {
+            return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
+            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
+        } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
+            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        }
+        user.setUpdateBy(getUsername());
+        AjaxResult tempAjax = toAjax(userService.updateUser(user));
+        // --------------------------------  --------------------------------
+        // todo:不允许修改权限。
+        return tempAjax;
+    }
+
+    /**
+     * 删除学生
+     */
+    // @PreAuthorize("@ss.hasPermi('system:user:remove')")
+    // @Log(title = "用户管理", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{userIds}")
+    @ApiOperation("删除学生")
+    public AjaxResult remove(@PathVariable Long[] userIds)
+    {
+        if (ArrayUtils.contains(userIds, getUserId()))
+        {
+            return error("当前用户不能删除");
+        }
+        return toAjax(userService.deleteUserByIds(userIds));
+    }
+}
+

+ 135 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/TeacherController.java

@@ -0,0 +1,135 @@
+package com.ruoyi.sim.controller;
+
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.sim.service.impl.Consts;
+import com.ruoyi.sim.service.impl.StudentService;
+import com.ruoyi.sim.service.impl.TeacherService;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.system.service.ISysRoleService;
+import com.ruoyi.system.service.ISysUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Api("教师Controller")
+@RestController
+@RequestMapping("/sim/teacher")
+public class TeacherController extends BaseController {
+
+
+    @Autowired
+    private ISysUserService userService;
+
+    @Autowired
+    private ISysRoleService roleService;
+
+    @Autowired
+    private ISysDeptService deptService;
+
+    @Autowired
+    private ISysPostService postService;
+
+    @Autowired
+    private TeacherService teacherService;
+
+
+    /**
+     * copy
+     *
+     * @param user
+     * @return
+     */
+    // @PreAuthorize("@ss.hasPermi('system:user:list')")
+    @GetMapping("/list")
+    @ApiOperation("查询教师列表")
+    public TableDataInfo list() {
+        // startPage();
+        List<SysUser> list = teacherService.selectTeacherList();
+        return getDataTable(list);
+    }
+
+    /**
+     * 新增教师
+     */
+    // @PreAuthorize("@ss.hasPermi('system:user:add')")
+    // @Log(title = "用户管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    @ApiOperation("新增教师")
+    public AjaxResult add(@Validated @RequestBody SysUser user) {
+        deptService.checkDeptDataScope(user.getDeptId());
+        roleService.checkRoleDataScope(user.getRoleIds());
+        if (!userService.checkUserNameUnique(user)) {
+            return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
+            return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
+        } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
+            return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        }
+        user.setCreateBy(getUsername());
+        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+        AjaxResult tempAjax = toAjax(userService.insertUser(user));
+        // --------------------------------  --------------------------------
+
+        // 自动添加学生权限
+        SysUser find = userService.selectUserByUserName(user.getUserName());
+        logger.info(String.valueOf(find));
+        if (find != null) {
+            // roleService.insertAuthUsers(Consts.ROLE_ID_STUDENT, new Long[]{userId});
+            userService.insertUserAuth(find.getUserId(), new Long[]{Consts.ROLE_ID_TEACHER});
+        }
+        return tempAjax;
+    }
+
+    /**
+     * 修改教师
+     */
+    // @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    // @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    @ApiOperation("修改教师")
+    public AjaxResult edit(@Validated @RequestBody SysUser user) {
+        userService.checkUserAllowed(user);
+        userService.checkUserDataScope(user.getUserId());
+        deptService.checkDeptDataScope(user.getDeptId());
+        roleService.checkRoleDataScope(user.getRoleIds());
+        if (!userService.checkUserNameUnique(user)) {
+            return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
+            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
+        } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
+            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        }
+        user.setUpdateBy(getUsername());
+        AjaxResult tempAjax = toAjax(userService.updateUser(user));
+        // --------------------------------  --------------------------------
+        // todo:不允许修改权限。
+        return tempAjax;
+    }
+
+    /**
+     * 删除教师
+     */
+    // @PreAuthorize("@ss.hasPermi('system:user:remove')")
+    // @Log(title = "用户管理", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{userIds}")
+    @ApiOperation("删除教师")
+    public AjaxResult remove(@PathVariable Long[] userIds)
+    {
+        if (ArrayUtils.contains(userIds, getUserId()))
+        {
+            return error("当前用户不能删除");
+        }
+        return toAjax(userService.deleteUserByIds(userIds));
+    }
+}

+ 8 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/Consts.java

@@ -0,0 +1,8 @@
+package com.ruoyi.sim.service.impl;
+
+public interface Consts {
+
+    Long ROLE_ID_STUDENT = 101L;
+    Long ROLE_ID_TEACHER = 100L;
+
+}

+ 63 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/StudentService.java

@@ -0,0 +1,63 @@
+package com.ruoyi.sim.service.impl;
+
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.mapper.*;
+import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysDeptService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.validation.Validator;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class StudentService {
+
+    private static final Logger log = LoggerFactory.getLogger(StudentService.class);
+
+    @Autowired
+    private SysUserMapper userMapper;
+
+    @Autowired
+    private SysRoleMapper roleMapper;
+
+    @Autowired
+    private SysPostMapper postMapper;
+
+    @Autowired
+    private SysUserRoleMapper userRoleMapper;
+
+    @Autowired
+    private SysUserPostMapper userPostMapper;
+
+    @Autowired
+    private ISysConfigService configService;
+
+    @Autowired
+    private ISysDeptService deptService;
+
+    @Autowired
+    protected Validator validator;
+
+    // @DataScope(deptAlias = "d", userAlias = "u")
+    public List<SysUser> selectStudentList() {
+        SysUser su = new SysUser();
+        List<SysUser> list  = userMapper.selectUserList(su);
+        List<SysUser> list2 = new ArrayList<SysUser>();
+        // todo:
+        for (SysUser sysUser : list) {
+            List<SysRole> listR = roleMapper.selectRolesByUserName(sysUser.getUserName());
+            for (SysRole sysRole : listR) {
+                if (sysRole.getRoleId() == Consts.ROLE_ID_STUDENT) {
+                    list2.add(sysUser);
+                    break;
+                }
+            }
+        }
+        return list2;
+    }
+}

+ 63 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/TeacherService.java

@@ -0,0 +1,63 @@
+package com.ruoyi.sim.service.impl;
+
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.mapper.*;
+import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysDeptService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.validation.Validator;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class TeacherService {
+
+    private static final Logger log = LoggerFactory.getLogger(StudentService.class);
+
+    @Autowired
+    private SysUserMapper userMapper;
+
+    @Autowired
+    private SysRoleMapper roleMapper;
+
+    @Autowired
+    private SysPostMapper postMapper;
+
+    @Autowired
+    private SysUserRoleMapper userRoleMapper;
+
+    @Autowired
+    private SysUserPostMapper userPostMapper;
+
+    @Autowired
+    private ISysConfigService configService;
+
+    @Autowired
+    private ISysDeptService deptService;
+
+    @Autowired
+    protected Validator validator;
+
+    // @DataScope(deptAlias = "d", userAlias = "u")
+    public List<SysUser> selectTeacherList() {
+        SysUser su = new SysUser();
+        List<SysUser> list  = userMapper.selectUserList(su);
+        List<SysUser> list2 = new ArrayList<SysUser>();
+        // todo:
+        for (SysUser sysUser : list) {
+            List<SysRole> listR = roleMapper.selectRolesByUserName(sysUser.getUserName());
+            for (SysRole sysRole : listR) {
+                if (sysRole.getRoleId() == Consts.ROLE_ID_TEACHER) {
+                    list2.add(sysUser);
+                    break;
+                }
+            }
+        }
+        return list2;
+    }
+}