fix
Hentua
2023-06-15 8bf923b44bbe9b45b73ddcc25df75c9c59f54e07
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -36,8 +36,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -233,14 +232,8 @@
        mallMoneyFlowMapper.updateById(mallMoneyFlow);
        if(AppContants.MEMBER_WITHDRAW_NORMAL.equals(mallMemberWithdraw.getRemark())){
            //用户佣金增加对应的余额
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
        }
        if(AppContants.MEMBER_WITHDRAW_VOUCHER.equals(mallMemberWithdraw.getRemark())){
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmountFee(),mallMemberWithdraw.getMemberId(),"voucherCnt");
        }
        if(AppContants.MEMBER_WITHDRAW_VOUCHER_AMOUNT.equals(mallMemberWithdraw.getRemark())){
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"voucherAmount");
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount().add(mallMemberWithdraw.getAmountFee()),mallMemberWithdraw.getMemberId(),"balance");
//            mallMoneyFlowService.addMoneyFlow(mallMemberWithdraw.getMemberId(), mallMemberWithdraw.getAmount().add(mallMemberWithdraw.getAmountFee()), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), mallMemberWithdraw.getWithdrawNo(), FlowTypeEnum.BALANCE.getValue());
        }
        return new FebsResponse().success();
    }
@@ -620,7 +613,7 @@
        member.setReferrerIds(refererIds);
        this.baseMapper.updateById(member);
        List<MallMember> childs = this.baseMapper.selectByRefererId(member.getInviteId());
        List<MallMember> childs = this.baseMapper.selectAllChildAgentListByInviteId(member.getInviteId());
        if (CollUtil.isEmpty(childs)) {
            return;
        }
@@ -654,6 +647,7 @@
            adminMallMemberPaymentVo.setBankNo(mallMemberBank.getBankNo());
            adminMallMemberPaymentVo.setBankName(mallMemberBank.getName());
            adminMallMemberPaymentVo.setDigitalNo(mallMemberBank.getDigitalNo());
            adminMallMemberPaymentVo.setSubbranchName(mallMemberBank.getSubbranchName());
            adminMallMemberPaymentVo.setBank(mallMemberBank.getBankName());
        }
        return adminMallMemberPaymentVo;
@@ -776,4 +770,72 @@
        return ids;
    }
    @Override
    public List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent) {
        List<MallMember> mallMembers = this.baseMapper.selectByInviteIds(inviteIds);
        if(CollUtil.isEmpty(mallMembers)) {
            return mallMembers;
        }
        List<MallMember> result = new ArrayList<>();
        int index = containsParent ? 0 : 1;
        int count = 0;
        while(true) {
            if (level != null && count == level) {
                break;
            }
            if (index >= mallMembers.size()) {
                break;
            }
            String inviteId = inviteIds.get(index);
            List<MallMember> collect = mallMembers.stream().filter(item -> item.getInviteId().equals(inviteId)).collect(Collectors.toList());
            result.add(collect.get(0));
            index++;
            count++;
        }
        return result;
    }
    @Override
    public TreeItemVo findMatrixTree() {
        return null;
    }
    @Override
    public List<ChargeListExportVo> findChargeListForExcel(MoneyChargeListDto moneyChargeListDto) {
        return this.mallMoneyFlowMapper.selectChargeListForExcel(moneyChargeListDto);
    }
    @Override
    public IPage<AdminTeamListVo> findTeamList(MallMember mallMember, QueryRequest request) {
        Page<AdminTeamListVo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<AdminTeamListVo> teamListInPage = this.mallMemberMapper.selectTeamListInPage(mallMember, page);
        if (CollUtil.isEmpty(teamListInPage.getRecords())) {
            return teamListInPage;
        }
        List<Long> memberIds = teamListInPage.getRecords().stream().map(AdminTeamListVo::getId).collect(Collectors.toList());
        List<MallMoneyFlow> mallMoneyFlows = this.mallMoneyFlowMapper.selectMemberProfitByMemberIds(memberIds);
        if (CollUtil.isNotEmpty(mallMoneyFlows)) {
            Map<Long, MallMoneyFlow> map = new HashMap<>();
            mallMoneyFlows.forEach(item -> {
                map.put(item.getMemberId(), item);
            });
            teamListInPage.getRecords().forEach(item -> {
                MallMoneyFlow mallMoneyFlow = map.get(item.getId());
                if (mallMoneyFlow != null) {
                    item.setTeamProfitAmount(mallMoneyFlow.getAmount());
                }
            });
        }
        return teamListInPage;
    }
}