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 a183d7ef
authored
Sep 27, 2023
by
huangjinxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户和角色相关
1 parent
a11d8082
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
488 additions
and
34 deletions
project-interface/src/main/java/com/dituhui/pea/pojo/RoleInfo.java
project-interface/src/main/java/com/dituhui/pea/pojo/UserInfo.java
project-interface/src/main/java/com/dituhui/pea/pojo/UserInfoSearch.java
project-interface/src/main/java/com/dituhui/pea/pojo/role/RoleResourceInfo.java
project-interface/src/main/java/com/dituhui/pea/pojo/role/UserRoleInfo.java
project-interface/src/main/java/com/dituhui/pea/user/IRole.java
project-interface/src/main/java/com/dituhui/pea/user/IUser.java
project-user/src/main/java/com/dituhui/pea/user/controller/RoleController.java
project-user/src/main/java/com/dituhui/pea/user/controller/UserController.java
project-user/src/main/java/com/dituhui/pea/user/dao/RoleResourceDao.java
project-user/src/main/java/com/dituhui/pea/user/dao/UserOrgDao.java
project-user/src/main/java/com/dituhui/pea/user/dao/UserRoleDao.java
project-user/src/main/java/com/dituhui/pea/user/entity/UserEntity.java
project-user/src/main/java/com/dituhui/pea/user/entity/UserOrgEntity.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-interface/src/main/java/com/dituhui/pea/pojo/RoleInfo.java
View file @
a183d7e
package
com
.
dituhui
.
pea
.
pojo
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
com.dituhui.pea.pojo.role.RoleResourceInfo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
* 角色信息
...
...
@@ -47,4 +48,6 @@ public class RoleInfo {
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updatedTime
;
private
List
<
RoleResourceInfo
>
resourceInfos
;
}
project-interface/src/main/java/com/dituhui/pea/pojo/UserInfo.java
View file @
a183d7e
...
...
@@ -8,9 +8,11 @@ import javax.validation.constraints.Max;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotBlank
;
import
java.util.Date
;
import
java.util.List
;
/**
* 用户信息
*
* @author zl
*/
@Data
...
...
@@ -82,6 +84,18 @@ public class UserInfo {
*/
private
String
extra
;
/**
* 组织ids
*/
private
List
<
String
>
orgIds
;
/**
* 组织级别 0:大区 1:分部 2:站点
*/
private
Integer
orgLevel
;
/**
* 角色id
*/
private
List
<
String
>
roleIds
;
/**
* 创建人
*/
//private String createdBy;
...
...
project-interface/src/main/java/com/dituhui/pea/pojo/UserInfoSearch.java
0 → 100644
View file @
a183d7e
package
com
.
dituhui
.
pea
.
pojo
;
import
com.dituhui.pea.validated.Phone
;
import
lombok.Data
;
import
javax.validation.constraints.Email
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* 用户信息
*
* @author zl
*/
@Data
public
class
UserInfoSearch
extends
PageRequest
implements
Serializable
{
/**
* 主键
*/
private
String
id
;
/**
* 账号
*/
private
String
account
;
/**
* 昵称
*/
private
String
nickname
;
/**
* 邮箱
*/
private
String
email
;
/**
* 电话
*/
private
String
phone
;
/**
* 生日
*/
private
String
birthday
;
/**
* 地区
*/
private
String
region
;
/**
* 性别
*/
private
Integer
sex
;
/**
* 头像
*/
private
String
avatar
;
private
String
wechat
;
private
String
qq
;
private
String
weibo
;
/**
* 最后登录时间
*/
//private Date lastLoginTime;
/**
* 用户自定义条件
*/
private
String
extra
;
/**
* 角色id
*/
private
String
roleId
;
/**
* 用户来源:0:bean 1:新建
*/
private
Integer
source
;
/**
* 模糊查询字段
*/
private
String
queryString
;
/**
* 工程师工号
*/
private
String
engineerCode
;
/**
* 是否禁用 0: 否 1:是 默认0
*/
private
Integer
ban
;
/**
* 创建人
*/
//private String createdBy;
/**
* 创建时间
*/
// private Date createdTime;
/**
* 更新人
*/
//private String updatedBy;
/**
* 更新时间
*/
// private Date updatedTime;
}
project-interface/src/main/java/com/dituhui/pea/pojo/role/RoleResourceInfo.java
0 → 100644
View file @
a183d7e
package
com
.
dituhui
.
pea
.
pojo
.
role
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 角色资源表(RoleResourceEntity)实体类
*
*/
@Data
public
class
RoleResourceInfo
implements
Serializable
{
/**
* 主键
*/
private
String
id
;
/**
* 角色id
*/
private
String
roleId
;
/**
* 资源id
*/
private
String
resourceId
;
/**
* 创建人
*/
private
String
createdBy
;
/**
* 创建时间
*/
private
Date
createdTime
;
/**
* 更新人
*/
private
String
updatedBy
;
/**
* 更新时间
*/
private
Date
updatedTime
;
}
project-interface/src/main/java/com/dituhui/pea/pojo/role/UserRoleInfo.java
0 → 100644
View file @
a183d7e
package
com
.
dituhui
.
pea
.
pojo
.
role
;
import
java.util.Date
;
public
class
UserRoleInfo
{
/**
* 主键
*/
private
String
id
;
/**
* 用户id
*/
private
String
userId
;
/**
* 角色id
*/
private
String
roleId
;
/**
* 创建人
*/
private
String
createdBy
;
/**
* 创建时间
*/
private
Date
createdTime
;
/**
* 更新人
*/
private
String
updatedBy
;
/**
* 更新时间
*/
private
Date
updatedTime
;
}
project-interface/src/main/java/com/dituhui/pea/user/IRole.java
View file @
a183d7e
...
...
@@ -5,6 +5,7 @@ import com.dituhui.pea.pojo.PageRequest;
import
com.dituhui.pea.pojo.ResourceInfo
;
import
com.dituhui.pea.pojo.RoleInfo
;
import
com.dituhui.pea.pojo.WebResult
;
import
com.dituhui.pea.pojo.role.UserRoleInfo
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.data.domain.Page
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
...
@@ -12,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
/**
* 角色相关接口
*/
...
...
@@ -27,6 +30,16 @@ public interface IRole {
@RequestMapping
(
value
=
"/v1/role/add"
,
method
=
RequestMethod
.
POST
)
WebResult
<
RoleInfo
>
addRole
(
@RequestBody
RoleInfo
roleInfo
);
/**
* 修改角色
*
* @param roleInfo 角色信息
* @return
*/
@RequestMapping
(
value
=
"/v1/role/update"
,
method
=
RequestMethod
.
POST
)
WebResult
<
RoleInfo
>
updateRole
(
@RequestBody
RoleInfo
roleInfo
);
/**
* 删除角色
*
...
...
@@ -113,4 +126,22 @@ public interface IRole {
*/
@RequestMapping
(
value
=
"/v1/role/list"
,
method
=
RequestMethod
.
GET
)
WebResult
<
PageResult
<
RoleInfo
>>
listRole
(
PageRequest
pageRequest
);
/**
* 获取用户角色权限列表
*
* @param roleId 用户id
* @return
*/
@RequestMapping
(
value
=
"/v1/role/info"
,
method
=
RequestMethod
.
GET
)
WebResult
<
RoleInfo
>
info
(
@RequestParam
(
"roleId"
)
String
roleId
);
/**
* 获取用户角色权限列表
*
* @param userId 用户id
* @return
*/
@RequestMapping
(
value
=
"/v1/role/allResource"
,
method
=
RequestMethod
.
GET
)
WebResult
<
List
<
ResourceInfo
>>
allResource
();
}
project-interface/src/main/java/com/dituhui/pea/user/IUser.java
View file @
a183d7e
package
com
.
dituhui
.
pea
.
user
;
import
com.dituhui.pea.common.PageResult
;
import
com.dituhui.pea.pojo.*
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
...
...
@@ -9,11 +11,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.enums.ThirdPartyEnum
;
import
com.dituhui.pea.pojo.ThirdUserInfo
;
import
com.dituhui.pea.pojo.UserInfo
;
import
com.dituhui.pea.pojo.UserLoginDTO
;
import
com.dituhui.pea.pojo.UserLoginParam
;
import
com.dituhui.pea.pojo.WebResult
;
/**
* 用户相关接口
...
...
@@ -21,19 +18,19 @@ import com.dituhui.pea.pojo.WebResult;
*/
@FeignClient
(
value
=
"project-user"
,
contextId
=
"user"
)
public
interface
IUser
{
/**
* 登录接口
*
*
* @param user
* @return
*/
@RequestMapping
(
value
=
"/pea-user/login"
,
method
=
RequestMethod
.
POST
)
public
Result
<
UserLoginDTO
>
userLogin
(
@RequestBody
UserLoginParam
user
);
/**
* 获取用户信息
*
*
* @param userId
* @return
*/
...
...
@@ -43,7 +40,7 @@ public interface IUser {
/**
* 刷新appkey接口<br>
* 初始化系统ak缓存,例如系统上线,新ak入库的时候
*
*
* @return
*/
@RequestMapping
(
value
=
"/pea-user/refreshAppkey"
,
method
=
RequestMethod
.
POST
)
...
...
@@ -138,4 +135,22 @@ public interface IUser {
@RequestMapping
(
value
=
"/pea-user/thirdRegister"
,
method
=
RequestMethod
.
POST
)
WebResult
<
UserInfo
>
thirdRegister
(
@RequestBody
ThirdUserInfo
thirdUserInfo
);
/**
* 用户列表
* @param search 查询条件
* @return
*/
@RequestMapping
(
value
=
"/pea-user/list"
,
method
=
RequestMethod
.
GET
)
WebResult
<
PageResult
<
UserInfoSearch
>>
list
(
UserInfoSearch
search
);
/**
* 禁用用户
* @param search 查询条件
* @return
*/
@RequestMapping
(
value
=
"/pea-user/ban"
,
method
=
RequestMethod
.
GET
)
WebResult
<
Boolean
>
ban
(
UserInfoSearch
search
);
}
project-user/src/main/java/com/dituhui/pea/user/controller/RoleController.java
View file @
a183d7e
...
...
@@ -6,14 +6,20 @@ import com.dituhui.pea.pojo.PageRequest;
import
com.dituhui.pea.pojo.ResourceInfo
;
import
com.dituhui.pea.pojo.RoleInfo
;
import
com.dituhui.pea.pojo.WebResult
;
import
com.dituhui.pea.pojo.role.RoleResourceInfo
;
import
com.dituhui.pea.pojo.role.UserRoleInfo
;
import
com.dituhui.pea.user.IRole
;
import
com.dituhui.pea.user.entity.UserRoleEntity
;
import
com.dituhui.pea.user.service.RoleService
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.context.config.annotation.RefreshScope
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* 角色控制层
*/
...
...
@@ -31,6 +37,13 @@ public class RoleController implements IRole {
return
WebResult
.
ok
(
roleInfo
);
}
@Override
public
WebResult
<
RoleInfo
>
updateRole
(
@Validated
RoleInfo
roleInfo
)
{
roleInfo
=
roleService
.
updateRole
(
roleInfo
);
return
WebResult
.
ok
(
roleInfo
);
}
@Override
public
WebResult
<
Boolean
>
deleteRole
(
String
roleId
)
{
if
(
StringUtils
.
isBlank
(
roleId
))
{
...
...
@@ -107,4 +120,18 @@ public class RoleController implements IRole {
}
@Override
public
WebResult
<
RoleInfo
>
info
(
String
roleId
)
{
RoleInfo
result
=
roleService
.
info
(
roleId
);
return
WebResult
.
ok
(
result
);
}
@Override
public
WebResult
<
List
<
ResourceInfo
>>
allResource
()
{
List
<
ResourceInfo
>
result
=
roleService
.
allResource
();
return
WebResult
.
ok
(
result
);
}
}
project-user/src/main/java/com/dituhui/pea/user/controller/UserController.java
View file @
a183d7e
package
com
.
dituhui
.
pea
.
user
.
controller
;
import
com.dituhui.pea.common.PageResult
;
import
com.dituhui.pea.pojo.*
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -9,11 +11,6 @@ import org.springframework.web.bind.annotation.RestController;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.enums.StatusCodeEnum
;
import
com.dituhui.pea.enums.ThirdPartyEnum
;
import
com.dituhui.pea.pojo.ThirdUserInfo
;
import
com.dituhui.pea.pojo.UserInfo
;
import
com.dituhui.pea.pojo.UserLoginDTO
;
import
com.dituhui.pea.pojo.UserLoginParam
;
import
com.dituhui.pea.pojo.WebResult
;
import
com.dituhui.pea.user.IUser
;
import
com.dituhui.pea.user.service.UserService
;
...
...
@@ -21,7 +18,6 @@ import cn.hutool.core.util.ObjectUtil;
/**
* 用户控制层
*
*/
@RestController
public
class
UserController
implements
IUser
{
...
...
@@ -30,19 +26,19 @@ public class UserController implements IUser {
private
UserService
userService
;
@Override
public
Result
<
UserLoginDTO
>
userLogin
(
UserLoginParam
user
)
{
return
userService
.
userLogin
(
user
.
getAccount
(),
user
.
getPassword
());
}
public
Result
<
UserLoginDTO
>
userLogin
(
UserLoginParam
user
)
{
return
userService
.
userLogin
(
user
.
getAccount
(),
user
.
getPassword
());
}
@Override
public
Result
<
UserLoginDTO
>
getUserInfo
(
String
userId
)
{
return
userService
.
getUserInfo
(
userId
);
}
@Override
public
Result
<
Boolean
>
refreshAppkey
()
{
return
userService
.
refreshAppkey
();
}
public
Result
<
UserLoginDTO
>
getUserInfo
(
String
userId
)
{
return
userService
.
getUserInfo
(
userId
);
}
@Override
public
Result
<
Boolean
>
refreshAppkey
()
{
return
userService
.
refreshAppkey
();
}
@Override
public
WebResult
<
UserInfo
>
getCurrentUserInfo
(
String
userToken
,
Boolean
needTeamInfo
)
{
...
...
@@ -69,12 +65,12 @@ public class UserController implements IUser {
@Override
public
WebResult
<
UserInfo
>
queryUserByPhone
(
String
phone
)
{
System
.
out
.
println
(
"queryUserByPhone ["
+
phone
+
"]"
);
System
.
out
.
println
(
"queryUserByPhone ["
+
phone
+
"]"
);
if
(
StringUtils
.
isBlank
(
phone
))
{
return
WebResult
.
failed
(
StatusCodeEnum
.
COMMON_PARAM_EMPTY
);
}
UserInfo
userInfo
=
userService
.
queryUserByPhone
(
phone
);
System
.
out
.
println
(
"queryUserByPhone UserInfo ["
+
userInfo
+
"]"
);
System
.
out
.
println
(
"queryUserByPhone UserInfo ["
+
userInfo
+
"]"
);
return
WebResult
.
ok
(
userInfo
);
}
...
...
@@ -135,4 +131,30 @@ public class UserController implements IUser {
return
WebResult
.
ok
(
userInfo
);
}
/**
* 用户列表
*
* @param search 查询条件
* @return
*/
@Override
public
WebResult
<
PageResult
<
UserInfoSearch
>>
list
(
UserInfoSearch
search
)
{
PageResult
<
UserInfoSearch
>
result
=
userService
.
list
(
search
);
return
WebResult
.
ok
(
result
);
}
/**
* 禁用用户
*
* @param search 查询条件
* @return
*/
@Override
public
WebResult
<
Boolean
>
ban
(
UserInfoSearch
search
)
{
userService
.
ban
(
search
);
return
WebResult
.
ok
();
}
}
project-user/src/main/java/com/dituhui/pea/user/dao/RoleResourceDao.java
View file @
a183d7e
...
...
@@ -33,6 +33,14 @@ public interface RoleResourceDao extends JpaRepository<RoleResourceEntity, Strin
List
<
RoleResourceEntity
>
findByRoleIdIn
(
List
<
String
>
roleIds
);
/**
* 根据角色ID查询
*
* @param roleIds 角色ID
* @return
*/
List
<
RoleResourceEntity
>
findByRoleId
(
String
roleId
);
/**
* 根据角色ID删除对应的资源关系
*
* @param roleId 角色ID
...
...
project-user/src/main/java/com/dituhui/pea/user/dao/UserOrgDao.java
0 → 100644
View file @
a183d7e
package
com
.
dituhui
.
pea
.
user
.
dao
;
import
com.dituhui.pea.user.entity.UserOrgEntity
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.repository.CrudRepository
;
/**
* 用户组织关联表
*/
public
interface
UserOrgDao
extends
JpaRepository
<
UserOrgEntity
,
String
>,
JpaSpecificationExecutor
<
UserOrgEntity
>,
CrudRepository
<
UserOrgEntity
,
String
>
{
/**
* 根据用户id查询
*
* @param id
* @return
*/
UserOrgEntity
findByUserId
(
String
id
);
void
deleteByUserId
(
String
userId
);
}
project-user/src/main/java/com/dituhui/pea/user/dao/UserRoleDao.java
View file @
a183d7e
...
...
@@ -19,13 +19,15 @@ public interface UserRoleDao extends JpaRepository<UserRoleEntity, String>,
/**
* 根据角色ID查询
*
* @param roleId 角色ID
* @return
*/
List
<
UserRoleEntity
>
findByRoleId
(
String
roleId
);
/**
* 根据用户ID查询
*
* @param roleId 角色ID
* @return
*/
...
...
@@ -33,6 +35,7 @@ public interface UserRoleDao extends JpaRepository<UserRoleEntity, String>,
/**
* 根据角色ID和用户ID删除
*
* @param roleId 角色ID
* @param userId 用户ID
*/
...
...
@@ -41,8 +44,16 @@ public interface UserRoleDao extends JpaRepository<UserRoleEntity, String>,
/**
* 根据角色ID删除
*
* @param roleId 角色ID
*/
void
deleteByRoleId
(
String
roleId
);
/**
* 根据用户ID删除
*
* @param userId 角色ID
*/
void
deleteByUserId
(
String
userId
);
}
project-user/src/main/java/com/dituhui/pea/user/entity/UserEntity.java
View file @
a183d7e
...
...
@@ -12,11 +12,10 @@ import java.util.Date;
/**
* 用户表(UserEntity)实体类
*
*/
@Data
@Entity
@Table
(
name
=
"sys_user"
)
@Table
(
name
=
"sys_user"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
public
class
UserEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
595672857439664430L
;
...
...
@@ -114,4 +113,21 @@ public class UserEntity implements Serializable {
@LastModifiedDate
private
Date
updatedTime
;
/**
* 是否禁用 0: 否 1:是 默认0
*/
@Column
(
name
=
"ban"
)
private
Integer
ban
=
0
;
/**
* 用户来源:0:bean 1:新建
*/
@Column
(
name
=
"source"
)
private
Integer
source
;
/**
* 工程师工号
*/
@Column
(
name
=
"engineer_code"
)
private
String
engineerCode
;
}
project-user/src/main/java/com/dituhui/pea/user/entity/UserOrgEntity.java
0 → 100644
View file @
a183d7e
package
com
.
dituhui
.
pea
.
user
.
entity
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.persistence.*
;
import
java.time.LocalDateTime
;
@Entity
@Table
(
name
=
"sys_user_org"
)
@Data
@Accessors
(
chain
=
true
)
public
class
UserOrgEntity
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Integer
id
;
@Column
(
name
=
"user_id"
,
nullable
=
false
,
unique
=
true
)
private
String
userId
;
@Column
(
name
=
"org_ids"
,
nullable
=
false
)
private
String
orgIds
;
@Column
(
name
=
"org_ids"
,
nullable
=
false
)
private
Integer
teamType
=
1
;
/**
* 组织级别 0:大区 1:分部 2:站点
*/
@Column
(
name
=
"org_level"
,
nullable
=
false
)
private
Integer
orgLevel
;
@Column
(
name
=
"create_time"
,
nullable
=
false
,
updatable
=
false
,
columnDefinition
=
"timestamp default current_timestamp"
)
private
LocalDateTime
createTime
;
@Column
(
name
=
"update_time"
,
nullable
=
false
,
columnDefinition
=
"timestamp default current_timestamp on update current_timestamp"
)
private
LocalDateTime
updateTime
;
}
project-user/src/main/java/com/dituhui/pea/user/service/RoleService.java
View file @
a183d7e
...
...
@@ -9,18 +9,22 @@ import com.dituhui.pea.exception.BusinessException;
import
com.dituhui.pea.pojo.PageRequest
;
import
com.dituhui.pea.pojo.ResourceInfo
;
import
com.dituhui.pea.pojo.RoleInfo
;
import
com.dituhui.pea.pojo.role.RoleResourceInfo
;
import
com.dituhui.pea.user.dao.*
;
import
com.dituhui.pea.user.entity.*
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 角色业务层
...
...
@@ -50,6 +54,31 @@ public class RoleService {
public
RoleInfo
addRole
(
RoleInfo
roleInfo
)
{
RoleEntity
roleEntity
=
BeanUtil
.
copyProperties
(
roleInfo
,
RoleEntity
.
class
);
roleEntity
=
roleDao
.
save
(
roleEntity
);
List
<
RoleResourceInfo
>
resourceInfos
=
roleInfo
.
getResourceInfos
();
if
(
CollectionUtils
.
isNotEmpty
(
resourceInfos
))
{
for
(
RoleResourceInfo
resourceInfo
:
resourceInfos
)
{
RoleResourceEntity
roleResourceEntity
=
assembleRoleResource
(
roleEntity
.
getId
(),
resourceInfo
.
getResourceId
());
roleResourceDao
.
save
(
roleResourceEntity
);
}
}
roleInfo
=
BeanUtil
.
copyProperties
(
roleEntity
,
RoleInfo
.
class
);
return
roleInfo
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
RoleInfo
updateRole
(
RoleInfo
roleInfo
)
{
RoleEntity
roleEntity
=
BeanUtil
.
copyProperties
(
roleInfo
,
RoleEntity
.
class
);
roleEntity
=
roleDao
.
save
(
roleEntity
);
List
<
RoleResourceInfo
>
resourceInfos
=
roleInfo
.
getResourceInfos
();
if
(
CollectionUtils
.
isNotEmpty
(
resourceInfos
))
{
for
(
RoleResourceInfo
resourceInfo
:
resourceInfos
)
{
// 先清除
roleResourceDao
.
deleteByRoleId
(
roleEntity
.
getId
());
RoleResourceEntity
roleResourceEntity
=
assembleRoleResource
(
roleEntity
.
getId
(),
resourceInfo
.
getResourceId
());
roleResourceDao
.
save
(
roleResourceEntity
);
}
}
roleInfo
=
BeanUtil
.
copyProperties
(
roleEntity
,
RoleInfo
.
class
);
return
roleInfo
;
}
...
...
@@ -65,6 +94,8 @@ public class RoleService {
roleDao
.
deleteById
(
roleId
);
// 删除用户和角色的关系
userRoleDao
.
deleteByRoleId
(
roleId
);
// 删除权限和角色的关系
roleResourceDao
.
deleteByRoleId
(
roleId
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -196,7 +227,8 @@ public class RoleService {
public
PageResult
<
RoleInfo
>
listRole
(
PageRequest
pageRequest
)
{
Pageable
pageable
=
org
.
springframework
.
data
.
domain
.
PageRequest
.
of
(
pageRequest
.
getPage
()
-
1
,
pageRequest
.
getSize
());
Sort
sort
=
Sort
.
by
(
Sort
.
Order
.
desc
(
"createdTime"
));
Pageable
pageable
=
org
.
springframework
.
data
.
domain
.
PageRequest
.
of
(
pageRequest
.
getPage
()
-
1
,
pageRequest
.
getSize
(),
sort
);
Page
<
RoleEntity
>
page
=
roleDao
.
findAll
(
pageable
);
List
<
RoleInfo
>
roleInfos
=
new
ArrayList
<>();
for
(
RoleEntity
role
:
page
.
getContent
())
{
...
...
@@ -210,4 +242,28 @@ public class RoleService {
result
.
setTotalPage
(
page
.
getTotalPages
());
return
result
;
}
/**
* 获取用户下所有角色权限
*
* @param roleId
* @return
*/
public
RoleInfo
info
(
String
roleId
)
{
// 判断角色是否存在
RoleEntity
roleEntity
=
roleDao
.
findById
(
roleId
).
orElse
(
null
);
if
(
ObjectUtil
.
isNull
(
roleEntity
))
{
throw
new
BusinessException
(
StatusCodeEnum
.
ROLE_DOES_NOT_EXIST
);
}
RoleInfo
roleInfo
=
BeanUtil
.
copyProperties
(
roleEntity
,
RoleInfo
.
class
);
List
<
RoleResourceEntity
>
resourceEntities
=
roleResourceDao
.
findByRoleId
(
roleId
);
List
<
RoleResourceInfo
>
resourceInfos
=
resourceEntities
.
stream
().
map
(
entity
->
BeanUtil
.
copyProperties
(
entity
,
RoleResourceInfo
.
class
)).
collect
(
Collectors
.
toList
());
roleInfo
.
setResourceInfos
(
resourceInfos
);
return
roleInfo
;
}
public
List
<
ResourceInfo
>
allResource
()
{
List
<
ResourceEntity
>
all
=
resourceDao
.
findAll
();
return
all
.
stream
().
map
(
entity
->
BeanUtil
.
copyProperties
(
entity
,
ResourceInfo
.
class
)).
collect
(
Collectors
.
toList
());
}
}
project-user/src/main/java/com/dituhui/pea/user/service/UserService.java
View file @
a183d7e
This diff is collapsed.
Click to expand it.
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