From 46a6f340fd0d52684a513bb250029d615b0224f4 Mon Sep 17 00:00:00 2001 From: huk Date: Sat, 6 Sep 2025 15:55:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(tenant):=20=E4=BF=AE=E5=A4=8D=E5=A4=9A?= =?UTF-8?q?=E7=A7=9F=E6=88=B7=E7=99=BB=E5=BD=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/web/service/impl/EmailAuthStrategy.java | 2 ++ .../org/dromara/web/service/impl/PasswordAuthStrategy.java | 4 +++- .../java/org/dromara/web/service/impl/SmsAuthStrategy.java | 2 ++ .../java/com/wzj/soopin/goods/mapper/ProductMapper.java | 2 +- .../wzj/soopin/goods/service/impl/ProductServiceImpl.java | 4 ++-- .../src/main/resources/mapper/goods/ProductMapper.xml | 6 +++--- .../org/dromara/system/controller/SysTenantController.java | 4 ++-- 7 files changed, 15 insertions(+), 9 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java index ab51f5b50..f92fabec2 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java @@ -2,6 +2,7 @@ package org.dromara.web.service.impl; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; @@ -51,6 +52,7 @@ public class EmailAuthStrategy implements IAuthStrategy { String emailCode = loginBody.getEmailCode(); // 多租户时页面不在选择租户,后端通过邮箱查询用户的默认租户 String tenantId = userMapper.selectTenantIdByEmail(email); + Assert.notBlank(tenantId, () -> new UserException("登录用户:" + email + " 不存在.")); // 校验租户 if(!"app".equals(client.getClientKey())){ loginService.checkTenant(tenantId); diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java index 59013be77..a56687d03 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java @@ -3,6 +3,7 @@ package org.dromara.web.service.impl; import cn.dev33.satoken.secure.BCrypt; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; @@ -57,8 +58,9 @@ public class PasswordAuthStrategy implements IAuthStrategy { String uuid = loginBody.getUuid(); // 多租户时页面不在选择租户,后端通过用户名查询用户的默认租户 String tenantId = userMapper.selectTenantIdByUserName(username); + Assert.notBlank(tenantId, () -> new UserException("登录用户:" + username + " 不存在.")); // 校验租户 - if(!"app".equals(client.getClientKey())){ + if (!"app".equals(client.getClientKey())) { loginService.checkTenant(tenantId); } boolean captchaEnabled = captchaProperties.getEnable(); diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java index 3f6a85c16..dc94306a5 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java @@ -2,6 +2,7 @@ package org.dromara.web.service.impl; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.wzj.soopin.member.domain.po.Member; @@ -58,6 +59,7 @@ public class SmsAuthStrategy implements IAuthStrategy { String smsCode = loginBody.getSmsCode(); // 多租户时页面不在选择租户,后端通过邮箱查询用户的默认租户 String tenantId = userMapper.selectTenantIdByPhonenumber(phonenumber); + Assert.notBlank(tenantId, () -> new UserException("登录用户:" + phonenumber + " 不存在.")); LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { if("app".equals(client.getClientKey())){ //会员登录 diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/mapper/ProductMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/mapper/ProductMapper.java index 83654d270..eeb4eab68 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/mapper/ProductMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/mapper/ProductMapper.java @@ -28,7 +28,7 @@ public interface ProductMapper extends BaseMapper { */ List selectByEntity(Product product); - IPage getlist(@Param("page") Page page, @Param("query") ProductBo query,Long tenantId); + IPage getlist(@Param("page") Page page, @Param("query") ProductBo query,String tenantId); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductServiceImpl.java index abec44cc1..f46a276e7 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductServiceImpl.java @@ -44,7 +44,7 @@ public class ProductServiceImpl extends ServiceImpl impl @Override public IPage getList(ProductBo query, Page page) { - Long tenantId = Long.valueOf(LoginHelper.getTenantId()); + String tenantId = LoginHelper.getTenantId(); IPage getlist = productMapper.getlist(page, query, tenantId); return getlist; } @@ -55,7 +55,7 @@ public class ProductServiceImpl extends ServiceImpl impl //推荐商品要根据算法获取 - Long tenantId = Long.valueOf(LoginHelper.getTenantId()); + String tenantId = LoginHelper.getTenantId(); return productMapper.getlist(page,new ProductBo(),tenantId); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ProductMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ProductMapper.xml index bb171879b..d0c3ca936 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ProductMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ProductMapper.xml @@ -78,9 +78,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN pms_product_category pc ON p.category_id = pc.id LEFT JOIN pms_sku s ON p.id = s.product_id WHERE 1=1 - - AND s.tenant_id = #{tenantId} - + + + AND p.name LIKE CONCAT('%', #{query.nameLike}, '%') diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/SysTenantController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/SysTenantController.java index 79ca39b13..099072e9d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/SysTenantController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/SysTenantController.java @@ -64,7 +64,7 @@ public class SysTenantController extends BaseController { /** * 导出租户列表 */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) +// @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenant:export") @Log(title = "租户管理", businessType = BusinessType.EXPORT) @PostMapping("/export") @@ -80,7 +80,7 @@ public class SysTenantController extends BaseController { * @param id 主键 */ @Tag(name ="获取租户表详细信息") - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) +// @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenant:query") @GetMapping(value = "/{id}") public R getInfo(@PathVariable("id") Long id) {