From bb6bad33b2fca44e0df36e5b93be279c63f8a98d Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 27 Nov 2025 13:49:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=AF=A6=E6=83=85tag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/member/enums/MemberErrorCode.java | 2 +- .../app/recent/vo/AppRecentSaveReqVO.java | 10 ++--- .../service/recent/RecentServiceImpl.java | 45 ++++++++++++++----- 3 files changed, 40 insertions(+), 17 deletions(-) diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberErrorCode.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberErrorCode.java index 77e2a59..93201c2 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberErrorCode.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberErrorCode.java @@ -58,7 +58,7 @@ public interface MemberErrorCode { //========== 用户朋友圈 1-004-012-000 ========== ErrorCode OPERATION_NOT_EXISTS = new ErrorCode(2_001_000_001, "朋友圈操作不存在"); - ErrorCode RECENT_NOT_EXISTS = new ErrorCode(2_001_000_001, "朋友圈操作不存在"); + ErrorCode RECENT_NOT_EXISTS = new ErrorCode(2_001_000_001, "朋友圈不存在"); ErrorCode REPORT_TYPE_NOT_NULL = new ErrorCode(2_001_000_002, "举报类型不能为空"); ErrorCode RATING_SCORE_NOT_NULL = new ErrorCode(2_001_000_003, "评价分数不能为空"); ErrorCode VIEW_RECORD_NOT_EXISTS = new ErrorCode(2_001_000_004, "用户查看记录不存在"); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/vo/AppRecentSaveReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/vo/AppRecentSaveReqVO.java index dac455b..2269d6c 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/vo/AppRecentSaveReqVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/vo/AppRecentSaveReqVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.member.controller.app.recent.vo; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -12,14 +13,13 @@ public class AppRecentSaveReqVO { @Schema(description = "用户编号") private Long memberId; - @Schema(description = "视频") - @NotEmpty(message = "视频不能为空") - private String coverVideo; - - @Schema(description = "主图") + @Schema(description = "主图url") @NotEmpty(message = "主图不能为空") private String coverPic; + @Schema(description = "视频url") + private String coverVideo; + @Schema(description = "描述") @NotEmpty(message = "描述不能为空") private String description; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentServiceImpl.java index d76d586..ae98ca8 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentServiceImpl.java @@ -131,6 +131,8 @@ public class RecentServiceImpl implements RecentService { convertRecentPageResVoSetupMember(result); // 查询用户最新的位置 convertRecentPageResVoSetupLocation(result, currentUserLastLocation); + // 用户tag + convertRecentPageResVoSetupTag(result); return result; } @@ -441,6 +443,20 @@ public class RecentServiceImpl implements RecentService { } } + private void convertRecentPageResVoSetupMember(RecentPageResVo detail) { + if (ObjectUtil.isEmpty(detail)) return; + MemberUserDO member = memberUserService.getUser(detail.getMemberId()); + if (ObjectUtil.isNotEmpty(member)) { + RecentPageResVo.MemberVo memberVO = new RecentPageResVo.MemberVo(); + memberVO.setMemberId(member.getId()); + memberVO.setMemberAvatar(member.getAvatar()); + memberVO.setMemberNickname(member.getNickname()); + memberVO.setMemberAge(member.getAge()); + memberVO.setMemberOcc(member.getOcc()); + detail.setMember(memberVO); + } + } + // 为RecentPageResVo设置Tag信息 private void convertRecentPageResVoSetupTag(List list) { if (ObjectUtil.isEmpty(list)) return; @@ -468,17 +484,24 @@ public class RecentServiceImpl implements RecentService { } } - private void convertRecentPageResVoSetupMember(RecentPageResVo detail) { - if (ObjectUtil.isEmpty(detail)) return; - MemberUserDO member = memberUserService.getUser(detail.getMemberId()); - if (ObjectUtil.isNotEmpty(member)) { - RecentPageResVo.MemberVo memberVO = new RecentPageResVo.MemberVo(); - memberVO.setMemberId(member.getId()); - memberVO.setMemberAvatar(member.getAvatar()); - memberVO.setMemberNickname(member.getNickname()); - memberVO.setMemberAge(member.getAge()); - memberVO.setMemberOcc(member.getOcc()); - detail.setMember(memberVO); + private void convertRecentPageResVoSetupTag(RecentPageResVo entity) { + if (ObjectUtil.isEmpty(entity)) return; + List memberRecentTagList = memberRecentTagMapper.selectList(new LambdaQueryWrapperX() + .in(MemberRecentTagDO::getMemberId, entity.getMemberId()) + ); + if (ObjectUtil.isNotEmpty(memberRecentTagList)) { + List targetList = memberRecentTagList.stream().filter(v -> ObjectUtil.equals(v.getMemberId(), entity.getMemberId())).collect(Collectors.toList()); + if (ObjectUtil.isEmpty(targetList)) { + entity.setMemberTagList(new ArrayList<>()); + } else { + List tagList = targetList.stream().map(v -> { + RecentPageResVo.MemberTag tag = new RecentPageResVo.MemberTag(); + tag.setTagTitle(v.getTagTitle()); + tag.setTagBizType(v.getTagBizType()); + return tag; + }).collect(Collectors.toList()); + entity.setMemberTagList(tagList); + } } }