xuhy
2024-09-23 66a4d910a33d1273427b513e008bd9cd4c5d4054
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -1,9 +1,6 @@
package com.ruoyi.web.controller.system;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.concurrent.TimeUnit;
import com.ruoyi.common.core.domain.R;
@@ -12,6 +9,7 @@
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.web.controller.tool.MsgUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -53,10 +51,53 @@
    @Autowired
    private ISysRoleService roleService;
    @Autowired
    private ISysUserService userService;
    @Autowired
    private MsgUtils msgUtils;
    /**
     * 账号密码登录
     *
     * @param loginBody 登录信息
     * @return 结果
     */
    @ApiOperation(value = "平台账号密码登录",notes = "平台账号密码登录")
    @PostMapping("/platformLogin")
    public AjaxResult<Map<String,Object>> platformLogin(@RequestBody LoginBody loginBody)
    {
        SysUser sysUser = userService.selectUserByUserName(loginBody.getUsername());
        if(Objects.isNull(sysUser)){
            return AjaxResult.error("用户不存在!");
        }
        if(sysUser.getRoleType() != 1){
            return AjaxResult.error("商家无法登录平台系统!请访问商家平台");
        }
        Map<String,Object> map = new HashMap<>();
        // 生成令牌
        LoginUser loginUser = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
                loginBody.getUuid());
        map.put(Constants.TOKEN, tokenService.createToken(loginUser));
        List<SysRole> roles = loginUser.getUser().getRoles();
        if(CollectionUtils.isEmpty(roles)){
            return AjaxResult.error("请关联角色!");
        }
        if(roles.get(0).getStatus() == 1){
            return AjaxResult.error("该账号角色已被禁用!");
        }
        List<SysMenu> menus = roleService.roleInfoFromUserId(loginUser.getUserId());
        map.put("menus",menus);
        map.put("roleName",roles.get(0).getRoleName());
        map.put("userInfo",loginUser);
        return AjaxResult.success(map);
    }
    /**
     * 账号密码登录
     * 
     * @param loginBody 登录信息
     * @return 结果