From 17afbc2125b4df86f9d7846c02ddc7bc4a8ccc99 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 31 十月 2024 16:48:47 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 106 insertions(+), 14 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 a9f2046..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,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); } /** -- Gitblit v1.7.1