记得上下班打卡 | git大法好,push需谨慎

Commit eef61ce4 authored by 姜秀龙's avatar 姜秀龙

接口 /adam/caomei/passport/home 在 claimedBadges

里面也加上一个performanceName
parent e4a49505
...@@ -27,6 +27,9 @@ public class AdamCaomeiPassportUserClaimedBadgeVo { ...@@ -27,6 +27,9 @@ public class AdamCaomeiPassportUserClaimedBadgeVo {
@ApiModelProperty("类型 1护照类型徽章 2演出类型徽章 3特殊徽章") @ApiModelProperty("类型 1护照类型徽章 2演出类型徽章 3特殊徽章")
private Integer type; private Integer type;
@ApiModelProperty("关联演出名称(仅 type=2 有值)")
private String performanceName;
@ApiModelProperty("获得时间") @ApiModelProperty("获得时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private Date claimedAt; private Date claimedAt;
......
...@@ -11,6 +11,7 @@ public class AdamCaomeiPassportUserBadgeDto { ...@@ -11,6 +11,7 @@ public class AdamCaomeiPassportUserBadgeDto {
private String icon; private String icon;
private String shareText; private String shareText;
private Integer type; private Integer type;
private String performanceId;
private Date claimedAt; private Date claimedAt;
private Integer source; private Integer source;
} }
...@@ -66,6 +66,7 @@ ...@@ -66,6 +66,7 @@
IFNULL(b.icon, '') AS icon, IFNULL(b.icon, '') AS icon,
IFNULL(b.share_text, '') AS shareText, IFNULL(b.share_text, '') AS shareText,
IFNULL(b.type, 0) AS type, IFNULL(b.type, 0) AS type,
IFNULL(b.performance_id, '') AS performanceId,
ub.created_at AS claimedAt, ub.created_at AS claimedAt,
ub.source AS source ub.source AS source
FROM adam_caomei_user_badge ub FROM adam_caomei_user_badge ub
......
...@@ -201,7 +201,8 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse ...@@ -201,7 +201,8 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
if (rows == null) { if (rows == null) {
rows = new ArrayList<>(); rows = new ArrayList<>();
} }
List<AdamCaomeiPassportUserClaimedBadgeVo> claimed = toClaimedBadgeVos(rows); Map<String, String> claimedPerformanceTitleById = buildClaimedPerformanceTitleMap(rows);
List<AdamCaomeiPassportUserClaimedBadgeVo> claimed = toClaimedBadgeVos(rows, claimedPerformanceTitleById);
home.setClaimedBadges(claimed); home.setClaimedBadges(claimed);
log.info("[getPassportHome] 用户已认领的徽章数量, uid: {}, 数量: {}", uid, claimed.size()); log.info("[getPassportHome] 用户已认领的徽章数量, uid: {}, 数量: {}", uid, claimed.size());
...@@ -278,7 +279,8 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse ...@@ -278,7 +279,8 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
return new ApplyBadgeStatus(passedApplyBadgeIds, pendingApplyBadgeIds); return new ApplyBadgeStatus(passedApplyBadgeIds, pendingApplyBadgeIds);
} }
private static List<AdamCaomeiPassportUserClaimedBadgeVo> toClaimedBadgeVos(List<AdamCaomeiPassportUserBadgeDto> rows) { private static List<AdamCaomeiPassportUserClaimedBadgeVo> toClaimedBadgeVos(List<AdamCaomeiPassportUserBadgeDto> rows,
Map<String, String> performanceTitleById) {
return rows.stream().map(r -> { return rows.stream().map(r -> {
AdamCaomeiPassportUserClaimedBadgeVo v = new AdamCaomeiPassportUserClaimedBadgeVo(); AdamCaomeiPassportUserClaimedBadgeVo v = new AdamCaomeiPassportUserClaimedBadgeVo();
v.setBadgeId(r.getBadgeId()); v.setBadgeId(r.getBadgeId());
...@@ -286,12 +288,38 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse ...@@ -286,12 +288,38 @@ public class AdamCaomeiPassportUserServiceImpl implements IAdamCaomeiPassportUse
v.setIcon(StringUtils.defaultString(r.getIcon())); v.setIcon(StringUtils.defaultString(r.getIcon()));
v.setShareText(StringUtils.defaultString(r.getShareText())); v.setShareText(StringUtils.defaultString(r.getShareText()));
v.setType(r.getType()); v.setType(r.getType());
if (r.getType() != null && r.getType() == 2 && StringUtils.isNotBlank(r.getPerformanceId())) {
String title = performanceTitleById != null ? performanceTitleById.get(r.getPerformanceId()) : null;
v.setPerformanceName(StringUtils.isNotBlank(title) ? title : r.getPerformanceId());
} else {
v.setPerformanceName("");
}
v.setClaimedAt(r.getClaimedAt()); v.setClaimedAt(r.getClaimedAt());
v.setSource(r.getSource()); v.setSource(r.getSource());
return v; return v;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
private Map<String, String> buildClaimedPerformanceTitleMap(List<AdamCaomeiPassportUserBadgeDto> claimedRows) {
List<String> perfIds = claimedRows.stream()
.filter(r -> r != null && r.getType() != null && r.getType() == 2)
.map(AdamCaomeiPassportUserBadgeDto::getPerformanceId)
.filter(StringUtils::isNotBlank)
.distinct()
.collect(Collectors.toList());
if (perfIds.isEmpty()) {
return Collections.emptyMap();
}
Map<String, String> map = new HashMap<>(perfIds.size() * 2);
for (String perfId : perfIds) {
String title = adamRdmService.getPerformanceTitleById(perfId);
if (StringUtils.isNotBlank(title)) {
map.put(perfId, title);
}
}
return map;
}
private static Map<String, AdamCaomeiPassportUserBadgeDto> toClaimedBadgeMap(List<AdamCaomeiPassportUserBadgeDto> rows) { private static Map<String, AdamCaomeiPassportUserBadgeDto> toClaimedBadgeMap(List<AdamCaomeiPassportUserBadgeDto> rows) {
return rows.stream() return rows.stream()
.filter(r -> StringUtils.isNotBlank(r.getBadgeId())) .filter(r -> StringUtils.isNotBlank(r.getBadgeId()))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment