From 0fb3a76c8f7c161daeee597075ef1dfebc67badc Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 25 Jul 2024 11:20:50 +0800 Subject: [PATCH] 后台 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 122 +++++++++++++++++++++++++++++++++++----- 1 files changed, 105 insertions(+), 17 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 da7fe0c..c66338d 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 @@ -7,6 +7,7 @@ import cc.mrbird.febs.common.utils.AppContants; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.MallUtils; +import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.entity.MallNewsInfo; @@ -37,8 +38,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; /** @@ -77,6 +77,7 @@ private final MallScoreAchieveReleaseMapper mallScoreAchieveReleaseMapper; private final NBYHService nbyhService; private final MallMemberAmountMapper mallMemberAmountMapper; + private final RedisUtils redisUtils; @Override public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) { @@ -294,23 +295,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 @@ -475,7 +523,12 @@ } else { iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType); } - mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type); + mallMoneyFlowService.addMoneyFlow( + memberId, + bigDecimal, + GameFlowTypeEnum.PLAYER_CHARGE.getValue(), + MallUtils.getOrderNum("CZ"), + GameFlowTypeEnum.PLAYER_CHARGE.getDescrition()); return new FebsResponse().success(); } @@ -888,6 +941,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; } @@ -900,6 +971,16 @@ } mallMember.setIsFrozen(i); mallMemberMapper.updateById(mallMember); + + String redisKey = AppContants.APP_LOGIN_PREFIX + mallMember.getId(); + String existToken = redisUtils.getString(redisKey); + if (StrUtil.isNotBlank(existToken)) { + Object o = redisUtils.get(existToken); + if (ObjectUtil.isNotEmpty(o)) { + redisUtils.del(existToken); + } + } + return new FebsResponse().success(); } @@ -966,6 +1047,13 @@ return mallMemberChargeIPage; } + @Override + public IPage<MallMemberWithdraw> memberWithDrawList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { + Page<MallMemberWithdraw> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallMemberWithdraw> mallMemberWithdrawIPage = mallMemberMapper.getMemberWithDrawListInPage(page, moneyChargeListDto); + return mallMemberWithdrawIPage; + } + private String refererIds(String parentId) { boolean flag = false; if (StrUtil.isBlank(parentId)) { -- Gitblit v1.9.1