diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index a1af346..30b2f9e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -6,6 +6,8 @@ import java.util.Set; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.mapper.SysUserRoleMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -27,8 +29,7 @@ import com.ruoyi.system.service.ISysMenuService; * @author ruoyi */ @RestController -public class SysLoginController -{ +public class SysLoginController { @Autowired private SysLoginService loginService; @@ -41,6 +42,12 @@ public class SysLoginController @Autowired private TokenService tokenService; + @Autowired + private SysUserRoleMapper sysUserRoleMapper; + + @Autowired + private SysUserMapper sysUserMapper; + /** * 登录方法 * @@ -48,14 +55,18 @@ public class SysLoginController * @return 结果 */ @PostMapping("/login") - public AjaxResult login(@RequestBody LoginBody loginBody) - { - AjaxResult ajax = AjaxResult.success(); - // 生成令牌 - String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), - loginBody.getUuid()); - ajax.put(Constants.TOKEN, token); - return ajax; + public AjaxResult login(@RequestBody LoginBody loginBody) { + SysUser sysUser = sysUserMapper.selectUserByUserName(loginBody.getUsername()); + String roleId= String.valueOf(sysUserRoleMapper.selectRoleIdByUserId(sysUser.getUserId())); + if (("student".equals(loginBody.getRole()) && "2".equals(roleId)) || ("teacher".equals(loginBody.getRole()) && "100".equals(roleId)) || "admin".equals(loginBody.getUsername())) { + AjaxResult ajax = AjaxResult.success(); + // 生成令牌 + String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), + loginBody.getUuid()); + ajax.put(Constants.TOKEN, token); + return ajax; + } + return new AjaxResult(403,"用户权限不正确"); } /** @@ -64,8 +75,7 @@ public class SysLoginController * @return 用户信息 */ @GetMapping("getInfo") - public AjaxResult getInfo() - { + public AjaxResult getInfo() { SysUser user = SecurityUtils.getLoginUser().getUser(); // 角色集合 Set roles = permissionService.getRolePermission(user); @@ -84,11 +94,18 @@ public class SysLoginController * @return 路由信息 */ @GetMapping("getRouters") - public AjaxResult getRouters() - { - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); + public AjaxResult getRouters() { + LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); SysUser user = loginUser.getUser(); List menus = menuService.selectMenuTreeByUserId(user); return AjaxResult.success(menuService.buildMenus(menus)); } + + @GetMapping("getTeacherRouters") + public AjaxResult getTeacherRouters() { + LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); + SysUser user = loginUser.getUser(); + List menus = menuService.selectTeacherMenuTreeByUserId(user); + return AjaxResult.success(menuService.buildMenus(menus)); + } } diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java index a324e8d..392bf56 100644 --- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java +++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java @@ -367,6 +367,9 @@ public class DocInfoController extends BaseController { @PostMapping ("/splitWordDocInfo") public AjaxResult splitWordDocInfo(@RequestBody DocInfo docInfo){ + if("".equals(docInfo.getContent()) || docInfo.getContent()==null){ + return AjaxResult.error(400,"文章不能为空"); + } String title = docInfo.getContent(); Segment segment= HanLP.newSegment(); List termList = segment.seg(title); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java index b5bc8c8..597baf4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java @@ -27,6 +27,16 @@ public class LoginBody */ private String uuid; + private String role; + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + public String getUsername() { return username; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java index 593e694..6454650 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java @@ -58,14 +58,14 @@ public class SysPermissionService Set perms = new HashSet(); // 管理员拥有所有权限 - if (user.isAdmin()||hasRole(user.getRoles())) - { +// if (user.isAdmin()||hasRole(user.getRoles())) +// { perms.add("*:*:*"); - } - else - { - perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); - } +// } +// else +// { +// perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); +// } return perms; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java index 123b47f..2ae74d8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java @@ -48,6 +48,7 @@ public interface SysMenuMapper * @return 菜单列表 */ public List selectMenuTreeAll(); + public List selectTeacherMenuTreeAll(); /** * 根据用户ID查询菜单 @@ -114,4 +115,5 @@ public interface SysMenuMapper * @return 结果 */ public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java index 3143ec8..3a864ec 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java @@ -1,14 +1,18 @@ package com.ruoyi.system.mapper; import java.util.List; + +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.ruoyi.system.domain.SysUserRole; +import org.apache.ibatis.annotations.Select; /** * 用户与角色关联表 数据层 * * @author ruoyi */ +@Mapper public interface SysUserRoleMapper { /** @@ -59,4 +63,7 @@ public interface SysUserRoleMapper * @return 结果 */ public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); + + @Select("select role_id from sys_user_role where user_id = #{userId}") + Long selectRoleIdByUserId(@Param("userId") Long userId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java index 0735ab5..6775539 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java @@ -46,7 +46,7 @@ public interface ISysMenuService * @return 菜单列表 */ public List selectMenuTreeByUserId(SysUser user); - + public List selectTeacherMenuTreeByUserId(SysUser user); /** * 根据角色ID查询菜单树信息 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index 3529d86..36b777c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -121,6 +121,21 @@ public class SysMenuServiceImpl implements ISysMenuService return getChildPerms(menus, 0); } + @Override + public List selectTeacherMenuTreeByUserId(SysUser user) + { + List menus = null; + if (SecurityUtils.isAdmin(user.getUserId())||hasRole(user.getRoles())) + { + menus = menuMapper.selectTeacherMenuTreeAll(); + } + else + { + menus = menuMapper.selectMenuTreeByUserId(user.getUserId()); + } + return getChildPerms(menus, 0); + } + /** * 根据角色ID查询菜单树信息 * diff --git a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml index b3ccc42..1e7ffcb 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -53,6 +53,11 @@ from sys_menu_stu m where m.menu_type in ('M', 'C') and m.status = 0 order by m.parent_id, m.order_num +