Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
d32ebd37
提交
d32ebd37
authored
1月 14, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev'
上级
6158e4b2
b422eb0d
隐藏空白字符变更
内嵌
并排
正在显示
30 个修改的文件
包含
687 行增加
和
19 行删除
+687
-19
RemoteUserProfileService.java
...java/org/dromara/server/api/RemoteUserProfileService.java
+21
-0
RemoteUserProfileAdd.java
...a/org/dromara/server/api/domain/RemoteUserProfileAdd.java
+49
-0
RemoteUserService.java
...c/main/java/org/dromara/system/api/RemoteUserService.java
+1
-1
RemoteTenantVo.java
...java/org/dromara/system/api/domain/vo/RemoteTenantVo.java
+10
-0
LoginUser.java
...src/main/java/org/dromara/system/api/model/LoginUser.java
+5
-0
TokenController.java
...ain/java/org/dromara/auth/controller/TokenController.java
+8
-2
TenantListVo.java
...rc/main/java/org/dromara/auth/domain/vo/TenantListVo.java
+10
-0
RegisterBody.java
...uth/src/main/java/org/dromara/auth/form/RegisterBody.java
+9
-2
SysLoginService.java
...c/main/java/org/dromara/auth/service/SysLoginService.java
+23
-5
LoginHelper.java
...in/java/org/dromara/common/satoken/utils/LoginHelper.java
+8
-0
service.java.vm
...ules/ruoyi-gen/src/main/resources/vm/java/service.java.vm
+1
-1
serviceImpl.java.vm
.../ruoyi-gen/src/main/resources/vm/java/serviceImpl.java.vm
+1
-1
UserProfileController.java
.../org/dromara/server/controller/UserProfileController.java
+60
-0
UserProfile.java
.../src/main/java/org/dromara/server/domain/UserProfile.java
+81
-0
UserProfileBo.java
...main/java/org/dromara/server/domain/bo/UserProfileBo.java
+83
-0
UserProfileUpdateTrainInfo.java
.../dromara/server/domain/vo/UserProfileUpdateTrainInfo.java
+25
-0
UserProfileVo.java
...main/java/org/dromara/server/domain/vo/UserProfileVo.java
+82
-0
RemoteUserProfileServiceImpl.java
...rg/dromara/server/dubbo/RemoteUserProfileServiceImpl.java
+50
-0
UserProfileMapper.java
...ain/java/org/dromara/server/mapper/UserProfileMapper.java
+15
-0
IUserProfileService.java
.../java/org/dromara/server/service/IUserProfileService.java
+17
-0
UserProfileServiceImpl.java
...g/dromara/server/service/impl/UserProfileServiceImpl.java
+49
-0
UserProfileMapper.xml
...er/src/main/resources/mapper/server/UserProfileMapper.xml
+7
-0
SysUserController.java
...g/dromara/system/controller/system/SysUserController.java
+4
-0
SysTenant.java
...em/src/main/java/org/dromara/system/domain/SysTenant.java
+12
-0
SysTenantBo.java
...c/main/java/org/dromara/system/domain/bo/SysTenantBo.java
+11
-0
SysTenantVo.java
...c/main/java/org/dromara/system/domain/vo/SysTenantVo.java
+12
-0
SysUserVo.java
...src/main/java/org/dromara/system/domain/vo/SysUserVo.java
+5
-0
RemoteUserServiceImpl.java
.../java/org/dromara/system/dubbo/RemoteUserServiceImpl.java
+14
-6
SysTenantServiceImpl.java
...org/dromara/system/service/impl/SysTenantServiceImpl.java
+13
-1
SysUserServiceImpl.java
...a/org/dromara/system/service/impl/SysUserServiceImpl.java
+1
-0
没有找到文件。
ruoyi-api/ruoyi-api-server/src/main/java/org/dromara/server/api/RemoteUserProfileService.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
api
;
import
org.dromara.server.api.domain.RemoteUserProfileAdd
;
/**
* 远程用户配置服务
*
* @author wenhe
*/
public
interface
RemoteUserProfileService
{
/**
* 创建小程序用户
*
* @param vo 新增相关数据
* @return boolean 是否成功
*/
boolean
createUser
(
RemoteUserProfileAdd
vo
);
}
ruoyi-api/ruoyi-api-server/src/main/java/org/dromara/server/api/domain/RemoteUserProfileAdd.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
api
.
domain
;
import
jakarta.validation.constraints.NotEmpty
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* @author hzh
* @date 2024-11-14
* @desc 新增用户
**/
@Data
@Accessors
(
chain
=
true
)
public
class
RemoteUserProfileAdd
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* 租户编码
*/
@NotEmpty
(
message
=
"租户编码不能为空"
)
private
String
tenantId
;
/**
* 系统用户id
*/
@NotNull
(
message
=
"系统用户id不能为空"
)
private
Long
systemUserId
;
/**
* 用户名
*/
@NotEmpty
(
message
=
"用户名不能为空"
)
private
String
name
;
/**
* 手机号
*/
@NotEmpty
(
message
=
"手机号不能为空"
)
private
String
phoneNumber
;
}
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java
浏览文件 @
d32ebd37
...
@@ -68,7 +68,7 @@ public interface RemoteUserService {
...
@@ -68,7 +68,7 @@ public interface RemoteUserService {
* @param remoteUserBo 用户信息
* @param remoteUserBo 用户信息
* @return 结果
* @return 结果
*/
*/
Boolean
registerUserInfo
(
RemoteUserBo
remoteUserBo
)
throws
UserException
,
ServiceException
;
Long
registerUserInfo
(
RemoteUserBo
remoteUserBo
)
throws
UserException
,
ServiceException
;
/**
/**
* 注册用户信息
* 注册用户信息
...
...
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteTenantVo.java
浏览文件 @
d32ebd37
...
@@ -28,6 +28,11 @@ public class RemoteTenantVo implements Serializable {
...
@@ -28,6 +28,11 @@ public class RemoteTenantVo implements Serializable {
*/
*/
private
String
tenantId
;
private
String
tenantId
;
/**
* 企业码
*/
private
String
companyCode
;
/**
/**
* 联系人
* 联系人
*/
*/
...
@@ -98,4 +103,9 @@ public class RemoteTenantVo implements Serializable {
...
@@ -98,4 +103,9 @@ public class RemoteTenantVo implements Serializable {
*/
*/
private
String
status
;
private
String
status
;
/**
* 是否虚拟租户(0否 1是)
*/
private
Boolean
virtual
;
}
}
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java
浏览文件 @
d32ebd37
...
@@ -25,6 +25,11 @@ public class LoginUser implements Serializable {
...
@@ -25,6 +25,11 @@ public class LoginUser implements Serializable {
*/
*/
private
String
tenantId
;
private
String
tenantId
;
/**
* 是否是虚拟租户
*/
private
Boolean
tenantVirtual
;
/**
/**
* 用户ID
* 用户ID
*/
*/
...
...
ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java
浏览文件 @
d32ebd37
...
@@ -191,10 +191,15 @@ public class TokenController {
...
@@ -191,10 +191,15 @@ public class TokenController {
/**
/**
* 登录页面租户下拉框
* 登录页面租户下拉框
*
*
* @param request 请求
* @param virtual 是否虚拟租户,默认为false
* @param phone 手机号
* @return 租户列表
* @return 租户列表
*/
*/
@GetMapping
(
"/tenant/list"
)
@GetMapping
(
"/tenant/list"
)
public
R
<
LoginTenantVo
>
tenantList
(
HttpServletRequest
request
,
@RequestParam
(
value
=
"phone"
,
required
=
false
)
String
phone
)
throws
Exception
{
public
R
<
LoginTenantVo
>
tenantList
(
HttpServletRequest
request
,
@RequestParam
(
value
=
"virtual"
,
defaultValue
=
"false"
)
Boolean
virtual
,
@RequestParam
(
value
=
"phone"
,
required
=
false
)
String
phone
)
throws
Exception
{
// 返回对象
// 返回对象
LoginTenantVo
result
=
new
LoginTenantVo
();
LoginTenantVo
result
=
new
LoginTenantVo
();
boolean
enable
=
TenantHelper
.
isEnable
();
boolean
enable
=
TenantHelper
.
isEnable
();
...
@@ -233,7 +238,8 @@ public class TokenController {
...
@@ -233,7 +238,8 @@ public class TokenController {
}
}
// 根据域名进行筛选
// 根据域名进行筛选
List
<
TenantListVo
>
list
=
StreamUtils
.
filter
(
voList
,
vo
->
List
<
TenantListVo
>
list
=
StreamUtils
.
filter
(
voList
,
vo
->
StringUtils
.
equals
(
vo
.
getDomain
(),
host
));
StringUtils
.
equals
(
vo
.
getDomain
(),
host
)&&
virtual
.
equals
(
vo
.
getVirtual
()));
result
.
setVoList
(
CollUtil
.
isNotEmpty
(
list
)
?
list
:
voList
);
result
.
setVoList
(
CollUtil
.
isNotEmpty
(
list
)
?
list
:
voList
);
return
R
.
ok
(
result
);
return
R
.
ok
(
result
);
}
}
...
...
ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/TenantListVo.java
浏览文件 @
d32ebd37
...
@@ -15,6 +15,11 @@ public class TenantListVo {
...
@@ -15,6 +15,11 @@ public class TenantListVo {
*/
*/
private
String
tenantId
;
private
String
tenantId
;
/**
* 企业码
*/
private
String
companyCode
;
/**
/**
* 企业名称
* 企业名称
*/
*/
...
@@ -30,4 +35,9 @@ public class TenantListVo {
...
@@ -30,4 +35,9 @@ public class TenantListVo {
*/
*/
private
Boolean
showed
;
private
Boolean
showed
;
/**
* 是否虚拟租户(0否 1是)
*/
private
Boolean
virtual
;
}
}
ruoyi-auth/src/main/java/org/dromara/auth/form/RegisterBody.java
浏览文件 @
d32ebd37
package
org
.
dromara
.
auth
.
form
;
package
org
.
dromara
.
auth
.
form
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.Pattern
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.core.constant.RegexConstants
;
import
org.dromara.common.core.domain.model.LoginBody
;
import
org.dromara.common.core.domain.model.LoginBody
;
import
org.hibernate.validator.constraints.Length
;
import
org.hibernate.validator.constraints.Length
;
...
@@ -27,10 +29,15 @@ public class RegisterBody extends LoginBody {
...
@@ -27,10 +29,15 @@ public class RegisterBody extends LoginBody {
/**
/**
* 用户密码
* 用户密码
*/
*/
@NotBlank
(
message
=
"{user.password.not.blank}"
)
@Length
(
min
=
PASSWORD_MIN_LENGTH
,
max
=
PASSWORD_MAX_LENGTH
,
message
=
"{user.password.length.valid}"
)
private
String
password
;
private
String
password
;
/**
* 用户手机号
*/
@NotBlank
(
message
=
"{user.phone.not.blank}"
)
@Pattern
(
regexp
=
RegexConstants
.
MOBILE
,
message
=
"{user.phone.length.valid}"
)
private
String
phone
;
/**
/**
* 用户类型
* 用户类型
*/
*/
...
...
ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java
浏览文件 @
d32ebd37
package
org
.
dromara
.
auth
.
service
;
package
org
.
dromara
.
auth
.
service
;
import
cn.dev33.satoken.exception.NotLoginException
;
import
cn.dev33.satoken.exception.NotLoginException
;
import
cn.dev33.satoken.secure.BCrypt
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.lock.annotation.Lock4j
;
import
com.baomidou.lock.annotation.Lock4j
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUser
;
...
@@ -33,6 +33,8 @@ import org.dromara.common.redis.utils.RedisUtils;
...
@@ -33,6 +33,8 @@ import org.dromara.common.redis.utils.RedisUtils;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.common.tenant.exception.TenantException
;
import
org.dromara.common.tenant.exception.TenantException
;
import
org.dromara.common.tenant.helper.TenantHelper
;
import
org.dromara.common.tenant.helper.TenantHelper
;
import
org.dromara.server.api.RemoteUserProfileService
;
import
org.dromara.server.api.domain.RemoteUserProfileAdd
;
import
org.dromara.system.api.RemoteSocialService
;
import
org.dromara.system.api.RemoteSocialService
;
import
org.dromara.system.api.RemoteTenantService
;
import
org.dromara.system.api.RemoteTenantService
;
import
org.dromara.system.api.RemoteUserService
;
import
org.dromara.system.api.RemoteUserService
;
...
@@ -65,6 +67,8 @@ public class SysLoginService {
...
@@ -65,6 +67,8 @@ public class SysLoginService {
private
RemoteTenantService
remoteTenantService
;
private
RemoteTenantService
remoteTenantService
;
@DubboReference
@DubboReference
private
RemoteSocialService
remoteSocialService
;
private
RemoteSocialService
remoteSocialService
;
@DubboReference
private
RemoteUserProfileService
remoteUserProfileService
;
@Autowired
@Autowired
private
UserPasswordProperties
userPasswordProperties
;
private
UserPasswordProperties
userPasswordProperties
;
...
@@ -135,10 +139,13 @@ public class SysLoginService {
...
@@ -135,10 +139,13 @@ public class SysLoginService {
/**
/**
* 注册
* 注册
*/
*/
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
void
register
(
RegisterBody
registerBody
)
{
public
void
register
(
RegisterBody
registerBody
)
{
String
tenantId
=
registerBody
.
getTenantId
();
String
tenantId
=
registerBody
.
getTenantId
();
String
username
=
registerBody
.
getUsername
();
String
username
=
registerBody
.
getUsername
();
String
password
=
registerBody
.
getPassword
();
String
password
=
registerBody
.
getPassword
();
String
phone
=
registerBody
.
getPhone
();
// 校验用户类型是否存在
// 校验用户类型是否存在
String
userType
=
UserType
.
getUserType
(
registerBody
.
getUserType
()).
getUserType
();
String
userType
=
UserType
.
getUserType
(
registerBody
.
getUserType
()).
getUserType
();
...
@@ -151,15 +158,26 @@ public class SysLoginService {
...
@@ -151,15 +158,26 @@ public class SysLoginService {
// 注册用户信息
// 注册用户信息
RemoteUserBo
remoteUserBo
=
new
RemoteUserBo
();
RemoteUserBo
remoteUserBo
=
new
RemoteUserBo
();
remoteUserBo
.
setTenantId
(
tenantId
);
remoteUserBo
.
setTenantId
(
tenantId
);
remoteUserBo
.
setUserName
(
username
);
remoteUserBo
.
setUserName
(
StringUtils
.
isNotEmpty
(
phone
)
?
phone
:
username
);
remoteUserBo
.
setNickName
(
username
);
remoteUserBo
.
setNickName
(
username
);
remoteUserBo
.
setPassword
(
BCrypt
.
hashpw
(
password
)
);
remoteUserBo
.
setPassword
(
password
);
remoteUserBo
.
setUserType
(
userType
);
remoteUserBo
.
setUserType
(
userType
);
remoteUserBo
.
setPhonenumber
(
phone
);
boolean
regFlag
=
remoteUserService
.
registerUserInfo
(
remoteUserBo
);
Long
userId
=
remoteUserService
.
registerUserInfo
(
remoteUserBo
);
if
(
!
regFlag
)
{
if
(
userId
==
null
)
{
throw
new
UserException
(
"user.register.error"
);
throw
new
UserException
(
"user.register.error"
);
}
}
//创建用户信息
remoteUserProfileService
.
createUser
(
new
RemoteUserProfileAdd
()
.
setTenantId
(
tenantId
)
.
setName
(
username
)
.
setPhoneNumber
(
phone
)
.
setSystemUserId
(
userId
)
);
recordLogininfor
(
tenantId
,
username
,
Constants
.
REGISTER
,
MessageUtils
.
message
(
"user.register.success"
));
recordLogininfor
(
tenantId
,
username
,
Constants
.
REGISTER
,
MessageUtils
.
message
(
"user.register.success"
));
}
}
...
...
ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java
浏览文件 @
d32ebd37
...
@@ -13,6 +13,7 @@ import org.dromara.common.core.constant.UserConstants;
...
@@ -13,6 +13,7 @@ import org.dromara.common.core.constant.UserConstants;
import
org.dromara.common.core.enums.UserType
;
import
org.dromara.common.core.enums.UserType
;
import
org.dromara.system.api.model.LoginUser
;
import
org.dromara.system.api.model.LoginUser
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.Set
;
/**
/**
...
@@ -132,6 +133,13 @@ public class LoginHelper {
...
@@ -132,6 +133,13 @@ public class LoginHelper {
return
Convert
.
toStr
(
getExtra
(
DEPT_NAME_KEY
));
return
Convert
.
toStr
(
getExtra
(
DEPT_NAME_KEY
));
}
}
/**
* 获取是否是虚拟租户
*/
public
static
Boolean
isVirtual
()
{
return
Optional
.
ofNullable
(
getLoginUser
()).
map
(
LoginUser:
:
getTenantVirtual
).
orElse
(
false
);
}
/**
/**
* 获取部门类别编码
* 获取部门类别编码
*/
*/
...
...
ruoyi-modules/ruoyi-gen/src/main/resources/vm/java/service.java.vm
浏览文件 @
d32ebd37
...
@@ -4,7 +4,7 @@ import ${packageName}.domain.${ClassName};
...
@@ -4,7 +4,7 @@ import ${packageName}.domain.${ClassName};
import
${
packageName
}.
domain
.
vo
.${
ClassName
}
Vo
;
import
${
packageName
}.
domain
.
vo
.${
ClassName
}
Vo
;
import
${
packageName
}.
domain
.
bo
.${
ClassName
}
Bo
;
import
${
packageName
}.
domain
.
bo
.${
ClassName
}
Bo
;
import
${
packageName
}.
domain
.${
ClassName
};
import
${
packageName
}.
domain
.${
ClassName
};
import
org
.
dromara
.
server
.
bas
e
.
IBaseService
;
import
org
.
dromara
.
common
.
mybatis
.
servic
e
.
IBaseService
;
import
java
.
util
.
Collection
;
import
java
.
util
.
Collection
;
import
java
.
util
.
List
;
import
java
.
util
.
List
;
...
...
ruoyi-modules/ruoyi-gen/src/main/resources/vm/java/serviceImpl.java.vm
浏览文件 @
d32ebd37
...
@@ -16,7 +16,7 @@ import ${packageName}.domain.vo.${ClassName}Vo;
...
@@ -16,7 +16,7 @@ import ${packageName}.domain.vo.${ClassName}Vo;
import
${
packageName
}.
domain
.${
ClassName
};
import
${
packageName
}.
domain
.${
ClassName
};
import
${
packageName
}.
mapper
.${
ClassName
}
Mapper
;
import
${
packageName
}.
mapper
.${
ClassName
}
Mapper
;
import
${
packageName
}.
service
.
I
${
ClassName
}
Service
;
import
${
packageName
}.
service
.
I
${
ClassName
}
Service
;
import
org
.
dromara
.
server
.
bas
e
.
AbstractBaseService
;
import
org
.
dromara
.
common
.
mybatis
.
servic
e
.
AbstractBaseService
;
import
org
.
dromara
.
common
.
mybatis
.
core
.
mapper
.
BaseMapperPlus
;
import
org
.
dromara
.
common
.
mybatis
.
core
.
mapper
.
BaseMapperPlus
;
import
java
.
util
.
List
;
import
java
.
util
.
List
;
...
...
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/controller/UserProfileController.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.hutool.core.bean.BeanUtil
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.mybatis.core.page.PageQuery
;
import
org.dromara.common.mybatis.core.page.TableDataInfo
;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.common.web.core.BaseController
;
import
org.dromara.server.domain.bo.UserProfileBo
;
import
org.dromara.server.domain.vo.UserProfileUpdateTrainInfo
;
import
org.dromara.server.domain.vo.UserProfileVo
;
import
org.dromara.server.service.IUserProfileService
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
/**
* 用户信息
* 前端访问路由地址为:/server/profile
*
* @author hzh
* @date 2025-01-13
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/profile"
)
public
class
UserProfileController
extends
BaseController
{
private
final
IUserProfileService
userProfileService
;
/**
* 查询用户信息列表
*/
@SaCheckPermission
(
"server:profile:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
UserProfileVo
>
list
(
UserProfileBo
bo
,
PageQuery
pageQuery
)
{
return
userProfileService
.
queryPageList
(
bo
,
pageQuery
);
}
/**
* 获取个人信息
*/
@GetMapping
(
"/userInfo"
)
public
R
<
UserProfileVo
>
getUserInfo
()
{
return
R
.
ok
(
userProfileService
.
getOne
(
new
UserProfileBo
().
setSystemUserId
(
LoginHelper
.
getUserId
())));
}
/**
* 跟新12306账号信息
*/
@PostMapping
(
"/updateTrainInfo"
)
public
R
<
Boolean
>
updateTrainInfo
(
@Validated
@RequestBody
UserProfileUpdateTrainInfo
bo
)
{
UserProfileVo
up
=
userProfileService
.
getOne
(
new
UserProfileBo
().
setSystemUserId
(
LoginHelper
.
getUserId
()));
up
.
setTrainAccount
(
bo
.
getTrainAccount
());
up
.
setTrainPassword
(
bo
.
getTrainPassword
());
return
R
.
ok
(
userProfileService
.
updateByBo
(
BeanUtil
.
copyProperties
(
up
,
UserProfileBo
.
class
)));
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/UserProfile.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.dromara.common.tenant.core.TenantEntity
;
import
java.io.Serial
;
/**
* 用户信息对象 user_profile
*
* @author hzh
* @date 2025-01-13
*/
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"user_profile"
)
public
class
UserProfile
extends
TenantEntity
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* 用户ID
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 系统用户id
*/
private
Long
systemUserId
;
/**
* 姓名
*/
private
String
name
;
/**
* 手机号码
*/
private
String
phonenumber
;
/**
* 分享人id
*/
private
Long
shareUserId
;
/**
* 分享人租户编码
*/
private
String
shareTenantId
;
/**
* 火车票账号
*/
private
String
trainAccount
;
/**
* 火车票密码
*/
private
String
trainPassword
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
/**
* 备注
*/
private
String
remark
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/bo/UserProfileBo.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
domain
.
bo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.server.domain.UserProfile
;
/**
* 用户信息业务对象 user_profile
*
* @author hzh
* @date 2025-01-13
*/
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@AutoMapper
(
target
=
UserProfile
.
class
,
reverseConvertGenerate
=
false
)
public
class
UserProfileBo
extends
BaseEntity
{
/**
* 用户ID
*/
@NotNull
(
message
=
"用户ID不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
/**
* 租户编码
*/
private
String
tenantId
;
/**
* 系统用户id
*/
@NotNull
(
message
=
"系统用户id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
systemUserId
;
/**
* 姓名
*/
@NotBlank
(
message
=
"姓名不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
name
;
/**
* 手机号码
*/
@NotBlank
(
message
=
"手机号码不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
phonenumber
;
/**
* 分享人id
*/
@NotNull
(
message
=
"分享人id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
shareUserId
;
/**
* 分享人租户编码
*/
private
String
shareTenantId
;
/**
* 火车票账号
*/
private
String
trainAccount
;
/**
* 火车票密码
*/
private
String
trainPassword
;
/**
* 备注
*/
@NotBlank
(
message
=
"备注不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
remark
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/UserProfileUpdateTrainInfo.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
domain
.
vo
;
import
jakarta.validation.constraints.NotEmpty
;
import
lombok.Data
;
/**
* @author hzh
* @date 2025-01-14
**/
@Data
public
class
UserProfileUpdateTrainInfo
{
/**
* 火车票账号
*/
@NotEmpty
(
message
=
"12306账号不能为空"
)
private
String
trainAccount
;
/**
* 火车票密码
*/
@NotEmpty
(
message
=
"12306密码不能为空"
)
private
String
trainPassword
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/UserProfileVo.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
org.dromara.server.domain.UserProfile
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 用户信息视图对象 user_profile
*
* @author hzh
* @date 2025-01-13
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
UserProfile
.
class
)
public
class
UserProfileVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* 用户ID
*/
@ExcelProperty
(
value
=
"用户ID"
)
private
Long
id
;
/**
* 系统用户id
*/
@ExcelProperty
(
value
=
"系统用户id"
)
private
Long
systemUserId
;
/**
* 姓名
*/
@ExcelProperty
(
value
=
"姓名"
)
private
String
name
;
/**
* 手机号码
*/
@ExcelProperty
(
value
=
"手机号码"
)
private
String
phonenumber
;
/**
* 分享人id
*/
@ExcelProperty
(
value
=
"分享人id"
)
private
Long
shareUserId
;
/**
* 分享人租户编码
*/
@ExcelProperty
(
value
=
"分享人租户编码"
)
private
String
shareTenantId
;
/**
* 火车票账号
*/
@ExcelProperty
(
value
=
"火车票账号"
)
private
String
trainAccount
;
/**
* 火车票密码
*/
@ExcelProperty
(
value
=
"火车票密码"
)
private
String
trainPassword
;
/**
* 备注
*/
@ExcelProperty
(
value
=
"备注"
)
private
String
remark
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/dubbo/RemoteUserProfileServiceImpl.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
dubbo
;
import
cn.hutool.core.bean.BeanUtil
;
import
io.github.linpeilie.utils.CollectionUtils
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.dromara.common.core.utils.ValidatorUtils
;
import
org.dromara.server.api.RemoteUserProfileService
;
import
org.dromara.server.api.domain.RemoteUserProfileAdd
;
import
org.dromara.server.domain.bo.UserProfileBo
;
import
org.dromara.server.domain.vo.UserProfileVo
;
import
org.dromara.server.service.IUserProfileService
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author hzh
* @date 2025-01-13
* @desc 用户服务实现类
**/
@RequiredArgsConstructor
@Service
@DubboService
public
class
RemoteUserProfileServiceImpl
implements
RemoteUserProfileService
{
private
final
IUserProfileService
userService
;
@Override
public
boolean
createUser
(
RemoteUserProfileAdd
vo
)
{
ValidatorUtils
.
validate
(
vo
);
UserProfileBo
up
=
new
UserProfileBo
()
.
setName
(
vo
.
getName
())
.
setPhonenumber
(
vo
.
getPhoneNumber
());
up
.
setTenantId
(
vo
.
getTenantId
());
List
<
UserProfileVo
>
list
=
userService
.
queryList
(
up
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
return
true
;
}
//创建用户信息
UserProfileBo
profile
=
BeanUtil
.
copyProperties
(
vo
,
UserProfileBo
.
class
);
profile
.
setPhonenumber
(
vo
.
getPhoneNumber
());
userService
.
insertByBo
(
profile
);
return
true
;
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/mapper/UserProfileMapper.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
mapper
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.server.domain.UserProfile
;
import
org.dromara.server.domain.vo.UserProfileVo
;
/**
* 用户信息Mapper接口
*
* @author hzh
* @date 2025-01-13
*/
public
interface
UserProfileMapper
extends
BaseMapperPlus
<
UserProfile
,
UserProfileVo
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/IUserProfileService.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
service
;
import
org.dromara.common.mybatis.service.IBaseService
;
import
org.dromara.server.domain.UserProfile
;
import
org.dromara.server.domain.bo.UserProfileBo
;
import
org.dromara.server.domain.vo.UserProfileVo
;
/**
* 用户信息Service接口
*
* @author hzh
* @date 2025-01-13
*/
public
interface
IUserProfileService
extends
IBaseService
<
UserProfileVo
,
UserProfileBo
,
UserProfile
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/impl/UserProfileServiceImpl.java
0 → 100644
浏览文件 @
d32ebd37
package
org
.
dromara
.
server
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.common.mybatis.service.AbstractBaseService
;
import
org.dromara.server.domain.UserProfile
;
import
org.dromara.server.domain.bo.UserProfileBo
;
import
org.dromara.server.domain.vo.UserProfileVo
;
import
org.dromara.server.mapper.UserProfileMapper
;
import
org.dromara.server.service.IUserProfileService
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
/**
* 用户信息Service业务层处理
*
* @author hzh
* @date 2025-01-13
*/
@RequiredArgsConstructor
@Service
public
class
UserProfileServiceImpl
extends
AbstractBaseService
<
UserProfileVo
,
UserProfileBo
,
UserProfile
>
implements
IUserProfileService
{
private
final
UserProfileMapper
baseMapper
;
@Override
public
BaseMapperPlus
<
UserProfile
,
UserProfileVo
>
mapper
()
{
return
baseMapper
;
}
@Override
public
LambdaQueryWrapper
<
UserProfile
>
buildQueryWrapper
(
UserProfileBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
UserProfile
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
bo
.
getSystemUserId
()
!=
null
,
UserProfile:
:
getSystemUserId
,
bo
.
getSystemUserId
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getName
()),
UserProfile:
:
getName
,
bo
.
getName
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getPhonenumber
()),
UserProfile:
:
getPhonenumber
,
bo
.
getPhonenumber
());
lqw
.
eq
(
bo
.
getShareUserId
()
!=
null
,
UserProfile:
:
getShareUserId
,
bo
.
getShareUserId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getShareTenantId
()),
UserProfile:
:
getShareTenantId
,
bo
.
getShareTenantId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTrainAccount
()),
UserProfile:
:
getTrainAccount
,
bo
.
getTrainAccount
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTrainPassword
()),
UserProfile:
:
getTrainPassword
,
bo
.
getTrainPassword
());
return
lqw
;
}
}
ruoyi-modules/ruoyi-server/src/main/resources/mapper/server/UserProfileMapper.xml
0 → 100644
浏览文件 @
d32ebd37
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.dromara.server.mapper.UserProfileMapper"
>
</mapper>
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
浏览文件 @
d32ebd37
...
@@ -61,6 +61,9 @@ public class SysUserController extends BaseController {
...
@@ -61,6 +61,9 @@ public class SysUserController extends BaseController {
@SaCheckPermission
(
"system:user:list"
)
@SaCheckPermission
(
"system:user:list"
)
@GetMapping
(
"/list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
SysUserVo
>
list
(
SysUserBo
user
,
PageQuery
pageQuery
)
{
public
TableDataInfo
<
SysUserVo
>
list
(
SysUserBo
user
,
PageQuery
pageQuery
)
{
if
(
LoginHelper
.
isVirtual
())
{
user
.
setUserId
(-
1L
);
}
return
userService
.
selectPageUserList
(
user
,
pageQuery
);
return
userService
.
selectPageUserList
(
user
,
pageQuery
);
}
}
...
@@ -115,6 +118,7 @@ public class SysUserController extends BaseController {
...
@@ -115,6 +118,7 @@ public class SysUserController extends BaseController {
return
R
.
fail
(
"没有权限访问用户数据!"
);
return
R
.
fail
(
"没有权限访问用户数据!"
);
}
}
user
.
setRoles
(
roleService
.
selectRolesByUserId
(
user
.
getUserId
()));
user
.
setRoles
(
roleService
.
selectRolesByUserId
(
user
.
getUserId
()));
user
.
setVirtual
(
LoginHelper
.
isVirtual
());
userInfoVo
.
setUser
(
user
);
userInfoVo
.
setUser
(
user
);
userInfoVo
.
setPermissions
(
loginUser
.
getMenuPermission
());
userInfoVo
.
setPermissions
(
loginUser
.
getMenuPermission
());
userInfoVo
.
setRoles
(
loginUser
.
getRolePermission
());
userInfoVo
.
setRoles
(
loginUser
.
getRolePermission
());
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java
浏览文件 @
d32ebd37
package
org
.
dromara
.
system
.
domain
;
package
org
.
dromara
.
system
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
...
@@ -34,6 +35,11 @@ public class SysTenant extends BaseEntity {
...
@@ -34,6 +35,11 @@ public class SysTenant extends BaseEntity {
*/
*/
private
String
tenantId
;
private
String
tenantId
;
/**
* 企业码
*/
private
String
companyCode
;
/**
/**
* 联系人
* 联系人
*/
*/
...
@@ -99,6 +105,12 @@ public class SysTenant extends BaseEntity {
...
@@ -99,6 +105,12 @@ public class SysTenant extends BaseEntity {
*/
*/
private
Long
accountCount
;
private
Long
accountCount
;
/**
* 是否虚拟租户(0否 1是)
*/
@TableField
(
value
=
"`virtual`"
)
private
Boolean
virtual
;
/**
/**
* 租户状态(0正常 1停用)
* 租户状态(0正常 1停用)
*/
*/
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java
浏览文件 @
d32ebd37
...
@@ -34,6 +34,11 @@ public class SysTenantBo extends BaseEntity {
...
@@ -34,6 +34,11 @@ public class SysTenantBo extends BaseEntity {
*/
*/
private
String
tenantId
;
private
String
tenantId
;
/**
* 企业码
*/
private
String
companyCode
;
/**
/**
* 联系人
* 联系人
*/
*/
...
@@ -99,6 +104,12 @@ public class SysTenantBo extends BaseEntity {
...
@@ -99,6 +104,12 @@ public class SysTenantBo extends BaseEntity {
*/
*/
private
String
remark
;
private
String
remark
;
/**
* 是否虚拟租户(0否 1是)
*/
@NotNull
(
message
=
"是否虚拟租户不能为空"
,
groups
=
{
AddGroup
.
class
})
private
Boolean
virtual
;
/**
/**
* 租户套餐编号
* 租户套餐编号
*/
*/
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java
浏览文件 @
d32ebd37
...
@@ -50,6 +50,12 @@ public class SysTenantVo implements Serializable {
...
@@ -50,6 +50,12 @@ public class SysTenantVo implements Serializable {
@ExcelProperty
(
value
=
"联系电话"
)
@ExcelProperty
(
value
=
"联系电话"
)
private
String
contactPhone
;
private
String
contactPhone
;
/**
* 企业码
*/
@ExcelProperty
(
value
=
"企业码"
)
private
String
companyCode
;
/**
/**
* 企业名称
* 企业名称
*/
*/
...
@@ -125,5 +131,11 @@ public class SysTenantVo implements Serializable {
...
@@ -125,5 +131,11 @@ public class SysTenantVo implements Serializable {
@ExcelDictFormat
(
readConverterExp
=
"0=正常,1=停用"
)
@ExcelDictFormat
(
readConverterExp
=
"0=正常,1=停用"
)
private
String
status
;
private
String
status
;
/**
* 是否虚拟租户(0否 1是)
*/
@ExcelProperty
(
value
=
"是否虚拟租户"
,
converter
=
ExcelDictConvert
.
class
)
@ExcelDictFormat
(
readConverterExp
=
"false=否,true=是"
)
private
Boolean
virtual
;
}
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java
浏览文件 @
d32ebd37
...
@@ -38,6 +38,11 @@ public class SysUserVo implements Serializable {
...
@@ -38,6 +38,11 @@ public class SysUserVo implements Serializable {
*/
*/
private
String
tenantId
;
private
String
tenantId
;
/**
* 是否是虚拟用户
*/
private
Boolean
virtual
;
/**
/**
* 部门ID
* 部门ID
*/
*/
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java
浏览文件 @
d32ebd37
package
org
.
dromara
.
system
.
dubbo
;
package
org
.
dromara
.
system
.
dubbo
;
import
cn.dev33.satoken.secure.BCrypt
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Opt
;
import
cn.hutool.core.lang.Opt
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
...
@@ -15,6 +16,7 @@ import org.dromara.common.core.exception.ServiceException;
...
@@ -15,6 +16,7 @@ import org.dromara.common.core.exception.ServiceException;
import
org.dromara.common.core.exception.user.UserException
;
import
org.dromara.common.core.exception.user.UserException
;
import
org.dromara.common.core.utils.DateUtils
;
import
org.dromara.common.core.utils.DateUtils
;
import
org.dromara.common.core.utils.MapstructUtils
;
import
org.dromara.common.core.utils.MapstructUtils
;
import
org.dromara.common.core.utils.SpringUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.mybatis.helper.DataPermissionHelper
;
import
org.dromara.common.mybatis.helper.DataPermissionHelper
;
import
org.dromara.common.tenant.helper.TenantHelper
;
import
org.dromara.common.tenant.helper.TenantHelper
;
...
@@ -30,15 +32,13 @@ import org.dromara.system.api.model.XcxLoginUser;
...
@@ -30,15 +32,13 @@ import org.dromara.system.api.model.XcxLoginUser;
import
org.dromara.system.domain.SysUser
;
import
org.dromara.system.domain.SysUser
;
import
org.dromara.system.domain.bo.SysUserBo
;
import
org.dromara.system.domain.bo.SysUserBo
;
import
org.dromara.system.domain.bo.WxUserBo
;
import
org.dromara.system.domain.bo.WxUserBo
;
import
org.dromara.system.domain.vo.SysDeptVo
;
import
org.dromara.system.domain.vo.*
;
import
org.dromara.system.domain.vo.SysRoleVo
;
import
org.dromara.system.domain.vo.SysUserVo
;
import
org.dromara.system.domain.vo.WxUserVo
;
import
org.dromara.system.mapper.SysUserMapper
;
import
org.dromara.system.mapper.SysUserMapper
;
import
org.dromara.system.service.*
;
import
org.dromara.system.service.*
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -59,6 +59,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
...
@@ -59,6 +59,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
private
final
ISysDeptService
deptService
;
private
final
ISysDeptService
deptService
;
private
final
IWxUserService
wxUserService
;
private
final
IWxUserService
wxUserService
;
private
final
SysUserMapper
userMapper
;
private
final
SysUserMapper
userMapper
;
private
final
ISysTenantService
tenantService
;
@DubboReference
@DubboReference
private
RemoteServerService
remoteServerService
;
private
RemoteServerService
remoteServerService
;
...
@@ -193,7 +194,12 @@ public class RemoteUserServiceImpl implements RemoteUserService {
...
@@ -193,7 +194,12 @@ public class RemoteUserServiceImpl implements RemoteUserService {
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
Boolean
registerUserInfo
(
RemoteUserBo
remoteUserBo
)
throws
UserException
,
ServiceException
{
public
Long
registerUserInfo
(
RemoteUserBo
remoteUserBo
)
throws
UserException
,
ServiceException
{
//密码为空使用初始化密码
String
initPassword
=
TenantHelper
.
dynamic
(
remoteUserBo
.
getTenantId
(),()->
SpringUtils
.
getBean
(
ISysConfigService
.
class
).
selectConfigByKey
(
"sys.user.initPassword"
));
String
password
=
StringUtils
.
isEmpty
(
remoteUserBo
.
getPassword
())
?
initPassword
:
remoteUserBo
.
getPassword
();
remoteUserBo
.
setPassword
(
BCrypt
.
hashpw
(
password
));
SysUserBo
sysUserBo
=
MapstructUtils
.
convert
(
remoteUserBo
,
SysUserBo
.
class
);
SysUserBo
sysUserBo
=
MapstructUtils
.
convert
(
remoteUserBo
,
SysUserBo
.
class
);
String
username
=
sysUserBo
.
getUserName
();
String
username
=
sysUserBo
.
getUserName
();
boolean
exist
=
TenantHelper
.
dynamic
(
remoteUserBo
.
getTenantId
(),
()
->
{
boolean
exist
=
TenantHelper
.
dynamic
(
remoteUserBo
.
getTenantId
(),
()
->
{
...
@@ -206,7 +212,8 @@ public class RemoteUserServiceImpl implements RemoteUserService {
...
@@ -206,7 +212,8 @@ public class RemoteUserServiceImpl implements RemoteUserService {
if
(
exist
)
{
if
(
exist
)
{
throw
new
UserException
(
"user.register.save.error"
,
username
);
throw
new
UserException
(
"user.register.save.error"
,
username
);
}
}
return
userService
.
registerUser
(
sysUserBo
,
remoteUserBo
.
getTenantId
());
userService
.
registerUser
(
sysUserBo
,
remoteUserBo
.
getTenantId
());
return
sysUserBo
.
getUserId
();
}
}
@Override
@Override
...
@@ -282,6 +289,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
...
@@ -282,6 +289,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
private
LoginUser
buildLoginUser
(
SysUserVo
userVo
)
{
private
LoginUser
buildLoginUser
(
SysUserVo
userVo
)
{
LoginUser
loginUser
=
new
LoginUser
();
LoginUser
loginUser
=
new
LoginUser
();
loginUser
.
setTenantId
(
userVo
.
getTenantId
());
loginUser
.
setTenantId
(
userVo
.
getTenantId
());
loginUser
.
setTenantVirtual
(
Optional
.
ofNullable
(
tenantService
.
queryByTenantId
(
loginUser
.
getTenantId
())).
map
(
SysTenantVo:
:
getVirtual
).
orElse
(
false
));
loginUser
.
setUserId
(
userVo
.
getUserId
());
loginUser
.
setUserId
(
userVo
.
getUserId
());
loginUser
.
setDeptId
(
userVo
.
getDeptId
());
loginUser
.
setDeptId
(
userVo
.
getDeptId
());
loginUser
.
setUsername
(
userVo
.
getUserName
());
loginUser
.
setUsername
(
userVo
.
getUserName
());
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java
浏览文件 @
d32ebd37
...
@@ -112,6 +112,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
...
@@ -112,6 +112,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getAddress
()),
SysTenant:
:
getAddress
,
bo
.
getAddress
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getAddress
()),
SysTenant:
:
getAddress
,
bo
.
getAddress
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getIntro
()),
SysTenant:
:
getIntro
,
bo
.
getIntro
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getIntro
()),
SysTenant:
:
getIntro
,
bo
.
getIntro
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getDomain
()),
SysTenant:
:
getDomain
,
bo
.
getDomain
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getDomain
()),
SysTenant:
:
getDomain
,
bo
.
getDomain
());
lqw
.
eq
(
bo
.
getVirtual
()
!=
null
,
SysTenant:
:
getVirtual
,
bo
.
getVirtual
());
lqw
.
eq
(
bo
.
getPackageId
()
!=
null
,
SysTenant:
:
getPackageId
,
bo
.
getPackageId
());
lqw
.
eq
(
bo
.
getPackageId
()
!=
null
,
SysTenant:
:
getPackageId
,
bo
.
getPackageId
());
lqw
.
eq
(
bo
.
getExpireTime
()
!=
null
,
SysTenant:
:
getExpireTime
,
bo
.
getExpireTime
());
lqw
.
eq
(
bo
.
getExpireTime
()
!=
null
,
SysTenant:
:
getExpireTime
,
bo
.
getExpireTime
());
lqw
.
eq
(
bo
.
getAccountCount
()
!=
null
,
SysTenant:
:
getAccountCount
,
bo
.
getAccountCount
());
lqw
.
eq
(
bo
.
getAccountCount
()
!=
null
,
SysTenant:
:
getAccountCount
,
bo
.
getAccountCount
());
...
@@ -130,9 +131,18 @@ public class SysTenantServiceImpl implements ISysTenantService {
...
@@ -130,9 +131,18 @@ public class SysTenantServiceImpl implements ISysTenantService {
// 获取所有租户编号
// 获取所有租户编号
List
<
String
>
tenantIds
=
baseMapper
.
selectObjs
(
List
<
String
>
tenantIds
=
baseMapper
.
selectObjs
(
new
LambdaQueryWrapper
<
SysTenant
>().
select
(
SysTenant:
:
getTenantId
),
x
->
{
return
Convert
.
toStr
(
x
);});
new
LambdaQueryWrapper
<
SysTenant
>().
select
(
SysTenant:
:
getTenantId
),
x
->
{
return
Convert
.
toStr
(
x
);
});
//获取所有租户公司码
List
<
String
>
companyCodes
=
baseMapper
.
selectObjs
(
new
LambdaQueryWrapper
<
SysTenant
>().
select
(
SysTenant:
:
getCompanyCode
),
x
->
{
return
Convert
.
toStr
(
x
);
});
String
tenantId
=
generateTenantId
(
tenantIds
);
String
tenantId
=
generateTenantId
(
tenantIds
);
String
companyCode
=
generateTenantId
(
companyCodes
);
add
.
setTenantId
(
tenantId
);
add
.
setTenantId
(
tenantId
);
add
.
setCompanyCode
(
companyCode
);
boolean
flag
=
baseMapper
.
insert
(
add
)
>
0
;
boolean
flag
=
baseMapper
.
insert
(
add
)
>
0
;
if
(!
flag
)
{
if
(!
flag
)
{
throw
new
ServiceException
(
"创建租户失败"
);
throw
new
ServiceException
(
"创建租户失败"
);
...
@@ -278,6 +288,8 @@ public class SysTenantServiceImpl implements ISysTenantService {
...
@@ -278,6 +288,8 @@ public class SysTenantServiceImpl implements ISysTenantService {
SysTenant
tenant
=
MapstructUtils
.
convert
(
bo
,
SysTenant
.
class
);
SysTenant
tenant
=
MapstructUtils
.
convert
(
bo
,
SysTenant
.
class
);
tenant
.
setTenantId
(
null
);
tenant
.
setTenantId
(
null
);
tenant
.
setPackageId
(
null
);
tenant
.
setPackageId
(
null
);
tenant
.
setCompanyCode
(
null
);
tenant
.
setVirtual
(
null
);
return
baseMapper
.
updateById
(
tenant
)
>
0
;
return
baseMapper
.
updateById
(
tenant
)
>
0
;
}
}
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
浏览文件 @
d32ebd37
...
@@ -337,6 +337,7 @@ public class SysUserServiceImpl implements ISysUserService {
...
@@ -337,6 +337,7 @@ public class SysUserServiceImpl implements ISysUserService {
if
(
result
)
{
if
(
result
)
{
saveOrUpdateYsUser
(
sysUser
);
saveOrUpdateYsUser
(
sysUser
);
}
}
user
.
setUserId
(
sysUser
.
getUserId
());
return
result
;
return
result
;
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论