From f5e64795cd186dd901eb9c687b33a09c6c416c14 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 3 Dec 2025 16:38:20 +0800 Subject: [PATCH] 11 --- .../member/enums/MemberRecentOperateEnum.java | 14 ++++- .../enums/auth/MemberComAuthStatusEnum.java | 1 + .../admin/recent/vo/OperationStatusVo.java | 3 ++ .../vo/OperationTotalGroupRecentRespVO.java | 12 +++-- .../admin/recent/vo/RecentPageResVo.java | 9 ++-- .../ThirdCallbackController.java | 7 ++- .../dal/mysql/recent/OperationMapper.java | 6 +-- .../dal/mysql/user/MemberRecentTagMapper.java | 1 - .../service/comauth/ComAuthServiceImpl.java | 26 ++++++++- .../service/recent/OperationService.java | 11 +++- .../service/recent/OperationServiceImpl.java | 26 +++++++-- .../service/recent/RecentServiceImpl.java | 53 +++++++++++++++---- .../service/user/MemberRecentTagService.java | 12 +++++ .../user/MemberRecentTagServiceImp.java | 47 ++++++++++++++++ .../service/user/MemberUserServiceImpl.java | 2 - .../main/resources/mapper/OperationMapper.xml | 41 ++++++++++---- 16 files changed, 230 insertions(+), 41 deletions(-) create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberRecentTagService.java create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberRecentTagServiceImp.java diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberRecentOperateEnum.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberRecentOperateEnum.java index 6f45528..d2c3e1b 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberRecentOperateEnum.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberRecentOperateEnum.java @@ -27,9 +27,9 @@ public enum MemberRecentOperateEnum { */ RECENT_SHIELD("3", "屏蔽"), /** - * 用户-收藏(个人中心我喜欢) + * 用户-点赞(个人中心我喜欢) */ - MEMBER_COLLECT("4", "收藏"), + MEMBER_COLLECT("4", "点赞"), /** * 用户-屏蔽 */ @@ -46,6 +46,16 @@ public enum MemberRecentOperateEnum { private final String type; private final String description; + public static List allList = new ArrayList() {{ + add(RECENT_LIKE); + add(RECENT_REPORT); + add(RECENT_SHIELD); + add(MEMBER_COLLECT); + add(MEMBER_SHIELD); + add(MEMBER_REPORT); + add(MEMBER_RATING); + }}; + public static List userOperateList = new ArrayList() {{ add(MEMBER_COLLECT); add(MEMBER_SHIELD); diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/auth/MemberComAuthStatusEnum.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/auth/MemberComAuthStatusEnum.java index e00f33b..71df644 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/auth/MemberComAuthStatusEnum.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/auth/MemberComAuthStatusEnum.java @@ -15,6 +15,7 @@ import java.util.List; @AllArgsConstructor public enum MemberComAuthStatusEnum { + CANCEL("0", "取消"), WAIT_AUTH("1", "待认证"), CHECK("2", "审核中"), CHECK_PASS("3", "审核通过"), diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/OperationStatusVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/OperationStatusVo.java index 20e9d83..72e539c 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/OperationStatusVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/OperationStatusVo.java @@ -9,6 +9,9 @@ public class OperationStatusVo { @Schema(description = "用户id") private Long memberId; + @Schema(description = "朋友圈id") + private Long memberRecentId; + @Schema(description = "是否点赞") private Boolean isLike = false; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/OperationTotalGroupRecentRespVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/OperationTotalGroupRecentRespVO.java index cca4e2d..403575c 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/OperationTotalGroupRecentRespVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/OperationTotalGroupRecentRespVO.java @@ -13,6 +13,15 @@ public class OperationTotalGroupRecentRespVO { @Schema(description = "操作类型") private String bizType; + @Schema(description = "用户点赞总数") + private Integer userLikeTotal = 0; + + @Schema(description = "用户我点赞总数") + private Integer userLikeItTotal = 0; + + @Schema(description = "用户点赞我总数") + private Integer userLikeMeTotal = 0; + @Schema(description = "朋友圈点赞总数") private Integer likeTotal = 0; @@ -27,7 +36,4 @@ public class OperationTotalGroupRecentRespVO { @Schema(description = "朋友圈屏蔽总数") private Integer shieldTotal = 0; - - @Schema(description = "收藏总数") - private Integer collectTotal = 0; } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/RecentPageResVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/RecentPageResVo.java index 4a19d40..b165087 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/RecentPageResVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/recent/vo/RecentPageResVo.java @@ -20,7 +20,10 @@ public class RecentPageResVo extends RecentDO { private OperationTotal operationTotal; @Schema(description = "操作相关状态") - private OperationStatusVo operationStatus; + private OperationStatusVo userOperationStatus; + + @Schema(description = "操作相关状态") + private OperationStatusVo recentOperationStatus; @Schema(description = "用户tag") private List memberTagList; @@ -83,8 +86,8 @@ public class RecentPageResVo extends RecentDO { @Schema(description = "朋友圈屏蔽总数") private Integer recentShieldTotal = 0; - @Schema(description = "朋友圈收藏总数") - private Integer recentCollectTotal = 0; + @Schema(description = "用户点赞总数") + private Integer userLikeTotal = 0; } @Data diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/thirdcallback/ThirdCallbackController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/thirdcallback/ThirdCallbackController.java index 25bddb5..2697430 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/thirdcallback/ThirdCallbackController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/thirdcallback/ThirdCallbackController.java @@ -9,10 +9,12 @@ import cn.iocoder.yudao.module.member.client.vo.thirdfaceverify.ThirdFindFaceVer import cn.iocoder.yudao.module.member.client.vo.thirdfaceverify.ThirdFindFaceVerifyResVo; import cn.iocoder.yudao.module.member.controller.admin.thirdcallback.vo.FaceVerifyCallbackReqVo; import cn.iocoder.yudao.module.member.dal.dataobject.comauth.ComAuthDO; +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.dal.mysql.comauth.ComAuthMapper; +import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; import cn.iocoder.yudao.module.member.enums.auth.MemberComAuthStatusEnum; import cn.iocoder.yudao.module.member.framework.web.config.ThirdAlConfig; -import cn.iocoder.yudao.module.member.service.comauth.ComAuthService; +import cn.iocoder.yudao.module.member.service.user.MemberRecentTagService; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; @@ -40,6 +42,8 @@ public class ThirdCallbackController { @Resource private ThirdFaceVerifyService thirdFaceVerifyService; + @Resource + private MemberRecentTagService memberRecentTagService; @GetMapping("/face-verify") @Operation(summary = "人脸认证回调") @@ -78,6 +82,7 @@ public class ThirdCallbackController { updateObj.setFailReason(faceVerifyRes.getErrorMessage()); if (faceVerifyRes.isPassed()) { updateObj.setAuthStatus(MemberComAuthStatusEnum.CHECK_PASS.getType()); + memberRecentTagService.setPersonTag(auth.getAuthMemberId(), true); } if (faceVerifyRes.isNotPassed()) { updateObj.setAuthStatus(MemberComAuthStatusEnum.CHECK_FAIL.getType()); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/recent/OperationMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/recent/OperationMapper.java index dd72150..4d2ae3a 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/recent/OperationMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/recent/OperationMapper.java @@ -4,13 +4,11 @@ import java.util.*; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX; import cn.iocoder.yudao.module.member.controller.admin.recent.vo.*; import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppEvaluateDetailResVo; import cn.iocoder.yudao.module.member.dal.dataobject.recent.OperationDO; -import cn.iocoder.yudao.module.member.dal.dataobject.recent.RecentDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; @@ -48,5 +46,7 @@ public interface OperationMapper extends BaseMapperX { AppEvaluateDetailResVo evaluateDetail(@Param("userId") Long userid); - List getOperationStatus(@Param("operationUserId") Long operationUserId, @Param("userIdList") List userIdList); + List getUserOperationStatus(@Param("operationUserId") Long operationUserId, @Param("userIdList") List userIdList); + + List getRecentOperationStatus(@Param("operationUserId") Long operateUserId, @Param("recentIdList") List recentIdList); } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/user/MemberRecentTagMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/user/MemberRecentTagMapper.java index 4a1ed8c..30cf03b 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/user/MemberRecentTagMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/user/MemberRecentTagMapper.java @@ -25,5 +25,4 @@ public interface MemberRecentTagMapper extends BaseMapperX { .eq(MemberRecentTagDO::getMemberId, memberId) ); } - } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthServiceImpl.java index c946a46..e555dd5 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthServiceImpl.java @@ -16,10 +16,15 @@ import cn.iocoder.yudao.module.member.controller.app.comauth.vo.CreateWomanAuthR import cn.iocoder.yudao.module.member.dal.dataobject.comauth.ComAuthDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.dal.mysql.comauth.ComAuthMapper; +import cn.iocoder.yudao.module.member.dal.mysql.user.MemberRecentTagMapper; +import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; import cn.iocoder.yudao.module.member.enums.auth.MemberComAuthEnum; import cn.iocoder.yudao.module.member.enums.MemberErrorCode; import cn.iocoder.yudao.module.member.enums.auth.MemberComAuthStatusEnum; +import cn.iocoder.yudao.module.member.service.user.MemberRecentTagService; import cn.iocoder.yudao.module.member.service.user.MemberUserService; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import kotlin.jvm.internal.Lambda; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -48,11 +53,15 @@ public class ComAuthServiceImpl implements ComAuthService { @Resource private ComAuthMapper authMapper; + @Resource + private MemberUserMapper memberUserMapper; @Resource private MemberUserService memberUserService; @Resource private ThirdFaceVerifyService thirdFaceVerifyService; + @Resource + private MemberRecentTagService memberRecentTagService; /** * 创建用户认证 @@ -137,7 +146,13 @@ public class ComAuthServiceImpl implements ComAuthService { if (ObjectUtil.isNotEmpty(userAuth.getBizId()) && isStartEnumList.contains(userAuth.getAuthStatus())) { return userAuth; } - throw exception(MemberErrorCode.COM_AUTH_EXISTS); + // 审核失败直接删除 + List isDelEnumList = Arrays.asList(MemberComAuthStatusEnum.CHECK_PASS.getType(), MemberComAuthStatusEnum.CHECK_FAIL.getType()); + if (ObjectUtil.isNotEmpty(userAuth.getBizId()) && isDelEnumList.contains(userAuth.getAuthStatus())) { + authMapper.deleteById(userAuth.getId()); + return null; + } + return null; } /** @@ -234,6 +249,7 @@ public class ComAuthServiceImpl implements ComAuthService { for (ComAuthDO auth : faceVerifyList) { ComAuthDO entity = new ComAuthDO(); entity.setId(auth.getId()); + entity.setAuthMemberId(auth.getAuthMemberId()); entity.setAuthTime(LocalDateTime.now()); ThirdFindFaceVerifyReqVo dto = new ThirdFindFaceVerifyReqVo(); @@ -253,6 +269,14 @@ public class ComAuthServiceImpl implements ComAuthService { updateList.add(entity); } authMapper.updateBatch(updateList); + updateList.forEach(v -> { + if (ObjectUtil.isNotEmpty(v.getAuthMemberId())) { + boolean isAddTag = ObjectUtil.equals(v.getAuthStatus(), MemberComAuthStatusEnum.CHECK_PASS.getType()); + if (isAddTag) { + memberRecentTagService.setPersonTag(v.getAuthMemberId(), isAddTag); + } + } + }); return totalSync; } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/OperationService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/OperationService.java index 23fb4d6..940b8ca 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/OperationService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/OperationService.java @@ -41,10 +41,17 @@ public interface OperationService { */ PageResult getOperationPage(OperationPageReqVO pageReqVO); + /** + * 查询用户操作状态 + */ + List getUserOperationStatus(Long operateUserId, List userList); + + OperationStatusVo getUserOperationStatus(Long operateUserId, Long userList); + /** * 查询朋友圈操作状态 */ - List getOperationStatus(Long operateUserId, List userList); + List getRecentOperationStatus(Long operateUserId, List recentIdList); - OperationStatusVo getOperationStatus(Long operateUserId, Long userList); + OperationStatusVo getRecentOperationStatus(Long operateUserId, Long recentIdList); } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/OperationServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/OperationServiceImpl.java index aa6b2c4..ea26acd 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/OperationServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/OperationServiceImpl.java @@ -79,20 +79,36 @@ public class OperationServiceImpl implements OperationService { } /** - * 查询朋友圈操作状态 + * 查询用户操作状态 */ @Override - public List getOperationStatus(Long operateUserId, List list) { - return operationMapper.getOperationStatus(operateUserId, list); + public List getUserOperationStatus(Long operateUserId, List list) { + return operationMapper.getUserOperationStatus(operateUserId, list); } @Override - public OperationStatusVo getOperationStatus(Long operateUserId, Long userList) { - List list = operationMapper.getOperationStatus(operateUserId, Arrays.asList(userList)); + public OperationStatusVo getUserOperationStatus(Long operateUserId, Long userList) { + List list = operationMapper.getUserOperationStatus(operateUserId, Arrays.asList(userList)); if (ObjectUtil.isNotEmpty(list) && list.size() == 1) { return list.get(0); } return new OperationStatusVo(); } + /** + * 查询朋友圈操作状态 + */ + @Override + public List getRecentOperationStatus(Long operateUserId, List recentIdList) { + return operationMapper.getRecentOperationStatus(operateUserId, recentIdList); + } + + @Override + public OperationStatusVo getRecentOperationStatus(Long operateUserId, Long recentIdList) { + List list = operationMapper.getRecentOperationStatus(operateUserId, Arrays.asList(recentIdList)); + if (ObjectUtil.isNotEmpty(list) && list.size() == 1) { + return list.get(0); + } + return new OperationStatusVo(); + } } \ No newline at end of file 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 199f44f..98db7f8 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 @@ -15,10 +15,8 @@ import cn.iocoder.yudao.module.member.dal.dataobject.photo.PhotoDO; import cn.iocoder.yudao.module.member.dal.dataobject.recent.OperationDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentTagDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; -import cn.iocoder.yudao.module.member.dal.mysql.photo.PhotoMapper; import cn.iocoder.yudao.module.member.dal.mysql.recent.OperationMapper; import cn.iocoder.yudao.module.member.dal.mysql.user.MemberRecentTagMapper; -import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; import cn.iocoder.yudao.module.member.enums.MemberErrorCode; import cn.iocoder.yudao.module.member.enums.MemberRecentOperateEnum; import cn.iocoder.yudao.module.member.enums.MemberRecentSceneEnum; @@ -33,7 +31,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.mapstruct.ap.internal.model.assignment.UpdateWrapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -260,7 +257,7 @@ public class RecentServiceImpl implements RecentService { // 为RecentPageResVo设置Member信息 convertRecentPageResVoSetupMember(resultList); // 为RecentPageResVo设置OperationTotal信息 - convertRecentPageResVoSetupOperationTotal(resultList, pageReqVO); + convertRecentPageResVoSetupOperationTotal(resultList); // 为RecentPageResVo设置Tag信息 convertRecentPageResVoSetupTag(resultList); return new PageResult<>(resultList, recentPageList.getTotal()); @@ -293,6 +290,10 @@ public class RecentServiceImpl implements RecentService { convertRecentPageResVoSetupMember(resultList); // 查询用户tag convertRecentPageResVoSetupTag(resultList); + // 为RecentPageResVo设置OperationTotal信息 + convertRecentPageResVoSetupOperationTotal(resultList); + // 为RecentPageResVo设置OperationStatus信息 + convertRecentPageResVoSetupRecentOperationStatus(resultList, bean.getOperationMemberId()); return new PageResult<>(resultList, recentPageList.getTotal()); } @@ -454,9 +455,9 @@ public class RecentServiceImpl implements RecentService { // 添加用户相册 convertRecentPageResVoSetupPhoto(result); // 查询用户操作状态 - OperationStatusVo operation = operationService.getOperationStatus(operateUserId, userId); + OperationStatusVo operation = operationService.getUserOperationStatus(operateUserId, userId); if (ObjectUtil.isNotEmpty(operation)) { - result.setOperationStatus(operation); + result.setUserOperationStatus(operation); } return result; } @@ -513,12 +514,12 @@ public class RecentServiceImpl implements RecentService { /** * 为RecentPageResVo设置OperationTotal信息 */ - private void convertRecentPageResVoSetupOperationTotal(List list, RecentPageReqVO query) { + private void convertRecentPageResVoSetupOperationTotal(List list) { if (ObjectUtil.isEmpty(list)) return; List ids = list.stream().map(RecentPageResVo::getId).collect(Collectors.toList()); OperationPageReqVO operationTotalQuery = new OperationPageReqVO(); - List bizTypes = MemberRecentOperateEnum.userOperateList.stream().map(MemberRecentOperateEnum::getType).collect(Collectors.toList()); + List bizTypes = MemberRecentOperateEnum.allList.stream().map(MemberRecentOperateEnum::getType).collect(Collectors.toList()); operationTotalQuery.setBizTypes(bizTypes); operationTotalQuery.setMemberRecentIds(ids); List totalList = operationMapper.totalGroupRecent(operationTotalQuery); @@ -531,7 +532,7 @@ public class RecentServiceImpl implements RecentService { operationTotal.setRecentLikeTotal(total.getLikeTotal()); operationTotal.setRecentReportTotal(total.getReportTotal()); operationTotal.setRecentShieldTotal(total.getShieldTotal()); - operationTotal.setRecentCollectTotal(total.getCollectTotal()); + operationTotal.setUserLikeTotal(total.getUserLikeTotal()); entity.setOperationTotal(operationTotal); } else { entity.setOperationTotal(new RecentPageResVo.OperationTotal()); @@ -559,6 +560,40 @@ public class RecentServiceImpl implements RecentService { } } + // 为RecentPageResVo设置userOperationStatus信息 + private void convertRecentPageResVoSetupUserOperationStatus(List list, Long operateUserId) { + if (ObjectUtil.isEmpty(list)) return; + List memberIds = list.stream().map(RecentPageResVo::getMemberId).collect(Collectors.toList()); + List operationStatusList = operationService.getUserOperationStatus(operateUserId, memberIds); + if (ObjectUtil.isEmpty(operationStatusList)) return; + Map totalMap = IterUtil.toMap(operationStatusList, OperationStatusVo::getMemberId); + for (RecentPageResVo entity : list) { + OperationStatusVo target = totalMap.get(entity.getMemberId()); + if (ObjectUtil.isEmpty(target)) { + entity.setUserOperationStatus(new OperationStatusVo()); + continue; + } + entity.setUserOperationStatus(target); + } + } + + // 为RecentPageResVo设置recentOperationStatus信息 + private void convertRecentPageResVoSetupRecentOperationStatus(List list, Long operateUserId) { + if (ObjectUtil.isEmpty(list)) return; + List recentIds = list.stream().map(RecentPageResVo::getId).collect(Collectors.toList()); + List operationStatusList = operationService.getRecentOperationStatus(operateUserId, recentIds); + if (ObjectUtil.isEmpty(operationStatusList)) return; + Map totalMap = IterUtil.toMap(operationStatusList, OperationStatusVo::getMemberId); + for (RecentPageResVo entity : list) { + OperationStatusVo target = totalMap.get(entity.getMemberId()); + if (ObjectUtil.isEmpty(target)) { + entity.setRecentOperationStatus(new OperationStatusVo()); + continue; + } + entity.setRecentOperationStatus(target); + } + } + // 为RecentPageResVo设置Tag信息 private void convertRecentPageResVoSetupTag(List list) { if (ObjectUtil.isEmpty(list)) return; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberRecentTagService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberRecentTagService.java new file mode 100644 index 0000000..62c7a39 --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberRecentTagService.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.member.service.user; + +/** + * 用户tag + */ +public interface MemberRecentTagService { + + /** + * 设置用户真人认证tag + */ + void setPersonTag(Long authMemberId, boolean isAddTag); +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberRecentTagServiceImp.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberRecentTagServiceImp.java new file mode 100644 index 0000000..0bd6d70 --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberRecentTagServiceImp.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.member.service.user; + + +import cn.hutool.core.util.ObjectUtil; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentTagDO; +import cn.iocoder.yudao.module.member.dal.mysql.user.MemberRecentTagMapper; +import cn.iocoder.yudao.module.member.enums.tag.MemberRecentTagEnum; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.validation.Valid; + +@Service +@Valid +@Slf4j +public class MemberRecentTagServiceImp implements MemberRecentTagService { + + @Resource + private MemberRecentTagMapper memberRecentTagMapper; + + /** + * 设置用户真人认证tag + */ + @Override + public void setPersonTag(Long authMemberId, boolean isAddTag) { + MemberRecentTagDO detail = memberRecentTagMapper.selectOne(new LambdaQueryWrapperX() + .eq(MemberRecentTagDO::getMemberId, authMemberId) + .eq(MemberRecentTagDO::getTagBizType, MemberRecentTagEnum.TRUE_PERSON_AUTH.getType()) + ); + MemberRecentTagDO obj = new MemberRecentTagDO(); + obj.setTagBizId(null); + obj.setMemberId(authMemberId); + obj.setTagBizType(MemberRecentTagEnum.TRUE_PERSON_AUTH.getType()); + obj.setTagTitle(MemberRecentTagEnum.TRUE_PERSON_AUTH.getDescription()); + if (ObjectUtil.isEmpty(detail)) { + if (isAddTag) { + memberRecentTagMapper.insert(obj); + } + } else { + if (!isAddTag) { + memberRecentTagMapper.deleteById(detail.getId()); + } + } + } +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java index 09e7485..bb7530a 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java @@ -51,8 +51,6 @@ import static cn.iocoder.yudao.module.member.enums.MemberErrorCode.*; /** * 会员 User Service 实现类 - * - * @author 芋道源码 */ @Service @Valid diff --git a/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/OperationMapper.xml b/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/OperationMapper.xml index 91111cd..ca37f73 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/OperationMapper.xml +++ b/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/OperationMapper.xml @@ -26,12 +26,14 @@ - select sum(if(a.biz_type = '1', 1, 0)) as likeTotal, - sum(if(a.biz_type = '4' and a.cancel_time is null and a.operator_member_id = #{userId}, 1, 0)) as likeItTotal, - sum(if(a.biz_type = '4' and a.cancel_time is null and a.member_id = #{userId}, 1, 0)) as likeMeTotal, + select sum(if(a.biz_type = '1' and a.cancel_time is null, 1, 0)) as likeTotal, + sum(if(a.biz_type = '1' and a.cancel_time is null and a.operator_member_id = #{userId}, 1, 0)) as likeItTotal, + sum(if(a.biz_type = '1' and a.cancel_time is null and a.member_id = #{userId}, 1, 0)) as likeMeTotal, sum(if(a.biz_type = '2', 1, 0)) as reportTotal, sum(if(a.biz_type = '3', 1, 0)) as shieldTotal, - sum(if(a.biz_type = '4', 1, 0)) as collectTotal, + sum(if(a.biz_type = '4' and a.cancel_time is null, 1, 0)) as userLikeTotal, + sum(if(a.biz_type = '4' and a.cancel_time is null and a.operator_member_id = #{userId}, 1, 0)) as userLikeItTotal, + sum(if(a.biz_type = '4' and a.cancel_time is null and a.member_id = #{userId}, 1, 0)) as userLikeMeTotal, a.biz_type as bizType, a.member_recent_id as memberRecentId from member_operation a @@ -68,7 +72,7 @@ group by a.member_id - +