记得上下班打卡 | 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
f5cb95d4
Commit
f5cb95d4
authored
Apr 16, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
草莓护照- 优化接口
parent
4a2ab388
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
96 additions
and
48 deletions
+96
-48
AdamCaomeiBadgeApplyRecordUserVo.java
...service/adam/dto/vo/AdamCaomeiBadgeApplyRecordUserVo.java
+3
-0
AdamCaomeiBadgeApplyRecordUserDto.java
...t/service/adam/dto/AdamCaomeiBadgeApplyRecordUserDto.java
+1
-0
AdamCaomeiBadgeApplyRecordMapper.java
...service/adam/mapper/AdamCaomeiBadgeApplyRecordMapper.java
+2
-1
AdamCaomeiBadgeUserServiceImpl.java
...ice/adam/service/impl/AdamCaomeiBadgeUserServiceImpl.java
+1
-0
AdamCaomeiPassportUserServiceImpl.java
.../adam/service/impl/AdamCaomeiPassportUserServiceImpl.java
+89
-47
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamCaomeiBadgeApplyRecordUserVo.java
View file @
f5cb95d4
...
@@ -30,4 +30,7 @@ public class AdamCaomeiBadgeApplyRecordUserVo {
...
@@ -30,4 +30,7 @@ public class AdamCaomeiBadgeApplyRecordUserVo {
@ApiModelProperty
(
"是否可重新上传(仅驳回状态为 true)"
)
@ApiModelProperty
(
"是否可重新上传(仅驳回状态为 true)"
)
private
Boolean
canReupload
;
private
Boolean
canReupload
;
@ApiModelProperty
(
"凭证图片"
)
private
String
proofImageUrl
;
}
}
liquidnet-bus-do/liquidnet-service-adam-do/src/main/java/com/liquidnet/service/adam/dto/AdamCaomeiBadgeApplyRecordUserDto.java
View file @
f5cb95d4
...
@@ -11,4 +11,5 @@ public class AdamCaomeiBadgeApplyRecordUserDto {
...
@@ -11,4 +11,5 @@ public class AdamCaomeiBadgeApplyRecordUserDto {
private
Date
applyTime
;
private
Date
applyTime
;
private
Integer
auditStatus
;
private
Integer
auditStatus
;
private
String
rejectReason
;
private
String
rejectReason
;
private
String
proofImageUrl
;
}
}
liquidnet-bus-do/liquidnet-service-adam-do/src/main/java/com/liquidnet/service/adam/mapper/AdamCaomeiBadgeApplyRecordMapper.java
View file @
f5cb95d4
...
@@ -109,7 +109,8 @@ public interface AdamCaomeiBadgeApplyRecordMapper extends BaseMapper<AdamCaomeiB
...
@@ -109,7 +109,8 @@ public interface AdamCaomeiBadgeApplyRecordMapper extends BaseMapper<AdamCaomeiB
"ifnull(b.name, '') as badgeName,"
,
"ifnull(b.name, '') as badgeName,"
,
"ar.created_at as applyTime,"
,
"ar.created_at as applyTime,"
,
"ar.audit_status as auditStatus,"
,
"ar.audit_status as auditStatus,"
,
"ifnull(ar.reject_reason, '') as rejectReason "
,
"ifnull(ar.reject_reason, '') as rejectReason,"
,
"proof_image_url as proofImageUrl"
,
"from adam_caomei_badge_apply_record ar "
,
"from adam_caomei_badge_apply_record ar "
,
"left join adam_caomei_badge b on ar.badge_id = b.badge_id "
,
"left join adam_caomei_badge b on ar.badge_id = b.badge_id "
,
"where ar.user_id = #{uid} "
,
"where ar.user_id = #{uid} "
,
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamCaomeiBadgeUserServiceImpl.java
View file @
f5cb95d4
...
@@ -157,6 +157,7 @@ public class AdamCaomeiBadgeUserServiceImpl implements IAdamCaomeiBadgeUserServi
...
@@ -157,6 +157,7 @@ public class AdamCaomeiBadgeUserServiceImpl implements IAdamCaomeiBadgeUserServi
v
.
setAuditStatus
(
r
.
getAuditStatus
());
v
.
setAuditStatus
(
r
.
getAuditStatus
());
v
.
setRejectReason
(
StringUtils
.
defaultString
(
r
.
getRejectReason
()));
v
.
setRejectReason
(
StringUtils
.
defaultString
(
r
.
getRejectReason
()));
v
.
setCanReupload
(
r
.
getAuditStatus
()
!=
null
&&
r
.
getAuditStatus
()
==
2
);
v
.
setCanReupload
(
r
.
getAuditStatus
()
!=
null
&&
r
.
getAuditStatus
()
==
2
);
v
.
setProofImageUrl
(
r
.
getProofImageUrl
());
return
v
;
return
v
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
return
ResponseDto
.
success
(
list
);
return
ResponseDto
.
success
(
list
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamCaomeiPassportUserServiceImpl.java
View file @
f5cb95d4
...
@@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
...
@@ -134,22 +135,9 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
...
@@ -134,22 +135,9 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
// 1. 初始化返回对象
// 1. 初始化返回对象
AdamCaomeiPassportHomeVo
home
=
new
AdamCaomeiPassportHomeVo
();
AdamCaomeiPassportHomeVo
home
=
new
AdamCaomeiPassportHomeVo
();
AdamCaomeiPassportUserCardVo
card
=
new
AdamCaomeiPassportUserCardVo
();
AdamCaomeiPassportUserCardVo
card
=
buildUserCard
(
uid
,
bound
);
card
.
setPassportBound
(
true
);
card
.
setPassportNo
(
bound
.
getPassportNo
());
card
.
setPassportClaimedAt
(
bound
.
getBoundAt
());
home
.
setUserCard
(
card
);
home
.
setUserCard
(
card
);
// 2. 获取用户基本信息(头像、昵称)
AdamUserInfoVo
userInfo
=
adamRdmService
.
getUserInfoVoByUid
(
uid
);
if
(
userInfo
!=
null
)
{
card
.
setAvatar
(
StringUtils
.
defaultString
(
userInfo
.
getAvatar
()));
card
.
setNickname
(
StringUtils
.
defaultString
(
userInfo
.
getNickname
()));
}
else
{
card
.
setAvatar
(
""
);
card
.
setNickname
(
""
);
}
// 3. 获取用户实名认证信息
// 3. 获取用户实名认证信息
AdamRealInfoVo
real
=
adamRdmService
.
getRealInfoVoByUidPlain
(
uid
);
AdamRealInfoVo
real
=
adamRdmService
.
getRealInfoVoByUidPlain
(
uid
);
String
idCard
=
null
;
String
idCard
=
null
;
...
@@ -168,46 +156,19 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
...
@@ -168,46 +156,19 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
:
new
ArrayList
<>();
:
new
ArrayList
<>();
log
.
info
(
"[getPassportHome] 用户已支付的演出订单数量, uid: {}, 数量: {}"
,
uid
,
paidPerformanceIds
.
size
());
log
.
info
(
"[getPassportHome] 用户已支付的演出订单数量, uid: {}, 数量: {}"
,
uid
,
paidPerformanceIds
.
size
());
// 5.1 查询用户补签审核已通过的徽章(用于判断演出徽章是否可认领)
ApplyBadgeStatus
applyBadgeStatus
=
loadApplyBadgeStatus
(
uid
);
Set
<
String
>
passedApplyBadgeIds
=
badgeApplyRecordMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
AdamCaomeiBadgeApplyRecord
.
class
)
.
eq
(
AdamCaomeiBadgeApplyRecord:
:
getUserId
,
uid
)
.
eq
(
AdamCaomeiBadgeApplyRecord:
:
getAuditStatus
,
1
)
).
stream
().
map
(
AdamCaomeiBadgeApplyRecord:
:
getBadgeId
)
.
filter
(
StringUtils:
:
isNotBlank
)
.
collect
(
Collectors
.
toSet
());
// 5.2 查询用户补签待审核的徽章(用于前端展示“审核中”状态)
Set
<
String
>
pendingApplyBadgeIds
=
badgeApplyRecordMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
AdamCaomeiBadgeApplyRecord
.
class
)
.
eq
(
AdamCaomeiBadgeApplyRecord:
:
getUserId
,
uid
)
.
eq
(
AdamCaomeiBadgeApplyRecord:
:
getAuditStatus
,
0
)
).
stream
().
map
(
AdamCaomeiBadgeApplyRecord:
:
getBadgeId
)
.
filter
(
StringUtils:
:
isNotBlank
)
.
collect
(
Collectors
.
toSet
());
// 6. 查询用户已认领的所有徽章记录 (用于展示徽章墙)
// 6. 查询用户已认领的所有徽章记录 (用于展示徽章墙)
List
<
AdamCaomeiPassportUserBadgeDto
>
rows
=
adamRdmService
.
getUserCaomeiBadgesByUid
(
uid
);
List
<
AdamCaomeiPassportUserBadgeDto
>
rows
=
adamRdmService
.
getUserCaomeiBadgesByUid
(
uid
);
if
(
rows
==
null
)
{
if
(
rows
==
null
)
{
rows
=
new
ArrayList
<>();
rows
=
new
ArrayList
<>();
}
}
List
<
AdamCaomeiPassportUserClaimedBadgeVo
>
claimed
=
rows
.
stream
().
map
(
r
->
{
List
<
AdamCaomeiPassportUserClaimedBadgeVo
>
claimed
=
toClaimedBadgeVos
(
rows
);
AdamCaomeiPassportUserClaimedBadgeVo
v
=
new
AdamCaomeiPassportUserClaimedBadgeVo
();
v
.
setBadgeId
(
r
.
getBadgeId
());
v
.
setName
(
StringUtils
.
defaultString
(
r
.
getBadgeName
()));
v
.
setIcon
(
StringUtils
.
defaultString
(
r
.
getIcon
()));
v
.
setType
(
r
.
getType
());
v
.
setClaimedAt
(
r
.
getClaimedAt
());
v
.
setSource
(
r
.
getSource
());
return
v
;
}).
collect
(
Collectors
.
toList
());
home
.
setClaimedBadges
(
claimed
);
home
.
setClaimedBadges
(
claimed
);
log
.
info
(
"[getPassportHome] 用户已认领的徽章数量, uid: {}, 数量: {}"
,
uid
,
claimed
.
size
());
log
.
info
(
"[getPassportHome] 用户已认领的徽章数量, uid: {}, 数量: {}"
,
uid
,
claimed
.
size
());
// 转换为 Map 方便后续匹配货架上的徽章是否已认领
// 转换为 Map 方便后续匹配货架上的徽章是否已认领
Map
<
String
,
AdamCaomeiPassportUserBadgeDto
>
claimedMap
=
rows
.
stream
()
Map
<
String
,
AdamCaomeiPassportUserBadgeDto
>
claimedMap
=
toClaimedBadgeMap
(
rows
);
.
filter
(
r
->
StringUtils
.
isNotBlank
(
r
.
getBadgeId
()))
.
collect
(
Collectors
.
toMap
(
AdamCaomeiPassportUserBadgeDto:
:
getBadgeId
,
Function
.
identity
(),
(
a
,
b
)
->
a
));
// 7. 查询所有已上架的徽章配置,并按类型升序、排序值降序、ID降序排序
// 7. 查询所有已上架的徽章配置,并按类型升序、排序值降序、ID降序排序
List
<
AdamCaomeiBadge
>
published
=
adamRdmService
.
getPublishedCaomeiBadges
();
List
<
AdamCaomeiBadge
>
published
=
adamRdmService
.
getPublishedCaomeiBadges
();
...
@@ -217,15 +178,86 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
...
@@ -217,15 +178,86 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
log
.
info
(
"[getPassportHome] 系统已上架的徽章数量, uid: {}, 数量: {}"
,
uid
,
published
.
size
());
log
.
info
(
"[getPassportHome] 系统已上架的徽章数量, uid: {}, 数量: {}"
,
uid
,
published
.
size
());
// 8. 组装全部上架徽章列表 (扁平结构,前端按 type 筛选展示)
// 8. 组装全部上架徽章列表 (扁平结构,前端按 type 筛选展示)
List
<
AdamCaomeiPassportBadgeShelfItemVo
>
allBadges
=
published
.
stream
()
List
<
AdamCaomeiPassportBadgeShelfItemVo
>
allBadges
=
toShelfItems
(
.
map
(
b
->
toShelfItem
(
b
,
claimedMap
,
paidPerformanceIds
,
passedApplyBadgeIds
,
pendingApplyBadgeIds
))
published
,
.
collect
(
Collectors
.
toList
());
claimedMap
,
paidPerformanceIds
,
applyBadgeStatus
.
passedApplyBadgeIds
,
applyBadgeStatus
.
pendingApplyBadgeIds
);
home
.
setAllBadges
(
allBadges
);
home
.
setAllBadges
(
allBadges
);
log
.
info
(
"[getPassportHome] 获取护照首页数据成功, uid: {}"
,
uid
);
log
.
info
(
"[getPassportHome] 获取护照首页数据成功, uid: {}"
,
uid
);
return
ResponseDto
.
success
(
home
);
return
ResponseDto
.
success
(
home
);
}
}
private
AdamCaomeiPassportUserCardVo
buildUserCard
(
String
uid
,
AdamCaomeiPassport
bound
)
{
AdamCaomeiPassportUserCardVo
card
=
new
AdamCaomeiPassportUserCardVo
();
card
.
setPassportBound
(
true
);
card
.
setPassportNo
(
bound
.
getPassportNo
());
card
.
setPassportClaimedAt
(
bound
.
getBoundAt
());
AdamUserInfoVo
userInfo
=
adamRdmService
.
getUserInfoVoByUid
(
uid
);
if
(
userInfo
!=
null
)
{
card
.
setAvatar
(
StringUtils
.
defaultString
(
userInfo
.
getAvatar
()));
card
.
setNickname
(
StringUtils
.
defaultString
(
userInfo
.
getNickname
()));
}
else
{
card
.
setAvatar
(
""
);
card
.
setNickname
(
""
);
}
return
card
;
}
private
ApplyBadgeStatus
loadApplyBadgeStatus
(
String
uid
)
{
List
<
AdamCaomeiBadgeApplyRecord
>
applyRecords
=
badgeApplyRecordMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
AdamCaomeiBadgeApplyRecord
.
class
)
.
eq
(
AdamCaomeiBadgeApplyRecord:
:
getUserId
,
uid
)
.
in
(
AdamCaomeiBadgeApplyRecord:
:
getAuditStatus
,
0
,
1
)
);
Set
<
String
>
passedApplyBadgeIds
=
new
HashSet
<>();
Set
<
String
>
pendingApplyBadgeIds
=
new
HashSet
<>();
for
(
AdamCaomeiBadgeApplyRecord
r
:
applyRecords
)
{
if
(
r
==
null
||
StringUtils
.
isBlank
(
r
.
getBadgeId
())
||
r
.
getAuditStatus
()
==
null
)
{
continue
;
}
if
(
r
.
getAuditStatus
()
==
1
)
{
passedApplyBadgeIds
.
add
(
r
.
getBadgeId
());
}
else
if
(
r
.
getAuditStatus
()
==
0
)
{
pendingApplyBadgeIds
.
add
(
r
.
getBadgeId
());
}
}
return
new
ApplyBadgeStatus
(
passedApplyBadgeIds
,
pendingApplyBadgeIds
);
}
private
static
List
<
AdamCaomeiPassportUserClaimedBadgeVo
>
toClaimedBadgeVos
(
List
<
AdamCaomeiPassportUserBadgeDto
>
rows
)
{
return
rows
.
stream
().
map
(
r
->
{
AdamCaomeiPassportUserClaimedBadgeVo
v
=
new
AdamCaomeiPassportUserClaimedBadgeVo
();
v
.
setBadgeId
(
r
.
getBadgeId
());
v
.
setName
(
StringUtils
.
defaultString
(
r
.
getBadgeName
()));
v
.
setIcon
(
StringUtils
.
defaultString
(
r
.
getIcon
()));
v
.
setType
(
r
.
getType
());
v
.
setClaimedAt
(
r
.
getClaimedAt
());
v
.
setSource
(
r
.
getSource
());
return
v
;
}).
collect
(
Collectors
.
toList
());
}
private
static
Map
<
String
,
AdamCaomeiPassportUserBadgeDto
>
toClaimedBadgeMap
(
List
<
AdamCaomeiPassportUserBadgeDto
>
rows
)
{
return
rows
.
stream
()
.
filter
(
r
->
StringUtils
.
isNotBlank
(
r
.
getBadgeId
()))
.
collect
(
Collectors
.
toMap
(
AdamCaomeiPassportUserBadgeDto:
:
getBadgeId
,
Function
.
identity
(),
(
a
,
b
)
->
a
));
}
private
static
List
<
AdamCaomeiPassportBadgeShelfItemVo
>
toShelfItems
(
List
<
AdamCaomeiBadge
>
published
,
Map
<
String
,
AdamCaomeiPassportUserBadgeDto
>
claimedMap
,
List
<
String
>
paidPerformanceIds
,
Set
<
String
>
passedApplyBadgeIds
,
Set
<
String
>
pendingApplyBadgeIds
)
{
return
published
.
stream
()
.
map
(
b
->
toShelfItem
(
b
,
claimedMap
,
paidPerformanceIds
,
passedApplyBadgeIds
,
pendingApplyBadgeIds
))
.
collect
(
Collectors
.
toList
());
}
/**
/**
* @param b 徽章信息
* @param b 徽章信息
* @param claimedMap 用户已领取的徽章
* @param claimedMap 用户已领取的徽章
...
@@ -288,4 +320,14 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
...
@@ -288,4 +320,14 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
.
last
(
"limit 1"
)
.
last
(
"limit 1"
)
);
);
}
}
private
static
final
class
ApplyBadgeStatus
{
private
final
Set
<
String
>
passedApplyBadgeIds
;
private
final
Set
<
String
>
pendingApplyBadgeIds
;
private
ApplyBadgeStatus
(
Set
<
String
>
passedApplyBadgeIds
,
Set
<
String
>
pendingApplyBadgeIds
)
{
this
.
passedApplyBadgeIds
=
passedApplyBadgeIds
;
this
.
pendingApplyBadgeIds
=
pendingApplyBadgeIds
;
}
}
}
}
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