From dc76fa3e61cc6ed31a82d44002e89059b4ca8a88 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 25 Jun 2024 11:05:15 +0800 Subject: [PATCH] 后台 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 80 insertions(+), 16 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index 1f36f41..4c607a3 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -37,8 +37,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; /** @@ -294,23 +293,70 @@ } @Override - public IPage<AdminAgentVo> getAgentList(AgentDto agentDto, QueryRequest request) { - Page<AdminAgentVo> page = new Page<>(request.getPageNum(), request.getPageSize()); - IPage<AdminAgentVo> adminAgentVos = this.baseMapper.getAgentListInPage(page, agentDto); - List<AdminAgentVo> records = adminAgentVos.getRecords(); - if(CollUtil.isNotEmpty(records)){ - for(AdminAgentVo adminAgentVo : records){ - String inviteId = adminAgentVo.getInviteId(); - //直接下级 - List<MallMember> mallMembers = mallMemberMapper.selectChildAgentListByInviteId(inviteId); - adminAgentVo.setMemberNum(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size()); + public FebsResponse getAgentList(AgentDto agentDto, QueryRequest request) { + List<AdminMallMemberVo> adminMallMemberVos = new ArrayList<>(); + if(StrUtil.isEmpty(agentDto.getAccountLogin())){ + return new FebsResponse().success().data(adminMallMemberVos); + } + String accountLogin = agentDto.getAccountLogin(); + MallMember mallMember = this.baseMapper.selectByAccountLogin(accountLogin); + if(ObjectUtil.isEmpty(mallMember)){ + return new FebsResponse().success().data(adminMallMemberVos); + } - //获取总数 - List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId); - adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size()); + ArrayList<Long> memberIdList = new ArrayList<>(); + memberIdList.add(mallMember.getId()); + + QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("referrer_id",mallMember.getInviteId()); + List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper); + if(CollUtil.isNotEmpty(mallMembers)){ + for(MallMember directMember : mallMembers){ + //第一代 + memberIdList.add(directMember.getId()); + + QueryWrapper<MallMember> directWrapper = new QueryWrapper<>(); + directWrapper.eq("referrer_id",directMember.getInviteId()); + List<MallMember> refMembers = this.baseMapper.selectList(directWrapper); + if(CollUtil.isNotEmpty(refMembers)){ + for(MallMember refMember : refMembers){ + //第二代 + memberIdList.add(refMember.getId()); + } + } } } - return adminAgentVos; + + for(Long id : memberIdList){ + AdminMallMemberVo adminMallMemberVo = new AdminMallMemberVo(); + + MallMember member = this.baseMapper.selectById(id); + adminMallMemberVo.setAccountLogin(member.getAccountLogin()); + + BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_CHARGE.getValue()); + adminMallMemberVo.setChargeAmount(chargeAmount); + BigDecimal withDrawAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_WITHDRAW.getValue()); + adminMallMemberVo.setWithDrawAmount(withDrawAmount); + + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(id); + adminMallMemberVo.setBalance(mallMemberWallet.getBalance()); + + BigDecimal amountBuy = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PICK_NUM.getValue()); + adminMallMemberVo.setAmountBuy(amountBuy); + + BigDecimal playerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PERK.getValue()); + BigDecimal ownerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.OWNER_PERK.getValue()); + BigDecimal add = amountBuy.add(playerPerk).add(ownerPerk); + adminMallMemberVo.setAmountPerk(add); + + adminMallMemberVos.add(adminMallMemberVo); + } + + Map<String, Object> data = new HashMap<>(2); + data.put("rows", adminMallMemberVos); + data.put("total", adminMallMemberVos.size()); + + return new FebsResponse().success().data(data); } @Override @@ -893,6 +939,24 @@ public IPage<AdminMallMemberVo> getFcmMallMemberList(MallMember mallMember, QueryRequest request) { Page<AdminMallMemberVo> page = new Page<>(request.getPageNum(), request.getPageSize()); IPage<AdminMallMemberVo> adminMallMemberVoIPage = this.baseMapper.getFcmMallMemberList(page, mallMember); + List<AdminMallMemberVo> records = adminMallMemberVoIPage.getRecords(); + if(CollUtil.isNotEmpty(records)){ + for(AdminMallMemberVo adminMallMemberVo : records){ + Long id = adminMallMemberVo.getId(); + BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_CHARGE.getValue()); + adminMallMemberVo.setChargeAmount(chargeAmount); + BigDecimal withDrawAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_WITHDRAW.getValue()); + adminMallMemberVo.setWithDrawAmount(withDrawAmount); + BigDecimal amountBuy = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PICK_NUM.getValue()); + adminMallMemberVo.setAmountBuy(amountBuy); + BigDecimal playerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PERK.getValue()); + BigDecimal ownerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.OWNER_PERK.getValue()); + BigDecimal add = amountBuy.add(playerPerk).add(ownerPerk); + adminMallMemberVo.setAmountPerk(add); + } + } + + return adminMallMemberVoIPage; } -- Gitblit v1.9.1