Administrator
2025-05-19 2ae7d73e29010a1f1b43c3b71f6789c16c2c3128
src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java
@@ -8,10 +8,13 @@
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.ApiSaleService;
import cc.mrbird.febs.mall.vo.memberLevel.ApiMemberLevelListInfoVo;
import cc.mrbird.febs.mall.vo.sale.*;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -30,6 +33,7 @@
public class ApiSaleServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements ApiSaleService {
    private final HappySaleLevelMapper happySaleLevelMapper;
    private final HappyMemberLevelMapper happyMemberLevelMapper;
    private final MallAchieveRecordMapper mallAchieveRecordMapper;
    private final MallMemberWalletMapper mallMemberWalletMapper;
    @Override
@@ -69,7 +73,8 @@
        List<MallMember> mallMembers = this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId());
        apiSaleInfoVo.setTotalCnt(CollUtil.isNotEmpty(mallMembers) ? mallMembers.size() : 0);
        // todo 提现部分暂无
        MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(id);
        apiSaleInfoVo.setAvaAmount(mallMemberWallet.getCommission());
        return new FebsResponse().success().data(apiSaleInfoVo);
    }
@@ -142,6 +147,10 @@
    public FebsResponse levelInfoList() {
        ArrayList<ApiLevelListInfoVo> apiLevelListInfoVos = new ArrayList<>();
        // 获取当前登录用户的ID
        Long memberId = LoginUserUtil.getLoginUser().getId();
        MallMember mallMember = this.baseMapper.selectById(memberId);
        List<HappySaleLevel> happySaleLevels = happySaleLevelMapper.selectList(
                new LambdaQueryWrapper<HappySaleLevel>()
                        .orderByAsc(HappySaleLevel::getCode)
@@ -150,9 +159,10 @@
            happySaleLevels.forEach(happySaleLevel -> {
                ApiLevelListInfoVo apiLevelListInfoVo = new ApiLevelListInfoVo();
                apiLevelListInfoVo.setName(happySaleLevel.getName());
                apiLevelListInfoVo.setMemberCode(mallMember.getStoreMaster());
                apiLevelListInfoVo.setCode(happySaleLevel.getCode());
                apiLevelListInfoVo.setContent(happySaleLevel.getContent());
                apiLevelListInfoVo.setIconPng(happySaleLevel.getIconPng());
                apiLevelListInfoVo.setHeaderPng(happySaleLevel.getIconPng());
                apiLevelListInfoVos.add(apiLevelListInfoVo);
            });
        }
@@ -262,6 +272,37 @@
        return new FebsResponse().success().data(apiSaleRecordInfoVo);
    }
    @Override
    public FebsResponse memberLevelList() {
        ArrayList<ApiMemberLevelListInfoVo> apiLevelListInfoVos = new ArrayList<>();
        // 获取当前登录用户的ID
        Long memberId = LoginUserUtil.getLoginUser().getId();
        MallMember mallMember = this.baseMapper.selectById(memberId);
        MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
        List<HappyMemberLevel> happyMemberLevels = happyMemberLevelMapper.selectList(
                new LambdaQueryWrapper<HappyMemberLevel>()
                        .orderByAsc(HappyMemberLevel::getCode)
        );
        //Stream  操作 happyMemberLevels,返回一个Map<code,HappyMemberLevel>
        Map<Integer, HappyMemberLevel> happyMemberLevelMap = happyMemberLevels.stream()
                .collect(Collectors.toMap(HappyMemberLevel::getCode, happyMemberLevel -> happyMemberLevel));
        if (CollUtil.isNotEmpty(happyMemberLevels)) {
            happyMemberLevels.forEach(happyMemberLevel -> {
                ApiMemberLevelListInfoVo vo = new ApiMemberLevelListInfoVo();
                BeanUtil.copyProperties(happyMemberLevel, vo);
                vo.setMemberCode(mallMember.getDirector());
                vo.setMemberScore(mallMemberWallet.getScore());
                vo.setUpgradeScore(
                        ObjectUtil.isEmpty(happyMemberLevelMap.get(happyMemberLevel.getCode() + 1)) ?
                                 0 : happyMemberLevelMap.get(happyMemberLevel.getCode() + 1).getUpgradeScore()
            );
                apiLevelListInfoVos.add(vo);
            });
        }
        return new FebsResponse().success().data(apiLevelListInfoVos);
    }
}