| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | @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 |
| | |
| | | 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; |
| | | } |
| | | |