From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 20:56:27 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java | 64 ++++++++++++++++++++++++++++++- 1 files changed, 61 insertions(+), 3 deletions(-) diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java index aad50ea..b0f1e51 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java @@ -1,10 +1,24 @@ package com.ruoyi.member.service.impl; -import com.ruoyi.member.domain.pojo.MemberLevel; -import com.ruoyi.member.mapper.MemberLevelMapper; -import com.ruoyi.member.service.IMemberLevelService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.page.BeanUtils; +import com.ruoyi.member.controller.management.dto.MgtMemberLevelDTO; +import com.ruoyi.member.controller.management.vo.MgtMemberLevelVO; +import com.ruoyi.member.domain.MemberLevel; +import com.ruoyi.member.mapper.MemberLevelMapper; +import com.ruoyi.member.mapper.MemberMapper; +import com.ruoyi.member.service.IMemberLevelService; +import com.ruoyi.member.service.async.AsyncMethodService; +import com.ruoyi.system.api.domain.Member; +import java.util.List; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; /** * <p> @@ -14,7 +28,51 @@ * @author mitao * @since 2024-05-16 */ +@Slf4j @Service +@RequiredArgsConstructor public class MemberLevelServiceImpl extends ServiceImpl<MemberLevelMapper, MemberLevel> implements IMemberLevelService { + private final MemberMapper memberMapper; + private final AsyncMethodService asyncMethodService; + /** + * 获取会员等级管理列表 + * + * @return List<MgtMemberLevelVO> + */ + @Override + public List<MgtMemberLevelVO> getMemberLevelList() { + List<MemberLevel> list = this.lambdaQuery().orderByAsc(MemberLevel::getLevel).list(); + List<MgtMemberLevelVO> mgtMemberLevelVOS = BeanUtils.copyList(list, MgtMemberLevelVO.class); + LambdaQueryWrapper<Member> wrapper= Wrappers.lambdaQuery(); + List<Member> memberList = memberMapper.selectList(wrapper); + Integer level = 0; + + if (StringUtils.isNotEmpty(mgtMemberLevelVOS)) { + + for (MgtMemberLevelVO vo : mgtMemberLevelVOS) { + + vo.setCurrentNumber(getMemberCountByLevel(memberList, vo.getLevel())); + } + } + return mgtMemberLevelVOS; + } + + private static int getMemberCountByLevel(List<Member> memberList, Integer level) { + return (int) memberList.stream().filter(member -> member.getLevel().equals(level)).count(); + } + + /** + * 保存会员等级配置 + * + * @param dto 会员等级配置列表 + */ + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW) + public void saveOrUpdateMemberLevel(MgtMemberLevelDTO dto) { + List<MemberLevel> memberLevels = BeanUtils.copyList(dto.getMemberLevelDTOList(), + MemberLevel.class); + this.saveOrUpdateBatch(memberLevels); + asyncMethodService.handleMemberLevel(memberLevels); + } } -- Gitblit v1.7.1