bug
luoyisheng
2025-02-12 61313c5dc05cf7d8be02d3e7cc8a3c89d1774b06
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;
    }