Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
brandkbs2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shenjunjie
brandkbs2
Commits
ff6cbcc5
Commit
ff6cbcc5
authored
Nov 19, 2024
by
陈健智
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
全网搜新增全网搜索权益
parent
c7c69a8d
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
68 additions
and
10 deletions
+68
-10
src/main/java/com/zhiwei/brandkbs2/controller/admin/UserController.java
+2
-2
src/main/java/com/zhiwei/brandkbs2/pojo/UserRole.java
+17
-4
src/main/java/com/zhiwei/brandkbs2/pojo/dto/UserDTO.java
+15
-0
src/main/java/com/zhiwei/brandkbs2/service/impl/ProjectServiceImpl.java
+11
-0
src/main/java/com/zhiwei/brandkbs2/service/impl/UserServiceImpl.java
+23
-4
No files found.
src/main/java/com/zhiwei/brandkbs2/controller/admin/UserController.java
View file @
ff6cbcc5
...
...
@@ -143,7 +143,7 @@ public class UserController extends BaseController {
@PostMapping
(
"/all-user/single-update"
)
@Auth
(
role
=
RoleEnum
.
SUPER_ADMIN
)
public
ResponseResult
updateOneUserRoles
(
@ApiParam
(
name
=
"json"
,
value
=
"json:{id:用户id,nickname:用户名,roleId:权限,expiredTime:过期时间,exportAmount:舆情导出数量,projectId:权限项目id,key:唯一key原封不动传回来即可}"
,
value
=
"json:{id:用户id,nickname:用户名,roleId:权限,expiredTime:过期时间,exportAmount:舆情导出数量,projectId:权限项目id,key:唯一key原封不动传回来即可
,searchWholeRights:全网搜权益,searchWholeRange:全网搜跨度
}"
,
required
=
true
)
@RequestBody
JSONObject
json
)
{
return
userService
.
updateOneUserRoles
(
json
);
}
...
...
@@ -151,7 +151,7 @@ public class UserController extends BaseController {
@ApiOperation
(
"批量编辑项目权限"
)
@PostMapping
(
"/all-user/batch-update"
)
@Auth
(
role
=
RoleEnum
.
SUPER_ADMIN
)
public
ResponseResult
updateBatchUserRoles
(
@ApiParam
(
name
=
"json"
,
value
=
"json:{id:用户id,roles:[{projectId:权限项目id,roleId:权限,exportAmount:舆情导出数量,expiredTime:过期时间},{},...]}"
,
public
ResponseResult
updateBatchUserRoles
(
@ApiParam
(
name
=
"json"
,
value
=
"json:{id:用户id,roles:[{projectId:权限项目id,roleId:权限,exportAmount:舆情导出数量,expiredTime:过期时间
,searchWholeRights:全网搜权益,searchWholeRange:全网搜跨度
},{},...]}"
,
required
=
true
)
@RequestBody
JSONObject
json
)
{
return
userService
.
updateBatchUserRoles
(
json
);
...
...
src/main/java/com/zhiwei/brandkbs2/pojo/UserRole.java
View file @
ff6cbcc5
...
...
@@ -56,18 +56,32 @@ public class UserRole {
* 舆情导出数量默认1000,超管默认10000
*/
private
Integer
exportAmount
;
/**
* 全网搜索权益,1:近3月,2:近6月,3:近1年,4:近3年,5:近5年
* 月按:31天取
* 年按:365天取
*/
private
Integer
searchWholeRights
;
/**
* 搜索数据跨度,1:3月,2:1年,3:不限制
* 月按:31天取
* 年按:365天取
*/
private
Integer
searchWholeRange
;
public
void
setRoleId
(
Integer
roleId
)
{
this
.
roleId
=
roleId
;
this
.
key
=
Tools
.
concat
(
projectId
,
roleId
);
}
public
UserRole
(
String
projectId
,
int
roleId
,
Long
expiredTime
,
Integer
exportAmount
)
{
public
UserRole
(
String
projectId
,
int
roleId
,
Long
expiredTime
,
Integer
exportAmount
,
int
rights
,
int
range
)
{
this
.
projectId
=
projectId
;
this
.
roleId
=
roleId
;
this
.
expiredTime
=
expiredTime
;
this
.
exportAmount
=
exportAmount
;
this
.
key
=
Tools
.
concat
(
projectId
,
roleId
);
this
.
searchWholeRights
=
rights
;
this
.
searchWholeRange
=
range
;
}
public
static
UserRole
createFromUserDto
(
UserDTO
userDTO
)
{
...
...
@@ -86,11 +100,10 @@ public class UserRole {
calendar
.
set
(
Calendar
.
SECOND
,
59
);
expiredTime
=
calendar
.
getTime
().
getTime
();
}
return
new
UserRole
(
userDTO
.
getProjectId
(),
userDTO
.
getRoleId
(),
expiredTime
,
exportAmount
);
return
new
UserRole
(
userDTO
.
getProjectId
(),
userDTO
.
getRoleId
(),
expiredTime
,
exportAmount
,
userDTO
.
getSearchWholeRights
(),
userDTO
.
getSearchWholeRange
()
);
}
public
static
UserRole
defaultUserRole
(
Date
now
)
{
return
new
UserRole
(
DEFAULT_PROJECT_ID
,
DEFAULT_ROLE_ID
,
DateUtils
.
addDays
(
now
,
30
).
getTime
(),
DEFAULT_EXPORT_LIMIT
);
return
new
UserRole
(
DEFAULT_PROJECT_ID
,
DEFAULT_ROLE_ID
,
DateUtils
.
addDays
(
now
,
30
).
getTime
(),
DEFAULT_EXPORT_LIMIT
,
1
,
1
);
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/dto/UserDTO.java
View file @
ff6cbcc5
...
...
@@ -70,4 +70,19 @@ public class UserDTO {
@ApiModelProperty
(
"舆情导出数量"
)
private
Integer
exportAmount
;
/**
* 全网搜索权益,1:近3月,2:近6月,3:近1年,4:近3年,5:近5年
* 月按:31天取
* 年按:365天取
*/
@ApiModelProperty
(
"全网搜索权益"
)
private
Integer
searchWholeRights
;
/**
* 搜索数据跨度,1:3月,2:1年,3:不限制
* 月按:31天取
* 年按:365天取
*/
@ApiModelProperty
(
"全网搜索数据跨度"
)
private
Integer
searchWholeRange
;
}
src/main/java/com/zhiwei/brandkbs2/service/impl/ProjectServiceImpl.java
View file @
ff6cbcc5
...
...
@@ -26,6 +26,7 @@ import com.zhiwei.middleware.event.pojo.entity.BrandkbsBasicInfo;
import
com.zhiwei.middleware.mark.vo.MarkerTag
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.tuple.Pair
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -763,6 +764,7 @@ public class ProjectServiceImpl implements ProjectService {
protected
List
<
JSONObject
>
getProjectListByUser
(
User
user
,
boolean
retainExpired
)
{
List
<
Project
>
lists
;
Map
<
String
,
Date
>
roleExpired
=
new
HashMap
<>();
Map
<
String
,
Pair
<
Integer
,
Integer
>>
searchWholeInfo
=
new
HashMap
<>();
if
(
user
.
isSuperAdmin
())
{
lists
=
projectDao
.
findListByKeywordFuzz
(
null
,
null
);
}
else
{
...
...
@@ -773,6 +775,7 @@ public class ProjectServiceImpl implements ProjectService {
if
(
null
!=
project
)
{
lists
.
add
(
projectDao
.
findOneById
(
userRole
.
getProjectId
()));
roleExpired
.
put
(
userRole
.
getProjectId
(),
null
==
userRole
.
getExpiredTime
()
?
null
:
new
Date
(
userRole
.
getExpiredTime
()));
searchWholeInfo
.
put
(
userRole
.
getProjectId
(),
Pair
.
of
(
userRole
.
getSearchWholeRights
(),
userRole
.
getSearchWholeRange
()));
}
});
}
...
...
@@ -796,6 +799,14 @@ public class ProjectServiceImpl implements ProjectService {
return
null
;
}
}
if
(
user
.
isSuperAdmin
()){
json
.
put
(
"searchWholeRights"
,
5
);
json
.
put
(
"searchWholeRange"
,
3
);
}
else
{
Pair
<
Integer
,
Integer
>
pair
=
searchWholeInfo
.
get
(
project
.
getId
());
json
.
put
(
"searchWholeRights"
,
pair
.
getLeft
());
json
.
put
(
"searchWholeRange"
,
pair
.
getRight
());
}
return
json
;
}).
filter
(
Objects:
:
nonNull
).
collect
(
Collectors
.
toList
());
}
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/UserServiceImpl.java
View file @
ff6cbcc5
...
...
@@ -234,6 +234,11 @@ public class UserServiceImpl implements UserService {
OptionalLong
.
of
(
userDTO
.
getExpiredTime
()).
ifPresent
(
userRole:
:
setExpiredTime
);
}
OptionalInt
.
of
(
userDTO
.
getExportAmount
()).
ifPresent
(
userRole:
:
setExportAmount
);
// 只有超管能修改全网搜权益
if
(
RoleEnum
.
SUPER_ADMIN
.
getState
()
==
UserThreadLocal
.
getRoleId
())
{
OptionalInt
.
of
(
userDTO
.
getSearchWholeRights
()).
ifPresent
(
userRole:
:
setSearchWholeRights
);
OptionalInt
.
of
(
userDTO
.
getSearchWholeRange
()).
ifPresent
(
userRole:
:
setSearchWholeRange
);
}
userDao
.
updateOneByIdWithField
(
userDTO
.
getId
(),
new
Update
().
set
(
"roles"
,
roles
));
});
Optional
.
of
(
userDTO
.
getNickname
()).
ifPresent
(
nickName
->
userDao
.
updateOneByIdWithField
(
userDTO
.
getId
(),
new
Update
().
set
(
"nickname"
,
nickName
)));
...
...
@@ -327,7 +332,8 @@ public class UserServiceImpl implements UserService {
if
(
RoleEnum
.
CUSTOMER
.
getState
()
==
userProject
.
getRoleId
())
{
expiredTime
=
userProject
.
getExpiredTime
();
}
userRoles
.
add
(
new
UserRole
(
project
.
getId
(),
userProject
.
getRoleId
(),
expiredTime
,
userProject
.
getExportAmount
()));
// 给默认全网搜权益
userRoles
.
add
(
new
UserRole
(
project
.
getId
(),
userProject
.
getRoleId
(),
expiredTime
,
userProject
.
getExportAmount
(),
1
,
1
));
hit
.
set
(
true
);
}
});
...
...
@@ -426,7 +432,7 @@ public class UserServiceImpl implements UserService {
userDao
.
addSort
(
query
,
"{\"cTime\":\"descend\"}"
);
List
<
User
>
userList
=
userDao
.
findList
(
query
);
// roles总量
long
count
=
userList
.
stream
().
map
(
User:
:
getRoles
).
filter
(
Objects:
:
nonNull
).
mapToLong
(
Collection:
:
size
).
sum
();
//
long count = userList.stream().map(User::getRoles).filter(Objects::nonNull).mapToLong(Collection::size).sum();
Map
<
User
,
List
<
UserRole
>>
userRolesMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
o
->
o
,
User:
:
getRoles
));
List
<
JSONObject
>
resList
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
User
,
List
<
UserRole
>>
entry
:
userRolesMap
.
entrySet
())
{
...
...
@@ -454,10 +460,12 @@ public class UserServiceImpl implements UserService {
jsonObject
.
put
(
"expiredTime"
,
role
.
getExpiredTime
());
jsonObject
.
put
(
"exportAmount"
,
role
.
getExportAmount
());
jsonObject
.
put
(
"key"
,
role
.
getKey
());
jsonObject
.
put
(
"searchWholeRights"
,
role
.
getSearchWholeRights
());
jsonObject
.
put
(
"searchWholeRange"
,
role
.
getSearchWholeRange
());
resList
.
add
(
jsonObject
);
}
}
return
PageVO
.
createPageVo
(
count
,
page
,
pageSize
,
resList
.
stream
().
skip
((
long
)
(
page
-
1
)
*
pageSize
).
limit
(
pageSize
).
collect
(
Collectors
.
toList
()));
return
PageVO
.
createPageVo
(
resList
.
size
()
,
page
,
pageSize
,
resList
.
stream
().
skip
((
long
)
(
page
-
1
)
*
pageSize
).
limit
(
pageSize
).
collect
(
Collectors
.
toList
()));
}
@Override
...
...
@@ -467,6 +475,8 @@ public class UserServiceImpl implements UserService {
int
roleId
=
json
.
getIntValue
(
"roleId"
);
long
expiredTime
=
json
.
getLongValue
(
"expiredTime"
);
int
exportAmount
=
json
.
getIntValue
(
"exportAmount"
);
int
rights
=
json
.
getIntValue
(
"searchWholeRights"
);
int
range
=
json
.
getIntValue
(
"searchWholeRange"
);
String
projectId
=
json
.
getString
(
"projectId"
);
String
key
=
json
.
getString
(
"key"
);
User
user
=
userDao
.
findOneById
(
id
);
...
...
@@ -489,6 +499,11 @@ public class UserServiceImpl implements UserService {
OptionalLong
.
of
(
expiredTime
).
ifPresent
(
userRole:
:
setExpiredTime
);
}
OptionalInt
.
of
(
exportAmount
).
ifPresent
(
userRole:
:
setExportAmount
);
// 只有超管可修改全网搜权益
if
(
RoleEnum
.
SUPER_ADMIN
.
getState
()
==
UserThreadLocal
.
getRoleId
())
{
OptionalInt
.
of
(
rights
).
ifPresent
(
userRole:
:
setSearchWholeRights
);
OptionalInt
.
of
(
range
).
ifPresent
(
userRole:
:
setSearchWholeRange
);
}
userDao
.
updateOneByIdWithField
(
id
,
new
Update
().
set
(
"roles"
,
roles
));
});
Optional
.
of
(
nickname
).
ifPresent
(
nickName
->
userDao
.
updateOneByIdWithField
(
id
,
new
Update
().
set
(
"nickname"
,
nickName
)));
...
...
@@ -532,6 +547,8 @@ public class UserServiceImpl implements UserService {
json
.
put
(
"roleId"
,
role
.
getRoleId
());
json
.
put
(
"exportAmount"
,
role
.
getExportAmount
());
json
.
put
(
"expiredTime"
,
role
.
getExpiredTime
());
json
.
put
(
"searchWholeRights"
,
role
.
getSearchWholeRights
());
json
.
put
(
"searchWholeRange"
,
role
.
getSearchWholeRange
());
return
json
;
}).
filter
(
Objects:
:
nonNull
).
collect
(
Collectors
.
toList
());
jsonObject
.
put
(
"roles"
,
roles
);
...
...
@@ -578,7 +595,7 @@ public class UserServiceImpl implements UserService {
return
queryUserInfo
(
UserThreadLocal
.
getUserId
(),
UserThreadLocal
.
getProjectId
()).
toMap
();
}
private
PageVO
<
JSONObject
>
findList
(
int
page
,
int
size
,
String
keyword
,
String
pid
,
Query
query
,
String
sorter
)
{
private
PageVO
<
JSONObject
>
findList
(
int
page
,
int
size
,
String
keyword
,
String
pid
,
Query
query
,
String
sorter
)
{
userDao
.
addKeywordFuzz
(
query
,
keyword
,
"nickname"
);
if
(
null
==
sorter
)
{
userDao
.
addSort
(
query
,
"{\"cTime\":\"descend\"}"
);
...
...
@@ -605,6 +622,8 @@ public class UserServiceImpl implements UserService {
result
.
put
(
"roleId"
,
userRole
.
getRoleId
());
result
.
put
(
"expiredTime"
,
userRole
.
getExpiredTime
());
result
.
put
(
"exportAmount"
,
userRole
.
getExportAmount
());
result
.
put
(
"searchWholeRights"
,
userRole
.
getSearchWholeRights
());
result
.
put
(
"searchWholeRange"
,
userRole
.
getSearchWholeRange
());
});
return
result
;
}).
collect
(
Collectors
.
toList
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment