From 8d9eca3f5e9f884a14f41d04d1898e2ee7bf9078 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 11 六月 2024 16:08:08 +0800 Subject: [PATCH] 1.提交【管理后台】-营销管理-积分管理相关接口 2.修改websocket代码,增加用户端、拍卖师端类型区分 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 81 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java index 0cd4e91..05e3d6d 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java @@ -4,11 +4,23 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.PageDTO; -import com.ruoyi.system.api.domain.MemberPoints; -import com.ruoyi.system.api.domain.dto.MemberDTO; +import com.ruoyi.member.controller.management.dto.MgtMemberPointsQuery; +import com.ruoyi.member.controller.management.vo.MgtMemberPointsVO; import com.ruoyi.member.mapper.MemberPointsMapper; import com.ruoyi.member.service.IMemberPointsService; +import com.ruoyi.system.api.domain.Member; +import com.ruoyi.system.api.domain.MemberPoints; +import com.ruoyi.system.api.domain.dto.MemberDTO; +import com.ruoyi.system.api.feignClient.MemberClient; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.function.Function; +import java.util.stream.Collectors; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; /** @@ -20,8 +32,10 @@ * @since 2024-05-23 */ @Service +@RequiredArgsConstructor public class MemberPointsServiceImpl extends ServiceImpl<MemberPointsMapper, MemberPoints> implements IMemberPointsService { + private final MemberClient memberClient; @Override public PageDTO<MemberPoints> getMemberPoints(MemberDTO memberDTO) { @@ -31,4 +45,69 @@ Page<MemberPoints> page1 = this.page(page, wrapper); return PageDTO.of(page1); } + + /** + * 获取会员积分列表的分页数据 + * + * @param query 会员积分明细查询对象 + * @return PageDTO<MgtMemberPointsVO> + */ + @Override + public PageDTO<MgtMemberPointsVO> getMemberPointsPage(MgtMemberPointsQuery query) { + Set<Long> memberIdSet = null; + MemberDTO memberDTO = getMemberQueryParam(query); + if (StringUtils.isNotNull(memberDTO)) { + memberIdSet = getMemberIdSet(memberDTO); + } + // 分页查询积分 + Page<MemberPoints> page = this.lambdaQuery() + .eq(StringUtils.isNotNull(query.getPointsStatus()), MemberPoints::getPointsStatus, + query.getPointsStatus()) + .in(StringUtils.isNotEmpty(memberIdSet), MemberPoints::getMemberId, memberIdSet) + .page(new Page<>(query.getPageCurr(), query.getPageSize())); + if (StringUtils.isEmpty(page.getRecords())) { + return PageDTO.empty(page); + } + // 封装VO + PageDTO<MgtMemberPointsVO> pageVO = PageDTO.of(page, + MgtMemberPointsVO.class); + List<MgtMemberPointsVO> list = pageVO.getList(); + Set<Long> memIdSet = list.stream().map(MgtMemberPointsVO::getMemberId) + .collect(Collectors.toSet()); + List<Member> memberList = memberClient.getMemberListByIds(memIdSet, SecurityConstants.INNER) + .getData(); + Map<Long, Member> memberMap = memberList.stream() + .collect(Collectors.toMap(Member::getId, Function.identity())); + if (StringUtils.isNotEmpty(memberList)) { + for (MgtMemberPointsVO mgtMemberPointsVO : list) { + Member member = memberMap.get(mgtMemberPointsVO.getMemberId()); + if (StringUtils.isNotNull(member)) { + mgtMemberPointsVO.setNickname(member.getNickname()); + mgtMemberPointsVO.setPhone(member.getPhone()); + } + } + } + return pageVO; + } + + private Set<Long> getMemberIdSet(MemberDTO memberDTO) { + Set<Long> memberIdSet = null; + if (StringUtils.isNotNull(memberDTO)) { + List<Member> data = memberClient.getMemberListByCondition(memberDTO, + SecurityConstants.INNER).getData(); + memberIdSet = data.stream().map(Member::getId).collect(Collectors.toSet()); + } + return memberIdSet; + } + + private static MemberDTO getMemberQueryParam(MgtMemberPointsQuery query) { + MemberDTO memberDTO = null; + if (StringUtils.isNotBlank(query.getNickname()) || StringUtils.isNotBlank( + query.getPhone())) { + memberDTO = new MemberDTO(); + memberDTO.setNickname(query.getNickname()); + memberDTO.setPhone(query.getPhone()); + } + return memberDTO; + } } -- Gitblit v1.7.1