Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
7c3917c0
提交
7c3917c0
authored
6月 25, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码优化
上级
b7dc9dd1
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
83 行增加
和
115 行删除
+83
-115
LoginHelper.java
...in/java/org/dromara/common/satoken/utils/LoginHelper.java
+0
-4
SysUserController.java
...g/dromara/system/controller/system/SysUserController.java
+2
-17
SysUserProjectController.java
...ra/system/controller/system/SysUserProjectController.java
+2
-1
SysUserProjectInsertBo.java
.../org/dromara/system/domain/bo/SysUserProjectInsertBo.java
+5
-1
RemoteProjectServiceImpl.java
...va/org/dromara/system/dubbo/RemoteProjectServiceImpl.java
+14
-9
SysProjectUserImportListener.java
...dromara/system/listener/SysProjectUserImportListener.java
+24
-47
SysUserImportListener.java
...va/org/dromara/system/listener/SysUserImportListener.java
+1
-9
SysUserProjectServiceImpl.java
...romara/system/service/impl/SysUserProjectServiceImpl.java
+10
-2
SysUserServiceImpl.java
...a/org/dromara/system/service/impl/SysUserServiceImpl.java
+25
-25
没有找到文件。
ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java
浏览文件 @
7c3917c0
...
...
@@ -11,7 +11,6 @@ import lombok.NoArgsConstructor;
import
org.dromara.common.core.constant.TenantConstants
;
import
org.dromara.common.core.constant.UserConstants
;
import
org.dromara.common.core.enums.UserType
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.mall.enums.TerminalEnum
;
import
org.dromara.system.api.model.LoginUser
;
...
...
@@ -66,9 +65,6 @@ public class LoginHelper {
.
setExtra
(
USER_TYPE
,
loginUser
.
getUserType
())
);
StpUtil
.
getTokenSession
().
set
(
LOGIN_USER_KEY
,
loginUser
);
if
(
StringUtils
.
contains
(
loginUser
.
getUserType
(),
UserType
.
PROJECT_USER
.
getUserType
()))
{
StpUtil
.
getTokenSession
().
set
(
PROJECT_ID
,
Long
.
valueOf
(
StringUtils
.
splitList
(
loginUser
.
getUserType
(),
":"
).
get
(
1
)));
}
}
/**
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
浏览文件 @
7c3917c0
...
...
@@ -57,7 +57,6 @@ public class SysUserController extends BaseController {
private
final
ISysRoleService
roleService
;
private
final
ISysPostService
postService
;
private
final
ISysDeptService
deptService
;
private
final
ISysTenantService
tenantService
;
private
final
ISysUserProjectService
userProjectService
;
@DubboReference
private
RemoteDeptOrderApproveService
remoteDeptOrderApproveService
;
...
...
@@ -179,10 +178,10 @@ public class SysUserController extends BaseController {
if
(
su
==
null
)
{
return
R
.
ok
(
uoa
);
}
if
(
su
.
getUserType
().
contains
(
SysUser
.
PROJECT_USER_TYPE
))
{
if
(
su
.
getUserType
().
contains
(
SysUser
.
PROJECT_USER_TYPE
)
&&
projectId
==
null
)
{
uoa
.
setStaffId
(
su
.
getCreateBy
());
su
=
userService
.
selectUserById
(
uoa
.
getStaffId
());
}
else
if
(
StringUtils
.
equals
(
su
.
getUserType
(),
UserType
.
SYS_USER
.
getUserType
())
&&
projectId
!=
null
)
{
}
else
if
(
projectId
!=
null
)
{
SysUserProjectBo
sup
=
new
SysUserProjectBo
();
sup
.
setUserId
(
LoginHelper
.
getUserId
());
sup
.
setProjectId
(
projectId
);
...
...
@@ -242,20 +241,6 @@ public class SysUserController extends BaseController {
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
R
<
Void
>
add
(
@Validated
@RequestBody
SysUserBo
user
)
{
deptService
.
checkDeptDataScope
(
user
.
getDeptId
());
if
(!
userService
.
checkUserNameUnique
(
user
))
{
return
R
.
fail
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,登录账号已存在"
);
}
else
if
(
StringUtils
.
isNotEmpty
(
user
.
getPhonenumber
())
&&
!
userService
.
checkPhoneUnique
(
user
))
{
return
R
.
fail
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,手机号码已存在"
);
}
else
if
(
StringUtils
.
isNotEmpty
(
user
.
getEmail
())
&&
!
userService
.
checkEmailUnique
(
user
))
{
return
R
.
fail
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,邮箱账号已存在"
);
}
if
(
TenantHelper
.
isEnable
())
{
if
(!
tenantService
.
checkAccountBalance
(
TenantHelper
.
getTenantId
()))
{
return
R
.
fail
(
"当前租户下用户名额不足,请联系管理员"
);
}
}
user
.
setPassword
(
BCrypt
.
hashpw
(
user
.
getPassword
()));
return
toAjax
(
userService
.
insertUser
(
user
));
}
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserProjectController.java
浏览文件 @
7c3917c0
...
...
@@ -76,7 +76,8 @@ public class SysUserProjectController extends BaseController {
@RepeatSubmit
()
@PostMapping
(
"/addProjectUser"
)
public
R
<
Void
>
addProjectUser
(
@Validated
(
AddGroup
.
class
)
@RequestBody
SysUserProjectInsertBo
bo
)
{
return
toAjax
(
sysUserProjectService
.
insert
(
bo
));
sysUserProjectService
.
insert
(
bo
);
return
R
.
ok
();
}
/**
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserProjectInsertBo.java
浏览文件 @
7c3917c0
...
...
@@ -4,8 +4,10 @@ import jakarta.validation.constraints.Email;
import
jakarta.validation.constraints.NotNull
;
import
jakarta.validation.constraints.Size
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.xss.Xss
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
/**
* 用户项目业务对象 sys_user_project
...
...
@@ -14,13 +16,15 @@ import org.dromara.common.core.xss.Xss;
* @date 2025-06-19
*/
@Data
public
class
SysUserProjectInsertBo
{
@Accessors
(
chain
=
true
)
public
class
SysUserProjectInsertBo
extends
BaseEntity
{
/**
* 用户id
*/
private
Long
userId
;
/**
* 项目id
*/
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteProjectServiceImpl.java
浏览文件 @
7c3917c0
...
...
@@ -15,16 +15,16 @@ import org.dromara.system.api.domain.vo.RemoteProjectVo;
import
org.dromara.system.constant.Constant
;
import
org.dromara.system.domain.SysProject
;
import
org.dromara.system.domain.SysUser
;
import
org.dromara.system.domain.SysUserProject
;
import
org.dromara.system.mapper.SysProjectMapper
;
import
org.dromara.system.mapper.SysUserMapper
;
import
org.dromara.system.mapper.SysUserProjectMapper
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
static
org
.
dromara
.
system
.
domain
.
SysUser
.
PROJECT_USER_TYPE_SPLIT
;
/**
* @author hzh
* @date 2025-06-11
...
...
@@ -36,21 +36,26 @@ public class RemoteProjectServiceImpl implements RemoteProjectService {
private
final
SysProjectMapper
sysProjectMapper
;
private
final
SysUserMapper
sysUserMapper
;
private
final
SysUserProjectMapper
sysUserProjectMapper
;
@Override
public
List
<
RemoteProjectVo
>
queryList
(
String
tenantId
,
String
phone
)
{
List
<
SysUser
>
userList
=
sysUserMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysUser
>()
.
eq
(
StringUtils
.
isNotEmpty
(
tenantId
),
SysUser:
:
getTenantId
,
tenantId
)
.
eq
(
StringUtils
.
isNotEmpty
(
phone
),
SysUser:
:
getPhonenumber
,
phone
)
.
likeRight
(
SysUser:
:
getUserType
,
SysUser
.
PROJECT_USER_TYPE
)
.
eq
(
SysUser:
:
getUserType
,
SysUser
.
PROJECT_USER_TYPE
)
.
eq
(
SysUser:
:
getStatus
,
UserConstants
.
USER_NORMAL
)
.
select
(
SysUser:
:
getUser
Type
)
.
select
(
SysUser:
:
getUser
Id
)
);
Set
<
Long
>
projectIds
=
StreamUtils
.
toSet
(
userList
,
u
->
{
String
[]
split
=
u
.
getUserType
().
split
(
PROJECT_USER_TYPE_SPLIT
);
return
Long
.
parseLong
(
split
[
1
]);
});
return
CollectionUtil
.
isEmpty
(
projectIds
)
?
List
.
of
()
:
BeanUtil
.
copyToList
(
StreamUtils
.
filter
(
sysProjectMapper
.
selectByIds
(
projectIds
),
sp
->
StringUtils
.
equals
(
sp
.
getStatus
(),
Constant
.
PROJECT_NORMAL
)),
RemoteProjectVo
.
class
);
if
(
CollectionUtil
.
isEmpty
(
userList
))
{
return
List
.
of
();
}
List
<
SysUserProject
>
supList
=
sysUserProjectMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysUserProject
>()
.
in
(
SysUserProject:
:
getUserId
,
StreamUtils
.
toList
(
userList
,
SysUser:
:
getUserId
)));
Set
<
Long
>
projectIds
=
StreamUtils
.
toSet
(
supList
,
SysUserProject:
:
getProjectId
);
return
CollectionUtil
.
isEmpty
(
projectIds
)
?
List
.
of
()
:
BeanUtil
.
copyToList
(
StreamUtils
.
filter
(
sysProjectMapper
.
selectByIds
(
projectIds
),
sp
->
StringUtils
.
equals
(
sp
.
getStatus
(),
Constant
.
PROJECT_NORMAL
)),
RemoteProjectVo
.
class
);
}
@Override
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/listener/SysProjectUserImportListener.java
浏览文件 @
7c3917c0
package
org
.
dromara
.
system
.
listener
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.http.HtmlUtil
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
jakarta.validation.ConstraintViolation
;
import
jakarta.validation.ConstraintViolationException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.core.exception.ServiceException
;
import
org.dromara.common.core.utils.SpringUtils
;
import
org.dromara.common.core.utils.StreamUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.core.utils.ValidatorUtils
;
import
org.dromara.common.excel.core.ExcelListener
;
import
org.dromara.common.excel.core.ExcelResult
;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.system.controller.system.SysUserController
;
import
org.dromara.system.domain.bo.SysUserBo
;
import
org.dromara.system.domain.bo.SysUserProjectInsertBo
;
import
org.dromara.system.domain.vo.SysProjectUserImportVo
;
import
org.dromara.system.
domain.vo.SysUserVo
;
import
org.dromara.system.service.ISysUserService
;
import
org.dromara.system.
service.ISysConfigService
;
import
org.dromara.system.service.ISysUser
Project
Service
;
import
java.util.List
;
import
static
org
.
dromara
.
system
.
domain
.
SysUser
.
PROJECT_USER_TYPE
;
import
static
org
.
dromara
.
system
.
domain
.
SysUser
.
PROJECT_USER_TYPE_SPLIT
;
/**
* 项目用户自定义导入
*
...
...
@@ -36,12 +28,12 @@ import static org.dromara.system.domain.SysUser.PROJECT_USER_TYPE_SPLIT;
@Slf4j
public
class
SysProjectUserImportListener
extends
AnalysisEventListener
<
SysProjectUserImportVo
>
implements
ExcelListener
<
SysProjectUserImportVo
>
{
private
final
ISysUserService
userService
;
private
final
SysUserController
sysUserController
;
private
final
ISysUserProjectService
sysUserProjectService
;
private
final
Long
operUserId
;
private
final
Long
roleId
;
private
final
String
userType
;
private
final
String
operTenantId
;
private
final
Long
projectId
;
private
final
String
initPassword
;
private
int
successNum
=
0
;
private
int
failureNum
=
0
;
...
...
@@ -49,46 +41,31 @@ public class SysProjectUserImportListener extends AnalysisEventListener<SysProje
private
final
StringBuilder
failureMsg
=
new
StringBuilder
();
public
SysProjectUserImportListener
(
Long
projectId
,
Long
roleId
)
{
this
.
userService
=
SpringUtils
.
getBean
(
ISysUserService
.
class
);
this
.
sysUserController
=
SpringUtils
.
getBean
(
SysUserController
.
class
);
this
.
sysUserProjectService
=
SpringUtils
.
getBean
(
ISysUserProjectService
.
class
);
this
.
operUserId
=
LoginHelper
.
getUserId
();
this
.
operTenantId
=
LoginHelper
.
getTenantId
();
this
.
userType
=
PROJECT_USER_TYPE
+
PROJECT_USER_TYPE_SPLIT
+
projectId
;
this
.
projectId
=
projectId
;
this
.
roleId
=
roleId
;
this
.
initPassword
=
SpringUtils
.
getBean
(
ISysConfigService
.
class
).
selectConfigByKey
(
"sys.user.initPassword"
);
}
@Override
public
void
invoke
(
SysProjectUserImportVo
userVo
,
AnalysisContext
context
)
{
SysUserVo
sysUser
=
this
.
userService
.
selectUserByUserName
(
userVo
.
getPhonenumber
(),
userType
,
operTenantId
);
public
void
invoke
(
SysProjectUserImportVo
vo
,
AnalysisContext
context
)
{
try
{
// 验证是否存在这个用户
if
(
ObjectUtil
.
isNull
(
sysUser
))
{
SysUserBo
user
=
BeanUtil
.
toBean
(
userVo
,
SysUserBo
.
class
);
user
.
setUserName
(
user
.
getPhonenumber
());
user
.
setUserType
(
userType
);
ValidatorUtils
.
validate
(
user
);
String
password
=
user
.
getPassword
();
if
(
StringUtils
.
isBlank
(
password
))
{
password
=
user
.
getPhonenumber
();
}
user
.
setPassword
(
password
.
trim
());
user
.
setCreateBy
(
operUserId
);
if
(
roleId
!=
null
)
{
user
.
setRoleIds
(
new
Long
[]{
roleId
});
}
R
<
Void
>
r
=
sysUserController
.
add
(
user
);
if
(
r
.
getCode
()
==
R
.
FAIL
)
{
throw
new
ServiceException
(
r
.
getMsg
());
}
successNum
++;
successMsg
.
append
(
"<br/>"
).
append
(
successNum
).
append
(
"、账号 "
).
append
(
user
.
getUserName
()).
append
(
" 导入成功"
);
}
else
{
failureNum
++;
failureMsg
.
append
(
"<br/>"
).
append
(
failureNum
).
append
(
"、账号 "
).
append
(
sysUser
.
getUserName
()).
append
(
" 已存在"
);
}
String
password
=
StringUtils
.
isBlank
(
vo
.
getPassword
())
?
initPassword:
vo
.
getPassword
();
SysUserProjectInsertBo
bo
=
new
SysUserProjectInsertBo
()
.
setProjectId
(
projectId
)
.
setRoleId
(
roleId
)
.
setNickName
(
vo
.
getNickName
())
.
setPhonenumber
(
vo
.
getPhonenumber
())
.
setEmail
(
vo
.
getEmail
())
.
setPassword
(
password
);
bo
.
setCreateBy
(
operUserId
);
sysUserProjectService
.
insert
(
bo
);
successNum
++;
successMsg
.
append
(
"<br/>"
).
append
(
successNum
).
append
(
"、账号 "
).
append
(
vo
.
getPhonenumber
()).
append
(
" 导入成功"
);
}
catch
(
Exception
e
)
{
failureNum
++;
String
msg
=
"<br/>"
+
failureNum
+
"、账号 "
+
HtmlUtil
.
cleanHtmlTag
(
userV
o
.
getPhonenumber
())
+
" 导入失败:"
;
String
msg
=
"<br/>"
+
failureNum
+
"、账号 "
+
HtmlUtil
.
cleanHtmlTag
(
v
o
.
getPhonenumber
())
+
" 导入失败:"
;
String
message
=
e
.
getMessage
();
if
(
e
instanceof
ConstraintViolationException
cvException
)
{
message
=
StreamUtils
.
join
(
cvException
.
getConstraintViolations
(),
ConstraintViolation:
:
getMessage
,
", "
);
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/listener/SysUserImportListener.java
浏览文件 @
7c3917c0
...
...
@@ -9,7 +9,6 @@ import com.alibaba.excel.event.AnalysisEventListener;
import
jakarta.validation.ConstraintViolation
;
import
jakarta.validation.ConstraintViolationException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.core.exception.ServiceException
;
import
org.dromara.common.core.utils.SpringUtils
;
import
org.dromara.common.core.utils.StreamUtils
;
...
...
@@ -18,7 +17,6 @@ import org.dromara.common.core.utils.ValidatorUtils;
import
org.dromara.common.excel.core.ExcelListener
;
import
org.dromara.common.excel.core.ExcelResult
;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.system.controller.system.SysUserController
;
import
org.dromara.system.domain.bo.SysUserBo
;
import
org.dromara.system.domain.vo.SysUserImportVo
;
import
org.dromara.system.domain.vo.SysUserVo
;
...
...
@@ -36,7 +34,6 @@ import java.util.Objects;
public
class
SysUserImportListener
extends
AnalysisEventListener
<
SysUserImportVo
>
implements
ExcelListener
<
SysUserImportVo
>
{
private
final
ISysUserService
userService
;
private
final
SysUserController
sysUserController
;
private
final
ISysDeptService
sysDeptService
;
private
final
ISysPostService
sysPostService
;
private
final
ISysRoleService
sysRoleService
;
...
...
@@ -55,7 +52,6 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
public
SysUserImportListener
(
Boolean
isUpdateSupport
)
{
String
initPassword
=
SpringUtils
.
getBean
(
ISysConfigService
.
class
).
selectConfigByKey
(
"sys.user.initPassword"
);
this
.
userService
=
SpringUtils
.
getBean
(
ISysUserService
.
class
);
this
.
sysUserController
=
SpringUtils
.
getBean
(
SysUserController
.
class
);
this
.
sysDeptService
=
SpringUtils
.
getBean
(
ISysDeptService
.
class
);
this
.
sysPostService
=
SpringUtils
.
getBean
(
ISysPostService
.
class
);
this
.
sysRoleService
=
SpringUtils
.
getBean
(
ISysRoleService
.
class
);
...
...
@@ -87,11 +83,7 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
if
(
StringUtils
.
isNotEmpty
(
userVo
.
getRoleName
()))
{
user
.
setRoleIds
(
sysRoleService
.
selectRoleIdsByNameList
(
StrUtil
.
split
(
userVo
.
getRoleName
(),
"/"
)).
toArray
(
Long
[]::
new
));
}
sysUserController
.
add
(
user
);
R
<
Void
>
r
=
sysUserController
.
add
(
user
);
if
(
r
.
getCode
()
==
R
.
FAIL
)
{
throw
new
ServiceException
(
r
.
getMsg
());
}
userService
.
insertUser
(
user
);
successNum
++;
successMsg
.
append
(
"<br/>"
).
append
(
successNum
).
append
(
"、账号 "
).
append
(
user
.
getUserName
()).
append
(
" 导入成功"
);
}
else
if
(
isUpdateSupport
)
{
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserProjectServiceImpl.java
浏览文件 @
7c3917c0
...
...
@@ -28,6 +28,7 @@ import org.dromara.system.mapper.SysUserMapper;
import
org.dromara.system.mapper.SysUserProjectMapper
;
import
org.dromara.system.mapper.SysUserRoleMapper
;
import
org.dromara.system.service.ISysUserProjectService
;
import
org.dromara.system.service.ISysUserService
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
...
...
@@ -49,6 +50,7 @@ public class SysUserProjectServiceImpl extends AbstractBaseService<SysUserProjec
private
final
SysUserRoleMapper
userRoleMapper
;
private
final
SysUserMapper
sysUserMapper
;
private
final
SysProjectMapper
sysProjectMapper
;
private
final
ISysUserService
userService
;
@Override
public
BaseMapperPlus
<
SysUserProject
,
SysUserProjectVo
>
mapper
()
{
...
...
@@ -61,6 +63,7 @@ public class SysUserProjectServiceImpl extends AbstractBaseService<SysUserProjec
LambdaQueryWrapper
<
SysUserProject
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
bo
.
getUserId
()
!=
null
,
SysUserProject:
:
getUserId
,
bo
.
getUserId
());
lqw
.
eq
(
bo
.
getProjectId
()
!=
null
,
SysUserProject:
:
getProjectId
,
bo
.
getProjectId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getUserType
()),
SysUserProject:
:
getUserType
,
bo
.
getUserType
());
lqw
.
eq
(
bo
.
getRoleId
()
!=
null
,
SysUserProject:
:
getRoleId
,
bo
.
getRoleId
());
return
lqw
;
}
...
...
@@ -172,11 +175,16 @@ public class SysUserProjectServiceImpl extends AbstractBaseService<SysUserProjec
su
.
setUserName
(
bo
.
getPhonenumber
());
su
.
setPhonenumber
(
bo
.
getPhonenumber
());
su
.
setEmail
(
bo
.
getEmail
());
su
.
setRoleIds
(
new
Long
[]{
bo
.
getRoleId
()});
su
.
setPassword
(
bo
.
getPassword
());
su
.
setCreateBy
(
bo
.
getCreateBy
());
userService
.
insertUser
(
su
);
//查询用户
user
=
sysUserMapper
.
selectOne
(
SysUser:
:
getUserType
,
UserType
.
PROJECT_USER
.
getUserType
(),
SysUser:
:
getPhonenumber
,
bo
.
getPhonenumber
());
sup
.
setUserId
(
user
.
getUserId
());
}
}
sup
.
setUserType
(
UserType
.
PROJECT_USER
.
getUserType
());
insertByBo
(
sup
);
}
private
void
validEntity
(
SysUserProjectInsertBo
bo
)
{
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
浏览文件 @
7c3917c0
package
org
.
dromara
.
system
.
service
.
impl
;
import
cn.dev33.satoken.secure.BCrypt
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.convert.Convert
;
...
...
@@ -15,7 +16,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.dromara.common.core.constant.CacheNames
;
import
org.dromara.common.core.constant.UserConstants
;
import
org.dromara.common.core.enums.UserType
;
...
...
@@ -29,8 +29,6 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import
org.dromara.common.mybatis.helper.DataBaseHelper
;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.common.tenant.helper.TenantHelper
;
import
org.dromara.server.api.RemoteServerService
;
import
org.dromara.server.api.domain.RemoteUser
;
import
org.dromara.system.domain.*
;
import
org.dromara.system.domain.bo.SysUserBo
;
import
org.dromara.system.domain.vo.SysPostVo
;
...
...
@@ -38,7 +36,10 @@ import org.dromara.system.domain.vo.SysRoleVo;
import
org.dromara.system.domain.vo.SysUserExportVo
;
import
org.dromara.system.domain.vo.SysUserVo
;
import
org.dromara.system.mapper.*
;
import
org.dromara.system.service.ISysDeptService
;
import
org.dromara.system.service.ISysTenantService
;
import
org.dromara.system.service.ISysUserService
;
import
org.dromara.system.service.IThirdService
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
...
...
@@ -65,8 +66,9 @@ public class SysUserServiceImpl implements ISysUserService {
private
final
SysUserPostMapper
userPostMapper
;
private
final
SysTenantMapper
sysTenantMapper
;
private
final
SysUserProjectMapper
sysUserProjectMapper
;
@DubboReference
private
RemoteServerService
remoteServerService
;
private
final
ISysDeptService
deptService
;
private
final
ISysTenantService
tenantService
;
private
final
IThirdService
thirdService
;
@Override
public
TableDataInfo
<
SysUserVo
>
selectPageUserList
(
SysUserBo
user
,
PageQuery
pageQuery
)
{
...
...
@@ -411,6 +413,21 @@ public class SysUserServiceImpl implements ISysUserService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
int
insertUser
(
SysUserBo
user
)
{
deptService
.
checkDeptDataScope
(
user
.
getDeptId
());
if
(!
checkUserNameUnique
(
user
))
{
throw
new
ServiceException
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,登录账号已存在"
);
}
else
if
(
StringUtils
.
isNotEmpty
(
user
.
getPhonenumber
())
&&
!
checkPhoneUnique
(
user
))
{
throw
new
ServiceException
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,手机号码已存在"
);
}
else
if
(
StringUtils
.
isNotEmpty
(
user
.
getEmail
())
&&
!
checkEmailUnique
(
user
))
{
throw
new
ServiceException
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,邮箱账号已存在"
);
}
if
(
TenantHelper
.
isEnable
())
{
if
(!
tenantService
.
checkAccountBalance
(
TenantHelper
.
getTenantId
()))
{
throw
new
ServiceException
(
"当前租户下用户名额不足,请联系管理员"
);
}
}
user
.
setPassword
(
BCrypt
.
hashpw
(
user
.
getPassword
()));
//新增用户
user
.
setUserType
(
StringUtils
.
isEmpty
(
user
.
getUserType
())
?
UserType
.
SYS_USER
.
getUserType
()
:
user
.
getUserType
());
SysUser
sysUser
=
MapstructUtils
.
convert
(
user
,
SysUser
.
class
);
sysUser
.
setTenantId
(
LoginHelper
.
getTenantId
());
...
...
@@ -422,7 +439,7 @@ public class SysUserServiceImpl implements ISysUserService {
// 新增用户与角色管理
insertUserRole
(
user
,
false
);
//保存用户信息
saveOrUpdateYsUser
(
sysUser
);
thirdService
.
saveOrUpdateYsUser
(
sysUser
);
return
rows
;
}
...
...
@@ -440,29 +457,12 @@ public class SysUserServiceImpl implements ISysUserService {
sysUser
.
setTenantId
(
tenantId
);
boolean
result
=
baseMapper
.
insert
(
sysUser
)
>
0
;
if
(
result
)
{
saveOrUpdateYsUser
(
sysUser
);
thirdService
.
saveOrUpdateYsUser
(
sysUser
);
}
user
.
setUserId
(
sysUser
.
getUserId
());
return
result
;
}
/**
* 保存或更新用户信息
*
* @param sysUser 用户信息
*/
@Override
public
void
saveOrUpdateYsUser
(
SysUser
sysUser
)
{
remoteServerService
.
saveOrUpdateUser
(
new
RemoteUser
()
.
setSystemUserId
(
sysUser
.
getUserId
())
.
setUserName
(
sysUser
.
getUserName
())
.
setPhoneNumber
(
sysUser
.
getPhonenumber
())
.
setIdCard
(
sysUser
.
getIdCard
())
.
setUserType
(
sysUser
.
getUserType
())
.
setTenantId
(
sysUser
.
getTenantId
())
);
}
/**
* 修改保存用户信息
...
...
@@ -484,7 +484,7 @@ public class SysUserServiceImpl implements ISysUserService {
if
(
flag
<
1
)
{
throw
new
ServiceException
(
"修改用户"
+
user
.
getUserName
()
+
"信息失败"
);
}
saveOrUpdateYsUser
(
baseMapper
.
selectById
(
user
.
getUserId
()));
thirdService
.
saveOrUpdateYsUser
(
baseMapper
.
selectById
(
user
.
getUserId
()));
return
flag
;
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论