From b44b174f656aac1fe03e7f96851e564c3982f67d Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 28 三月 2025 16:52:25 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/boymi/YiFeiNN --- medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java index 21944f6..d184e4f 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java @@ -3,15 +3,20 @@ import com.sinata.common.constant.Constants; import com.sinata.common.core.domain.AjaxResult; import com.sinata.common.core.domain.entity.SysMenu; +import com.sinata.common.core.domain.entity.SysRole; import com.sinata.common.core.domain.entity.SysUser; import com.sinata.common.core.domain.model.LoginBody; +import com.sinata.common.core.domain.model.LoginUser; import com.sinata.common.utils.SecurityUtils; import com.sinata.framework.web.service.SysLoginService; import com.sinata.framework.web.service.SysPermissionService; +import com.sinata.framework.web.service.TokenService; import com.sinata.system.service.ISysMenuService; +import com.sinata.system.service.ISysRoleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -19,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; +import java.util.Optional; import java.util.Set; /** @@ -40,6 +46,12 @@ @Autowired private SysPermissionService permissionService; + @Autowired + private TokenService tokenService; + + @Autowired + private ISysRoleService roleService; + /** * 登录方法 * @@ -52,9 +64,22 @@ { AjaxResult ajax = AjaxResult.success(); // 生成令牌 - String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), + LoginUser loginUser = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid()); - ajax.put(Constants.TOKEN, token); + ajax.put(Constants.TOKEN, tokenService.createToken(loginUser)); + List<SysRole> roles = loginUser.getUser().getRoles(); + if (CollectionUtils.isEmpty(roles)) { + return AjaxResult.error("请关联角色!"); + } + Optional<SysRole> any = roles.stream().filter(role -> role.getAppletFlag().equals(1)).findAny(); + if (any.isPresent()) { + return AjaxResult.error("小程序用户不能登录管理后台!"); + } + List<SysMenu> menus = roleService.roleInfoFromUserId(loginUser.getUserId()); + Set<Long> permissions = roleService.getMenuIdSets(loginUser.getUserId()); + ajax.put("menus", menus); + ajax.put("userInfo", loginUser); + ajax.put("permissions", permissions); return ajax; } -- Gitblit v1.7.1