Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
yangxiujun
/
paidan_demo
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit c7956cd2
authored
Jul 10, 2023
by
chamberone
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 重构用户权限相关代码
1 parent
b66966b1
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
88 additions
and
296 deletions
project-user/pom.xml
project-user/src/main/java/com/dituhui/pea/user/controller/UserController.java
project-user/src/main/java/com/dituhui/pea/user/entity/ResourceEntity.java
project-user/src/main/java/com/dituhui/pea/user/entity/RoleEntity.java
project-user/src/main/java/com/dituhui/pea/user/entity/RoleGroupEntity.java
project-user/src/main/java/com/dituhui/pea/user/entity/RoleResourceEntity.java
project-user/src/main/java/com/dituhui/pea/user/entity/UserEntity.java
project-user/src/main/java/com/dituhui/pea/user/entity/UserRoleEntity.java
project-user/src/main/java/com/dituhui/pea/user/service/RoleService.java
project-user/src/main/java/com/dituhui/pea/user/service/UserService.java
project-user/src/main/java/com/dituhui/pea/user/utils/TextHelper.java
project-user/src/main/resources/application.yaml
project-user/pom.xml
View file @
c7956cd
...
...
@@ -13,6 +13,7 @@
<properties>
<druid.version>
1.1.10
</druid.version>
<mysql.version>
8.0.28
</mysql.version>
</properties>
<dependencies>
...
...
@@ -93,11 +94,11 @@
<version>
2.2.5.RELEASE
</version>
</dependency>
<dependency
>
<groupId>
org.postgresql
</group
Id>
<artifactId>
postgresql
</artifactId
>
</dependency>
<dependency>
<groupId>
mysql
</groupId
>
<artifactId>
mysql-connector-java
</artifact
Id>
<version>
${mysql.version}
</version
>
</dependency>
<!-- temp -->
<dependency>
...
...
project-user/src/main/java/com/dituhui/pea/user/controller/UserController.java
View file @
c7956cd
...
...
@@ -8,9 +8,7 @@ import com.dituhui.pea.enums.ThirdPartyEnum;
import
com.dituhui.pea.pojo.*
;
import
com.dituhui.pea.user.IUser
;
import
com.dituhui.pea.user.commom.RedisService
;
import
com.dituhui.pea.user.service.TeamService
;
import
com.dituhui.pea.user.service.UserService
;
import
org.apache.commons.lang.BooleanUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -30,25 +28,13 @@ public class UserController implements IUser {
private
UserService
userService
;
@Autowired
TeamService
teamService
;
@Autowired
private
CurrentUser
currentUser
;
@Autowired
private
RedisService
redisService
;
@Override
public
WebResult
<
UserInfo
>
getCurrentUserInfo
(
String
userToken
,
Boolean
needTeamInfo
)
{
UserAuthInfo
userInfoCache
=
getUserAuthInfoFromToken
(
userToken
);
String
userId
=
userInfoCache
.
getUserId
();
String
teamId
=
userInfoCache
.
getTeamId
();
UserInfo
userInfo
=
userService
.
queryUserById
(
userId
);
if
(
BooleanUtils
.
isTrue
(
needTeamInfo
))
{
TeamInfo
teamInfo
=
teamService
.
queryTeamById
(
teamId
);
userInfo
.
setTeamInfo
(
teamInfo
);
userInfo
.
setTeamId
(
teamId
);
}
return
WebResult
.
ok
(
userInfo
);
}
...
...
@@ -78,8 +64,6 @@ public class UserController implements IUser {
return
WebResult
.
failed
(
StatusCodeEnum
.
COMMON_PARAM_EMPTY
);
}
UserInfo
userInfo
=
userService
.
queryTeamByAccount
(
account
);
// 补充团队信息
fillTemInfo
(
userInfo
);
return
WebResult
.
ok
(
userInfo
);
}
...
...
@@ -91,32 +75,15 @@ public class UserController implements IUser {
}
UserInfo
userInfo
=
userService
.
queryUserByPhone
(
phone
);
System
.
out
.
println
(
"queryUserByPhone UserInfo ["
+
userInfo
+
"]"
);
// 补充团队信息
fillTemInfo
(
userInfo
);
System
.
out
.
println
(
"queryUserByPhone fillTemInfo UserInfo ["
+
userInfo
+
"]"
);
return
WebResult
.
ok
(
userInfo
);
}
/**
* 补充团队信息
*
* @param userInfo
*/
private
void
fillTemInfo
(
UserInfo
userInfo
)
{
if
(
StringUtils
.
isNotEmpty
(
userInfo
.
getTeamId
()))
{
TeamInfo
teamInfo
=
teamService
.
queryTeamById
(
userInfo
.
getTeamId
());
userInfo
.
setTeamInfo
(
teamInfo
);
}
}
@Override
public
WebResult
<
UserInfo
>
queryUserByThirdParty
(
String
id
,
ThirdPartyEnum
type
)
{
if
(
StringUtils
.
isBlank
(
id
))
{
return
WebResult
.
failed
(
StatusCodeEnum
.
COMMON_PARAM_EMPTY
);
}
UserInfo
userInfo
=
userService
.
queryUserByThirdParty
(
id
,
type
);
// 补充团队信息
fillTemInfo
(
userInfo
);
return
WebResult
.
ok
(
userInfo
);
}
...
...
@@ -159,16 +126,12 @@ public class UserController implements IUser {
@Override
public
WebResult
<
UserInfo
>
register
(
@Validated
UserInfo
userInfo
)
{
userInfo
=
userService
.
register
(
userInfo
);
// 补充团队信息
fillTemInfo
(
userInfo
);
return
WebResult
.
ok
(
userInfo
);
}
@Override
public
WebResult
<
UserInfo
>
thirdRegister
(
ThirdUserInfo
thirdUserInfo
)
{
UserInfo
userInfo
=
userService
.
thirdRegister
(
thirdUserInfo
);
// 补充团队信息
fillTemInfo
(
userInfo
);
return
WebResult
.
ok
(
userInfo
);
}
...
...
project-user/src/main/java/com/dituhui/pea/user/entity/ResourceEntity.java
View file @
c7956cd
...
...
@@ -14,66 +14,63 @@ import java.util.Date;
/**
* 资源表 用户对某种具体权限或者功能的描述(ResourceEntity)实体类
*
* @author zl
* @since 2020-12-09 15:13:43
*/
@Data
@Entity
@Table
(
name
=
"
resource"
)
@Table
(
name
=
"sys_
resource"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
public
class
ResourceEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
157258775707540233L
;
/**
* 主键
*/
@Id
@GeneratedValue
(
generator
=
"uuid"
)
@GenericGenerator
(
name
=
"uuid"
,
strategy
=
"uuid"
)
@Column
(
name
=
"ID"
,
unique
=
true
,
nullable
=
false
,
length
=
32
)
private
String
id
;
/**
* 名称
*/
@Column
(
name
=
"name"
)
@NotBlank
(
message
=
"资源名称不能为空!"
)
private
String
name
;
/**
* 用户自定义条件
*/
@Column
(
name
=
"extra"
)
private
String
extra
;
/**
* 团队id
*/
@Column
(
name
=
"team_id"
)
@NotBlank
(
message
=
"团队名称不能为空!"
)
private
String
teamId
;
/**
* 描述
*/
@Column
(
name
=
"description"
)
private
String
description
;
/**
* 创建人
*/
@Column
(
name
=
"CREATED_BY"
)
private
String
createdBy
;
/**
* 创建时间
*/
@Column
(
name
=
"CREATED_TIME"
)
@CreatedDate
private
Date
createdTime
;
/**
* 更新人
*/
@Column
(
name
=
"UPDATED_BY"
)
private
String
updatedBy
;
/**
* 更新时间
*/
@Column
(
name
=
"UPDATED_TIME"
)
@LastModifiedDate
private
Date
updatedTime
;
private
static
final
long
serialVersionUID
=
157258775707540233L
;
/**
* 主键
*/
@Id
@GeneratedValue
(
generator
=
"uuid"
)
@GenericGenerator
(
name
=
"uuid"
,
strategy
=
"uuid"
)
@Column
(
name
=
"ID"
,
unique
=
true
,
nullable
=
false
,
length
=
32
)
private
String
id
;
/**
* 名称
*/
@Column
(
name
=
"name"
)
@NotBlank
(
message
=
"资源名称不能为空!"
)
private
String
name
;
/**
* 用户自定义条件
*/
@Column
(
name
=
"extra"
)
private
String
extra
;
/**
* 资源类型1菜单2功能点3所属组织
*/
@Column
(
name
=
"type"
)
private
Integer
type
;
/**
* 描述
*/
@Column
(
name
=
"description"
)
private
String
description
;
/**
* 创建人
*/
@Column
(
name
=
"CREATED_BY"
)
private
String
createdBy
;
/**
* 创建时间
*/
@Column
(
name
=
"CREATED_TIME"
)
@CreatedDate
private
Date
createdTime
;
/**
* 更新人
*/
@Column
(
name
=
"UPDATED_BY"
)
private
String
updatedBy
;
/**
* 更新时间
*/
@Column
(
name
=
"UPDATED_TIME"
)
@LastModifiedDate
private
Date
updatedTime
;
}
project-user/src/main/java/com/dituhui/pea/user/entity/RoleEntity.java
View file @
c7956cd
...
...
@@ -14,12 +14,10 @@ import java.util.Date;
/**
* 角色表(RoleEntity)实体类
*
* @author zl
* @since 2020-12-09 15:13:27
*/
@Data
@Entity
@Table
(
name
=
"role"
)
@Table
(
name
=
"
sys_
role"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
public
class
RoleEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
71423293715769828L
;
...
...
@@ -38,12 +36,6 @@ public class RoleEntity implements Serializable {
@NotBlank
(
message
=
"角色名称不能为空!"
)
private
String
name
;
/**
* 团队id
*/
@Column
(
name
=
"team_id"
)
@NotBlank
(
message
=
"团队Id不能为空!"
)
private
String
teamId
;
/**
* 角色组id
*/
@Column
(
name
=
"group_id"
)
...
...
project-user/src/main/java/com/dituhui/pea/user/entity/RoleGroupEntity.java
View file @
c7956cd
...
...
@@ -10,12 +10,10 @@ import java.util.Date;
/**
* 角色组表(RoleGroupEntity)实体类
*
* @author zl
* @since 2020-12-09 15:13:18
*/
@Data
@Entity
@Table
(
name
=
"role_group"
)
@Table
(
name
=
"
sys_
role_group"
)
public
class
RoleGroupEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
66824982136301845L
;
/**
...
...
@@ -37,11 +35,6 @@ public class RoleGroupEntity implements Serializable {
@Column
(
name
=
"description"
)
private
String
description
;
/**
* 团队id
*/
@Column
(
name
=
"team_id"
)
private
String
teamId
;
/**
* 创建人
*/
@Column
(
name
=
"CREATED_BY"
)
...
...
project-user/src/main/java/com/dituhui/pea/user/entity/RoleResourceEntity.java
View file @
c7956cd
...
...
@@ -10,12 +10,10 @@ import java.util.Date;
/**
* 角色资源表(RoleResourceEntity)实体类
*
* @author zl
* @since 2020-12-09 15:13:05
*/
@Data
@Entity
@Table
(
name
=
"role_resource"
)
@Table
(
name
=
"
sys_
role_resource"
)
public
class
RoleResourceEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
10273487455832697L
;
/**
...
...
project-user/src/main/java/com/dituhui/pea/user/entity/UserEntity.java
View file @
c7956cd
...
...
@@ -13,12 +13,10 @@ import java.util.Date;
/**
* 用户表(UserEntity)实体类
*
* @author zl
* @since 2020-12-09 15:11:38
*/
@Data
@Entity
@Table
(
name
=
"user"
)
@Table
(
name
=
"
sys_
user"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
public
class
UserEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
595672857439664430L
;
...
...
@@ -84,16 +82,6 @@ public class UserEntity implements Serializable {
@Column
(
name
=
"LAST_LOGIN_TIME"
)
private
Date
lastLoginTime
;
/**
* 微博唯一识别id
*/
@Column
(
name
=
"weibo"
)
private
String
weibo
;
/**
* qq唯一识别id
*/
@Column
(
name
=
"qq"
)
private
String
qq
;
/**
* 微信小程序识别id
*/
@Column
(
name
=
"wechat_mini_program"
)
...
...
project-user/src/main/java/com/dituhui/pea/user/entity/UserRoleEntity.java
View file @
c7956cd
...
...
@@ -14,12 +14,10 @@ import java.util.Date;
/**
* 用户角色关系表(UserRoleEntity)实体类
*
* @author zl
* @since 2020-12-09 15:12:06
*/
@Data
@Entity
@Table
(
name
=
"user_role"
)
@Table
(
name
=
"
sys_
user_role"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
public
class
UserRoleEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
30812324643312481L
;
...
...
project-user/src/main/java/com/dituhui/pea/user/service/RoleService.java
View file @
c7956cd
...
...
@@ -79,7 +79,7 @@ public class RoleService {
throw
new
BusinessException
(
StatusCodeEnum
.
ROLE_RESOURCE_EMPTY
);
}
// 保存用户角色关系
UserRoleEntity
userRoleEntity
=
assembleUserRoleEntity
(
roleId
,
userId
,
roleEntity
.
getTeamId
()
);
UserRoleEntity
userRoleEntity
=
assembleUserRoleEntity
(
roleId
,
userId
);
userRoleDao
.
save
(
userRoleEntity
);
}
...
...
@@ -173,11 +173,10 @@ public class RoleService {
}
private
UserRoleEntity
assembleUserRoleEntity
(
String
roleId
,
String
userId
,
String
teamId
)
{
private
UserRoleEntity
assembleUserRoleEntity
(
String
roleId
,
String
userId
)
{
UserRoleEntity
userRoleEntity
=
new
UserRoleEntity
();
userRoleEntity
.
setRoleId
(
roleId
);
userRoleEntity
.
setUserId
(
userId
);
userRoleEntity
.
setTeamId
(
teamId
);
return
userRoleEntity
;
}
...
...
project-user/src/main/java/com/dituhui/pea/user/service/UserService.java
View file @
c7956cd
package
com
.
dituhui
.
pea
.
user
.
service
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.lang.Validator
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.crypto.SecureUtil
;
import
com.dituhui.pea.constants.TeamConstant
;
import
java.util.Date
;
import
java.util.List
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Predicate
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.dituhui.pea.enums.StatusCodeEnum
;
import
com.dituhui.pea.enums.TeamContractEnum
;
import
com.dituhui.pea.enums.ThirdPartyEnum
;
import
com.dituhui.pea.enums.UserStatusEnum
;
import
com.dituhui.pea.exception.BusinessException
;
import
com.dituhui.pea.pojo.ThirdUserInfo
;
import
com.dituhui.pea.pojo.UserInfo
;
import
com.dituhui.pea.user.constant.TextConstant
;
import
com.dituhui.pea.user.dao.TeamDao
;
import
com.dituhui.pea.user.dao.UserDao
;
import
com.dituhui.pea.user.dao.UserTeamDao
;
import
com.dituhui.pea.user.entity.TeamEntity
;
import
com.dituhui.pea.user.entity.UserEntity
;
import
com.dituhui.pea.user.entity.UserTeamEntity
;
import
com.dituhui.pea.user.factory.ThirdStrategy
;
import
com.dituhui.pea.user.factory.ThirdStrategyFactory
;
import
com.dituhui.pea.user.utils.TextHelper
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
javax.persistence.criteria.*
;
import
java.util.Date
;
import
java.util.List
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.lang.Validator
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.crypto.SecureUtil
;
/**
* 用户业务层
...
...
@@ -43,20 +37,12 @@ import java.util.List;
@Service
public
class
UserService
{
@Autowired
UserDao
userDao
;
@Autowired
TeamDao
teamDao
;
@Autowired
UserTeamDao
userTeamDao
;
@Autowired
ThirdStrategyFactory
thirdStrategyFactory
;
public
String
getUserName
(
String
userId
)
{
return
"Jown Snow "
+
userId
;
}
...
...
@@ -74,8 +60,6 @@ public class UserService {
throw
new
BusinessException
(
StatusCodeEnum
.
USER_DOES_NOT_EXIST
);
}
UserInfo
user
=
BeanUtil
.
copyProperties
(
userEntity
,
UserInfo
.
class
);
// 设置用户信息对应的默认团队
user
.
setTeamId
(
queryTeamByUserId
(
user
.
getId
()));
return
user
;
}
...
...
@@ -91,8 +75,6 @@ public class UserService {
throw
new
BusinessException
(
StatusCodeEnum
.
USER_DOES_NOT_EXIST
);
}
UserInfo
user
=
BeanUtil
.
copyProperties
(
userEntity
,
UserInfo
.
class
);
// 设置用户信息对应的默认团队
user
.
setTeamId
(
queryTeamByUserId
(
user
.
getId
()));
return
user
;
}
...
...
@@ -118,28 +100,10 @@ public class UserService {
throw
new
BusinessException
(
StatusCodeEnum
.
USER_DOES_NOT_EXIST
);
}
UserInfo
user
=
BeanUtil
.
copyProperties
(
userEntity
,
UserInfo
.
class
);
// 设置用户信息对应的默认团队
user
.
setTeamId
(
queryTeamByUserId
(
user
.
getId
()));
return
user
;
}
/**
* 查询用户默认团队id
*
* @param userId 用户id
* @return
*/
private
String
queryTeamByUserId
(
String
userId
)
{
List
<
UserTeamEntity
>
userTeamEntityList
=
userTeamDao
.
findAllByUserIdAndStatusOrderByCreatedByDesc
(
userId
,
UserStatusEnum
.
NORMAL
.
getStatus
());
if
(
CollectionUtils
.
isEmpty
(
userTeamEntityList
))
{
throw
new
BusinessException
(
StatusCodeEnum
.
TEAM_DOES_NOT_EXIST
);
}
return
userTeamEntityList
.
get
(
0
).
getTeamId
();
}
/**
* 查询用户信息
* @param id 用户ID
* @return
...
...
@@ -166,16 +130,6 @@ public class UserService {
userEntity
.
setPassword
(
SecureUtil
.
md5
(
userInfo
.
getPassword
()));
// 保存用户信息
userEntity
=
userDao
.
save
(
userEntity
);
// 保存用户和团队的关系
String
teamId
=
userInfo
.
getTeamId
();
if
(
StringUtils
.
isNotBlank
(
teamId
))
{
TeamEntity
teamEntity
=
teamDao
.
findById
(
teamId
).
orElse
(
null
);
if
(
ObjectUtil
.
isNull
(
teamEntity
))
{
throw
new
BusinessException
(
StatusCodeEnum
.
TEAM_DOES_NOT_EXIST
);
}
UserTeamEntity
userTeamEntity
=
assembleUserTeamEntity
(
userEntity
,
teamEntity
);
userTeamDao
.
save
(
userTeamEntity
);
}
return
BeanUtil
.
copyProperties
(
userEntity
,
UserInfo
.
class
);
}
...
...
@@ -204,14 +158,7 @@ public class UserService {
userEntity
.
setPassword
(
SecureUtil
.
md5
(
userInfo
.
getPassword
()));
// 保存用户信息
userEntity
=
userDao
.
save
(
userEntity
);
// 保存团队信息
TeamEntity
teamEntity
=
assembleTeamEntity
(
userEntity
);
teamEntity
=
teamDao
.
save
(
teamEntity
);
// 保存用户团队关系表
UserTeamEntity
userTeamEntity
=
assembleUserTeamEntity
(
userEntity
,
teamEntity
);
userTeamDao
.
save
(
userTeamEntity
);
userInfo
.
setId
(
userEntity
.
getId
());
userInfo
.
setTeamId
(
teamEntity
.
getId
());
return
userInfo
;
}
...
...
@@ -225,15 +172,9 @@ public class UserService {
userEntity
.
setCreatedTime
(
new
Date
());
ThirdPartyEnum
thirdPartyEnum
=
ThirdPartyEnum
.
valueOf
(
thirdUserInfo
.
getThirdType
());
switch
(
thirdPartyEnum
)
{
case
QQ:
userEntity
.
setQq
(
thirdUserInfo
.
getThirdId
());
break
;
case
WECHAT:
userEntity
.
setWechat
(
thirdUserInfo
.
getThirdId
());
break
;
case
WEIBO:
userEntity
.
setWeibo
(
thirdUserInfo
.
getThirdId
());
break
;
case
WECHAT_MINI_PROGRAM:
userEntity
.
setWechatMiniProgram
(
thirdUserInfo
.
getThirdId
());
userEntity
.
setPhone
(
thirdUserInfo
.
getPhone
());
...
...
@@ -252,15 +193,7 @@ public class UserService {
userEntity
=
userDao
.
save
(
userEntity
);
// 对象转换
UserInfo
userInfo
=
BeanUtil
.
copyProperties
(
userEntity
,
UserInfo
.
class
);
// 保存团队信息
TeamEntity
teamEntity
=
assembleTeamEntity
(
userEntity
);
teamEntity
=
teamDao
.
save
(
teamEntity
);
// 保存用户团队关系表
UserTeamEntity
userTeamEntity
=
assembleUserTeamEntity
(
userEntity
,
teamEntity
);
userTeamDao
.
save
(
userTeamEntity
);
userInfo
.
setId
(
userEntity
.
getId
());
userInfo
.
setTeamId
(
teamEntity
.
getId
());
return
userInfo
;
}
...
...
@@ -276,15 +209,9 @@ public class UserService {
return
null
;
}
switch
(
thirdPartyEnum
)
{
case
QQ:
userEntity
.
setQq
(
thirdId
);
break
;
case
WECHAT:
userEntity
.
setWechat
(
thirdId
);
break
;
case
WEIBO:
userEntity
.
setWeibo
(
thirdId
);
break
;
case
WECHAT_MINI_PROGRAM:
userEntity
.
setWechatMiniProgram
(
thirdId
);
default
:
...
...
@@ -292,8 +219,6 @@ public class UserService {
userEntity
=
userDao
.
save
(
userEntity
);
// 对象转换
UserInfo
userInfo
=
BeanUtil
.
copyProperties
(
userEntity
,
UserInfo
.
class
);
UserTeamEntity
userTeamEntity
=
userTeamDao
.
findByUserId
(
userInfo
.
getId
());
userInfo
.
setTeamId
(
userTeamEntity
.
getTeamId
());
return
userInfo
;
}
...
...
@@ -343,20 +268,6 @@ public class UserService {
if
(
ObjectUtil
.
isNull
(
userEntity
))
{
throw
new
BusinessException
(
StatusCodeEnum
.
USER_DOES_NOT_EXIST
);
}
// 查询团队是否存在
if
(
StringUtils
.
isNotBlank
(
userInfo
.
getTeamId
()))
{
TeamEntity
teamEntity
=
teamDao
.
findById
(
userInfo
.
getTeamId
()).
orElse
(
null
);
if
(
ObjectUtil
.
isNull
(
teamEntity
))
{
throw
new
BusinessException
(
StatusCodeEnum
.
TEAM_DOES_NOT_EXIST
);
}
// 查询用户团队关系表 没有记录就添加
UserTeamEntity
userTeamEntity
=
userTeamDao
.
findByUserIdAndTeamId
(
userInfo
.
getId
(),
userInfo
.
getTeamId
());
if
(
ObjectUtil
.
isNull
(
userTeamEntity
))
{
userTeamEntity
=
assembleUserTeamEntity
(
userEntity
,
teamEntity
);
userTeamDao
.
save
(
userTeamEntity
);
}
}
assembleUpdateUserInfo
(
userInfo
,
userEntity
);
userEntity
=
userDao
.
save
(
userEntity
);
userInfo
=
BeanUtil
.
copyProperties
(
userEntity
,
UserInfo
.
class
);
...
...
@@ -376,46 +287,10 @@ public class UserService {
if
(
ObjectUtil
.
isNull
(
userEntity
))
{
throw
new
BusinessException
(
StatusCodeEnum
.
USER_DOES_NOT_EXIST
);
}
// 删除用户和团队的关系
userTeamDao
.
deleteByUserId
(
userId
);
// 删除用户
userDao
.
deleteById
(
userId
);
}
/**
* 组装用户团队关系表
* @param userEntity 用户信息
* @param teamEntity 团队信息
* @return
*/
private
UserTeamEntity
assembleUserTeamEntity
(
UserEntity
userEntity
,
TeamEntity
teamEntity
)
{
UserTeamEntity
userTeamEntity
=
new
UserTeamEntity
();
userTeamEntity
.
setUserId
(
userEntity
.
getId
());
userTeamEntity
.
setTeamId
(
teamEntity
.
getId
());
userTeamEntity
.
setStatus
(
UserStatusEnum
.
NORMAL
.
getStatus
());
return
userTeamEntity
;
}
/**
* 组装团队信息
* @param userEntity 用户信息
* @return
*/
private
TeamEntity
assembleTeamEntity
(
UserEntity
userEntity
)
{
// 创建团队
TeamEntity
teamEntity
=
new
TeamEntity
();
teamEntity
.
setName
(
userEntity
.
getNickname
()
+
TeamConstant
.
TEAM_NAME_SUFFIX
);
teamEntity
.
setAdminId
(
userEntity
.
getId
());
// 新建团队默认有一周时间的试用期
teamEntity
.
setExpireDate
(
DateUtil
.
offsetDay
(
new
Date
(),
7
));
teamEntity
.
setContract
(
TeamContractEnum
.
NO_CONTRACT
.
getStatus
());
teamEntity
.
setAppKey
(
IdUtil
.
simpleUUID
());
teamEntity
.
setSecret
(
IdUtil
.
simpleUUID
());
return
teamEntity
;
}
/**
* 校验 [账号 手机号] 是否存在
* @param phone 手机号
...
...
project-user/src/main/java/com/dituhui/pea/user/utils/TextHelper.java
View file @
c7956cd
...
...
@@ -109,16 +109,4 @@ public class TextHelper {
return
str
.
matches
(
regex
);
}
/**
* 执行正则表达式
*
* @param pat 表达式
* @param str 待验证字符串
* @return 返回true, 否则为false
*/
private
static
boolean
match
(
String
pat
,
String
str
)
{
Pattern
pattern
=
Pattern
.
compile
(
pat
);
Matcher
match
=
pattern
.
matcher
(
str
);
return
match
.
find
();
}
}
project-user/src/main/resources/application.yaml
View file @
c7956cd
...
...
@@ -16,15 +16,15 @@ spring:
config
:
import
:
-
optional:nacos:project-user.yaml?group=project&refreshEnabled=true
-
optional:nacos:datasource-config.yaml?group=project&refreshEnabled=true
-
optional:nacos:redis-config.yaml?group=project&refreshEnabled=true
main
:
allow-bean-definition-overriding
:
true
datasource
:
url
:
jdbc:postgresql://project-pg:8432/project
driver-class-name
:
org.postgresql.Driver
username
:
'
postgres'
password
:
'
postgres'
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://10.10.0.54:3306/saas_aftersale_test?serverTimezone=Asia/Shanghai
username
:
root
password
:
123456
type
:
com.alibaba.druid.pool.DruidDataSource
redis
:
database
:
0
host
:
redis
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment