Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
edef017d
提交
edef017d
authored
6月 04, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码优化
上级
dc194110
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
33 行增加
和
4 行删除
+33
-4
RemoteUserService.java
...c/main/java/org/dromara/system/api/RemoteUserService.java
+2
-1
TokenController.java
...ain/java/org/dromara/auth/controller/TokenController.java
+2
-1
XcxLoginBody.java
...uth/src/main/java/org/dromara/auth/form/XcxLoginBody.java
+5
-0
XcxPhoneLoginBody.java
...rc/main/java/org/dromara/auth/form/XcxPhoneLoginBody.java
+4
-0
AbstractMallStrategy.java
...a/org/dromara/auth/service/impl/AbstractMallStrategy.java
+10
-0
XcxAuthStrategy.java
...n/java/org/dromara/auth/service/impl/XcxAuthStrategy.java
+3
-0
XcxPhoneAuthStrategy.java
...a/org/dromara/auth/service/impl/XcxPhoneAuthStrategy.java
+4
-0
RemoteUserServiceImpl.java
.../java/org/dromara/system/dubbo/RemoteUserServiceImpl.java
+3
-2
没有找到文件。
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java
浏览文件 @
edef017d
...
...
@@ -154,9 +154,10 @@ public interface RemoteUserService {
* 根据手机号查询租户id集合
*
* @param phone 手机号
* @param userType 手机号
* @return 租户id集合
*/
List
<
String
>
selectTenantIdsByPhone
(
String
phone
);
List
<
String
>
selectTenantIdsByPhone
(
String
phone
,
String
userType
);
/**
* 注册用户到云上服务器
...
...
ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java
浏览文件 @
edef017d
...
...
@@ -22,6 +22,7 @@ import org.dromara.auth.service.SysLoginService;
import
org.dromara.common.core.constant.UserConstants
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.core.domain.model.LoginBody
;
import
org.dromara.common.core.enums.UserType
;
import
org.dromara.common.core.utils.*
;
import
org.dromara.common.encrypt.annotation.ApiEncrypt
;
import
org.dromara.common.json.utils.JsonUtils
;
...
...
@@ -213,7 +214,7 @@ public class TokenController {
//通过手机号过滤
if
(
StringUtils
.
isNotEmpty
(
phone
)){
List
<
String
>
tenantIds
=
remoteUserService
.
selectTenantIdsByPhone
(
phone
);
List
<
String
>
tenantIds
=
remoteUserService
.
selectTenantIdsByPhone
(
phone
,
UserType
.
SYS_USER
.
getUserType
()
);
tenantList
=
StreamUtils
.
filter
(
tenantList
,
vo
->
tenantIds
.
contains
(
vo
.
getTenantId
()));
}
...
...
ruoyi-auth/src/main/java/org/dromara/auth/form/XcxLoginBody.java
浏览文件 @
edef017d
...
...
@@ -19,6 +19,11 @@ public class XcxLoginBody extends LoginBody {
*/
private
String
appid
;
/**
* 手机号
*/
private
String
phone
;
/**
* 小程序code
*/
...
...
ruoyi-auth/src/main/java/org/dromara/auth/form/XcxPhoneLoginBody.java
浏览文件 @
edef017d
...
...
@@ -34,5 +34,9 @@ public class XcxPhoneLoginBody extends LoginBody {
*/
@NotBlank
(
message
=
"用户凭证不能为空"
)
private
String
sessionKey
;
/**
* 手机号
*/
private
String
phone
;
}
ruoyi-auth/src/main/java/org/dromara/auth/service/impl/AbstractMallStrategy.java
浏览文件 @
edef017d
...
...
@@ -6,6 +6,7 @@ import org.apache.dubbo.config.annotation.DubboReference;
import
org.dromara.auth.service.IAuthStrategy
;
import
org.dromara.common.core.domain.model.LoginBody
;
import
org.dromara.common.core.enums.UserType
;
import
org.dromara.common.core.exception.ServiceException
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.mall.api.domain.member.RemoteMember
;
import
org.dromara.mall.api.domain.member.RemoteMemberSave
;
...
...
@@ -82,4 +83,13 @@ public abstract class AbstractMallStrategy implements IAuthStrategy {
return
memberId
;
}
protected
void
validatePhone
(
String
validatePhone
,
String
loginPhone
)
{
if
(
StringUtils
.
isBlank
(
validatePhone
))
{
return
;
}
if
(
StringUtils
.
equals
(
validatePhone
,
loginPhone
))
{
throw
new
ServiceException
(
String
.
format
(
"微信授权手机号%s与您输入的员工手机号%s不匹配,请核对后登录"
,
loginPhone
,
validatePhone
));
}
}
}
ruoyi-auth/src/main/java/org/dromara/auth/service/impl/XcxAuthStrategy.java
浏览文件 @
edef017d
...
...
@@ -73,6 +73,9 @@ public class XcxAuthStrategy extends AbstractMallStrategy implements IAuthStrate
//获取会员id
Long
memberId
=
getMemberId
(
loginBody
,
loginUser
);
//校验手机号
validatePhone
(
loginBody
.
getPhone
(),
loginUser
.
getPhone
());
SaLoginModel
model
=
new
SaLoginModel
();
model
.
setDevice
(
client
.
getDeviceType
());
// 自定义分配 不同用户体系 不同 token 授权时间 不设置默认走全局 yml 配置
...
...
ruoyi-auth/src/main/java/org/dromara/auth/service/impl/XcxPhoneAuthStrategy.java
浏览文件 @
edef017d
...
...
@@ -56,6 +56,10 @@ public class XcxPhoneAuthStrategy extends AbstractMallStrategy implements IAuthS
.
setTenantId
(
loginBody
.
getTenantId
())
.
setOpenId
(
loginBody
.
getOpenId
())
.
setPhonenumber
(
phone
));
//校验手机号
validatePhone
(
loginBody
.
getPhone
(),
phone
);
XcxLoginUser
loginUser
=
remoteUserService
.
getUserInfoByOpenid
(
loginBody
.
getOpenId
(),
loginBody
.
getTenantId
());
if
(
loginUser
==
null
)
{
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java
浏览文件 @
edef017d
...
...
@@ -380,11 +380,12 @@ public class RemoteUserServiceImpl implements RemoteUserService {
/**
* 通过手机号查询租户id集合
*
* @param phone 手机号
* @param phone 手机号
* @param userType 手机号
* @return 租户id集合
*/
@Override
public
List
<
String
>
selectTenantIdsByPhone
(
String
phone
)
{
public
List
<
String
>
selectTenantIdsByPhone
(
String
phone
,
String
userType
)
{
return
userMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysUser
>().
eq
(
SysUser:
:
getPhonenumber
,
phone
))
.
stream
().
map
(
SysUser:
:
getTenantId
).
collect
(
Collectors
.
toList
());
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论