From 2f2eb2bb2c6a5a16b7081dbbe3b683acf18d04bc Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期二, 11 六月 2024 18:18:05 +0800 Subject: [PATCH] 用户端商品 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 58 insertions(+), 0 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 1a57b50..352b823 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,25 @@ package com.ruoyi.member.service.impl; +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.IMemberService; +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 +29,50 @@ * @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 memberLevelDTOList 会员等级配置列表 + */ + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW) + public void saveOrUpdateMemberLevel(List<MgtMemberLevelDTO> memberLevelDTOList) { + List<MemberLevel> memberLevels = BeanUtils.copyList(memberLevelDTOList, MemberLevel.class); + this.saveOrUpdateBatch(memberLevels); + asyncMethodService.handleMemberLevel(memberLevels); + } } -- Gitblit v1.7.1