记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
董敬伟
liquidnet-bus-v1
Commits
c56905ea
Commit
c56905ea
authored
Nov 19, 2021
by
Tice
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
权限优化
parent
0aba6d42
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
191 additions
and
165 deletions
+191
-165
IMerchantAuthorizationRecordsService.java
...erchant/service/IMerchantAuthorizationRecordsService.java
+3
-3
MerchantAuthorizationRecordsAdminServiceImpl.java
...ce/impl/MerchantAuthorizationRecordsAdminServiceImpl.java
+60
-74
MerchantMongoUtil.java
...ient/admin/zhengzai/merchant/utils/MerchantMongoUtil.java
+38
-3
MerchantAuthorizationsController.java
...merchant/controller/MerchantAuthorizationsController.java
+3
-3
MerchantMongoService.java
...uidnet/service/merchant/service/MerchantMongoService.java
+40
-1
MerchantAuthorizationRecordsServiceImpl.java
...service/impl/MerchantAuthorizationRecordsServiceImpl.java
+47
-81
No files found.
liquidnet-bus-api/liquidnet-service-merchant-api/src/main/java/com/liquidnet/service/merchant/service/IMerchantAuthorizationRecordsService.java
View file @
c56905ea
...
...
@@ -6,9 +6,9 @@ import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo;
import
java.util.List
;
public
interface
IMerchantAuthorizationRecordsService
{
String
performanceCheckerAdd
(
String
cuid
,
MerchantAuthorizationRecordParam
parameter
);
String
performance
Record
CheckerAdd
(
String
cuid
,
MerchantAuthorizationRecordParam
parameter
);
void
performanceCheckerDel
(
String
cuid
,
String
authorizationRecordId
);
void
performance
Record
CheckerDel
(
String
cuid
,
String
authorizationRecordId
);
List
<
MerchantAuthorizationRecordsVo
>
performanceCheckers
(
String
cuid
,
String
performanceId
);
List
<
MerchantAuthorizationRecordsVo
>
performance
Record
Checkers
(
String
cuid
,
String
performanceId
);
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/merchant/service/impl/MerchantAuthorizationRecordsAdminServiceImpl.java
View file @
c56905ea
...
...
@@ -15,19 +15,19 @@ import com.liquidnet.service.merchant.dto.vo.*;
import
com.liquidnet.service.merchant.entity.*
;
import
com.liquidnet.service.merchant.mapper.MerchantAuthorizationRecordsMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
...
...
@@ -42,9 +42,6 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
MongoConverter
mongoConverter
;
@Autowired
IMerchantFieldsAdminService
fieldsAdminService
;
...
...
@@ -61,19 +58,29 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
@Transactional
public
void
authorizationInit
(
String
performanceId
,
String
cuid
,
String
fieldId
,
String
sponsorId
)
{
// 创建者
this
.
performanceCreator
(
performanceId
,
cuid
);
List
<
String
>
updatedUids1
=
this
.
performanceCreator
(
performanceId
,
cuid
);
Set
<
String
>
updatedUids
=
new
HashSet
<>(
updatedUids1
);
// 主办方
this
.
performanceSponsor
(
performanceId
,
sponsorId
);
List
<
String
>
updatedUids2
=
this
.
performanceSponsor
(
performanceId
,
sponsorId
);
updatedUids
.
addAll
(
updatedUids2
);
// 场地方
this
.
performanceFielder
(
performanceId
,
fieldId
);
List
<
String
>
updatedUids3
=
this
.
performanceFielder
(
performanceId
,
fieldId
);
updatedUids
.
addAll
(
updatedUids3
);
// 聚合角色及权限 vo
for
(
String
uid:
updatedUids
)
{
merchantMongoUtil
.
syncAndSetAuthorizationPerformanceVo
(
performanceId
,
uid
);
}
}
// 创建者
private
boolean
performanceCreator
(
String
performanceId
,
String
cuid
)
{
private
List
<
String
>
performanceCreator
(
String
performanceId
,
String
cuid
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
List
<
String
>
updatedUids
=
new
ArrayList
<>();
// 查询已有权限
LambdaQueryWrapper
<
MerchantAuthorizationRecords
>
authorizationRecordsLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
(
MerchantAuthorizationRecords
.
class
);
authorizationRecordsLambdaQueryWrapper
.
eq
(
MerchantAuthorizationRecords:
:
getPerformanceId
,
performanceId
);
...
...
@@ -88,15 +95,15 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
if
(
null
!=
authorizationRecords
)
{
if
(!
authorizationRecords
.
getUid
().
equals
(
cuid
))
{
// 前后 创建方一致 不处理
return
true
;
return
updatedUids
;
}
// 前后 创建方不一致的情况不存在
throw
new
LiquidnetServiceException
();
}
// 添加权限
Array
List
<
MerchantAuthorizationRecords
>
authorizationRecordsArrayList
=
new
ArrayList
<>();
Array
List
<
MerchantAuthorizationPermissions
>
authorizationPermissionsArrayList
=
new
ArrayList
<>();
List
<
MerchantAuthorizationRecords
>
authorizationRecordsArrayList
=
new
ArrayList
<>();
List
<
MerchantAuthorizationPermissions
>
authorizationPermissionsArrayList
=
new
ArrayList
<>();
// 授权记录 entity
// todo 用户信息
...
...
@@ -113,7 +120,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
authorizationRecordsArrayList
.
add
(
creatorAuthorizationRecords
);
// 授权权限 entity vo
Array
List
<
MerchantAuthorizationPermissionsVo
>
creatorAuthorizationPermissionsVos
=
new
ArrayList
<>();
List
<
MerchantAuthorizationPermissionsVo
>
creatorAuthorizationPermissionsVos
=
new
ArrayList
<>();
String
[]
fielderPermissionIds
=
{
MerchantAuthorizationConst
.
PerformancePermission
.
READ
.
getId
(),
MerchantAuthorizationConst
.
PerformancePermission
.
EDIT
.
getId
(),
...
...
@@ -158,16 +165,18 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
// mongo
mongoTemplate
.
insert
(
authorizationRecordsVo
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
//
聚合角色及权限
this
.
syncAuthorizationPerformanceVo
(
performanceId
,
authorizationRecordsVo
.
getUid
());
//
updated uid
updatedUids
.
add
(
authorizationRecordsVo
.
getUid
());
return
true
;
return
updatedUids
;
}
// 授权主办方
private
boolean
performanceSponsor
(
String
performanceId
,
String
sponsorId
)
{
private
List
<
String
>
performanceSponsor
(
String
performanceId
,
String
sponsorId
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
List
<
String
>
updatedUids
=
new
ArrayList
<>();
// 查询已有权限
LambdaQueryWrapper
<
MerchantAuthorizationRecords
>
authorizationRecordsLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
(
MerchantAuthorizationRecords
.
class
);
authorizationRecordsLambdaQueryWrapper
.
eq
(
MerchantAuthorizationRecords:
:
getPerformanceId
,
performanceId
);
...
...
@@ -184,14 +193,14 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
if
(
null
!=
authorizationRecords
)
{
if
(
null
!=
sponsors
&&
authorizationRecords
.
getUid
().
equals
(
sponsors
.
getUid
()))
{
// 前后 主办方一致 不处理
return
true
;
return
updatedUids
;
}
// 前后 主办方不一致 删除旧权限 及 我的授权
authorizationRecords
.
setUpdatedAt
(
now
);
authorizationRecords
.
setDeletedAt
(
now
);
//
删除旧权限
mysql
//
查询删除 旧权限 及 旧权限角色的授权
mysql
LambdaUpdateWrapper
<
MerchantAuthorizationRecords
>
authorizationRecordsLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
MerchantAuthorizationRecords
.
class
);
authorizationRecordsLambdaUpdateWrapper
.
eq
(
MerchantAuthorizationRecords:
:
getPerformanceId
,
performanceId
)
...
...
@@ -210,23 +219,26 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
throw
new
LiquidnetServiceException
();
}
//
删除旧权限 mongo
//
查询删除 旧权限 及 旧权限角色的授权 mongo query
Criteria
criteria
=
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"deletedAt"
).
is
(
null
);
criteria
.
orOperator
(
Criteria
.
where
(
"authorizationRecordId"
).
is
(
authorizationRecords
.
getAuthorizationRecordId
()),
Criteria
.
where
(
"cuid"
).
is
(
authorizationRecords
.
getUid
()).
and
(
"cuidRole"
).
is
(
MerchantAuthorizationConst
.
PerformanceRole
.
SPONSOR
.
getRole
())
);
Query
query
=
Query
.
query
(
criteria
);
// 查询旧权限 及 旧权限角色的授权 mongo
List
<
String
>
uids
=
mongoTemplate
.
findDistinct
(
query
,
"uid"
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
(),
MerchantAuthorizationRecordsVo
.
class
,
String
.
class
);
// 删除旧权限 及 旧权限角色的授权 mongo
mongoTemplate
.
remove
(
query
,
MerchantAuthorizationRecordsVo
.
class
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
//
聚合角色及权限
this
.
syncAuthorizationPerformanceVo
(
performanceId
,
authorizationRecords
.
getUid
()
);
//
updated uid
updatedUids
.
addAll
(
uids
);
}
// 是否添加权限
if
(
null
!=
sponsors
&&
!
sponsors
.
getUid
().
isEmpty
())
{
Array
List
<
MerchantAuthorizationRecords
>
authorizationRecordsArrayList
=
new
ArrayList
<>();
Array
List
<
MerchantAuthorizationPermissions
>
authorizationPermissionsArrayList
=
new
ArrayList
<>();
List
<
MerchantAuthorizationRecords
>
authorizationRecordsArrayList
=
new
ArrayList
<>();
List
<
MerchantAuthorizationPermissions
>
authorizationPermissionsArrayList
=
new
ArrayList
<>();
// 授权记录 entity
// todo 用户信息
...
...
@@ -242,7 +254,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
sponsorAuthorizationRecords
.
setCreatedAt
(
now
);
authorizationRecordsArrayList
.
add
(
sponsorAuthorizationRecords
);
// 授权权限 entity vo
Array
List
<
MerchantAuthorizationPermissionsVo
>
sponsorAuthorizationPermissionsVos
=
new
ArrayList
<>();
List
<
MerchantAuthorizationPermissionsVo
>
sponsorAuthorizationPermissionsVos
=
new
ArrayList
<>();
String
[]
fielderPermissionIds
=
{
MerchantAuthorizationConst
.
PerformancePermission
.
READ
.
getId
(),
MerchantAuthorizationConst
.
PerformancePermission
.
CHECK
.
getId
(),
...
...
@@ -283,17 +295,19 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
// mongo
mongoTemplate
.
insert
(
sponsorAuthorizationRecordsVo
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
//
聚合角色及权限
this
.
syncAuthorizationPerformanceVo
(
performanceId
,
sponsorAuthorizationRecordsVo
.
getUid
());
//
updated uid
updatedUids
.
add
(
sponsorAuthorizationRecordsVo
.
getUid
());
}
return
true
;
return
updatedUids
.
stream
().
distinct
().
collect
(
Collectors
.
toList
())
;
}
// 授权场地方
private
boolean
performanceFielder
(
String
performanceId
,
String
fieldId
)
{
private
List
<
String
>
performanceFielder
(
String
performanceId
,
String
fieldId
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
List
<
String
>
updatedUids
=
new
ArrayList
<>();
// 查询已有权限
LambdaQueryWrapper
<
MerchantAuthorizationRecords
>
authorizationRecordsLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
(
MerchantAuthorizationRecords
.
class
);
authorizationRecordsLambdaQueryWrapper
.
eq
(
MerchantAuthorizationRecords:
:
getPerformanceId
,
performanceId
);
...
...
@@ -310,14 +324,14 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
if
(
null
!=
authorizationRecords
)
{
if
(
null
!=
fields
&&
authorizationRecords
.
getUid
().
equals
(
fields
.
getUid
()))
{
// 前后 场地方一致 不处理
return
true
;
return
updatedUids
;
}
// 前后 场地方不一致 删除旧权限 及 我的授权
authorizationRecords
.
setUpdatedAt
(
now
);
authorizationRecords
.
setDeletedAt
(
now
);
//
删除旧权限
mysql
//
查询 删除 旧权限 及 旧权限角色的授权
mysql
LambdaUpdateWrapper
<
MerchantAuthorizationRecords
>
authorizationRecordsLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
MerchantAuthorizationRecords
.
class
);
authorizationRecordsLambdaUpdateWrapper
.
eq
(
MerchantAuthorizationRecords:
:
getPerformanceId
,
performanceId
)
...
...
@@ -336,25 +350,28 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
throw
new
LiquidnetServiceException
();
}
//
删除旧权限 mongo
//
查询 删除 旧权限 及 旧权限角色的授权 mongo query
Criteria
criteria
=
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"deletedAt"
).
is
(
null
);
criteria
.
orOperator
(
Criteria
.
where
(
"authorizationRecordId"
).
is
(
authorizationRecords
.
getAuthorizationRecordId
()),
Criteria
.
where
(
"cuid"
).
is
(
authorizationRecords
.
getUid
()).
and
(
"cuidRole"
).
is
(
MerchantAuthorizationConst
.
PerformanceRole
.
FIELDER
.
getRole
())
);
Query
query
=
Query
.
query
(
criteria
);
// 查询旧权限 及 旧权限角色的授权 mongo
List
<
String
>
uids
=
mongoTemplate
.
findDistinct
(
query
,
"uid"
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
(),
MerchantAuthorizationRecordsVo
.
class
,
String
.
class
);
// 删除旧权限 及 旧权限角色的授权 mongo
mongoTemplate
.
remove
(
query
,
MerchantAuthorizationRecordsVo
.
class
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
//
聚合角色及权限
this
.
syncAuthorizationPerformanceVo
(
performanceId
,
authorizationRecords
.
getUid
()
);
//
updated uid
updatedUids
.
addAll
(
uids
);
}
// 是否添加权限
if
(
null
!=
fields
&&
1
==
fields
.
getClaimStatus
())
{
Array
List
<
MerchantAuthorizationRecords
>
authorizationRecordsArrayList
=
new
ArrayList
<>();
Array
List
<
MerchantAuthorizationPermissions
>
authorizationPermissionsArrayList
=
new
ArrayList
<>();
List
<
MerchantAuthorizationRecords
>
authorizationRecordsArrayList
=
new
ArrayList
<>();
List
<
MerchantAuthorizationPermissions
>
authorizationPermissionsArrayList
=
new
ArrayList
<>();
Array
List
<
MerchantAuthorizationRecordsVo
>
authorizationRecordsVoArrayList
=
new
ArrayList
<>();
List
<
MerchantAuthorizationRecordsVo
>
authorizationRecordsVoArrayList
=
new
ArrayList
<>();
// 授权记录 entity
// todo 用户信息
...
...
@@ -370,7 +387,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
fielderAuthorizationRecords
.
setCreatedAt
(
now
);
authorizationRecordsArrayList
.
add
(
fielderAuthorizationRecords
);
// 授权权限 entity vo
Array
List
<
MerchantAuthorizationPermissionsVo
>
fielderAuthorizationPermissionsVos
=
new
ArrayList
<>();
List
<
MerchantAuthorizationPermissionsVo
>
fielderAuthorizationPermissionsVos
=
new
ArrayList
<>();
String
[]
fielderPermissionIds
=
{
MerchantAuthorizationConst
.
PerformancePermission
.
READ
.
getId
(),
MerchantAuthorizationConst
.
PerformancePermission
.
CHECK
.
getId
(),
...
...
@@ -421,7 +438,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
authorizationRecordsArrayList
.
add
(
checkerAuthorizationRecords
);
// 验票员 授权权限 entity vo
Array
List
<
MerchantAuthorizationPermissionsVo
>
checkerAuthorizationPermissionsVos
=
new
ArrayList
<>();
List
<
MerchantAuthorizationPermissionsVo
>
checkerAuthorizationPermissionsVos
=
new
ArrayList
<>();
for
(
String
permissionId
:
checkerPermissionIds
)
{
MerchantAuthorizationPermissions
checkerAuthorizationPermissions
=
new
MerchantAuthorizationPermissions
();
checkerAuthorizationPermissions
.
setAuthorizationPermissionId
(
IDGenerator
.
nextSnowId
());
...
...
@@ -460,43 +477,12 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
// mongo
mongoTemplate
.
insert
(
authorizationRecordsVoArrayList
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
// updated uid
for
(
MerchantAuthorizationRecordsVo
authorizationRecordsVo
:
authorizationRecordsVoArrayList
)
{
// 聚合角色及权限
this
.
syncAuthorizationPerformanceVo
(
performanceId
,
authorizationRecordsVo
.
getUid
());
}
}
return
true
;
}
private
void
syncAuthorizationPerformanceVo
(
String
performanceId
,
String
uid
)
{
List
<
MerchantAuthorizationRecordsVo
>
authorizationRecordsVos
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
).
and
(
"deletedAt"
).
is
(
null
)),
MerchantAuthorizationRecordsVo
.
class
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
List
<
String
>
uidRoles
=
new
ArrayList
<>();
List
<
String
>
permissionIds
=
new
ArrayList
<>();
for
(
MerchantAuthorizationRecordsVo
authorizationRecordsVo:
authorizationRecordsVos
)
{
if
(!
uidRoles
.
contains
(
authorizationRecordsVo
.
getUidRole
()))
{
uidRoles
.
add
(
authorizationRecordsVo
.
getUidRole
());
}
for
(
MerchantAuthorizationPermissionsVo
authorizationPermissionsVo:
authorizationRecordsVo
.
getPermissionsVos
())
{
if
(!
permissionIds
.
contains
(
authorizationPermissionsVo
.
getPermissionId
()))
{
permissionIds
.
add
(
authorizationPermissionsVo
.
getPermissionId
());
}
updatedUids
.
add
(
authorizationRecordsVo
.
getUid
());
}
}
// 聚合角色及权限
MerchantAuthorizationPerformanceVo
vo
=
MerchantAuthorizationPerformanceVo
.
getNew
();
vo
.
setUid
(
uid
);
vo
.
setPerformanceId
(
performanceId
);
vo
.
setUidRoles
(
uidRoles
);
vo
.
setPermissionIds
(
permissionIds
);
Query
query
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
));
Document
document
=
(
Document
)
mongoConverter
.
convertToMongoType
(
vo
);
Update
update
=
Update
.
fromDocument
(
document
);
mongoTemplate
.
upsert
(
query
,
update
,
MerchantAuthorizationPerformanceVo
.
class
,
MerchantAuthorizationPerformanceVo
.
class
.
getSimpleName
());
return
updatedUids
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/merchant/utils/MerchantMongoUtil.java
View file @
c56905ea
...
...
@@ -11,6 +11,7 @@ import org.springframework.data.mongodb.core.query.Query;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
@Component
...
...
@@ -44,15 +45,49 @@ public class MerchantMongoUtil {
mongoTemplate
.
upsert
(
query
,
update
,
MerchantSponsorsVo
.
class
,
MerchantSponsorsVo
.
class
.
getSimpleName
());
}
public
MerchantAuthorizationPerformanceVo
getAuthorizationPerformanceVo
(
String
performanceId
,
String
uid
)
{
return
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
)),
MerchantAuthorizationPerformanceVo
.
class
,
MerchantAuthorizationPerformanceVo
.
class
.
getSimpleName
());
}
public
void
syncAndSetAuthorizationPerformanceVo
(
String
performanceId
,
String
uid
)
{
// 聚合角色及权限
Query
recordsQuery
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
).
and
(
"deletedAt"
).
is
(
null
));
List
<
MerchantAuthorizationRecordsVo
>
authorizationRecordsVos
=
mongoTemplate
.
find
(
recordsQuery
,
MerchantAuthorizationRecordsVo
.
class
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
List
<
String
>
uidRoles
=
new
ArrayList
<>();
List
<
String
>
permissionIds
=
new
ArrayList
<>();
for
(
MerchantAuthorizationRecordsVo
authorizationRecordsVo:
authorizationRecordsVos
)
{
if
(!
uidRoles
.
contains
(
authorizationRecordsVo
.
getUidRole
()))
{
uidRoles
.
add
(
authorizationRecordsVo
.
getUidRole
());
}
for
(
MerchantAuthorizationPermissionsVo
authorizationPermissionsVo:
authorizationRecordsVo
.
getPermissionsVos
())
{
if
(!
permissionIds
.
contains
(
authorizationPermissionsVo
.
getPermissionId
()))
{
permissionIds
.
add
(
authorizationPermissionsVo
.
getPermissionId
());
}
}
}
MerchantAuthorizationPerformanceVo
vo
=
MerchantAuthorizationPerformanceVo
.
getNew
();
vo
.
setUid
(
uid
);
vo
.
setPerformanceId
(
performanceId
);
vo
.
setUidRoles
(
uidRoles
);
vo
.
setPermissionIds
(
permissionIds
);
Query
query
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
));
Document
document
=
(
Document
)
mongoConverter
.
convertToMongoType
(
vo
);
Update
update
=
Update
.
fromDocument
(
document
);
mongoTemplate
.
upsert
(
query
,
update
,
MerchantAuthorizationPerformanceVo
.
class
,
MerchantAuthorizationPerformanceVo
.
class
.
getSimpleName
());
}
public
List
<
MerchantFieldAppliesVo
>
getFieldAppliesVosByUid
(
String
uid
)
{
return
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"deletedAt"
).
is
(
null
)),
MerchantFieldAppliesVo
.
class
,
MerchantFieldAppliesVo
.
class
.
getSimpleName
());
Query
query
=
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"deletedAt"
).
is
(
null
));
return
mongoTemplate
.
find
(
query
,
MerchantFieldAppliesVo
.
class
,
MerchantFieldAppliesVo
.
class
.
getSimpleName
());
}
public
List
<
MerchantSponsorAppliesVo
>
getSponsorAppliesVosByUid
(
String
uid
)
{
return
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"deletedAt"
).
is
(
null
)),
MerchantSponsorAppliesVo
.
class
,
MerchantSponsorAppliesVo
.
class
.
getSimpleName
());
Query
query
=
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"deletedAt"
).
is
(
null
));
return
mongoTemplate
.
find
(
query
,
MerchantSponsorAppliesVo
.
class
,
MerchantSponsorAppliesVo
.
class
.
getSimpleName
());
}
public
List
<
MerchantAuthorizationRecordsVo
>
getAuthorizationRecordsCheckersVosByCuid
(
String
cuid
,
String
performanceId
)
{
return
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uidRole"
).
is
(
MerchantAuthorizationConst
.
PerformanceRole
.
CHECKER
.
getRole
()).
and
(
"cuid"
).
is
(
cuid
).
and
(
"performanceId"
).
is
(
performanceId
).
and
(
"deletedAt"
).
is
(
null
)),
MerchantAuthorizationRecordsVo
.
class
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
Query
query
=
Query
.
query
(
Criteria
.
where
(
"uidRole"
).
is
(
MerchantAuthorizationConst
.
PerformanceRole
.
CHECKER
.
getRole
()).
and
(
"cuid"
).
is
(
cuid
).
and
(
"performanceId"
).
is
(
performanceId
).
and
(
"deletedAt"
).
is
(
null
));
return
mongoTemplate
.
find
(
query
,
MerchantAuthorizationRecordsVo
.
class
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
}
}
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/controller/MerchantAuthorizationsController.java
View file @
c56905ea
...
...
@@ -42,7 +42,7 @@ public class MerchantAuthorizationsController {
public
ResponseDto
<
List
<
MerchantAuthorizationRecordsVo
>>
recordsCheckers
(
@RequestParam
(
required
=
true
)
String
performanceId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
return
ResponseDto
.
success
(
authorizationRecordsService
.
performanceCheckers
(
currentUid
,
performanceId
));
return
ResponseDto
.
success
(
authorizationRecordsService
.
performance
Record
Checkers
(
currentUid
,
performanceId
));
}
@ApiOperationSupport
(
order
=
11
)
...
...
@@ -51,7 +51,7 @@ public class MerchantAuthorizationsController {
public
ResponseDto
<
Object
>
recordsCheckerAdd
(
@Valid
@RequestBody
MerchantAuthorizationRecordParam
parameter
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
authorizationRecordsService
.
performanceCheckerAdd
(
currentUid
,
parameter
);
authorizationRecordsService
.
performance
Record
CheckerAdd
(
currentUid
,
parameter
);
return
ResponseDto
.
success
();
}
...
...
@@ -62,7 +62,7 @@ public class MerchantAuthorizationsController {
public
ResponseDto
<
Object
>
recordsCheckerDel
(
@RequestParam
(
required
=
true
)
String
authorizationRecordId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
authorizationRecordsService
.
performanceCheckerDel
(
currentUid
,
authorizationRecordId
);
authorizationRecordsService
.
performance
Record
CheckerDel
(
currentUid
,
authorizationRecordId
);
return
ResponseDto
.
success
();
}
...
...
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/service/MerchantMongoService.java
View file @
c56905ea
...
...
@@ -2,18 +2,26 @@ package com.liquidnet.service.merchant.service;
import
com.liquidnet.service.merchant.constant.MerchantAuthorizationConst
;
import
com.liquidnet.service.merchant.dto.vo.*
;
import
org.bson.Document
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
@Component
public
class
MerchantMongoService
{
@Autowired
private
MongoTemplate
mongoTemplate
;
MongoTemplate
mongoTemplate
;
@Autowired
MongoConverter
mongoConverter
;
public
MerchantFieldsVo
getFieldsVoByFieldId
(
String
fieldId
)
{
return
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"fieldId"
).
is
(
fieldId
)),
MerchantFieldsVo
.
class
,
MerchantFieldsVo
.
class
.
getSimpleName
());
...
...
@@ -27,6 +35,37 @@ public class MerchantMongoService {
return
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"sponsorId"
).
is
(
sponsorId
)),
MerchantSponsorsVo
.
class
,
MerchantSponsorsVo
.
class
.
getSimpleName
());
}
public
MerchantAuthorizationPerformanceVo
getAuthorizationPerformanceVo
(
String
performanceId
,
String
uid
)
{
return
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
)),
MerchantAuthorizationPerformanceVo
.
class
,
MerchantAuthorizationPerformanceVo
.
class
.
getSimpleName
());
}
public
void
syncAndSetAuthorizationPerformanceVo
(
String
performanceId
,
String
uid
)
{
// 聚合角色及权限
Query
recordsQuery
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
).
and
(
"deletedAt"
).
is
(
null
));
List
<
MerchantAuthorizationRecordsVo
>
authorizationRecordsVos
=
mongoTemplate
.
find
(
recordsQuery
,
MerchantAuthorizationRecordsVo
.
class
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
List
<
String
>
uidRoles
=
new
ArrayList
<>();
List
<
String
>
permissionIds
=
new
ArrayList
<>();
for
(
MerchantAuthorizationRecordsVo
authorizationRecordsVo:
authorizationRecordsVos
)
{
if
(!
uidRoles
.
contains
(
authorizationRecordsVo
.
getUidRole
()))
{
uidRoles
.
add
(
authorizationRecordsVo
.
getUidRole
());
}
for
(
MerchantAuthorizationPermissionsVo
authorizationPermissionsVo:
authorizationRecordsVo
.
getPermissionsVos
())
{
if
(!
permissionIds
.
contains
(
authorizationPermissionsVo
.
getPermissionId
()))
{
permissionIds
.
add
(
authorizationPermissionsVo
.
getPermissionId
());
}
}
}
MerchantAuthorizationPerformanceVo
vo
=
MerchantAuthorizationPerformanceVo
.
getNew
();
vo
.
setUid
(
uid
);
vo
.
setPerformanceId
(
performanceId
);
vo
.
setUidRoles
(
uidRoles
);
vo
.
setPermissionIds
(
permissionIds
);
Query
query
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
));
Document
document
=
(
Document
)
mongoConverter
.
convertToMongoType
(
vo
);
Update
update
=
Update
.
fromDocument
(
document
);
mongoTemplate
.
upsert
(
query
,
update
,
MerchantAuthorizationPerformanceVo
.
class
,
MerchantAuthorizationPerformanceVo
.
class
.
getSimpleName
());
}
public
List
<
MerchantSponsorAppliesVo
>
getSponsorAppliesVosByUid
(
String
uid
)
{
return
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"deletedAt"
).
is
(
null
)),
MerchantSponsorAppliesVo
.
class
,
MerchantSponsorAppliesVo
.
class
.
getSimpleName
());
}
...
...
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/service/impl/MerchantAuthorizationRecordsServiceImpl.java
View file @
c56905ea
...
...
@@ -17,13 +17,10 @@ import com.liquidnet.service.merchant.service.IMerchantAuthorizationRecordsServi
import
com.liquidnet.service.merchant.service.MerchantMongoService
;
import
com.liquidnet.service.merchant.util.QueueUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
...
...
@@ -42,14 +39,11 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
MongoConverter
mongoConverter
;
@Autowired
QueueUtil
queueUtils
;
@Override
public
String
performanceCheckerAdd
(
String
cuid
,
MerchantAuthorizationRecordParam
parameter
)
{
public
String
performance
Record
CheckerAdd
(
String
cuid
,
MerchantAuthorizationRecordParam
parameter
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
// 目前仅授权 验票 统计
...
...
@@ -86,55 +80,57 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
//
验票员
授权记录 vo
MerchantAuthorizationRecordsVo
checkerA
uthorizationRecordsVo
=
MerchantAuthorizationRecordsVo
.
getNew
();
checkerA
uthorizationRecordsVo
.
setAuthorizationRecordId
(
IDGenerator
.
nextSnowId
());
checkerA
uthorizationRecordsVo
.
setPerformanceId
(
parameter
.
getPerformanceId
());
checkerA
uthorizationRecordsVo
.
setUidRole
(
MerchantAuthorizationConst
.
PerformanceRole
.
CHECKER
.
getRole
());
checkerA
uthorizationRecordsVo
.
setUid
(
parameter
.
getUid
());
checkerA
uthorizationRecordsVo
.
setMobile
(
parameter
.
getMobile
());
checkerA
uthorizationRecordsVo
.
setName
(
parameter
.
getName
());
checkerA
uthorizationRecordsVo
.
setCuid
(
cuid
);
checkerA
uthorizationRecordsVo
.
setCuidRole
(
maxPerformanceRole
.
getRole
());
checkerA
uthorizationRecordsVo
.
setCreatedAt
(
now
);
//
验票员
授权权限 vos
Array
List
<
MerchantAuthorizationPermissionsVo
>
checkerAuthorizationPermissionsVos
=
new
ArrayList
<>();
// 授权记录 vo
MerchantAuthorizationRecordsVo
a
uthorizationRecordsVo
=
MerchantAuthorizationRecordsVo
.
getNew
();
a
uthorizationRecordsVo
.
setAuthorizationRecordId
(
IDGenerator
.
nextSnowId
());
a
uthorizationRecordsVo
.
setPerformanceId
(
parameter
.
getPerformanceId
());
a
uthorizationRecordsVo
.
setUidRole
(
MerchantAuthorizationConst
.
PerformanceRole
.
CHECKER
.
getRole
());
a
uthorizationRecordsVo
.
setUid
(
parameter
.
getUid
());
a
uthorizationRecordsVo
.
setMobile
(
parameter
.
getMobile
());
a
uthorizationRecordsVo
.
setName
(
parameter
.
getName
());
a
uthorizationRecordsVo
.
setCuid
(
cuid
);
a
uthorizationRecordsVo
.
setCuidRole
(
maxPerformanceRole
.
getRole
());
a
uthorizationRecordsVo
.
setCreatedAt
(
now
);
// 授权权限 vos
List
<
MerchantAuthorizationPermissionsVo
>
checkerAuthorizationPermissionsVos
=
new
ArrayList
<>();
if
(
null
!=
checkPermissionParam
)
{
MerchantAuthorizationPermissionsVo
checkAuthorizationPermissionsVo
=
MerchantAuthorizationPermissionsVo
.
getNew
();
checkAuthorizationPermissionsVo
.
setAuthorizationPermissionId
(
IDGenerator
.
nextSnowId
());
checkAuthorizationPermissionsVo
.
setAuthorizationRecordId
(
checkerAuthorizationRecordsVo
.
getAuthorizationRecordId
());
checkAuthorizationPermissionsVo
.
setPermissionId
(
MerchantAuthorizationConst
.
PerformancePermission
.
CHECK
.
getId
());
checkAuthorizationPermissionsVo
.
setStartTime
(
now
);
checkAuthorizationPermissionsVo
.
setEndTime
(
now
.
plusYears
(
10
));
checkAuthorizationPermissionsVo
.
setCreatedAt
(
now
);
checkerAuthorizationPermissionsVos
.
add
(
checkAuthorizationPermissionsVo
);
// 验票
MerchantAuthorizationPermissionsVo
authorizationPermissionsVo
=
MerchantAuthorizationPermissionsVo
.
getNew
();
authorizationPermissionsVo
.
setAuthorizationPermissionId
(
IDGenerator
.
nextSnowId
());
authorizationPermissionsVo
.
setAuthorizationRecordId
(
authorizationRecordsVo
.
getAuthorizationRecordId
());
authorizationPermissionsVo
.
setPermissionId
(
MerchantAuthorizationConst
.
PerformancePermission
.
CHECK
.
getId
());
authorizationPermissionsVo
.
setStartTime
(
now
);
authorizationPermissionsVo
.
setEndTime
(
now
.
plusYears
(
10
));
authorizationPermissionsVo
.
setCreatedAt
(
now
);
checkerAuthorizationPermissionsVos
.
add
(
authorizationPermissionsVo
);
}
if
(
null
!=
salesPermissionParam
)
{
// 销售 及 查看时间范围
LocalDateTime
startTime
=
LocalDateTime
.
parse
(
salesPermissionParam
.
getStartTime
(),
DateTimeFormatter
.
ofPattern
(
DateUtil
.
DATE_FULL_STR
));
LocalDateTime
endTime
=
LocalDateTime
.
parse
(
salesPermissionParam
.
getEndTime
(),
DateTimeFormatter
.
ofPattern
(
DateUtil
.
DATE_FULL_STR
));
if
(!
startTime
.
isBefore
(
endTime
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13303"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
MerchantAuthorizationPermissionsVo
salesA
uthorizationPermissionsVo
=
MerchantAuthorizationPermissionsVo
.
getNew
();
salesA
uthorizationPermissionsVo
.
setAuthorizationPermissionId
(
IDGenerator
.
nextSnowId
());
salesAuthorizationPermissionsVo
.
setAuthorizationRecordId
(
checkerA
uthorizationRecordsVo
.
getAuthorizationRecordId
());
salesA
uthorizationPermissionsVo
.
setPermissionId
(
MerchantAuthorizationConst
.
PerformancePermission
.
SALES
.
getId
());
salesA
uthorizationPermissionsVo
.
setStartTime
(
startTime
);
salesA
uthorizationPermissionsVo
.
setEndTime
(
endTime
);
salesA
uthorizationPermissionsVo
.
setCreatedAt
(
now
);
checkerAuthorizationPermissionsVos
.
add
(
salesA
uthorizationPermissionsVo
);
MerchantAuthorizationPermissionsVo
a
uthorizationPermissionsVo
=
MerchantAuthorizationPermissionsVo
.
getNew
();
a
uthorizationPermissionsVo
.
setAuthorizationPermissionId
(
IDGenerator
.
nextSnowId
());
authorizationPermissionsVo
.
setAuthorizationRecordId
(
a
uthorizationRecordsVo
.
getAuthorizationRecordId
());
a
uthorizationPermissionsVo
.
setPermissionId
(
MerchantAuthorizationConst
.
PerformancePermission
.
SALES
.
getId
());
a
uthorizationPermissionsVo
.
setStartTime
(
startTime
);
a
uthorizationPermissionsVo
.
setEndTime
(
endTime
);
a
uthorizationPermissionsVo
.
setCreatedAt
(
now
);
checkerAuthorizationPermissionsVos
.
add
(
a
uthorizationPermissionsVo
);
}
checkerA
uthorizationRecordsVo
.
setPermissionsVos
(
checkerAuthorizationPermissionsVos
);
a
uthorizationRecordsVo
.
setPermissionsVos
(
checkerAuthorizationPermissionsVos
);
// mongo
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
checkerA
uthorizationRecordsVo
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
mongoTemplate
.
insert
(
a
uthorizationRecordsVo
,
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 聚合角色及权限
this
.
syncAuthorizationPerformanceVo
(
parameter
.
getPerformanceId
(),
checkerA
uthorizationRecordsVo
.
getUid
());
// 聚合角色及权限
vo
merchantMongoService
.
syncAndSetAuthorizationPerformanceVo
(
authorizationRecordsVo
.
getPerformanceId
(),
a
uthorizationRecordsVo
.
getUid
());
// sql
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
...
...
@@ -143,10 +139,10 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
// 授权记录 sql
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_authorization_records.insert"
));
authorizationRecordsInsertObjs
.
add
(
new
Object
[]{
checkerAuthorizationRecordsVo
.
getAuthorizationRecordId
(),
checkerA
uthorizationRecordsVo
.
getPerformanceId
(),
checkerAuthorizationRecordsVo
.
getUidRole
(),
checkerAuthorizationRecordsVo
.
getUid
(),
checkerAuthorizationRecordsVo
.
getMobile
(),
checkerA
uthorizationRecordsVo
.
getName
(),
checkerAuthorizationRecordsVo
.
getCuidRole
(),
checkerA
uthorizationRecordsVo
.
getCuid
(),
checkerA
uthorizationRecordsVo
.
getCreatedAt
()
authorizationRecordsVo
.
getAuthorizationRecordId
(),
a
uthorizationRecordsVo
.
getPerformanceId
(),
authorizationRecordsVo
.
getUidRole
(),
authorizationRecordsVo
.
getUid
(),
authorizationRecordsVo
.
getMobile
(),
a
uthorizationRecordsVo
.
getName
(),
authorizationRecordsVo
.
getCuidRole
(),
a
uthorizationRecordsVo
.
getCuid
(),
a
uthorizationRecordsVo
.
getCreatedAt
()
});
// 授权权限 sql
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_authorization_permissions.insert"
));
...
...
@@ -166,11 +162,11 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
checkerA
uthorizationRecordsVo
.
getAuthorizationRecordId
();
return
a
uthorizationRecordsVo
.
getAuthorizationRecordId
();
}
@Override
public
void
performanceCheckerDel
(
String
cuid
,
String
authorizationRecordId
)
{
public
void
performance
Record
CheckerDel
(
String
cuid
,
String
authorizationRecordId
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
// 查询授权记录
...
...
@@ -190,8 +186,8 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"authorizationRecordId"
).
is
(
authorizationRecordId
)),
MerchantAuthorizationRecordsVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 聚合角色及权限
this
.
sync
AuthorizationPerformanceVo
(
authorizationRecordsVo
.
getPerformanceId
(),
authorizationRecordsVo
.
getUid
());
// 聚合角色及权限
vo
merchantMongoService
.
syncAndSet
AuthorizationPerformanceVo
(
authorizationRecordsVo
.
getPerformanceId
(),
authorizationRecordsVo
.
getUid
());
// sql
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
...
...
@@ -211,14 +207,14 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
}
@Override
public
List
<
MerchantAuthorizationRecordsVo
>
performanceCheckers
(
String
cuid
,
String
performanceId
)
{
public
List
<
MerchantAuthorizationRecordsVo
>
performance
Record
Checkers
(
String
cuid
,
String
performanceId
)
{
List
<
MerchantAuthorizationRecordsVo
>
authorizationRecordsVos
=
merchantMongoService
.
getAuthorizationRecordsCheckersVosByCuid
(
cuid
,
performanceId
);
return
authorizationRecordsVos
;
}
private
MerchantAuthorizationConst
.
PerformanceRole
getMaxPerformanceRole
(
String
uid
,
String
performanceId
)
{
MerchantAuthorizationPerformanceVo
authorizationPerformanceVo
=
m
ongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
)),
MerchantAuthorizationPerformanceVo
.
class
,
MerchantAuthorizationPerformanceVo
.
class
.
getSimpleName
()
);
MerchantAuthorizationPerformanceVo
authorizationPerformanceVo
=
m
erchantMongoService
.
getAuthorizationPerformanceVo
(
performanceId
,
uid
);
if
(
null
==
authorizationPerformanceVo
)
{
return
null
;
}
...
...
@@ -236,34 +232,4 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
return
maxRole
;
}
private
void
syncAuthorizationPerformanceVo
(
String
performanceId
,
String
uid
)
{
List
<
MerchantAuthorizationRecordsVo
>
authorizationRecordsVos
=
merchantMongoService
.
getAuthorizationRecordsVosByUid
(
uid
,
performanceId
);
List
<
String
>
uidRoles
=
new
ArrayList
<>();
List
<
String
>
permissionIds
=
new
ArrayList
<>();
for
(
MerchantAuthorizationRecordsVo
authorizationRecordsVo:
authorizationRecordsVos
)
{
if
(!
uidRoles
.
contains
(
authorizationRecordsVo
.
getUidRole
()))
{
uidRoles
.
add
(
authorizationRecordsVo
.
getUidRole
());
}
for
(
MerchantAuthorizationPermissionsVo
authorizationPermissionsVo:
authorizationRecordsVo
.
getPermissionsVos
())
{
if
(!
permissionIds
.
contains
(
authorizationPermissionsVo
.
getPermissionId
()))
{
permissionIds
.
add
(
authorizationPermissionsVo
.
getPermissionId
());
}
}
}
// 聚合角色及权限
MerchantAuthorizationPerformanceVo
vo
=
MerchantAuthorizationPerformanceVo
.
getNew
();
vo
.
setUid
(
uid
);
vo
.
setPerformanceId
(
performanceId
);
vo
.
setUidRoles
(
uidRoles
);
vo
.
setPermissionIds
(
permissionIds
);
Query
query
=
Query
.
query
(
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"uid"
).
is
(
uid
));
Document
document
=
(
Document
)
mongoConverter
.
convertToMongoType
(
vo
);
Update
update
=
Update
.
fromDocument
(
document
);
mongoTemplate
.
upsert
(
query
,
update
,
MerchantAuthorizationPerformanceVo
.
class
,
MerchantAuthorizationPerformanceVo
.
class
.
getSimpleName
());
}
}
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