From 660f4451c140a9da1f4bb92721a403b128dbdaf7 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 30 十月 2024 17:15:26 +0800
Subject: [PATCH] 修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 96 insertions(+), 4 deletions(-)

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 bb5f7fc..cd5b690 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
@@ -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,7 +53,52 @@
     @Autowired
     private ISysRoleService roleService;
     @Autowired
+    private ISysUserService userService;
+    @Autowired
+    private TShopService shopService;
+    @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);
+    }
 
     /**
      * 账号密码登录
@@ -77,6 +122,53 @@
         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());
 

--
Gitblit v1.7.1