xuhy
2024-10-23 99145a616ec0c58a837b8831ee2cda459514bbe0
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;
@@ -11,7 +8,10 @@
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.domain.TShop;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.TShopService;
import com.ruoyi.web.controller.tool.MsgUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -53,23 +53,37 @@
    @Autowired
    private ISysRoleService roleService;
    @Autowired
    private ISysUserService userService;
    @Autowired
    private TShopService shopService;
    @Autowired
    private MsgUtils msgUtils;
    /**
     * 账号密码登录
     *
     *
     * @param loginBody 登录信息
     * @return 结果
     */
    @ApiOperation(value = "账号密码登录",notes = "账号密码登录")
        @PostMapping("/login")
    public AjaxResult login(@RequestBody LoginBody loginBody)
    @ApiOperation(value = "平台账号密码登录",notes = "平台账号密码登录")
    @PostMapping("/platformLogin")
    public AjaxResult<Map<String,Object>> platformLogin(@RequestBody LoginBody loginBody)
    {
        AjaxResult ajax = AjaxResult.success();
        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());
        ajax.put(Constants.TOKEN, tokenService.createToken(loginUser));
        map.put(Constants.TOKEN, tokenService.createToken(loginUser));
        List<SysRole> roles = loginUser.getUser().getRoles();
        if(CollectionUtils.isEmpty(roles)){
            return AjaxResult.error("请关联角色!");
@@ -80,10 +94,88 @@
        List<SysMenu> menus = roleService.roleInfoFromUserId(loginUser.getUserId());
        ajax.put("menus",menus);
        ajax.put("roleName",roles.get(0).getRoleName());
        ajax.put("userInfo",loginUser);
        return ajax;
        map.put("menus",menus);
        map.put("roleName",roles.get(0).getRoleName());
        map.put("userInfo",loginUser);
        return AjaxResult.success(map);
    }
    /**
     * 账号密码登录
     *
     * @param loginBody 登录信息
     * @return 结果
     */
    @ApiOperation(value = "账号密码登录",notes = "账号密码登录")
    @PostMapping("/login")
    public AjaxResult<Map<String,Object>> login(@RequestBody LoginBody loginBody)
    {
        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("该账号角色已被禁用!");
        }
        if(loginUser.getRoleType() != 1){
            // 查询店铺样式
            TShop shop = shopService.getById(loginUser.getObjectId());
            if(Objects.nonNull(shop)){
                loginUser.setShopStyle(shop.getShopStyle());
            }
        }
        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 结果
     */
    @ApiOperation(value = "商家跳转登录",notes = "商家跳转登录")
    @PostMapping("/reLogin")
    public AjaxResult<Map<String,Object>> reLogin(@RequestBody LoginBody loginBody)
    {
        Map<String,Object> map = new HashMap<>();
        loginBody.setPassword("123456");
        // 生成令牌
        LoginUser loginUser = loginService.reLogin(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("该账号角色已被禁用!");
        }
        if(loginUser.getRoleType() != 1){
            // 查询店铺样式
            TShop shop = shopService.getById(loginUser.getObjectId());
            if(Objects.nonNull(shop)){
                loginUser.setShopStyle(shop.getShopStyle());
            }
        }
        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);
    }
    /**